Anda di halaman 1dari 149

LAPORAN PRAKTIKUM

PEMROGRAMAN KOMPUTER

Disusun Sebagai Salah Satu Syarat Kelulusan Praktikum Pemrograman Komputer


Jurusan Teknik Industri Fakultas Teknik
Universitas Muhammadiyah Surakarta

Disusun oleh:
Nama : M. Chaeruddin Azizi

NIM : D600180073

MATERI:
MODUL I : PYTHON DASAR
MODUL II : GUI PYTHON
MODUL III : DATABASE PYTHON DENGAN MYSQL DAN SQLITE
MODUL IV : HTML & CSS
MODUL V : WEB PYTHON

LABORATORIUM TEKNIK INDUSTRI


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH SURAKARTA
2019

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:
Nama : M. Chaeruddin Azizi
NIM : D600180073

Disetujui dan disahkan pada:


Hari :
Tanggal :

Koordinator Asisten Asisten

(Abdul Lathif Muhammad Arifin) (Cindy Saraswati)

Mengetahui,

Dosen Pengampu Kepala Laboratorium


Praktikum Pemrograman Komputer Teknik Industri

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

ii
COVER SHEET
PRAKTIKUM PEMROGRAMAN KOMPUTER
2019

NAMA : M. CHAERUDDIN AZIZI


NIM : D600180073

Dengan ini menyatakan bahwa pengerjaan Laporan Praktikum


Pemrograman Komputer ini saya buat dengan sendiri dan tidak melakukan
PLAGIARISM.
Praktikan TTD

Disetujui oleh:
Asisten TTD
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 memasuki dunia kerja nanti.
Dalam penyusunan laporan ini, penulis banyak mendapat banuan dan
dukungan dari berbagai pihak yang terlibat, oleh karena itu penulis mengucapkan
banyak terima kasih kepada:
1. Hafidh Munawir S.T., M.Eng. selaku Kepala Laboratorium Teknik Industri.
2. Munajat Tri Nugroho, S.T., M.T., Ph.D. selaku Dosen Pengampu Mata Kuliah
Praktikum Pemrograman Komputer.
3. Abdul Lathif Muhammad Arifin selaku Koordinator Asisten Praktikum
Pemrograman Komputer.
4. Cindy Saraswati selaku Asisten Praktikum yang telah membimbing dan
mengarahkan penulis mulai dari pelaksanaan praktikum sampai penulisan
laporan ini selesai.
5. 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, Juni 2019

Penulis

iv
HALAMAN PERSEMBAHAN

Laporan ini penulis persembahkan kepada:


1. Allah SWT.
2. Kedua Orangtua yang selalu menyemangati
penulis.
3. Adik yang selalu mendukung penulis.
4. Jurusan Teknik Industri Universitas
Muhammadiyah Surakarta.
5. Asisten praktikum Saudari Cindy Saraswati
yang selalu membimbing penulis.
6. Teman Seperjuangan Teknik Industri UMS
tahun angkatan 2018.
7. Teman Teknik Mesin, Teknik Sipil dan Teknik
Kimia yang selalu menyemangati penulis.
8. Teman PAI yang selalu mendukung penulis
setiap saat.

v
MOTTO

“Sesuatu yang belum dikerjakan, seringkali tampak mustahil; kita baru yakin kalua kita
telah berhasil melakukannya dengan baik.”
(Evelyn Underhill)

“Lebih baik bertempur dan kalah daripada tidak pernah bertempur sama sekali.”
(Arthur Hugh Clough)

“Hanya kebodohan meremehkan pendidikan.”


(P. Syrus)

vi
DAFTAR ISI

LAPORAN PRAKTIKUM .................................................................................... i


HALAMAN PENGESAHAN ............................................................................... ii
COVER SHEET ...................................................................................................... iii
KATA PENGANTAR .......................................................................................... iv
HALAMAN PERSEMBAHAN ........................................................................... v
MOTTO ................................................................................................................ vi
DAFTAR ISI ........................................................................................................ vii
DAFTAR TABEL ................................................................................................ ix
DAFTAR GAMBAR ............................................................................................. x
MODUL I ............................................................................................................... 1
PYTHON DASAR ................................................................................................. 1
A. Hasil Pratikum ............................................................................. 1
1. Program Scoring ............................................................................... 1
a. Program Login data ...................................................................... 1
b. Program Soal Pilihan .................................................................... 2
2. Program List Data Mahasiswa ........................................................ 25
a. Tabel Data Mahasiswa ............................................................... 26
b. Program Input Data Mahasiswa................................................. 28
c. Program Cari Data Berdasarkan NIM ......................................... 31
d. Program Hapus Data Berdasarkan NIM ..................................... 33
B. Penutup ....................................................................................... 35
1. Kesimpulan ..................................................................................... 35
2. Saran ............................................................................................... 35
MODUL II ........................................................................................................... 36
GUI PYTHON ..................................................................................................... 36
A. Hasil Pratikum ........................................................................... 36
1. Menu Utama ................................................................................... 36
2. Soal Kemuhammadiyaan ................................................................ 40
3. Soal Inggris ...................................................................................... 44
4. Soal Saintek..................................................................................... 47
a. Soal Biologi................................................................................. 48
b. Soal Fisika ................................................................................... 51
5. Soal Soshum.................................................................................... 56
a. Soal Sejarah................................................................................ 56
b. Soal Geografi .............................................................................. 60
6. Data Mahasiswa.............................................................................. 65
B. Penutup ....................................................................................... 70
1. Kesimpulan ..................................................................................... 70
2. Saran ............................................................................................... 70
MODUL III .......................................................................................................... 71
vii
DATABASE PYTHO DENGAN MYSQL DAN SQLITE ............................... 71
A. Hasil Pratikum ........................................................................... 71
1. Membuat Database ........................................................................ 71
2. Membuat Tabel Database .............................................................. 72
3. Menambah Data ............................................................................. 74
4. Menampilkan Data dengan GUI ..................................................... 76
5. Menambah Data dengan GUI ......................................................... 79
6. Menghapus Data dengan GUI......................................................... 82
7. Mencari Data dengan GUI .............................................................. 84
B. Penutup ....................................................................................... 88
1. Kesimpulan ..................................................................................... 88
2. Saran ............................................................................................... 88
MODUL IV HTML & CSS ................................................................................ 89
A. Hasil Praktikum ......................................................................... 89
1. Halaman Profil ................................................................................ 89
2. Halaman Referensi.......................................................................... 92
3. Halaman Galeri ............................................................................... 96
4. Halaman Hubungi Kami .................................................................. 98
5. Halaman Pilihan Soal .................................................................... 100
6. Halaman Soal ................................................................................ 102
a. Halaman Soal Fisika Dasar ....................................................... 103
b. Halaman Soal Statistika ........................................................... 105
c. Halaman Soal Material Teknik ................................................. 108
d. Halaman Soal Ergonomi ........................................................... 111
B. Penutup .................................................................................... 115
1. Kesimpulan ................................................................................... 115
2. Saran ............................................................................................. 115
MODUL V ......................................................................................................... 116
WEB PYTHON .................................................................................................. 116
A. Hasil Pratikum ......................................................................... 116
1. Membuat Data Buku..................................................................... 116
a. Tabel Data Buku ....................................................................... 116
b. Form Tambah Data Buku ......................................................... 118
c. Proses Tambah Data Buku ....................................................... 120
d. Hapus Data Buku...................................................................... 121
2. Halaman Soal ................................................................................ 123
B. Penutup ..................................................................................... 129
1. Kesimpulan ................................................................................... 129
2. Saran ............................................................................................. 129
DAFTAR PUSTAKA ........................................................................................ 130
LAMPIRAN ....................................................................................................... 131

viii
DAFTAR TABEL

Gambar 1.1 Hasil Running Program Login Data .................................................... 1


Gambar 1.2 Hasil Running Program Soal Saintek .................................................. 2
Gambar 1.3 Hasil Running Program Soal Soshum ................................................. 3
Gambar 1.4 Hasil Running Program Input ............................................................ 29
Gambar 1.5 Hasil Running Program Cari Data Berdasarkan NIM ....................... 31
Gambar 1.6 Hasil Running Program Hapus Data ................................................. 33
Gambar 2.1 Hasil Running Program Menu Utama ............................................... 36
Gambar 2.2 Hasil Running Program Soal Kemuhammadiyaan ............................ 40
Gambar 2.3 Hasil Running Program Soal Inggris ................................................. 44
Gambar 2.4 Hasil Running Program Soal Biologi ................................................ 48
Gambar 2.5 Hasil Running Program Soal Fisika .................................................. 52
Gambar 2.6 Hasil Running Program Soal Sejarah ................................................ 56
Gambar 2.7 Hasil Running Program Soal Geografi .............................................. 61
Gambar 2.8 Hasil Running Program Data Mahasiswa ......................................... 66
Gambar 3.1 Hasil Running Program Menu Utama ............................................... 71
Gambar 3.2 Hasil Running Program Membuat Tabel Database .......................... 72
Gambar 3.3 Hasil Running Program Menambah Data ......................................... 74
Gambar 3.4 Hasil Running Program Tampilan Data dengan GUI........................ 76
Gambar 3.5 Hasil Running Menambah Data dengan GUI .................................... 80
Gambarr 3.6 Hasil Running Program Menghapus Data dengan ........................... 83
Gambar 3.7 Hasil Running Program Mencari Data dengan GUI.......................... 84
Gambar 4.1 Hasil Running Halaman Profil .......................................................... 89
Gambar 4.2 Hasil Running Halaman Referensi .................................................... 92
Gambar 4.3 Hasil Running Halaman Galeri ......................................................... 96
Gambar 4.4 Hasil Running Halaman Hubungi Kami ........................................... 99
Gambar 4.5 Hasil Running Halaman Pilihan Soal .............................................. 101
Gambar 4.6 Hasil Running Halaman Soal Fisika Dasar ..................................... 103
Gambar 4.7 Hasil Running Halaman Soal Statistika .......................................... 106
Gambar 4.8 Hasil Running Halaman Soal Material Teknik ............................... 108
Gambar 4.9 Hasil Running Halaman Soal Ergonomi ......................................... 111
Gambar 5.1 Hasil Running Tabel Data Buku...................................................... 116
Gambar 5.2 Hasil Running Program Form Tambah Data................................... 119
Gambar 5.3 Tampilan Data Buku Sebelum Dihapus .......................................... 122
Gambar 5.4 Tampilan Data Buku Setelah Dihapus ............................................ 122
Gambar 5.5 Tampilan Halaman Soal .................................................................. 123
Gambar 5.6 Tampilan Hasil Nilai Soal ............................................................... 124

ix
DAFTAR GAMBAR

Gambar 1.1 Hasil Running Program Login Data .................................................... 1


Gambar 1.2 Hasil Running Program Soal Saintek .................................................. 2
Gambar 1.3 Hasil Running Program Soal Soshum ................................................. 3
Gambar 1.4 Hasil Running Program Input ............................................................ 29
Gambar 1.5 Hasil Running Program Cari Data Berdasarkan NIM ....................... 31
Gambar 1.6 Hasil Running Program Hapus Data ................................................. 33
Gambar 2.1 Hasil Running Program Menu Utama ............................................... 36
Gambar 2.2 Hasil Running Program Soal Kemuhammadiyaan ............................ 40
Gambar 2.3 Hasil Running Program Soal Inggris ................................................. 44
Gambar 2.4 Hasil Running Program Soal Biologi ................................................ 48
Gambar 2.5 Hasil Running Program Soal Fisika .................................................. 52
Gambar 2.6 Hasil Running Program Soal Sejarah ................................................ 56
Gambar 2.7 Hasil Running Program Soal Geografi .............................................. 61
Gambar 2.8 Hasil Running Program Data Mahasiswa ......................................... 66
Gambar 3.1 Hasil Running Program Menu Utama ............................................... 71
Gambar 3.2 Hasil Running Program Membuat Tabel Database .......................... 72
Gambar 3.3 Hasil Running Program Menambah Data ......................................... 74
Gambar 3.4 Hasil Running Program Tampilan Data dengan GUI........................ 76
Gambar 3.5 Hasil Running Menambah Data dengan GUI .................................... 80
Gambarr 3.6 Hasil Running Program Menghapus Data dengan ........................... 83
Gambar 3.7 Hasil Running Program Mencari Data dengan GUI.......................... 84
Gambar 4.1 Hasil Running Halaman Profil .......................................................... 89
Gambar 4.2 Hasil Running Halaman Referensi .................................................... 92
Gambar 4.3 Hasil Running Halaman Galeri ......................................................... 96
Gambar 4.4 Hasil Running Halaman Hubungi Kami ........................................... 99
Gambar 4.5 Hasil Running Halaman Pilihan Soal .............................................. 101
Gambar 4.6 Hasil Running Halaman Soal Fisika Dasar ..................................... 103
Gambar 4.7 Hasil Running Halaman Soal Statistika .......................................... 106
Gambar 4.8 Hasil Running Halaman Soal Material Teknik ............................... 108
Gambar 4.9 Hasil Running Halaman Soal Ergonomi ......................................... 111
Gambar 5.1 Hasil Running Tabel Data Buku...................................................... 116
Gambar 5.2 Hasil Running Program Form Tambah Data................................... 119
Gambar 5.3 Tampilan Data Buku Sebelum Dihapus .......................................... 122
Gambar 5.4 Tampilan Data Buku Setelah Dihapus ............................................ 122
Gambar 5.5 Tampilan Halaman Soal .................................................................. 123
Gambar 5.6 Tampilan Hasil Nilai Soal ............................................................... 124

x
MODUL I
PYTHON DASAR

A. Hasil Pratikum
1. Program Scoring
Program scoring adalah suatu pemograman yang mengacu pada suatu
nilai atau score yang dapat memudahkan dalam perhitungan cepat tanpa
harus menghitung secara manual. Program scoring itu menjelaskan
bagaimana cara menginput data peserta yang akan mengikuti tes “One Day
Service” dan dapat langsung memunculkan nilai secara langsung dari hasil
mengerjakan soal rumus dalam pratikum saya misalkan nilai
kemuhammadiyahan menjadi nilai_ke, nilai biologi menjadi nilai_b, nilai
fisika menjadi nilai_fi, dan seterusnya
a. Program Login data
Login adalah proses paling utama yang akan menjalankan suatu
program. Jadi login adalah proses utama dalam menginput data sebelum
program selanjutnya berjalan.
1) Hasil Running Program Login Data

Gambar 1.1 Hasil Running Program Login Data


Program ini menjelaskan tentang bagaiamana system kerja input
dan data print. Print berfungsi untuk mencetak script untuk
dieksekusi menjadi bentuk aslinya. Input adalah program yang
dibuat jika pada saat mengeksekusi maka perintah tersebut berisi
perintah

1
2

2) Script Program Login Data


print("Silahkan Masuk!")
Nama =input("Nama\t\t:")
No_Pendaftaran=input("No_Pendaftaran\t:")
Asal_Sekolah=input("Asal_Sekolah\t:")
Tahun_Lulus=input("Tahun_Lulus\t:")
3) Analisis Script Program Login Data
Tabel 1.1 Analasis Script Program Login Data
Script Keterangan
Print(“Silahkan Masuk!”) Digunakan untuk menampil
atau mencetak perintah
Nama=input(“Nama\t\t:”) Memasukkan data nama
b. Program Soal Pilihan
Selanjutnya adalah program soal pilihan, tujuan program ini adalah
agar para peserta didik baru bisa memilih fakultas dan jurusan yang
mereka kehendaki. Selain itu juga tersedia soal ujian masuk sesuai
bidang jurusan yang diambil, yaitu sintek dan soshum dan soal wajib
kemuhammadiyahan.
1) Hasil Running Program Soal Pilihan

Gambar 1.2 Hasil Running Program Soal Saintek


3

Gambar 1.3 Hasil Running Program Soal Soshum


Program Soal Pilihan diatas bertujuan untuk menentukan
fakultas dan jurusan. Ketika calon mahasiswa baru memilih sebuah
jurusan yang basicnya IPA, maka soal yang akan muncul adalah
kehummadiyahan dan saintek. Ketika calon mahasiswa baru memilih
jurusan yang basicnya IPS maka soal yang akan keluar adalah soal
kemuhammadiyahan dan soshum, adapun soal kemuhammadiyahan
adalah soal wajib yang harus dikerjakan.
2) Script Program Soal Pilihan
print("Daftar Fakultas : \n Kedokteran \n Kedokteran
Gigi \n Farmasi \n Ilmu Kesehatan \n Keguruan dan Ilmu
Pendidikan \n Agama Islam \n Ekonomi dan Bisnis \n Geografi
\n Hukum \n Psikologi \n Teknik \n Komunikasi dan
Informatika")
fakultas=input("pilih fakultas yang kamu ingin:")
fakultas=fakultas.lower()

if fakultas == "kedokteran":
print("daftar program studi : \n kedokteran umum ")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "kedokteran umum":
print("Akreditasi B")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)

if nilai_akhir >= 78:


print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS -ONE DAY SERVICE")
4

else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan coba
lagi")

elif fakultas == "kedokteran gigi":


print("daftar program studi : \n kedokteran
gigi")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "kedokteran gigi":
print("Akreditasi C")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)

if nilai_akhir >= 74:


print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS - ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "farmasi":


print("daftar program studi : \n farmasi")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "farmasi":
print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(" ")
print(" ")
if nilai_akhir >= 65:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "ilmu kesehatan":


print("daftar program studi: \n keperawatan \n
gizi \n fisioterapi \n kesehatan
masyarakat")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "keperawatan":
print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(" ")
print(" ")
if nilai_akhir >= 60:
5

print("Score Akhir %d",nilai_akhir)


print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "gizi":


print("Akreditasi B")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(" ")
print(" ")
if nilai_akhir >= 59:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "fisioterapi":


print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(" ")
print(" ")
if nilai_akhir >= 61:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "kesehatan masyarakat":


print("Akreditasi B")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(" ")
print(" ")
if nilai_akhir >= 58:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "keguruan dan ilmu pendidikan":


print("daftar program studi: \n pendidikan
akuntasi \n pendidikan kewarganegaraan \n
pendidikan bahasa dan sastra indonesia \n
pendidikan bahasa inggris \n pendidikan
6

matematika \n pendidikan biologi \n


pendidikan guru sekolah dasar \n
pendidikan anak usia dini \n pendidikan
geografi \n pendidikan teknik informatika
\n pendidikan olahraga")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "pendidikan akuntasi":
print("Akreditasi A")
kemumahammadiyaaan()
soshum()
nilai_akhir = score_ke + score_so
print(" ")
print(" ")
if nilai_akhir >= 54:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan kewarganegaraan":


print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(" ")
print(" ")
if nilai_akhir >= 53:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan bahasa dan sastra


indonesia":
print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(" ")
print(" ")
if nilai_akhir >= 53:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan bahasa inggris":


print("Akreditasi A")
kemuhammadiyaan()
7

soshum()
nilai_akhir = score_ke + score_so
print(" ")
print(" ")
if nilai_akhir >= 54:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan matematika":


print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 56:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan biologi":


print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 54:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan guru sekolah dasar":


print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 50:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")
8

elif prodi == "pendidikan anak usia dini":


print("Akreditasi B")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 48:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan geografi":


print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 52:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "pendidikan olahraga":


print("Akreditasi B")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 50:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "agama islam":


print("daftar program studi : \n pendidikan
agama islam \n hukum ekonomi syariah \n
ilmu al-qur'an dan tafsir")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "pendidikan agama islam":
print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
9

if nilai_akhir >= 54:


print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "hukum eknonomi syariah":


print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 50:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

if prodi == "ilmu al-qur'an dan tafsir":


print("Akreditasi B")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 48:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "ekonomi dan bisnis":


print("daftar program studi : \n manajemen \n
akuntasi \n ilmu ekonomi studi
pembangunan")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "manajemen":
print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 53:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
10

print("Maaf anda belum lulus, Silahkan


coba lagi")

elif prodi == "akuntasi":


print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 54:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "ilmu ekonomi studi pembangunan":


print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 52:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "geografi":


print("daftar program studi : \n geografi")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "geografi":
print("Akreditasi A")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 52:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "hukum":


print("daftar program studi : \n hukum")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "hukum":
print("Akreditasi A")
11

kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 54:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "psikologi":


print("daftar program studi : \n psikologi")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "psikologi":
print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 59:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS - ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "teknik":


print("daftar program studi : \n mesin \n
arsitektur \n elektro \n industri \n
kimia \n sipil ")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "mesin":
print("Akreditasi B")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 55:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "arsitektur":


print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
12

print(“ “)
print(“ “)
if nilai_akhir >= 60:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "elektro":


print("Akreditasi B")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 57:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "industri":


print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 60:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "kimia":


print("Akreditasi B")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 57:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "sipil":


print("Akreditasi B")
13

kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 58:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif fakultas == "komunikasi dan informatika":


print("daftar program studi : \n ilmu komunikasi
\n informatika ")
prodi=input("pilih program studi:")
prodi=prodi.lower()
if prodi == "ilmu komunikasi":
print("Akreditasi B")
kemuhammadiyaan()
soshum()
nilai_akhir = score_ke + score_so
print(“ “)
print(“ “)
if nilai_akhir >= 51:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")

elif prodi == "informatika":


print("Akreditasi A")
kemuhammadiyaan()
saintek()
nilai_akhir = score_ke + score_sa
print(“ “)
print(“ “)
if nilai_akhir >= 56:
print("Score Akhir %d",nilai_akhir)
print("Selamat anda berhasil lulus tes
masuk UMS – ONE DAY SERVICE")
else:
print("Score Akhir %d",nilai_akhir)
print("Maaf anda belum lulus, Silahkan
coba lagi")
else:
print("Anda salah memasukkan")

program()

score_ke = 0
score_sa = 0
score_so = 0

def kemuhammadiyaan():
global score_ke
14

print("Soal Kemuhammadiyahan")
print("1. Dua organisasi otonom (ortom) yang berdiri
pada masa KH. Ahmad Dahlan adalah ...")
print("a. IPM dan NA")
print("b. Hizbul Wathan dan Aisiyah")
print("c. PSHW dan IMM")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_ke += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_ke -= 1

print("2. Muhamadiyah yaitu menghindari dari


penyakit TBC, TBC merupakan singkatan dari .
. .")
print("a. Takhayul, Bid’ah, Chufarat")
print("b. Tajdid, Bada’ah, Chufarat")
print("c. Tajdid, Bid’ah, Churafat")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_ke += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_ke -= 1

print("3. Yang menjadi sasaran tajdid adalah . . .")


print("a. Masyarakat ")
print("b. Umat agama lain")
print("c. Manusia")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_ke += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_ke -= 1

print("4. Siapa nama pendiri perserikatan


Muhammadiyah . . .")
print("a. KH. Amhad Dalan")
print("b. KH Mas Manur ")
print("c. Ki Bagus hadikusumo")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_ke += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_ke -= 1

print("5. Apa tujuan dari Muhammadiyah sebagai


gerakan islam yaitu . . .")
print("a. Memberikan pertolongan kepada masyarakat")
print("b. Menempatkan al-Qur’an di sisi masyarakat")
print("c. Menegakkan dan menjujunjung tinggi agama
islam")
Jawab=str(input("Jawab: "))
if Jawab == "c":
15

print("Benar,Kamu dapat 4 poin")


score_ke += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_ke -= 1

def saintek():
global score_sa
print("Soal Saintek")
print("(1) Biologi")
print("1. Persamaan antara tumbuhan lumut dan
tumbuhan paku adalah ....")
print("a. Metagenesis")
print("b. Rizoid dan sporofit")
print("c. Struktur sporofit")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("2. Dalam daur hidupnya, tumbuhan lumut


merupakan ...")
print("a. Sporofit")
print("b. Sporangium")
print("c. Gametofit")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("3. Pembuluh angkut tidak ditemukan pada


tumbuhan ....")
print("a. Bryophyta")
print("b. Gymnospermae")
print("c. Pteridophyta")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("4. Organel yang berperan dalam respirasi sel


adalah...")
print("a. Retikulum Endoplasma")
print("b. Mitokondria")
print("c. Nukleus")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
16

print("Maaf Anda Salah,Kamu dapat -1 poin")


score_sa -= 1

print("5. Amiloplas berfungsi untuk...")


print("a. Membentuk dan menyimpan amilum")
print("b. Menyimpan lemak atau minyak")
print("c. Menghancurkan amilum")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("(2) Fisika")
print("1. Gerakan suatu benda dimana setiap titik pada
benda tersebut mempunyai jarak yang tetap terhadap suatu
sumbu tertentu, merupakan pengertian dari...")
print("a. Gerak Translasi")
print("b. Perpindahan")
print("c. Gerak Rotasi")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("2. Gerak suatu benda pada garis lurus dengan


kecepatan tetap merupakan pengertian dari...")
print("a. Gerak Lurus Berubah Beraturan (GLBB)")
print("b. Gerak Translasi")
print("c. Gerak Lurus Beraturan (GLB)")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("3. Perbandingan tegangan terhadap regangan disebut


...")
print("a. Regangan")
print("b. Modulus elastisitas")
print("c. Modulus plastisitas")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("4. Tekanan hidrostatis dipengaruhi oleh ...")


print("a. Massa jenis zat cair")
print("b. Massa benda")
17

print("c. Percepatan")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("5. Hasil kali gaya dengan perpindahan disebut


...")
print("a. Usaha")
print("b. Tenaga")
print("c. Daya")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("(3) Kimia")
print("1. Sifat berikut yang merupakan perubahan
kimia,kecuali ...")
print("a. air menjadi es")
print("b. kayu menjadi arang")
print("c. kertas menjadi abu")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("2. Bilangan oksidasi carbon dari senyawa


Na2C2O-4 adalah ...")
print("a. +2")
print("b. +4")
print("c. +3")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("3. Reaksi dalam kehidupan sehari-hari.


Berikut ini merupakan reaksi endoterm
adalah ...")
print("a. fotosintesis")
print("b. perkaratan besi")
print("c. respirasi")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
18

print("Maaf Anda Salah,Kamu dapat -1 poin")


score_sa -= 1

print("4. garam yang tidak terhidrolisis adalah


...")
print("a. natrium sulfat")
print("b. natrium asetat")
print("c. kalium asetat")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("5. kelebihan elektrolit dalam suatu dispersi


koloid biasanya dihilangkan dengan cara ...")
print("a. Dialisis")
print("b. Natrium asetat")
print("c. kalium asetat")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("(4) Matematika")
print("1. Bangun kubus adalah bangun yang sisi-
sisinya berbentuk ....")
print("a. Persegi")
print("b. Persegi panjang")
print("c. Segitiga")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("2. Jumlah rusuk kubus sebanyak ....")


print("a. 12")
print("b. 13")
print("c. 14")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("3. Bangun kubus mempunyai sisi sebanyak


....")
print("a. 5")
print("b. 6")
print("c. 7")
19

Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("4. Andi mempunyai kardus berbentuk kubus yang


mempunyai panjang sisi 40 cm. Volume kubus
milik Andi adalah .... cm³")
print("a. 54.000")
print("b. 64.000")
print("c. 74.000")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

print("5. Rumus untuk mencari volume balok adalah


....")
print("a. V = p x l")
print("b. V = p x a x t ")
print("c. V = p x l x t")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_sa += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_sa -= 1

def soshum():
global score_so
print("Soal Soshum")
print("(1) Ekonomi")
print("1. Berikut ini yang termasuk dampak negatif
adanya pembangunan ekonomi adalah ....")
print("a. berkurangnya pengangguran")
print("b. menciptakan lapangan pekerjaan")
print("c. meningkatnya urbanisasi")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("2. faktor-faktor berikut termasuk faktor


ekonomi yang memengaruhi pembangunan
ekonomi suatu negara, kecuali ....")
print("a. natural resources")
print("b. SDM")
print("c. lembaga sosial")
Jawab=str(input("Jawab: "))
if Jawab == "c":
20

print("Benar,Kamu dapat 4 poin")


score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("3. Pertumbuhan ekonomi bertumpu pada adanya


petambahan penduduk hal tersebut
dikemukakan oleh ....")
print("a. Adam Smith")
print("b. W.W. Rostow")
print("c. David Ricardo")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("4. Apabila pekerja yang dipekerjakan lebih


banyak dari yang seharusnya sehingga
pekerja tidak bekerja secara maksimal
disebut ....")
print("a. disguised unemployment")
print("b. under employment")
print("c. full employment")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("5. Pengangguran yang disebabkan oleh adanya


penggantian tenaga manusia oleh mesin dan
bahan kimia disebut pengangguran ....")
print("a. struktural")
print("b. teknologi")
print("c. friksional")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("(2) Sejarah")
print("1. Kata sejarah adalah diambil dari kata
syajarotun, berasal dari bahasa....")
print("a. Sansekerta")
print("b. Arab")
print("c. Inggris")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
21

score_so -= 1

print("2. Sejarah dipandang sebagai karya seni,


maksudnya adalah....")
print("a. penulisannya mirip dengan dongeng")
print("b. penulisan peristiwa berkaitan dengan
keindahan bahasa")
print("c. penulisan peristiwa yang fiktif")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("3. Sifat empiris sejarah merujuk kepada....")


print("a. hanya sekali terjadi pada waktu tertentu")
print("b. pengalaman manusia yang sebenarnya")
print("c. penggambaran tentang suatu peristiwa")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("4. Berikut ini yang bukan merupakan ciri-ciri


sejarah sebagai peristiwa adalah...")
print("a. terjadi pada masa yang lampau")
print("b. berpengaruh pada zaman berikutnya")
print("c. terjadi berulang dan persis sama")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("5. Berikut ini yang dimaksud dengan masa


prakarsa adalah....")
print("a. massa sebelum manusia mengenal tulisan")
print("b. masa sebelum ditemukannya tulisan")
print("c. massa sesudah manusia mengenal kronik")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("(3) Sosiologi")
print("1. Pernyataan di bawah ini yang bukan manfaat
mempelajari sosiologi adalah....")
print("a. mendapatkan penghasilan yang cukup besar")
print("b. menjadi lebih tanggap dan kritis dalam
menghadapi persoalan hidup")
22

print("c. membantu mengkaji tempat kita dalam


masyarakat")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("2. Sosiologi berasal dari kata Latin socius


dan kata Yunani Logos. Socious dalam
pengertian sosiologi berarti....")
print("a. kawan dan lawan")
print("b. kawan")
print("c. kerabat")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("3. Berikut ini yang bukan sifat dan hakikat


ilmu sosiologi adalah....")
print("a. pengetahuan yang bersifat terapan")
print("b. pengetahuan empiris dan rasional")
print("c. pengetahuan abstrak dan bukan konkret")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("4. Berikut yang mendapat sebutan Bapak


Sosiologi ialah....")
print("a. Pitrim A. Sorokon")
print("b. Max Weber")
print("c. Auguste Comte")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("5. Berikut ini yang merupakan salah satu


faktor utama yang mendorong lainnya ilmu
sosiologi adalah....")
print("a. ilmu sosial lainnya gagal menyelesaikan
masalah sosial")
print("b. peperangan antarnegara Erop")
print("c. perubahan-perubahan pada masyarakat
Eropa")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
23

score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("(4) Sosiologi")
print("1. Lapisan di permukaan bumi yang mendukung
kehidupan organisme adalah ....")
print("a. biochore")
print("b. biocyle")
print("c. biosfer")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("2. Berikut ini yang bukan termasuk jenis-


jenis hutan berdasarkan tujuan dan
kegunaannya adalah ....")
print("a. hutan rekreasi")
print("b. hutan heterogen")
print("c. hutan lindung")
Jawab=str(input("Jawab: "))
if Jawab == "b":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("3. Padang rumput yang diselingi oleh pohon-


pohon yang agak tinggi dan menyebar
disebut ....")
print("a. stepa")
print("b. tundra")
print("c. sabana")
Jawab=str(input("Jawab: "))
if Jawab == "c":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("4. Faktor-faktor fisik yang memengaruhi


kehidupan di muka bumi adalah ....")
print("a. iklim, tanah, dan relief")
print("b. tanah, relief, dan fauna")
print("c. biocycle, angin, dan suhu")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

print("5. Berikut ini adalah hewan yang tidak hidup di


24

Indonesia bagian barat


adalah ....")
print("a. anoa")
print("b. badak")
print("c. gajah")
Jawab=str(input("Jawab: "))
if Jawab == "a":
print("Benar,Kamu dapat 4 poin")
score_so += 4
else:
print("Maaf Anda Salah,Kamu dapat -1 poin")
score_so -= 1

3) Analisis Script Program Soal Pilihan


Tabel 1.2 Analisis Script Program Soal Pilihan
Sricpt Keterangan
print("Daftar Fakultas : \n Script untuk
Kedokteran \n Kedokteran Gigi \n
Farmasi \n Ilmu Kesehatan \n menampilkan list pilihan
Keguruan dan Ilmu Pendidikan \n
Agama Islam \n Ekonomi dan Bisnis
seluruh fakultas yang ada
\n Geografi \n Hukum \n Psikologi di UMS yang untuk
\n Teknik \n Komunikasi dan
Informatika") dipilih

if fakultas == "kedokteran": Script ini digunakan


print("daftar program studi : \n
kedokteran umum ") untuk menampilkan list
prodi=input("pilih program
studi:")
jurusan dan menginput
prodi=prodi.lower() pilihan jurusan yang ada
if prodi == "kedokteran umum":
print("Akreditasi B")
pada fakultas yang dipilih
dan disertai akreditasinya

score_ke = 0 Digunakan untuk


score_sa = 0
score_so = 0 membuat score awal
bernilai 0
def kemuhammadiyaan(): Digunakan untuk
global score_ke
print("Soal membuat fungsi soal dan
Kemuhammadiyahan") menmbuat soal pada
print("1. Dua organisasi
otonom fungsi tersebut
(ortom) yang berdiri
pada masa
KH. Ahmad Dahlan adalah
...")
print("a. IPM dan NA")
print("b. Hizbul Wathan
dan Aisiyah")
print("c. PSHW dan IMM")
Jawab=str(input("Jawab: ")) Digunakan untuk
if Jawab == "b":
print("Benar,Kamu mengakumulasi nilai
dapat 4
poin")
berdasarkan benar
score_ke += 4 salahnya suatu soal
else:
25

print("Maaf Anda
Salah,Kamu
dapat -1
poin")
score_ke -= 1

kemuhammadiyaan() Digunakan untuk


saintek()
nilai_akhir = score_ke + score_sa menghitung total nilai
print(“ “)
print(“ “)
yang diperoleh, jika total
if nilai_akhir >= 78: nilai lebih dari sama
print("Score Akhir
%d",nilai_akhir)
dengan 78 maka akan
print("Selamat anda muncul keterangan
berhasil
lulus tes masuk “Selamat anda berhasil
UMS –ONE DAY tes masuk UMS-ONE
SERVICE")
else: DAY SERVICE!”.
print("Score Akhir Kecuali nilai kurang dari
%d",nilai_akhir)
print("Maaf anda belum 78 maka akan muncul
lulus, Silahkan
coba lagi")
kalimat “Maaf anda
belum lulus, Silahkan
coba lagi!”
2. Program List Data Mahasiswa
Program list data mahasiswa adalah program memasukkan data diri
mahasiswa pada sebuah daftar yang dikerjakan dengan bahasa
pemrograman python. Program list ini dibuat dengan tujuan untuk
memasukkan data diri mahasiswa Universitas Muhammadiyah Surakarta,
dan dapat dicari maupun dihapus pula data diri mahasiswa yang telah
dimasukkan kedalam program ini melaui NIM mahasiswa tersebut. Dalam
program ini pertama-tama pengguna harus memasukkan data mahasiswa
yang diinginkan, data ini terdiri dari: Nama, NIM, Asal, Jurusan,
Angkatan, IPS, Dosen PA, dan Jumlah SKS., data boleh dimasukkan
sesuai keinginan pengguna. Setelah selesai memasukkan data, program
akan menampilkan pilihan untuk berhenti memasukkan data atau berhenti.
Apabila berhenti maka program akan menampilkan data yang telah kita
masukkan kedalam bentuk list. Setelah itu program akan menampilkan
pilihan apakah ingin mencari data atau menghapus data yang diinginkan
melaui NIM mahasiswa. Pilihan 1 untuk mencari data dan pilihan 2 untuk
menghapus data.
26

a. Tabel Data Mahasiswa


Ini merupakan data mahasiswa yang praktikan kumpulan
dari berbagai macam fakultas dan program studi di Universitas
Muhammadiyah Surakarta. Data ini terdiri dari: Nama, NIM, Asal,
Jurusan, Angkatan, IPS, Dosen PA, dan Jumlah SKS.
Tabel 1.3 Data Mahasiswa
N Nama NIM Asal Jurusan Angka IP Dosen S
o tan S PA K
S
1 Wildan D60018 Yogyak Teknik 2018 3,5 Indah 1
Bramantya 0007 arta Industri Pratiwi 9
B
2 Prasetyo D50018 Jakarta Teknik 2018 3.0 Siti 2
Budi N 0097 Kimia 0 Fatimah 0

3 Yuma D60018 Klaten Teknik 2018 3.3 Ida 1


Setiaji S 0157 Industri 2 Nursanti 9
4 Bagus D60018 Kendal Teknik 2018 3,3 Ahmad 1
Nurdiansya 0152 Industri 5 Kholid 9
h Alghofar
i
5 Muhamma G00018 Kalima PAI 2018 3.6 Moham 1
d 0299 ntan mad Ali 0
Raisulhilal
6 Razi G00018 Bengku PAI 2018 3.6 Moham 1
Zilhakim 0297 lu mad Ali 0
7 Saskianingt D60018 Boyolal Teknik 2018 3,6 Much. 1
yas 0069 i Industri 1 Djunaidi 9
Damayanti
8 Muhamad D60018 Boyolal Teknik 2018 3.5 Much 1
Irgan 0066 i Industri 6 Junaidi 9
Choirul M
9 Muhamad D60018 Boyolal Teknik 2018 3.3 Hari 1
Rizkan B 0106 i Industri 7 Prasetyo 9
1 Rizal D60018 Klaten Teknik 2018 3.2 Ahmad 1
0 Dwiyanto 0138 Industri 9 Kholid 9
Al
Ghifari
1 Satria D60018 Sukoha Teknik 2018 3.3 Ahmad 1
1 Cahya 0056 rjo Industri 4 Kholid 9
Rizky N Alghofar
i
1 Danang D60018 Bekasi Teknik 2018 3.5 Much 1
2 Dwi S 0074 Industri Djunaidi 9
1 Vialdo D60018 Madiun Teknik 2018 3.2 Ida 1
3 Kahfi A 0159 Industri 1 Nursanti 9
1 Wahyu Aji D60018 Jepara Teknik 2018 3,3 Mila 1
4 P 0130 Industri 7 Faila 9
Sufa
1 Aisyah A71018 Bengku Pend.T 2018 3.3 Arif 2
5 Mustika P 0050 lu eknik 8 Setyawa 0
Informa n
tika
27

N Nama NIM Asal Jurusan Angka IP Dosen S


o tan S PA K
S
1 Siska D30018 Bengku Arsitekt 2018 3.5 Samsudi 1
6 Margareta 0131 lu ur 8 n raidi 9
1 Feri Irawan D60018 Cirebon Teknik 2018 2,4 Ida 1
7 0164 Industri 7 Nursanti 9
1 Muhamma G00018 Solo PAI 2018 3.4 Najmudi 2
8 d Rizqi 0024 n 0
1 Ameliana G00018 Wonogi PAI 2018 3,3 Chusniat 2
9 Saputri 0081 ri un 0
2 Amalia G00018 Temang PAI 2018 2,0 Alifiatul 2
0 Khairunnis 0244 gung 0
a
2 Syahfrin G00018 NTT PAI 2018 3,1 Moham 1
1 Soi 0298 1 mad Ali 0
2 Rena G00018 Ngawi PAI 2018 3.6 Zainal 2
2 Fauzanatin 0053 Abidin 0
2 Aulia Alfi G00018 Purwod PAI 2018 3,7 Chusniat 2
3 Z 0107 adi un 0
2 Alifian G00018 Sukoha PAI 2018 3,8 Ma'arif 2
4 Nurush S 0138 rjo 5 Jamuin 0
2 Agneza G00018 Bengku PAI 2018 3,4 Zainal 2
5 Rahma H 0057 lu 5 Abidin 0
2 Diyah J12017 Lampu Fisioter 2017 3.2 Wahyuni 2
6 Luthfika K 0122 ng ap 5 0
2 Aditya D60018 Sukoha Teknik 2018 3.7 Ahmad 1
7 Galang N 0135 rjo Industri Kholid 9
Al
Ghifari
2 Vita Aprilia A41018 Ngawi Pend. 2018 3,0 Nida 2
8 P 0086 Matema 8 0
tika
2 Pradia I00018 Madiun HES 2018 3,3 Muham 2
9 Dhyan P 0199 9 mad 0
Mu'inudi
nillah
3 Itsna Safitri I00018 Remba HES 2018 3,6 Muham 2
0 0175 ng 7 mad Mu 0
Inidinilla
h
3 Ilhami I00018 Ponoro HES 2018 3,3 Muinudil 2
1 Masruroh 0182 go 5 lah 0
3 Fanny Ayu F10018 Madiun Psikolo 2018 3.5 Setya 2
2 S 0165 gi 8 Ashanty 1
3 Rezqi A32018 Tegal Pend. 2018 3.7 Sumayah 2
3 Fauzy 0211 Bhs. 0
Inggris
3 Muhamad G00018 Magela PAI 2018 3,7 Mahasri 2
4 Azka N 0161 ng 5 Shobahiy 0
a
3 Dwi Wahyu D10018 Purwod Teknik 2018 2.9 Sri 2
5 N 0240 adi Sipil 3 Sunaryo 0
no
28

b. Program Input Data Mahasiswa


program Input adalah program awal dari program list data
mahasiswa, dimana pada program ini pengguna diminta untuk
memasukkan data mahasiswa yang diinginkan, data ini terdiri dari:
Nama, NIM, Asal, Jurusan, Angkatan, IPS, Dosen PA, dan Jumlah
SKS., data boleh dimasukkan sesuai keinginan pengguna.
1) Hasil Running Program Input Data Mahasiswa
29

Gambar 1.4 Hasil Running Program Input


Cara kerja program ini adalah dengan memasukkan data
diri mahasiswa yang di inginkan oleh pengguna. Pengguna dapat
mengisikan data yang diminta sejumlah yang pengguna
inginkan.
2) Script Program Input Data Mahasiswa
print("=================================================
====")
print(" Assalamualaikum Wr. Wb
")
print(" DATA KARTU RENCANA STUDI (KRS)
")
print(" MAHASISWA UNIVERSITAS MUHAMMADIYAH SURAKARTA
")
print(" Jl.Ahmad Yani, Pabelan, Kartasura, Surakarta
")
print("this program is made by: ")
print("Nama :M. Chaeruddin Azizi")
print("NIM :D600180073")
print("-------------------------------------------------
----")

def data():
i=0

NAMA=[]
NIM=[]
ASAL=[]
JURUSAN=[]
ANGKATAN=[]
30

IPS_TERAKHIR=[]
DOSEN_PA=[]
JUMLAH_SKS=[]

while True :
print("masukan data ke-",i+1)
NAMA.append(input ("masukan nama anda
:"))
NIM.append(input ("masukan nim anda
:"))
ASAL.append(input ("masukan asal anda
:"))
JURUSAN.append(input ("masukan jurusan anda
:"))
ANGKATAN.append(input ("masukan angkatan
anda:"))
IPS_TERAKHIR.append(input ("masukan ips anda
:"))
DOSEN_PA.append(input ("masukan dosen anda
:"))
JUMLAH_SKS.append(input ("masukan sks anda
:"))

lagi=""
while lagi !="y" and lagi !="t":
lagi= input("Anda Mau Menginput data lagi
?(Y/T):")
lagi=lagi.lower()
i += 1
if lagi == "t":
break

print("==============================================
=====================")
print(" DAFTAR DATA DIRI MAHASISWA")

print("==============================================
=====================")
print("No Nama NIM Asal Jurusan
Angkatan IPS Dosen PA SKS")

print("==============================================
=======================")

for n in range(i):
print(n+1," ",NAMA[n]," ",NIM[n]," ",ASAL[n],"
",JURUSAN[n]," ",ANGKATAN[n],"
",IPS_TERAKHIR[n]," ",DOSEN_PA[n],"
",JUMLAH_SKS[n], " ")
ing=""
31

3) Analisis Script Program Input Data Mahasiswa


Tabel 1.4 Analisis Program Input
Script Keterangan

Digunakan untuk mendefiniskan data


def data(): agar bisa di panggil.

Digunakan untuk menjelaskan bahwa


nilai i(sebagai permisalan)
i=0

Digunakan sebagai pengulangan terus


while True: menerus sampai pengulangan bernilai
salah dan berhenti
NAMA=[] Digunakan untuk memberikan perintah
NIM=[] membuat list dari
ASAL=[] nama,NIM,Asal,Jurusan,Angkatan,IPS,
JURUSAN=[]
ANGKATAN=[]
Dosen PA,Jumlah SKS
IPS_TERAKHIR=[]
DOSEN_PA=[]
JUMLAH_SKS=[]

NAMA.append(input Digunakan untuk memberikan perintah


("masukan nama anda penambahan data nama masukan di
:")) belakang daftar data

[n]
Digunakan sebagai definisi/keterangan
dari variabel (n)

c. Program Cari Data Berdasarkan NIM


Program Cari Data Berdasarkan NIM adalah program yang
digunakan untuk mencari data diri mahasiswa yang telah pengguna
masukkan dengan menggunakan NIM dari mahasiswa tersebut.
Program ini akan mencari data diri dari mahasiswa yang
diinginkan pada list mahasiswa yang telah ditampilkan program.
1) Hasil Running Program Cari Data Berdasarkan NIM

Gambar 1.5 Hasil Running Program Cari Data Berdasarkan


NIM
32

Cara kerja program ini adalah dengan memasukkan NIM


mahasiswa yang di inginkan oleh pengguna. Setelah itu program
akan mencari data diri mahasiswa yang memiliki NIM tersebut.
2) Script Program Cari Data Berdasarkan NIM
ing=input("opsi lain (y/t)?:")
while ing !="y" or ing !="t":
if ing =="y":
while True:
print("1. Cari data dari NIM \n2. Hapus dari NIM")
pilihan=int(input("pilih (1/2): "))
if pilihan==1:
cari=input("cari data dari NIM: ")
for n in range(i) :
if cari == NIM[n]:
print("NAMA :", NAMA[n])
print("NIM :", NIM[n])
print("ASAL:", ASAL[n])
print("JURUSAN:", JURUSAN[n])
print("ANGKATAN:", ANGKATAN[n])
print("IPS TERAKHIR :", ANGKATAN[n])
print("DOSEN PA:", DOSEN_PA[n])
print("JUMLAH SKS:", JUMLAH_SKS[n])
3) Analisis Script Program Cari Data Berdasarkan NIM
Tabel 1.5 Analisis Program Cari Data Berdasarkan NIM
Script Keterangan
ing=input("opsi lain Digunakan untuk
(y/t)?:")
menampilkan tulisan 1.
while ing !="y" or ing
!="t": Pencarian berdasarkan NIM
if ing =="y": 2. Hapus data dan membuat
while True: pilihan 1 atau 2
print("1. Cari data
dari NIM \n2. Hapus dari
NIM")
pilihan=int(input("pilih
(1/2): "))

if pilihan==1: Digunakan ketika kita pilih 1


cari=input("cari data
maka akan muncul di dalam
dari NIM: ")
program Cari berdasarkan
NIM:

NIM[n]: Di gunakan untuk


menampilkan NIM yang di
pilih
else: Digunakan untuk memberikan
perintah pada kemungkinan
terakhir
ing !="y" Digunakan untuk menyatakan
bahwa pilihan tidak sama
dengan ”y”
33

d. Program Hapus Data Berdasarkan NIM


Program Hapus Data Berdasarkan NIM adalah program
yang digunakan untuk menghapus data diri mahasiswa yang telah
pengguna masukkan dengan menggunakan NIM dari mahasiswa
tersebut. Program ini akan menghapus data diri dari mahasiswa yang
diinginkan pada list mahasiswa yang telah ditampilkan program.
1) Hasil Running Program Harus Berdasarkan NIM

Gambar 1.6 Hasil Running Program Hapus Data


Berdasarkan NIM
Cara kerja program ini adalah dengan memasukkan data diri
mahasiswa yang di inginkan oleh pengguna. Pengguna dapat
mengisikan data yang diminta sejumlah yang pengguna
inginkan.

2) Script Program Hapus Data Berdasarkan NIM


if pilihan==2:
hapus =input("input NIM yang akan dihapus : ")
n=str(hapus)in NIM
s=NIM.index(str(hapus))
34

if hapus == NIM[s]:
NAMA.remove(NAMA[s])
NIM.remove(NIM[s])
ASAL.remove(ASAL[s])
JURUSAN.remove(JURUSAN[s])
ANGKATAN.remove(ANGKATAN[s])
IPS_TERAKHIR.remove(IPS_TERAKHIR[s])
DOSEN_PA.remove(DOSEN_PA[s])
JUMLAH_SKS.remove(JUMLAH_SKS[s])

print("==============================================
=====================")
print(" DAFTAR DATA DIRI MAHASISWA")
print("==============================================
=====================")
print("No Nama NIM Asal Jurusan Angkatan
IPS Dosen PA SKS")
print("==============================================
=======================")
for n in range (i-1):
print(n+1,"",NAMA[n-s],"",NIM[n-s],"",ASAL[n-
s],"",JURUSAN[n-s],"",ANGKATAN[n-
s],"",IPS_TERAKHIR[n-s],"",DOSEN_PA[n-
s],"",JUMLAH_SKS[n-s], "")
ing=""

print("==============================================
==================")

data()
3) Analisis Script Program Hapus Data Berdasarkan NIM
Tabel 1.6 Program Hapus Data
Script Keterangan
hapus =input("input Digunakan untuk memasukan data
NIM yang akan
dihapus : ") (kata) “hapus data berdasarkan
NIM mahasiswa” ke dalam
program
data() Digunakan sebagai fungsi
pemanggil data yang sudah di buat
sebelumnya
.index Digunakan untuk mengambil
variabel yang diinginkan dari list
remove() Digunakan untuk menghapus data
yang diinginkan
for n in range (i-1): Menampilkan pengulangan
sejumlah anggota (n) kurang 1
35

B. Penutup
1. Kesimpulan
Dari praktikum python dasar ini praktikan dapat menyimpulakn
beberapa hal :
a. Program scoring adalah suatu pemograman yang mengacu pada suatu
nilai atau score yang dapat memudahkan dalam perhitungan cepat tanpa
harus menghitung secara manual.
b. Login adalah proses paling utama yang akan menjalankan suatu
program.
c. Program soal pilihan bertujuan agar para peserta didik baru bisa memilih
fakultas dan jurusan yang mereka kehendaki. Selain itu juga tersedia
soal ujian masuk sesuai bidang jurusan yang diambil, yaitu sintek dan
soshum dan soal wajib kemuhammadiyahan. Kesalahan sintaks pada
python mudah untuk diperbaiki
d. Program list data mahasiswa adalah program memasukkan data diri
mahasiswa pada sebuah daftar yang dikerjakan dengan bahasa
pemrograman python.
e. program Input adalah program awal dari program list data mahasiswa,
dimana pada program ini pengguna diminta untuk memasukkan data
mahasiswa yang diinginkan.
f. Program Cari Data Berdasarkan NIM adalah program yang digunakan
untuk mencari data diri mahasiswa yang telah pengguna masukkan
dengan menggunakan NIM dari mahasiswa tersebut.
g. Program Hapus Data Berdasarkan NIM adalah program yang digunakan
untuk menghapus data diri mahasiswa yang telah pengguna masukkan
dengan menggunakan NIM dari mahasiswa tersebut
2. Saran
Dari praktikum python dasar ini praktikan dapat memberikan
beberapa saran seperti:
a. Praktikan diharap memerhatikan penjelasan dari asisten
b. Praktikan diharap mencatat hal penting selama praktikum
c. Praktikan diharap datang sebelum waktu praktikum dimulai
d. Praktikan harus mematuhi segala aturan lab
e. Praktikan diharap mempelajari modul sebelum praktikum
MODUL II
GUI PYTHON

A. Hasil Pratikum
1. Menu Utama
Menu utama adalah suatu pemograman yang mengacu pada daftar
perintah-perintah suatu perangkat lunak (program) yang apabila dieksekusi
akan menjalankan suatu perintah tertentu dari aplikasi. Program menu
utama itu menjelaskan bagaimana cara kita memilih soal saintek atau
soshum untuk menyelesaikan tes “One Day Service” dan dapat langsung
memunculkan pilihannya, soal wajibnya ada 2 macam soal, yaitu
kemuhammadiyaan dan inggris.
a. Hasil Running Program Menu Utama

Gambar 2.1 Hasil Running Program Menu Utama


Program ini menjelaskan tentang bagaimanaa system pemilihan
soal dan apabila ditekan akan langsung connect ke jenis soal tersebut.
Connect berfungsi untuk menyambungkan pilihan soal ke program soal
yang sudah dibuat sebelumya.
b. Script Menu Utama\
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class menu(QWidget):
def __init__(azi):
QWidget.__init__(azi)

36
37

azi.setWindowTitle('MENU UTAMA')
azi.setGeometry(350,80,700,600)
azi.icon=QIcon('ums.png')
azi.setWindowIcon(azi.icon)
azi.title1=QLabel('<h2><b><font color=green>ONE DAY
\
SERVICE 2019</font><b></h2>', azi)
azi.title1.move(250,50)
azi.title2=QLabel('<h2><b><font
color=brown>UNIVERSITAS
MUHAMMADIYAH SURAKARTA</font><b></h2>', azi)
azi.title2.move(150,75)
azi.title3=QLabel('<h3><b><font color=black>Apa yang
ingin anda kerjakan?</font><b></h3>', azi)
azi.title3.move(19,170)
azi.title4=QLabel('Directed by M. Chaeruddin Azizi',
azi)
azi.title4.move(10,530)
azi.title5=QLabel('D600180073', azi)
azi.title5.move(10,550)
azi.title6=QLabel('@2019', azi)
azi.title6.move(10,570)

azi.pilih()

def pilih(azi):
pilih1=QRadioButton('Saintek',azi)
pilih2=QRadioButton('Soshum',azi)
pilih1.move(10,200)
pilih2.move(10,220)
pilih1.clicked.connect(azi.Saintek)
pilih2.clicked.connect(azi.Soshum)

def Saintek(azi):
dor1=QPushButton('Kemuhammadiyaan',azi)
dor1.setGeometry(10,250,140,40)
dor1.show()
dor1.clicked.connect(azi.kemuhammadiyaan)

dor2=QPushButton('Inggris',azi)
dor2.setGeometry(200,300,140,40)
dor2.show()
dor2.clicked.connect(azi.inggris)

dor3=QPushButton('Biologi',azi)
dor3.setGeometry(10,300,140,40)
dor3.show()
dor3.clicked.connect(azi.biologi)

dor4=QPushButton('Fisika',azi)
dor4.setGeometry(200,250,140,40)
dor4.show()
dor4.clicked.connect(azi.fisika)

dor5=QPushButton('Data Mahasiswa',azi)
dor5.setGeometry(400,250,140,40)
dor5.show()
dor5.clicked.connect(azi.datamaha)

def Soshum(azi):
dor1=QPushButton('Kemuhammadiyaan',azi)
dor1.setGeometry(10,250,140,40)
dor1.show()
dor1.clicked.connect(azi.kemuhammadiyaan1)
38

dor2=QPushButton('Inggris',azi)
dor2.setGeometry(200,300,140,40)
dor2.show()
dor2.clicked.connect(azi.inggris1)

dor3=QPushButton('Sejarah',azi)
dor3.setGeometry(200,250,140,40)
dor3.show()
dor3.clicked.connect(azi.sejarah)

dor4=QPushButton('Geografi',azi)
dor4.setGeometry(10,300,140,40)
dor4.show()
dor4.clicked.connect(azi.geografi)

dor5=QPushButton('Data Mahasiswa',azi)
dor5.setGeometry(400,250,140,40)
dor5.show()
dor5.clicked.connect(azi.datamaha)

def kemuhammadiyaan(azi):
from soal_kemuhammadiyaan import kemuhammadiyaan
azi.ke=kemuhammadiyaan()
azi.ke.show()
azi.hide()

def kemuhammadiyaan1(azi):
from soal_kemuhammadiyaan1 import kemuhammadiyaan1
azi.ke1=kemuhammadiyaan1()
azi.ke1.show()
azi.hide()

def inggris(azi):
from soal_inggris import inggris
azi.bing=inggris()
azi.bing.show()
azi.hide()

def inggris1(azi):
from soal_inggris1 import inggris1
azi.bing1=inggris1()
azi.bing1.show()
azi.hide()

def biologi(azi):
from soal_biologi import biologi
azi.bi=biologi()
azi.bi.show()
azi.hide()

def fisika(azi):
from soal_fisika import fisika
azi.fi=fisika()
azi.fi.show()
azi.hide()

def sejarah(azi):
from soal_sejarah import sejarah
azi.se=sejarah()
azi.se.show()
azi.hide()

def geografi(azi):
from soal_geografi import geografi
39

azi.geo=geografi()
azi.geo.show()
azi.hide()

def datamaha(azi):
from data_mahasiswa import data
azi.x=data()
azi.x.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
ps=menu()
ps.show()
app.exec_()
sys.exit()
c. Analisis Script Menu Utama
Tabel 2.1 Analisis Script Program Menu Utama
Script Keterangan
import sys Untuk mengimport
from PySide2.QtCore import *
from PySide2.QtGui import * modul
from PySide2.QtWidgets import * QtCore,QtGui,dan
QtWidgets

class menu(QWidget): Mendefinisikan kelas


yang akan dibuat Gui
azi.setWindowTitle('MENU UTAMA') Untuk memberi judul
pada window yang
dibuat
azi.setGeometry(350,80,700,600) Untuk menetukan
ukuran window yang
akan dibuat
azi.title1=QLabel Memberi teks pada
window
azi.title1.move Mengatur posisi teks
def pilih(azi): Membuat definisi
pilih1=QRadioButton('Saintek',azi) suatu fungsi dan
membuat tombol
pilih2=QRadioButton('Soshum',azi) radio pada window

pilih1.clicked.connect(azi.Saintek) Untuk
pilih2.clicked.connect(azi.Soshum)
menghubungkan
dengan fungsi laiinya
Membuat tombol
dor1=QPushButton('Kemuhammadiyaan',azi)
pada window
from soal_fisika import fisika Untuk meng-import
program dari kelas
lain
40

2. Soal Kemuhammadiyaan
Selanjutnya adalah program soal wajib yaitu soal
kemuhammadiyaan, program ini adalah program yang menampilkan soal
kemuhammadiyaan yang akan dikerjakan saat “ONE DAY SERVICE”.
a. Hasil Running Program Soal Kemuhammadiyaan

Gambar 2.2 Hasil Running Program Soal Kemuhammadiyaan


Program ini menjelaskan tentang bagaimanaa system pengerjaan
soal kemuhammadiyaan dan memunculkan pilihan-pilihan jawaban
yang apabila benar bernilai 20 dan salah -10. Disini juga terdapat pilihan
yang apabila next akan tersambung ke soal selanjutnya.
b. Script Program Soal Kemuhammadiyaan
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class kemuhammadiyaan (QWidget):


def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle('soal KEMUHAMMADIYAAN')
azi.setGeometry(450,150,500,500)
azi.icon=QIcon('muhammadiyah.jpg')
azi.setWindowIcon(azi.icon)
azi.soal()
azi.total()
azi.repeat()
azi.ulang()
azi.option()
azi.next()

def soal(azi):
azi.nilai=0
41

azi.soalone=QLabel('1) Dua organisasi otonom


(ortom)
yang berdiri pada masa KH. Ahmad Dahlan adalah
...',
azi)
azi.soalone.move(10,10)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,25)
azi.comboone=QComboBox(azi)
azi.comboone.addItems(['','IPM dan NA','Hizbul
Wathan dan Aisiyah','PSHW dan IMM'])
azi.comboone.move(10,40)

azi.comboone.activated[str].connect(azi.nilaione)

azi.soaltwo=QLabel('2) Muhamadiyah yaitu


menghindari
dari penyakit TBC, TBC merupakan singkatan dari
. .
.', azi)
azi.soaltwo.move(10,60)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,75)
azi.combotwo=QComboBox(azi)
azi.combotwo.addItems(['','Takhayul, Bid’ah,
Chufarat','Tajdid, Bada’ah, Chufarat','Tajdid,
Bid’ah, Churafat'])
azi.combotwo.move(10,90)

azi.combotwo.activated[str].connect(azi.nilaitwo)

azi.soalthree=QLabel('3) Yang menjadi sasaran


tajdid
adalah . . .', azi)
azi.soalthree.move(10,110)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,125)
azi.combothree=QComboBox(azi)
azi.combothree.addItems(['','Masyarakat','Umat
agama
lain','Manusia'])
azi.combothree.move(10,140)

azi.combothree.activated[str].connect
(azi.nilaithree)

azi.soalfour=QLabel('4) Siapa nama pendiri


perserikatan Muhammadiyah . . .', azi)
azi.soalfour.move(10,160)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,175)
azi.combofour=QComboBox(azi)
azi.combofour.addItems(['','KH. Amhad Dalan','KH
Mas
Manur','Ki Bagus hadikusumo'])
azi.combofour.move(10,190)

azi.combofour.activated[str].connect(azi.nilaifour)

azi.soalfive=QLabel('5) Apa tujuan dari


Muhammadiyah
sebagai gerakan islam yaitu . . . ', azi)
42

azi.soalfive.move(10,210)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,225)
azi.combofive=QComboBox(azi)
azi.combofive.addItems(['','Memberikan
pertolongan
kepada masyarakat','Menempatkan al-Qur’an di
sisi
masyarakat','Menegakkan dan menjujunjung tinggi
agama islam'])
azi.combofive.move(10,240)

azi.combofive.activated[str].connect(azi.nilaifive)

def nilaione(azi,jawab):
if str(jawab)=='Hizbul Wathan dan Aisiyah':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaitwo(azi,jawab):
if str(jawab)=='Takhayul, Bid’ah, Chufarat':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaithree(azi,jawab):
if str(jawab)=='Manusia':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifour(azi,jawab):
if str(jawab)=='KH. Amhad Dalan':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifive(azi,jawab):
if str(jawab)=='Menegakkan dan menjujunjung
tinggi
agama islam':
azi.nilai += 20
azi.total.setText(' Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.nilai -= 10
azi.total.setText('Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.ket.setText('SORRY YOUR FAIL')
azi.ket.adjustSize()

def total(azi):
azi.batas=QLabel('===========', azi)
azi.batas.move(10,375)
azi.total=QLabel(('Your Final Score Is '), azi)
43

azi.ket=QLabel(('LOLOS/TIDAK??'), azi)
azi.total.move(10,385)
azi.ket.move(10,400)

def repeat(azi):
r=QLabel('Do You Want To Repeat??', azi)
r.move(10,420)
def ulang(azi):
pilihiya=QRadioButton('Yes', azi)
pilihtidak=QRadioButton('No', azi)
pilihiya.move(10,440)
pilihtidak.move(50,440)

pilihiya.clicked.connect(azi.apabilaiya)
pilihtidak.clicked.connect(azi.apabilatidak)

def option(azi):
lanjut=QPushButton('Next', azi)
lanjut.move(400,400)
lanjut.clicked.connect(azi.next)

def apabilaiya(azi):

note=QMessageBox.information(azi,'notice',str('If
You Have Tried 3 Times \nPlease Register
Again'))
from soal_kemuhammadiyaan import kemuhammadiyaan
azi.t=kemuhammadiyaan
azi.t.show()
azi.hide()

def apabilatidak(azi):
azi.w=QLabel('Thank You For Participating', azi)
azi.w.move(200,425)
azi.w.show()

def next(azi):
from soal_inggris import inggris
azi.k=inggris()
azi.k.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
ke=kemuhammadiyaan()
ke.show()
app.exec_()
sys.exit()
44

c. Analisis Script Program Soal Soal Kemuhammadiyaan


Tabel 2.2 Analisis Script Program Soal Kemuhammadiyaan
Script Keterangan
azi.combofive=QComboBox(azi) Membuat bebarapa
azi.combofive.addItems(['','Memberikan tombol yang terdapat
pertolongan kepada beberapa pilihan
masyarakat','Menempatkan al-Qur’an di
sisi masyarakat','Menegakkan dan jawaban
menjujunjung tinggi agama islam'])

3. Soal Inggris
program soal wajib selanjutnya, yaitu soal inggris, program ini
adalah program yang menampilkan soal inggris yang akan dikerjakan saat
“ONE DAY SERVICE”.
a. Hasil Running Program Soal Inggris

Gambar 2.3 Hasil Running Program Soal Inggris


Program ini menjelaskan tentang bagaimanaa system
pengerjaan soal inggris dan memunculkan pilihan-pilihan jawaban
yang apabila benar bernilai 20 dan salah -10. Disini juga terdapat
pilihan yang apabila next akan tersambung ke soal selanjutnya.
b. Script Program Soal Inggris
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class inggris (QWidget):


def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle('soal INGGRIS')
azi.setGeometry(450,150,500,500)
azi.icon=QIcon('kamus.jpg')
azi.setWindowIcon(azi.icon)
azi.soal()
azi.total()
45

azi.repeat()
azi.ulang()
azi.option()
azi.next()

def soal(azi):
azi.nilai=0
azi.soalone=QLabel('1) Do you work. . .the
evening?',
azi)
azi.soalone.move(10,10)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,25)
azi.comboone=QComboBox(azi)
azi.comboone.addItems(['','at','in','on'])
azi.comboone.move(10,40)

azi.comboone.activated[str].connect(azi.nilaione)

azi.soaltwo=QLabel('2) Have you ever. . .him?', azi)


azi.soaltwo.move(10,60)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,75)
azi.combotwo=QComboBox(azi)
azi.combotwo.addItems(['','met','meet','meeting'])
azi.combotwo.move(10,90)

azi.combotwo.activated[str].connect(azi.nilaitwo)

azi.soalthree=QLabel('3) I. . .any parties since i


lived
in this town', azi)
azi.soalthree.move(10,110)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,125)
azi.combothree=QComboBox(azi)

azi.combothree.addItems(['','attend','attended','have
attended'])
azi.combothree.move(10,140)

azi.combothree.activated[str].connect(azi.nilaithree)

azi.soalfour=QLabel('4) They have visited their


grandmother...', azi)
azi.soalfour.move(10,160)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,175)
azi.combofour=QComboBox(azi)
azi.combofour.addItems(['','several
times','today','yesterday'])
azi.combofour.move(10,190)

azi.combofour.activated[str].connect(azi.nilaifour)

azi.soalfive=QLabel('5) Mr. and Mrs. Anandra...that


house in 1987', azi)
azi.soalfive.move(10,210)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,225)
azi.combofive=QComboBox(azi)
azi.combofive.addItems(['','have bought','has
bought','bought'])
azi.combofive.move(10,240)
46

azi.combofive.activated[str].connect(azi.nilaifive)

def nilaione(azi,jawab):
if str(jawab)=='in':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaitwo(azi,jawab):
if str(jawab)=='met':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaithree(azi,jawab):
if str(jawab)=='have attended':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifour(azi,jawab):
if str(jawab)=='several times':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifive(azi,jawab):
if str(jawab)=='have bought':
azi.nilai += 20
azi.total.setText(' Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.nilai -= 10
azi.total.setText('Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.ket.setText('SORRY YOUR FAIL')
azi.ket.adjustSize()

def total(azi):
azi.batas=QLabel('===========', azi)
azi.batas.move(10,375)
azi.total=QLabel(('Your Final Score Is '), azi)
azi.ket=QLabel(('LOLOS/TIDAK??'), azi)
azi.total.move(10,385)
azi.ket.move(10,400)

def repeat(azi):
r=QLabel('Do You Want To Repeat??', azi)
r.move(10,420)
def ulang(azi):
pilihiya=QRadioButton('Yes', azi)
pilihtidak=QRadioButton('No', azi)
47

pilihiya.move(10,440)
pilihtidak.move(50,440)

pilihiya.clicked.connect(azi.apabilaiya)
pilihtidak.clicked.connect(azi.apabilatidak)

def option(azi):
lanjut=QPushButton('Next', azi)
lanjut.move(400,400)
lanjut.clicked.connect(azi.next)

def apabilaiya(azi):
note=QMessageBox.information(azi,'notice',str('If
You
Have Tried 3 Times \nPlease Register Again'))
from soal_inggris import inggris
azi.f=biologi
azi.f.show()
azi.hide()

def apabilatidak(azi):
azi.t=QLabel('Thank You For Participating', azi)
azi.t.move(200,425)
azi.t.show()

def next(azi):
from soal_biologi import biologi
azi.l=biologi()
azi.l.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
bing=inggris()
bing.show()
app.exec_()
sys.exit()
c. Analisis Script Program Soal Inggris
Tabel 2.3 Analisis Program Soal Inggris
Script Keterangan
azi.soal() Untuk Mengaktifkan fungsi
azi.total()
soal,total,repeat,ulang,option,da
azi.repeat()
azi.ulang() n next yang telah kita buat
azi.option()
azi.next()
Untuk
azi.combofive.activated[s
tr].connect(azi.nilaifive
mengaktifkan/menghubungkan
) ke fungsi jawaban yang benar
pada soal tersebut
4. Soal Saintek
program soal pilihan, yaitu soal saintek dan soshum, pada bagian
inimerupakan program soal saintek yang terdiri dari 2 macam soal yaitu,
soal biologi dan fisika.
48

a. Soal Biologi
program soal saintek pertama yaitu soal biologi, program ini
adalah program yang menampilkan soal biologi yang akan dikerjakan
saat “ONE DAY SERVICE”.
1) Hasil Running Program Soal Biologi

Gambar 2.4 Hasil Running Program Soal Biologi


Program ini menjelaskan tentang bagaimanaa system
pengerjaan soal biologi dan memunculkan piliha-pilihan jawaban
yang apabila benar bernilai 20 dan salah -10. Disini juga terdapat
pilihan yang apabila next akan tersambung ke soal selanjutnya.
2) Script Program Soal Biologi
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class biologi (QWidget):


def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle('soal BIOLOGI')
azi.setGeometry(450,150,500,500)
azi.icon=QIcon('tumbuhan.jpeg')
azi.setWindowIcon(azi.icon)
azi.soal()
azi.total()
azi.repeat()
azi.ulang()
azi.option()
azi.next()

def soal(azi):
azi.nilai=0
azi.soalone=QLabel('1) Persamaan antara tumbuhan
lumut dan tumbuhan paku adalah ....', azi)
azi.soalone.move(10,10)
49

azi.jawaban=QLabel('Jawaban Anda', azi)


azi.jawaban.move(10,25)
azi.comboone=QComboBox(azi)
azi.comboone.addItems(['','Metagenesis','Rizoid
dan
sporofit','Struktur sporofit'])
azi.comboone.move(10,40)

azi.comboone.activated[str].connect(azi.nilaione)

azi.soaltwo=QLabel('2) Dalam daur hidupnya,


tumbuhan
lumut merupakan ...', azi)
azi.soaltwo.move(10,60)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,75)
azi.combotwo=QComboBox(azi)

azi.combotwo.addItems(['','Sporofit','Sporangium',
'Gam
etofit'])
azi.combotwo.move(10,90)

azi.combotwo.activated[str].connect(azi.nilaitwo)

azi.soalthree=QLabel('3) Pembuluh angkut tidak


ditemukan pada tumbuhan ....', azi)
azi.soalthree.move(10,110)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,125)
azi.combothree=QComboBox(azi)
azi.combothree.addItems(['','Bryophyta','Gymnosper
mae','Pteridophyta'])
azi.combothree.move(10,140)

azi.combothree.activated[str].connect(azi.nilaithree)

azi.soalfour=QLabel('4) Organel yang berperan


dalam
respirasi sel adalah...', azi)
azi.soalfour.move(10,160)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,175)
azi.combofour=QComboBox(azi)
azi.combofour.addItems(['','Retikulum
Endoplasma','Mitokondria','Nukleus'])
azi.combofour.move(10,190)

azi.combofour.activated[str].connect(azi.nilaifour)

azi.soalfive=QLabel('5) Amiloplas berfungsi


untuk...
', azi)
azi.soalfive.move(10,210)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,225)
azi.combofive=QComboBox(azi)
azi.combofive.addItems(['','Membentuk dan
menyimpan
amilum','Menyimpan lemak atau
minyak','Menghancurkan
50

amilum'])
azi.combofive.move(10,240)

azi.combofive.activated[str].connect(azi.nilaifive)

def nilaione(azi,jawab):
if str(jawab)=='Metagenesis':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaitwo(azi,jawab):
if str(jawab)=='Gametofit':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaithree(azi,jawab):
if str(jawab)=='Bryophyta':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifour(azi,jawab):
if str(jawab)=='Mitokondria':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifive(azi,jawab):
if str(jawab)=='Membentuk dan menyimpan amilum':
azi.nilai += 20
azi.total.setText(' Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.nilai -= 10
azi.total.setText('Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.ket.setText('SORRY YOUR FAIL')
azi.ket.adjustSize()

def total(azi):
azi.batas=QLabel('===========', azi)
azi.batas.move(10,375)
azi.total=QLabel(('Your Final Score Is '), azi)
azi.ket=QLabel(('LOLOS/TIDAK??'), azi)
azi.total.move(10,385)
azi.ket.move(10,400)

def repeat(azi):
r=QLabel('Do You Want To Repeat??', azi)
r.move(10,420)
def ulang(azi):
pilihiya=QRadioButton('Yes', azi)
51

pilihtidak=QRadioButton('No', azi)
pilihiya.move(10,440)
pilihtidak.move(50,440)

pilihiya.clicked.connect(azi.apabilaiya)
pilihtidak.clicked.connect(azi.apabilatidak)

def option(azi):
lanjut=QPushButton('Next', azi)
lanjut.move(400,400)
lanjut.clicked.connect(azi.next)

def apabilaiya(azi):

note=QMessageBox.information(azi,'notice',str('If
You Have Tried 3 Times \nPlease Register
Again'))
from soal_biologi import biologi
azi.f=biologi
azi.f.show()
azi.hide()

def apabilatidak(azi):
azi.t=QLabel('Thank You For Participating', azi)
azi.t.move(200,425)
azi.t.show()

def next(azi):
from soal_fisika import fisika
azi.m=fisika()
azi.m.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
bi=biologi()
bi.show()
app.exec_()
sys.exit()
3) Analisis Script Program Soal Biologi
Tabel 2.4 Analisis Program Soal Biologi
Script Keterangan
ifstr(jawab)=='Mitokondria': Menjelaskan apabila
azi.nilai += 20
else: menjawab benar mendapat
azi.nilai -= 10 +20 dan sala -10

b. Soal Fisika
Program soal saintek kedua yaitu soal fisika, program ini adalah
program yang menampilkan soal fisika yang akan dikerjakan saat “ONE
DAY SERVICE”.
52

1) Hasil Running Program Soal Fisika

Gambar 2.5 Hasil Running Program Soal Fisika


Program ini menjelaskan tentang bagaimanaa system
pengerjaan soal fisika dan memunculkan pilihan-pilihan jawaban
yang apabila benar bernilai 20 dan salah -10. Disini juga terdapat
pilihan yang apabila next akan tersambung ke soal selanjutnya.
2) Script Program Soal Fisika
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class fisika (QWidget):


def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle('soal FISIKA')
azi.setGeometry(450,150,500,500)
azi.icon=QIcon('bandul.png')
azi.setWindowIcon(azi.icon)
azi.soal()
azi.total()
azi.repeat()
azi.ulang()
azi.option1()
azi.option2()

def soal(azi):
azi.nilai=0
azi.soalone=QLabel('1) Gerakan suatu benda
dimana
setiap titik pada benda tersebut mempunyai
jarak
yang tetap terhadap suatu sumbu tertentu,
merupakan pengertiandari...', azi)
azi.soalone.move(10,10)
53

azi.jawaban=QLabel('Jawaban Anda', azi)


azi.jawaban.move(10,25)
azi.comboone=QComboBox(azi)
azi.comboone.addItems(['','Gerak
Translasi','Perpindahan','Gerak Rotasi'])
azi.comboone.move(10,40)

azi.comboone.activated[str].connect
(azi.nilaione)

azi.soaltwo=QLabel('2) Gerak suatu benda pada


garis lurus dengan kecepatan tetap merupakan
pengertian dari...', azi)
azi.soaltwo.move(10,60)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,75)
azi.combotwo=QComboBox(azi)
azi.combotwo.addItems(['','Gerak Lurus
Berubah
Beraturan (GLBB)','Gerak Translasi','Gerak
Lurus
Beraturan (GLB)'])
azi.combotwo.move(10,90)

azi.combotwo.activated[str].connect
(azi.nilaitwo)

azi.soalthree=QLabel('3) Perbandingan
tegangan
terhadap regangan disebut ...', azi)
azi.soalthree.move(10,110)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,125)
azi.combothree=QComboBox(azi)
azi.combothree.addItems(['','Regangan',
'Modulus
elastisitas','Modulus plastisitas'])
azi.combothree.move(10,140)

azi.combothree.activated[str].connect
(azi.nilaithree)

azi.soalfour=QLabel('4) Tekanan hidrostatis


dipengaruhi oleh ...', azi)
azi.soalfour.move(10,160)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,175)
azi.combofour=QComboBox(azi)
azi.combofour.addItems(['','Massa
benda','Massa
benda','Massa jenis zat cair'])
azi.combofour.move(10,19)

azi.combofour.activated[str].connect
(azi.nilaifour)

azi.soalfive=QLabel('5) Hasil kali gaya


dengan
perpindahan disebut ... ', azi)
azi.soalfive.move(10,210)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,225)
azi.combofive=QComboBox(azi)
azi.combofive.addItems(['','Usaha','Tenaga'
54

,'Daya'])
azi.combofive.move(10,240)

azi.combofive.activated[str].connect
(azi.nilaifive)

def nilaione(azi,jawab):
if str(jawab)=='Gerak Rotasi':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaitwo(azi,jawab):
if str(jawab)=='Gerak Lurus Beraturan (GLB)':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaithree(azi,jawab):
if str(jawab)=='Modulus elastisitas':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifour(azi,jawab):
if str(jawab)=='Massa jenis zat cair':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifive(azi,jawab):
if str(jawab)=='Usaha':
azi.nilai += 20
azi.total.setText(' Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.nilai -= 10
azi.total.setText('Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.ket.setText('SORRY YOUR FAIL')
azi.ket.adjustSize()

def total(azi):
azi.batas=QLabel('===========', azi)
azi.batas.move(10,375)
azi.total=QLabel(('Your Final Score Is '),
azi)
azi.ket=QLabel(('LOLOS/TIDAK??'), azi)
azi.total.move(10,385)
azi.ket.move(10,400)

def repeat(azi):
r=QLabel('Do You Want To Repeat??', azi)
r.move(10,420)
def ulang(azi):
55

pilihiya=QRadioButton('Yes', azi)
pilihtidak=QRadioButton('No', azi)
pilihiya.move(10,440)
pilihtidak.move(50,440)

pilihiya.clicked.connect(azi.apabilaiya)
pilihtidak.clicked.connect(azi.apabilatidak)

def option1(azi):
lanjut=QPushButton('Next', azi)
lanjut.move(400,400)
lanjut.clicked.connect(azi.next)

def option2(azi):
kembali=QPushButton('Back', azi)
kembali.move(400,440)
kembali.clicked.connect(azi.balik)
def balik(azi):
from main_menu import menu
azi.b=menu()
azi.b.show()
azi.hide()

def apabilaiya(azi):

note=QMessageBox.information(azi,'notice',str('If
You Have Tried 3 Times \nPlease Register
Again'))
from soal_fisika import fisika
azi.f=fisika
azi.f.show()
azi.hide()

def apabilatidak(azi):
azi.t=QLabel('Thank You For Participating',
azi)
azi.t.move(200,425)
azi.t.show()

def next(azi):
from soal_kemuhammadiyaan import
kemuhammadiyaan
azi.n=kemuhammadiyaan()
azi.n.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
fi=fisika()
fi.show()
app.exec_()
sys.exit()
56

3) Analisis Script Program Soal Fisika


Tabel 2.5 Analisi Script Program Soal Fisika
Script Keterangan
azi.nilai=0 Memberikan nilai score awal
adalah 0

azi.icon=QIcon('bandul.png') Memberikan ikon pada


window
5. Soal Soshum
Program soal pilihan selanjutnya, yaitu soal soshum, pada bagian ini
merupakan program soal soshum yang terdiri dari 2 macam soal yaitu, soal
sejarah dan geografi.
a. Soal Sejarah
Program soal soshum pertama yaitu soal sejarah, program ini
adalah program yang menampilkan soal sejarah yang akan dikerjakan
saat “ONE DAY SERVICE”.
1) Hasil Running Program Soal Sejarah

Gambar 2.6 Hasil Running Program Soal Sejarah


Program ini menjelaskan tentang bagaimana system
pengerjaan soal sejarah dan memunculkan pilihan-pilihan jawaban
yang apabila benar bernilai 20 dan salah -10. Disini juga terdapat
pilihan yang apabila next akan tersambung ke soal selanjutnya

.
57

2) Script Soal Sejarah


import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class sejarah (QWidget):


def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle('soal SEJARAH')
azi.setGeometry(450,150,500,500)
azi.icon=QIcon('sejarah.jpg')
azi.setWindowIcon(azi.icon)
azi.soal()
azi.total()
azi.repeat()
azi.ulang()
azi.option()
azi.next()

def soal(azi):
azi.nilai=0
azi.soalone=QLabel('1) Kata sejarah adalah
diambil
dari kata syajarotun, berasal dari bahasa....',
azi)
azi.soalone.move(10,10)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,25)
azi.comboone=QComboBox(azi)
azi.comboone.addItems(['','Sansekerta','Arab'
,'Inggris'])
azi.comboone.move(10,40)

azi.comboone.activated[str].connect(azi.nilaione)

azi.soaltwo=QLabel('2) Sejarah dipandang sebagai


karya seni, maksudnya adalah....', azi)
azi.soaltwo.move(10,60)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,75)
azi.combotwo=QComboBox(azi)
azi.combotwo.addItems(['','penulisannya mirip
dengan
dongeng','penulisan peristiwa berkaitan dengan
keindahan bahasa','penulisan peristiwa yang
fiktif'])
azi.combotwo.move(10,90)

azi.combotwo.activated[str].connect(azi.nilaitwo)

azi.soalthree=QLabel('3) Sifat empiris sejarah


merujuk kepada....', azi)
azi.soalthree.move(10,110)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,125)
azi.combothree=QComboBox(azi)
azi.combothree.addItems(['','hanya sekali
terjadi
pada waktu tertentu','pengalaman manusia yang
sebenarnya','penggambaran tentang suatu
peristiwa'])
58

azi.combothree.move(10,140)

azi.combothree.activated[str].connect
(azi.nilaithree)

azi.soalfour=QLabel('4) Berikut ini yang bukan


merupakan ciri-ciri sejarah sebagai peristiwa
adalah...', azi)
azi.soalfour.move(10,160)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,175)
azi.combofour=QComboBox(azi)
azi.combofour.addItems(['','terjadi pada masa
yang
lampau','berpengaruh pada zaman
berikutnya','terjadi
berulang dan persis sama'])
azi.combofour.move(10,190)

azi.combofour.activated[str].connect(azi.nilaifour)

azi.soalfive=QLabel('5) Berikut ini yang


dimaksud
dengan masa prakarsa adalah....', azi)
azi.soalfive.move(10,210)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,225)
azi.combofive=QComboBox(azi)
azi.combofive.addItems(['','massa sesudah
manusia
mengenal kronik','masa sebelum ditemukannya
tulisan','massa sebelum manusia mengenal
tulisan'])
azi.combofive.move(10,240)

azi.combofive.activated[str].connect(azi.nilaifive)

def nilaione(azi,jawab):
if str(jawab)=='Arab':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaitwo(azi,jawab):
if str(jawab)=='penulisan peristiwa berkaitan
dengan
keindahan bahasa':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaithree(azi,jawab):
if str(jawab)=='pengalaman manusia yang
sebenarnya':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifour(azi,jawab):
if str(jawab)=='terjadi berulang dan persis
sama':
azi.nilai += 20
else:
azi.nilai -= 10
59

def nilaifive(azi,jawab):
if str(jawab)=='massa sebelum manusia mengenal
tulisan':
azi.nilai += 20
azi.total.setText(' Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.nilai -= 10
azi.total.setText('Hasil Akhir Nilai ' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.ket.setText('SORRY YOUR FAIL')
azi.ket.adjustSize()

def total(azi):
azi.batas=QLabel('===========', azi)
azi.batas.move(10,375)
azi.total=QLabel(('Your Final Score Is '), azi)
azi.ket=QLabel(('LOLOS/TIDAK??'), azi)
azi.total.move(10,385)
azi.ket.move(10,400)

def repeat(azi):
r=QLabel('Do You Want To Repeat??', azi)
r.move(10,420)
def ulang(azi):
pilihiya=QRadioButton('Yes', azi)
pilihtidak=QRadioButton('No', azi)
pilihiya.move(10,440)
pilihtidak.move(50,440)

pilihiya.clicked.connect(azi.apabilaiya)
pilihtidak.clicked.connect(azi.apabilatidak)

def option(azi):
lanjut=QPushButton('Next', azi)
lanjut.move(400,400)
lanjut.clicked.connect(azi.next)

def apabilaiya(azi):

note=QMessageBox.information(azi,'notice',str('If
You Have Tried 3 Times \nPlease Register
Again'))
from soal_sejarah import sejarah
azi.f=sejarah
azi.f.show()
azi.hide()

def apabilatidak(azi):
azi.t=QLabel('Thank You For Participating', azi)
60

azi.t.move(200,425)
azi.t.show()

def next(azi):
from soal_geografi import geografi
azi.o=geografi()
azi.o.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
se=sejarah()
se.show()
app.exec_()
sys.exit()
3) Analisis Script Program Soal Sejarah
Tabel 2.6 Program Soal Sejarah
Script Keterangan
if azi.nilai >= 70: Memberikan
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize() keterangan apabila
else: nilai akhir melebihi
azi.ket.setText('SORRY YOUR FAIL') 70 maka kamu
azi.ket.adjustSize()
dinyatakan lulus dan
jika tidak melebihi
maka kamu
dinyatakan gagal
b. Soal Geografi
Program soal soshum kedua yaitu soal geografi, program ini adalah
program yang menampilkan soal geografi yang akan dikerjakan saat
“ONE DAY SERVICE”.
61

1) Hasil Running Program

Gambar 2.7 Hasil Running Program Soal Geografi


Program ini menjelaskan tentang bagaimana system
pengerjaan soal geografi dan memunculkan pilihan-pilihan
jawaban yang apabila benar bernilai 20 dan salah -10. Disini juga
terdapat pilihan yang apabila next akan tersambung ke soal
selanjutnya.
2) Script Soal Geografi
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class geografi (QWidget):


def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle('soal GEOGRAFI')
azi.setGeometry(450,150,500,500)
azi.icon=QIcon('geografi.png')
azi.setWindowIcon(azi.icon)
azi.soal()
azi.total()
azi.repeat()
azi.ulang()
azi.option1()
azi.option2()
62

azi.next()

def soal(azi):
azi.nilai=0
azi.soalone=QLabel('1) Lapisan di permukaan
bumi yang mendukung kehidupan organisme
adalah
....', azi)
azi.soalone.move(10,10)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,25)
azi.comboone=QComboBox(azi)

azi.comboone.addItems(['','biochore','biocyle'
,'biosfer'])
azi.comboone.move(10,40)

azi.comboone.activated[str].connect(azi.
nilaione)

azi.soaltwo=QLabel('2) Berikut ini yang


bukan
termasuk jenis-jenis hutan berdasarkan
tujuan
dan kegunaannya adalah ....', azi)
azi.soaltwo.move(10,60)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,75)
azi.combotwo=QComboBox(azi)
azi.combotwo.addItems(['','hutan
rekreasi','hutan heterogen','hutan
lindung'])
azi.combotwo.move(10,90)

azi.combotwo.activated[str].connect(azi.
nilaitwo)

azi.soalthree=QLabel('3) Padang rumput yang


diselingi oleh pohon-pohon yang agak tinggi
dan menyebar disebut ....', azi)
azi.soalthree.move(10,110)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,125)
azi.combothree=QComboBox(azi)

azi.combothree.addItems(['','stepa','tundra'
,'sabana'])
azi.combothree.move(10,140)

azi.combothree.activated[str].connect(azi.
nilaithree)

azi.soalfour=QLabel('4) Faktor-faktor fisik


yang memengaruhi kehidupan di muka bumi
adalah
....', azi)
azi.soalfour.move(10,160)
azi.jawaban=QLabel('Jawaban Anda', azi)
63

azi.jawaban.move(10,175)
azi.combofour=QComboBox(azi)
azi.combofour.addItems(['','iklim, tanah,
dan
relief','tanah, relief, dan
fauna','biocycle,
angin, dan suhu'])
azi.combofour.move(10,190)

azi.combofour.activated[str].connect(azi.
nilaifour)

azi.soalfive=QLabel('5) Berikut ini adalah


hewan yang tidak hidup di Indonesia bagian
baratadalah ....', azi)
azi.soalfive.move(10,210)
azi.jawaban=QLabel('Jawaban Anda', azi)
azi.jawaban.move(10,225)
azi.combofive=QComboBox(azi)
azi.combofive.addItems(['','anoa','badak'
,'gajah'])
azi.combofive.move(10,240)

azi.combofive.activated[str].connect(azi.
nilaifive)

def nilaione(azi,jawab):
if str(jawab)=='biosfer':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaitwo(azi,jawab):
if str(jawab)=='hutan heterogen':
azi.nilai += 20
else:
azi.nilai -= 10
def nilaithree(azi,jawab):
if str(jawab)=='sabana':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifour(azi,jawab):
if str(jawab)=='iklim, tanah, dan relief':
azi.nilai += 20
else:
azi.nilai -= 10

def nilaifive(azi,jawab):
if str(jawab)=='anoa':
azi.nilai += 20
azi.total.setText(' Hasil Akhir Nilai
' +
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
64

azi.nilai -= 10
azi.total.setText('Hasil Akhir Nilai '
+
str(azi.nilai))
azi.total.adjustSize()
if azi.nilai >= 70:
azi.ket.setText('CONGRATULATIONS')
azi.ket.adjustSize()
else:
azi.ket.setText('SORRY YOUR FAIL')
azi.ket.adjustSize()

def total(azi):
azi.batas=QLabel('===========', azi)
azi.batas.move(10,375)
azi.total=QLabel(('Your Final Score Is '),
azi)
azi.ket=QLabel(('LOLOS/TIDAK??'), azi)
azi.total.move(10,385)
azi.ket.move(10,400)

def repeat(azi):
r=QLabel('Do You Want To Repeat??', azi)
r.move(10,420)
def ulang(azi):
pilihiya=QRadioButton('Yes', azi)
pilihtidak=QRadioButton('No', azi)
pilihiya.move(10,440)
pilihtidak.move(50,440)

pilihiya.clicked.connect(azi.apabilaiya)

pilihtidak.clicked.connect(azi.apabilatidak)

def option1(azi):
lanjut=QPushButton('Next', azi)
lanjut.move(400,400)
lanjut.clicked.connect(azi.next)

def option2(azi):
kembali=QPushButton('Back', azi)
kembali.move(400,440)
kembali.clicked.connect(azi.balik)
def balik(azi):
from main_menu import menu
azi.b=menu()
azi.b.show()
azi.hide()

def apabilaiya(azi):

note=QMessageBox.information(azi,'notice',
str
('If You Have Tried 3 Times \nPlease
Register
65

Again'))
from soal_geografi import geografi
azi.f=sejarah
azi.f.show()
azi.hide()

def apabilatidak(azi):
azi.t=QLabel('Thank You For Participating',
azi)
azi.t.move(200,425)
azi.t.show()

def next(azi):
from data_mahasiswa import data
azi.p=data()
azi.p.show()
azi.hide()

if __name__ == '__main__':
app = QApplication(sys.argv)
geo=geografi()
geo.show()
app.exec_()
sys.exit()

3) Analisis Script Program Soal Geografi


Tabel 2.7 Program Soal Geografi
Script Keterangan
azi.t=QLabel('Thank Menampilkan teks “Thank You
You For
For Participating”
Participating', azi)

6. Data Mahasiswa
Program yang ditulis dengan Bahasa Python dan dimuculkan di
PySide2 menjadi program table data mahasiswa. Program ini akan
memperlihatkan 35 data mahasiswa yang sudah kita tulis di script.
66

a. Hasil Running Program

Gambar 2.8 Hasil Running Program Data Mahasiswa


Program ini menjelaskan tentang bagaimana system untuk
menginput 35 data mahasiswa dan menampilkannya didalam
program. Data mahasiswa dari program ini diambil dari mahasiswa
UMS dari berbagai jurusan.
b. Script Program Data Mahasiswa
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class data(QWidget):
def __init__(azi):
QWidget.__init__(azi)
azi.setWindowTitle('DATA MAHASISWA')
azi.setGeometry(300,100,700,600)
azi.icon=QIcon('data.jpg')
azi.setWindowIcon(azi.icon)
azi.title1=QLabel('<h2><b><font color=green>DATA
MAHASISWA-ONE DAY SERVICE 2019</font><b></h2>',
azi)
azi.title1.move(155,20)
azi.title2=QLabel('Directed by M. Chaeruddin
Azizi',
azi)
azi.title2.move(20,540)
azi.title3=QLabel('D600180073', azi)
azi.title3.move(20,560)
azi.title4=QLabel('@2019', azi)
azi.title4.move(20,580)

azi.isinya()

def isinya(azi):
azi.isi=QTableWidget(azi)
azi.isi.setRowCount(35)
azi.isi.setColumnCount(8)
67

azi.isi.resize(660,475)
azi.isi.move(20,60)
azi.isi.show()

sos={'Nama':['Wildan Bramantya B','Prasetyo Budi


N','Yuma Setiaji S','Bagus
Nurdiansyah','Muhammad
Raisulhilal','Razi
Zilhakim','Saskianingtyas
Damayanti','Muhamad Irgan Choirul
M','Muhamad Rizkan B','Rizal
Dwiyanto','Satria Cahya Rizky
N','Danang Dwi S','Vialdo Kahfi
A','Wahyu Aji P','Aisyah Mustika
P','Siska Margareta','Feri
Irawan','Muhammad Rizqi','Ameliana
Saputri','Amalia
Khairunnisa','Syahfrin
Soi','Rena Fauzanatin','Aulia Alfi
Z','Alifian Nurush S','Agneza Rahma
H','Diyah Luthfika K','Aditya
Galang
N','Vita Aprilia P','Pradia Dhyan
P','Itsna Safitri','Ilhami
Masruroh','Fanny Ayu S','Rezqi
Fauzy','Muhamad
Azka N','Dwi Wahyu N'],
'Nim: ['D600180007','D500180097',
'D600180157',
'D600180152','G000180299'
,'G000180297'
,'D600180069','D600180066'
'D600180106'
,'D600180138','D600180056'
,'D600180074'
,'D600180159','D600180130'
,'A710180050'
,'D300180131','D600180164'
,'G000180024'
,'G000180081','G000180244'
,'G000180298'
,'G000180053','G000180107'
,'G000180138'
,'G000180057','J120170122'
,'D600180135'
,'A410180086','I000180199'
,'I000180175'
,'I000180182','F100180165'
,'A320180211'
,'G000180161','D100180240'],
'Asal : ['Yogyakarta','Jakarta','Klaten'
,'Kendal','Kalimantan','Bengkulu'
,'Boyolali','Boyolali','Boyolali'
,'Klaten','Sukoharjo','Bekasi'
,'Madiun','Jepara','Bengkulu'
,'Bengkulu','Cirebon','Solo'
,'Wonogiri','Temanggung','NTT'
,'Ngawi','Purwodadi','Sukoharjo'
,'Bengkulu','Lampung','Sukoharjo'
,'Ngawi','Madiun','Rembang'
,'Ponorogo','Madiun','Tegal
','Magelang','Purwodadi'],
'Jurusan':['Teknik Industri','Teknik
Kimia','Teknik Industri','Teknik
Industri','PAI','PAI','Teknik
68

Industri','Teknik
Industri','Teknik
Industri','Teknik
Industri','Teknik
Industri','Teknik
Industri','Teknik
Industri','Teknik
Industri','Pend.Teknik
Informatika','Arsitektur','Teknik
Industri','PAI','PAI','PAI','PAI'
,'PAI','PAI','PAI','PAI'
,'Fisioterapi'
,'Teknik Industri','Pend.
Matematika'
,'HES','HES','HES','Psikologi'
,'Pend. Bhs.
Inggris','PAI','Teknik
Sipil'],
'Angkatan':['2018','2018','2018','2018'
,'2018','2018','2018'
,'2018','2018'
,'2018','2018','2018'
,'2018','2018'
,'2018','2018','2018'
,'2018','2018'
,'2018','2018','2018'
,'2018','2018'
,'2018','2017','2018'
,'2018','2018'
,'2018','2018','2018'
,'2018','2018'
,'2018'],
'Ips terakhir':['3,5','3.00','3.32','3,35'
,'3.6','3.6','3,61'
,'3.56','3.37'
,'3.29','3.34','3.5','3.21'
,'3,37','3.38','3.58','2,47'
,'3.4','3,3','2,0','3,11'
,'3.6','3,7','3,85','3,45'
,'3.25','3.7','3,08','3,39'
,'3,67','3,35','3.58','3.7
','3,75','2.93'],
'Dosen PA':['Indah Pratiwi','Siti
Fatimah','Ida
Nursanti','Ahmad Kholid
Alghofari'
,'Mohammad Ali','Mohammad Ali'
,'Much. Djunaidi','Much Junaidi
','Hari Prasetyo','Ahmad Kholid
Alghofari','Ahmad Kholid
Alghofari'
,'Much Djunaidi','Ida Nursanti'
,'Mila Faila Sufa','Arif
Setyawan'
,'Samsudin raidi','Ida Nursanti'
,'Najmudin','Chusniatun
','Alifiatul','Mohammad Ali'
,'Zainal Abidin','Chusniatun'
,'Maarif Jamuin','Zainal Abidin
','Wahyuni','Ahmad Kholid Al
Ghifari','Nida','Muhammad
Muinudinillah','Muhammad
MuInidinillah','Muinudillah'
,'Setya Ashanty','Sumayah'
,'Mahasri Shobahiya','Sri
69

Sunaryono'],
'Jumlah sks':['19','20','19','19','10'
,'10','19','19','19','19','19'
,'19','19','19','20','19','19'
,'20','20','20','10','20','20
','20','20','20','19','20','20
','20','20','21'
,'20','20','20']}

headers=[]

for g, key in enumerate(sos.keys()):


headers.append(key)
for a, item in enumerate(sos[key]):
newitem=QTableWidgetItem(item)
azi.isi.setItem(a,g,newitem)
azi.isi.setHorizontalHeaderLabels(headers)
azi.isi.resizeColumnsToContents()
azi.isi.resizeRowsToContents()

if __name__ == '__main__':
app=QApplication(sys.argv)
x=data()
x.show()
app.exec_()
sys.exit()

c. Analisis Script Program Data Mahasiswa


Tabel 2.8 Program Soal Sejarah
Script Keterangan
azi.isi=QTableWidget(azi) Untuk membuat tabel
azi.isi.setColumnCount(8) Membuat kolom sebanyak 8
azi.isi.setRowCount(35) Membuat baris sebanyak 35
70

B. Penutup
1. Kesimpulan
Dari praktikum Gui python ini praktikan dapat menyimpulkan
beberapa hal :
a. Menu utama adalah suatu pemograman yang mengacu pada daftar
perintah-perintah suatu perangkat lunak (program) yang apabila
dieksekusi akan menjalankan suatu perintah tertentu dari aplikasi
b. Connect berfungsi untuk menyambungkan pilihan soal ke program soal
yang sudah dibuat sebelumya
c. Selanjutnya adalah program soal wajib yaitu soal kemuhammadiyaan,
program ini adalah program yang menampilkan soal
kemuhammadiyaan yang akan dikerjakan saat “ONE DAY
SERVICE”.
d. program soal pilihan, yaitu soal saintek dan soshum, pada bagian
inimerupakan program soal saintek yang terdiri dari 2 macam soal
yaitu, soal biologi dan fisika.
e. Program soal pilihan selanjutnya, yaitu soal soshum, pada bagian ini
merupakan program soal soshum yang terdiri dari 2 macam soal yaitu,
soal sejarah dan geografi.
2. Saran
Dari praktikum Gui python ini praktikan dapat memberikan beberapa
saran seperti:
a. Praktikan diharap memerhatikan penjelasan dari asisten
b. Praktikan diharap mencatat hal penting selama praktikum
c. Praktikan diharap datang sebelum waktu praktikum dimulai
d. Praktikan harus mematuhi segala aturan lab
e. Praktikan diharap mempelajari modul sebelum praktikum
MODUL III
DATABASE PYTHO DENGAN MYSQL DAN SQLITE

A. Hasil Pratikum
1. Membuat Database
Database dapat didefinisikan sebagai kumpulan data yang terdiri
dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user
diberi wewenang untuk dapat mengakses (seperti mengubah, menghapus,
mencari, dan menambah) data dalam tabel-tabel tersebut. Dalam membuat
database kita perlu menggunak aplikasi XAMPP untuk membuat local host
kita sendiri.
a. Hasil Running Program Membuat Database

Gambar 3.1 Hasil Running Program Menu Utama


Pada hasil running ini terdapat database yang telah kita buat
dengan nama “Mahasiswa”. Dalam pembuatannya saya masih
menggunakan python dan MySQL sebagai tempat penulisan script agar
database berhasil dibuat
b. Script Membuat Database
import mysql.connector

def basedata():
try:
koneksi = mysql.connector.connect(
host='localhost',
user='root',
password=''
)

sor=koneksi.cursor()
sor.execute('CREATE DATABASE mahasiswa')

71
72

except mysql.connector.Error as er:


print('Error',er)
else:
print('Berhasil dibuat')

if __name__=='__main__':
basedata()

c. Analisis Script Membuat Database


Tabel 3.1 Analisis Script Program Membuat Database
Script Keterangan
import mysql.connector Untuk menghubungkan python
dengan MySQL
sor=koneksi.cursor() Digunakan untuk membuat
sor.execute('CREATE DATABASE
mahasiswa') database
2. Membuat Tabel Database
Pada tahap selanjutnya ialah membuat tabel database yang
menggunakan python dan MySQL kembail yang nantinya akan mucul
pada database yang ada dalam local host kita.
a. Hasil Running Program Membuat Tabel Database

Gambar 3.2 Hasil Running Program Membuat Tabel


Database
Pada pembuatan tabel ini saya menambahkan nim, nama,
asal, jurusan, angkatan, ips, dosen pa, dan sks pada tabel dengan
jumlah kolom atau field sesuai kebutuhan.
b. Script Program Membuat Tabel Database
import mysql.connector

def buattabel():
try:
koneksi = mysql.connector.connect(
host='local host',
user='root',
password='',
database='mahasiswa'
)
73

sor=koneksi.cursor()

tabel='''CREATE TABLE mahasiswa_ums(


NIM CHAR(10) NOT NULL PRIMARY KEY,
NAMA VARCHAR(30),
ASAL VARCHAR(20),
ANGKATAN CHAR(4),
JURUSAN VARCHAR(20),
IPS CHAR(3),
DOSEN_PA VARCHAR(30),
SKS CHAR(2)
)'''

sor.execute(tabel)
sor.close()

except mysql.connector.Error as er:


print('Error',er)
else:
print('Berhasil dibuat')

if __name__=='__main__':
buattabel()

c. Analisis Script Membuat Tabel Database


Tabel 3.2 Analisis Script Membuat Tabel Database
Script Keterangan
tabel='''CREATE TABLE Untuk membuat table
mahasiswa_ums(
dengan nama data
NAMA VARCHAR(30) Menbuat fungsi nama
yang memilik jumlah
huruf maksimal 30
except Membuat fungsi Error
mysql.connector.Error as
er: benama “er”
SKS CHAR(2) Membuat fungsi “sks”
selalu memilik karakter
bernilai 4
74

3. Menambah Data
Menambah data adalah program yang difungsikan untuk memberi
isi pada tabel yang telah kita buat sebelumya. Pengisianya sesuai dengan
format yanf telah kita tentukan sebelumnya.
a. Hasil Running Program Menambah Data

Gambar 3.3 Hasil Running Program Menambah Data


Pada gambar diatas saya memasukkan data kedalam tabel nim,
nama, asal, jurusan, angkatan, ips, dosen pa, dan sks sesuai dengan
format yang telah saya buat.
b. Script Program Menambah Data
import mysql.connector

def tambahdata():
try:
koneksi = mysql.connector.connect(
host='localhost',
user='root',
password='',
database='mahasiswa'
)

sor=koneksi.cursor()
data1=('D600180007',
'Wildan Bramantya B',
'Yogyakarta',
'Teknik Industri',
'2018',
'3,5',
'Indah Pratiwi',
'19')

data2=('D500180097',
'Prasetyo Budi N',
'Jakarta',
'Teknik Kimia',
'2018',
'3,00',
'Siti Fatimah',
75

'20')

data3=('D600180157',
'Yuma Setiaji S',
'Klaten',
'Teknik Industri',
'2018',
'3,32',
'Ida Nursanti',
'19')
tambahkan='''INSERT INTO mahasiswa_ums
VALUES(%s,%s,%s,%s,%s,%s,%s,%s)'''

try:
sor.execute(tambahkan,data1)
sor.execute(tambahkan,data2)
sor.execute(tambahkan,data3)
except mysql.connector.Error:
koneksi.rollback()
print('Input data gagal')
else:
print('Data berhasil ditambahkan')
koneksi.commit()
sor.close()
except mysql.connector.Error as er:
print('Error',er)
else:
koneksi.close()

if __name__=='__main__':
tambahdata()

c. Analisis Script Menambah Data


Tabel 3.3 Analisis Program Menambah Data
Script Keterangan
'''INSERT INTO Untuk memasukkan data
mahasiswa_ums mahasiswa yang akan dimasukkan
VALUES kedalam database
Untuk menetapkan penyimpanan
koneksi.commit() pada database
Untuk membatalkan penyimpanan
koneksi.rollback() pada database
76

4. Menampilkan Data dengan GUI


Program ini menggunakan PySide sebagai GUI dan mengambil data
dari database MySQL yang terdapat pada local host kita dan menaampilkan
program aplikasi yang telah kita buat.
a. Hasil Running Program Menampilkan Data dengan GUI
.

Gambar 3.4 Hasil Running Program Tampilan Data dengan GUI


Program ini merupakan tampilan awal pada GUI yang telah kita
buat menggunakan PySide dan mengambil/ terhubung ke data yang ada
pada database kita.
b. Script Program Menampilkan Data dengan GUI
import mysql.connector
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class data(QWidget):
def __init__(azi):
QWidget.__init__(azi)
azi.setWindowTitle('DATABASE MySql')
azi.setGeometry(300,100,700,600)
azi.icon=QIcon('data.jpg')
azi.setWindowIcon(azi.icon)
azi.title1=QLabel('<h2><b><font color=green>DATA
MAHASISWA</font><b></h2>', azi)
azi.title1.move(250,20)
azi.title2=QLabel('Directed by M. Chaeruddin
Azizi', azi)
azi.title2.move(20,540)
azi.title3=QLabel('D600180073', azi)
azi.title3.move(20,560)
azi.title4=QLabel('@2019', azi)
azi.title4.move(20,580)

azi.satu()
77

azi.dua()
azi.tiga()
azi.akses()

def satu(azi):
azi.tombol1=QPushButton('Cari',azi)
azi.tombol1.clicked.connect(azi.cari)
azi.tombol1.setGeometry(620,200,70,30)

def cari(azi):
from from_cari import searching
azi.formcr = searching()
azi.formcr.show()
azi.hide()

def dua(azi):
azi.tombol2=QPushButton('Tambah',azi)
azi.tombol2.clicked.connect(azi.tambah)
azi.tombol2.setGeometry(620,160,70,30)

def tambah(azi):
from form_tambah import tambahform
azi.formtmbah = tambahform()
azi.formtmbah.show()
azi.hide()

def tiga(azi):
azi.tombol3=QPushButton('Hapus',azi)
azi.tombol3.clicked.connect(azi.dihapus)
azi.tombol3.setGeometry(620,120,70,30)

def dihapus(azi):
gui = QWidget()
azi.hapus,ok =
QInputDialog.getText(gui,"info",
"""Masukkan nim yang akan dihapus""")
gui.show()
koneksi = mysql.connector.connect(
host = "localhost",
user = "root",
password = "",
database = "mahasiswa"
)

if ok:
nim = str(azi.hapus)
cek="""SELECT * FROM MAHASISWA_UMS WHERE
NIM = %s"""
sor=koneksi.cursor()
sor.execute(cek,(nim,))
hasil=sor.fetchall()
if len(hasil)==1:
gui.hide()
sor = koneksi.cursor()
78

try:
sql = """DELETE FROM MAHASISWA_UMS
WHERE NIM = %s"""
sor.execute(sql,(nim,))
except:
QMessageBox.information(azi,'Info',
'data gagal dihapus')
koneksi.rollback()
sys.exit(1)
else:
koneksi.commit()
sor.close()

else:
koneksi.rollback()
sys.exit(1)
koneksi.close()
azi.akses()
gui.hide()

def akses(azi):
try:
koneksi = mysql.connector.connect(
host='localhost',
user='root',
password='',
database='mahasiswa'
)

sql='''SELECT * FROM mahasiswa_ums'''


try:
sor=koneksi.cursor()
sor.execute(sql)
hasil=sor.fetchall()
azi.tabel=QTableWidget(azi)
azi.tabel.setRowCount(35)
azi.tabel.setColumnCount(8)
azi.tabel.resize(530,300)
namafield=['Nim','Nama','Asal',
'Jurusan','Angkatan','Ips',
'Dosen_PA','Sks']
for row_number, row_data in
enumerate(hasil):
azi.tabel.insertRow(row_number)
for column_number, data in
enumerate(row_data):
newItem=QTableWidgetItem
(str(data))

azi.tabel.setItem(row_number,
column_number, newItem)
azi.tabel.setHorizontal
HeaderLabels(namafield)
azi.tabel.resizeColumnsToContents()
azi.tabel.resizeRowsToContents()
azi.tabel.move(20,40)
azi.tabel.show()
79

except:
sys.exit(1)
else:
sor.close()
except mysql.connector.Error as e:
print("ERROR", e)
else:
koneksi.close()
sor.close()
koneksi.close()

if __name__=='__main__':
app=QApplication(sys.argv)
x=data()
x.show()
app.exec_()
sys.exit()

c. Analisis Script Program Menampilkan Data dengan GUI


Tabel 3.4 Analisis Program Menampilkan Data dengan GUI
Script Keterangan
import sys Mengimport sys sebagai modul
utama
from PySide2.QtCore import * Untuk mengimport modul
from PySide2.QtGui import * QtCore,QtGui,dan QtWidgets.
from PySide2.QtWidgets
import *

class data(QWidget): Untuk mendefiniskan kelas


def __init__(azi):
GUI dan memanggilnya secara
otomatis
azi.tombol1=QPushButton('Car Membuat tombol window
i',azi) “cari” dan menghubungkannya
azi.tombol1.clicked.connect(
azi.cari) ke form_cari
azi.tombol1.setGeometry(620,
200,70,30)
from form_tambah import Untuk mengimport program
tambahform dari kelas lain

5. Menambah Data dengan GUI


Merupakan program yang dibuat dengan bahasa python dan
ditampilkan menggunakan PySide GUI. Program ini dapat menambahkan
data secara langsung dari GUI dan langsung akan tersimpan ke database.
80

a. Hasil Running Program

Gambar 3.5 Hasil Running Menambah Data dengan GUI


Program ini merupakan hasil atau tampilan form penambahan
data dan hasil data mahasiswa yang telah ditambahkan akan langsung
tersimpan ke database yang ada pada local host kita.
b. Script Program Menambah Data dengan GUI
import mysql.connector
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class tambahform(QWidget):
def __init__ (azi):
QWidget.__init__(azi)
azi.setWindowTitle("Form Tambah Data")
azi.setGeometry(350,200,350,450)

azi.bli()

def bli(azi):
azi.x=QPushButton("Tambah",azi)
azi.x.move(20,380)
azi.x.resize(70,30)

azi.x.clicked.connect(azi.tambahin)

data1j = QLabel("NIM :",azi)


data1j.move(20,40)
azi.data1j = QLineEdit(azi)
azi.data1j.move(130,35)

data1k = QLabel("NAMA :",azi)


data1k.move(20,80)
azi.data1k = QLineEdit(azi)
azi.data1k.move(130,75)

data1l = QLabel("ASAL :",azi)


81

data1l.move(20,120)
azi.data1l = QLineEdit(azi)
azi.data1l.move(130,115)

data1m = QLabel("JURUSAN :",azi)


data1m.move(20,160)
azi.data1m = QLineEdit(azi)
azi.data1m.move(130,155)

data1n = QLabel("ANGKATAN :",azi)


data1n.move(20,200)
azi.data1n = QLineEdit(azi)
azi.data1n.move(130,195)

data1o = QLabel("IPS :",azi)


data1o.move(20,240)
azi.data1o = QLineEdit(azi)
azi.data1o.move(130,235)

data1p = QLabel("DOSEN_PA :",azi)


data1p.move(20,280)
azi.data1p = QLineEdit(azi)
azi.data1p.move(130,275)

data1q = QLabel("SKS :",azi)


data1q.move(20,320)
azi.data1q = QLineEdit(azi)
azi.data1q.move(130,315)

def tambahin(azi):
koneksi=mysql.connector.connect(
host="local host",
user="root",
password="",
database="mahasiswa"
)

sor=koneksi.cursor()

NIM = str(azi.data1j.text())
NAMA = str(azi.data1k.text())
ASAL = str(azi.data1l.text())
JURUSAN = str(azi.data1m.text())
ANGKATAN = str(azi.data1n.text())
IPS = str(azi.data1o.text())
DOSEN_PA = str(azi.data1p.text())
SKS = str(azi.data1q.text())

dat = (str(NIM),
str(NAMA),
str(ASAL),
str(JURUSAN),
str(ANGKATAN),
str(IPS),
str(DOSEN_PA),
str(SKS)
)

tambah = """INSERT INTO MAHASISWA_UMS VALUES


82

(%s, %s, %s, %s, %s, %s, %s, %s)"""

sor.execute(tambah,dat)

koneksi.commit()
sor.close()
from app_data import data
azi.x=data()
azi.x.show()
azi.hide()

if __name__ == "__main__":
app=QApplication(sys.argv)
x=tambahform()
x.show()
app.exec_()
sys.exit()

c. Analisis Script Program Menambah Data dengan GUI


Tabel 3.5 Analisi Program Menambah Data dengan GUI
Script Keterangan
sor.execute(tambah,dat) Untuk mengeksekusi dan
menjalankan perintah
azi.bli() Untuk Mengaktifkan fungsi bli
yang telah kita buat
"""INSERT INTO MAHASISWA_UMS Untuk memasukkan data
VALUES (%s, %s, %s, %s, %s,
kedalam database
%s, %s, %s)"""

6. Menghapus Data dengan GUI


Merupakan program yang dibuat dengan bahasa python dan
ditampilkan menggunakan PySide GUI. Program ini dapat menghapus data
secara langsung dari GUI dan langsung akan tersimpan ke database
a. Hasil Running program Menghapus Data dengan GUI
83

Gambarr 3.6 Hasil Running Program Menghapus Data dengan


GUI
Program ini merupakan hasil atau tampilan form hapus data dan
hasil data mahasiswa yang telah dihapus akan langsung tersimpan ke
database yang ada pada localhost kita.
b. Script Program Menghapus Data dengan GUI
def dihapus(azi):
gui = QWidget()
azi.hapus,ok =
QInputDialog.getText(gui,"info","""Masukkan nim yang
akan dihapus""")
gui.show()
koneksi = mysql.connector.connect(
host = "local host",
user = "root",
password = "",
database = "mahasiswa"
)

if ok:
nim = str(azi.hapus)
cek="""SELECT * FROM MAHASISWA_UMS WHERE NIM =
%s"""
sor=koneksi.cursor()
sor.execute(cek,(nim,))
hasil=sor.fetchall()
if len(hasil)==1:
gui.hide()
sor = koneksi.cursor()

try:
sql = """DELETE FROM MAHASISWA_UMS WHERE
NIM = %s"""
sor.execute(sql,(nim,))
except:
QMessageBox.information(azi,'Info', '
data gagal dihapus')
koneksi.rollback()
sys.exit(1)
else:
koneksi.commit()
sor.close()
84

else:
koneksi.rollback()
sys.exit(1)
koneksi.close()
azi.akses()
gui.hide()

c. Analisis Script Menghapus Data dengan GUI


Tabel 3.6 Program Menghapus Data dengan GUI
Script Keterangan
"""SELECT * FROM MAHASISWA_UMS Untuk memlih data mahasiswa
WHERE NIM = %s"""
yang diinginkan berdasarkan
NIM mahasiswa tersebut.
"""DELETE FROM MAHASISWA_UMS Untuk memlih data mahasiswa
WHERE NIM = %s"""
yang akan dihapus berdasarkan
NIM mahasiswa tersebut.
7. Mencari Data dengan GUI
Merupakan program yang dibuat dengan Bahasa python dan
ditampilkan menggunakan PySide GUI. Program ini dapat mencari data
yang ada pada database secara langsung dan langsung menampilkan data
mahasiswa yang ingin dicari.
a. Hasil Running Program Mencari Data dengan GUI

Gambar 3.7 Hasil Running Program Mencari Data dengan GUI


Program ini merupakan hasil atau tampilan form cari data
mahasiswa menggunakan NIM dan hasil data mahasiswa yang kita cari
tersebut akan langsung ditampilkan.
85

b. Script Program Mencari Data dengan GUI


import mysql.connector
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class searching(QWidget):
def __init__(azi):
QWidget.__init__(azi)
azi.setWindowTitle('FORM CARI')
azi.setGeometry(400,250,300,350)
azi.title=QLabel('<h2><b><font color=green>Cari
Berdasarkan Nim</font><b></h2>', azi)
azi.title.move(60,10)

azi.bla()

def bla(azi):
azi.az=QLineEdit(azi)
azi.az.move(10,40)

azi.ay=QPushButton('Search',azi)
azi.ay.move(160,35)
azi.ay.resize(70,30)
azi.ay.clicked.connect(azi.cariin)

data1j=QLabel('NIM: ',azi)
data1j.move(10,70)
azi.data1j=QLabel(azi)
azi.data1j.move(120,70)

data1k=QLabel('NAMA: ',azi)
data1k.move(10,100)
azi.data1k=QLabel(azi)
azi.data1k.move(120,100)

data1l=QLabel('ASAL: ',azi)
data1l.move(10,130)
azi.data1l=QLabel(azi)
azi.data1l.move(120,130)

data1m=QLabel('JURUSAN: ',azi)
data1m.move(10,160)
azi.data1m=QLabel(azi)
azi.data1m.move(120,160)

data1n=QLabel('ANGKATAN: ',azi)
data1n.move(10,190)
azi.data1n=QLabel(azi)
azi.data1n.move(120,190)

data1o=QLabel('IPS: ',azi)
data1o.move(10,220)
azi.data1o=QLabel(azi)
azi.data1o.move(120,220)

data1p=QLabel('DOSEN_PA: ',azi)
data1p.move(10,250)
azi.data1p=QLabel(azi)
azi.data1p.move(120,250)

data1q=QLabel('SKS: ',azi)
data1q.move(10,280)
azi.data1q=QLabel(azi)
86

azi.data1q.move(120,280)

def cariin(azi):
NIM=str(azi.az.text())
try:
koneksi = mysql.connector.connect(
host='local host',
user='root',
password='',
database='mahasiswa'
)

sor=koneksi.cursor()

cari='''SELECT * FROM mahasiswa_ums WHERE NIM=%s'''

try:
sor=koneksi.cursor()
sor.execute(cari,(NIM,))

for(NIM,NAMA,ASAL,JURUSAN,ANGKATAN,IPS,DOSEN_PA,SKS)
in sor:
azi.masuk_nim=str(NIM)
azi.masuk_nama=str(NAMA)
azi.masuk_asal=str(ASAL)
azi.masuk_jurusan=str(JURUSAN)
azi.masuk_angkatan=str(ANGKATAN)
azi.masuk_ips=str(IPS)
azi.masuk_dosen=str(DOSEN_PA)
azi.masuk_sks=str(SKS)

azi.data1j.setText(str(azi.masuk_nim))
azi.data1j.adjustSize()
azi.data1k.setText(str(azi.masuk_nama))
azi.data1k.adjustSize()
azi.data1l.setText(str(azi.masuk_asal))
azi.data1l.adjustSize()
azi.data1m.setText(str(azi.masuk_jurusan))
azi.data1m.adjustSize()
azi.data1n.setText(str(azi.masuk_angkatan))
azi.data1n.adjustSize()
azi.data1o.setText(str(azi.masuk_ips))
azi.data1o.adjustSize()
azi.data1p.setText(str(azi.masuk_dosen))
azi.data1p.adjustSize()
azi.data1q.setText(str(azi.masuk_sks))
azi.data1q.adjustSize()

except:
print('Data Tidak Ada')
sys.exit()
else:
sor.close()

except mysql.connector.Error as e:
print('ERROR',e)
else:
koneksi.close()

if __name__=='__main__':
app=QApplication(sys.argv)
x=searching()
x.show()
87

app.exec_()
sys.exit()

c. Analisis Script Program Mencari Data dengan GUI


Tabel 3.7 Analisis Program Mencari Data dengan GUI
Script Keterangan
azi.setWindowTitle('FORM CARI') Untuk memberi judul
azi.setGeometry(400,250,300,350)
window dan mentukan
ukurannya
azi.title=QLabel('<h2><b><font Untuk memberi teks pada
color=green>Cari Berdasarkan
Nim</font><b></h2>', azi) window dan mengatur posisi
azi.title.move(60,10) teks tersebut
88

B. Penutup
1. Kesimpulan
Dari praktikum Database ini praktikan dapat menyimpulkan
beberapa hal:
a. Database dapat didefinisikan sebagai kumpulan data yang terdiri dari
satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user
diberi wewenang untuk dapat mengakses (seperti mengubah,
menghapus, mencari, dan menambah) data dalam tabel-tabel tersebut.
Dalam membuat database kita perlu menggunak aplikasi XAMPP untuk
membuat local host kita sendiri.
b. membuat tabel database yang menggunakan python dan MySQL
kembail yang nantinya akan mucul pada database yang ada dalam local
host kita.
c. Menambah data adalah program yang difungsikan untuk memberi isi
pada tabel yang telah kita buat sebelumya. Pengisianya sesuai dengan
format yang telah kita tentukan sebelumnya.
d. Program ini menggunakan PySide sebagai GUI dan mengambil data dari
database MySQL yang terdapat pada local host kita dan menampilkan
program aplikasi yang telah kita buat.
e. Program menambah data merupakan program yang dibuat dengan
Bahasa python dan ditampilkan menggunakan PySide GUI. Program ini
dapat menambahkan data secara langsung dari GUI dan langsung akan
tersimpan ke database.
f. Program hapus data merupakan program yang dibuat dengan Bahasa
python dan ditampilkan menggunakan PySide GUI. Program ini dapat
menghapus data secara langsung dari GUI dan langsung akan tersimpan
ke database
h. Program cari data merupakan program yang dibuat dengan Bahasa
python dan ditampilkan menggunakan PySide GUI. Program ini dapat
mencari data yang ada pada database secara langsung dan langsung
menampilkan data mahasiswa yang ingin dicari.

2. Saran
Dari praktikum Gui python ini praktikan dapat memberikan beberapa
saran seperti:
a. Praktikan diharap mempelajari modul sebelum praktikum
b. Praktikan diharap memerhatikan penjelasan dari asisten
c. Praktikan diharap datang sebelum waktu praktikum dimulai
d. Praktikan harus mematuhi segala aturan lab
e. Praktikan diharap mencatat hal penting selama praktikum
MODUL IV
HTML & CSS

A. Hasil Praktikum
1. Halaman Profil
Pada praktikum ini, praktikan membuat HTML dan memperindah
bentuk tampilan HTML dengan menggunakan CSS. HTML berisi tentang
visi dan misi dari jurusan Teknik Industri, referensi yang berisikan data
laporan tugas akhir atau kerja praktik, galeri yang berisi
dokumentasi/lembar pengesahan laporan, kumpulan soal-soal di jurusan
teknik industri, dan kontak yang bisa dihubungi.
a. Hasil Running Halaman Profil

Gambar 4.1 Hasil Running Halaman Profil


Ketika script pembuatan HTML Halaman Profil sudah selesai
semua dikerjakan, maka ketika dibuka, tampilan HTML Halaman Profil
akan sama seperti gambar diatas yang telah dilengkapi dengan script
CSS jugs.
b. Script HTM:L Halaman Profil
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a>
</li><li><a
href="refrensi.html">Referensi</a>

89
90

</li>
<li><a
href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<div class="sidebar">
<b><h3 align="center">Mahasiswa Teknik
Industri UMS<br>Tahun 2018</h3></b>
<center>
<img src="akreditasiA.png" width="auto"
height="175px" ><br>
<p>Welcome visitors to the official website of
the Industrial Engineering Department of the
Muhammadiyah University of Surakarta. Students
from the Industrial Engineering Department of
the Muhammadiyah University of Surakarta,
Batch 2018. With this web page hopefully,
visitors will get to know all the activities
and activities in the Department of Industrial
Engineering, Surakarta Muhammadiyah
University</p>
<br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br>
</center>
</div>
<div class="content">
<b><h2 align="center">Program Studi Teknik
Industri<br>Universitas Muhammadiyah
Surakarta</h2></b>
<center>
<img src="2018.jpg" width="auto"
height="300px" align="center"><br>
</center>
<center>
<p>Mahasiswa Teknik Industri Universitas
Muhammadiyah Surakarta Angkatan 2018</p>
<p>Jurusan teknik industri adalah jurusan yang
mempelajari bidang keteknikan yang memiliki
prospek kerja yang luas. Jika bidang teknik
yang lain menerapkan keterampilan yang
spesifik, berbeda halnya dengan jurusan teknik
industri yang menggabungkan berbagai ilmu yang
terlibat dalam sebuah proses industri. Aspek
yang paling khas dari teknik industri adalah
fleksibilitasnya, jurusan ini juga membahas
industri secara luas sehinggap dapat
melibatkan pembahasan bidang keteknikan
lainnya, karena itu prospek kerja jurusan
teknik indsutri sangatlah luas. Jurusan teknik
industri pada dasarnya dibagi menjadi tiga sub
bidang keahlian: 1. Sistem Manufaktur 2.
Manajemen Indsutri 3. Sistem Indsutri dan
Tekno Ekonomi</p>
</ol>
</div>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018 </i></p>
</footer>
</body>
</html>
91

c. Script CSS Halaman Profil


header{
background-color:#4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
.sidebar{
background: #a8fff9;
padding-left:15px;
padding-right:15px;
float:left;
width:20%;
height:100%;
color:black;
}
.content{
padding-left:60px;
padding-top:5px;
float:left;
width:60%;
height:100%;
}
footer{
width:100%;
color:#a8fff9;
background:#4268f4;
float:left;
height:60px;
padding-left:60px;
}
d. Analisis Scrip HTMLt Halaman Profil
Tabel 4.1 Analisis Script HTML Halaman Profil
Script Keterangan
<title>Teknik Digunakan untuk membuat judul pada
Industri UMS</title>
halaman tab
<img src="prodi.png"> Digunakan untuk menginput gambar
kedalam web HTML
<div class="sidebar"> Digunakan untuk mendefinisikan
class bernama sidebar
e. Analisis Script CSS Halaman Profil
Tabel 4.2 Analisis Script CSS Halaman Profil
Script Keterangan
background-color:#4268f4; Digunakan untuk memberi
warna latar pada salah satu
bagian halaman HTML
padding-left:50px; Digunakan untuk memberi
jarak dari kiri halaman ke
objek sebesar 50 pixel
padding-right:10px; Digunakan untuk memberi
jarak dari kanan halaman ke
objek sebesar 10 pixel
92

2. Halaman Referensi
Halaman referensi ini mengenai tentang tabel dari data laporan tugas
akhir atau kerja praktik. Data ini terdiri dari beberapa bagian yaitu, judul
laporan, penulis, tahun, NIM, dan nama Dosen Pembimbing.
a. Hasil Running Halaman Referensi

Gambar 4.2 Hasil Running Halaman Referensi


Ketika script pembuatan HTML Halaman Referensi sudah
selesai semua dikerjakan, maka ketika dibuka, tampilan HTML
Halaman Referensi akan sama seperti gambar diatas yang telah
dilengkapi dengan script CSS juga.
b. Script HTML Halaman Referensi
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a></li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<div class="body">
<b><h2 align="center">Daftar Laporan Tugas
93

Akhir dan Kerja Praktik</h2></b>


<table border="1" width="100%">
<tr>
<th width="2">No.</th>
<th width="100">Judul</th>
<th width="40">Penulis</th>
<th width="5">NIM</th>
<th width="3">Tahun</th>
<th width="15">Dosen Pembimbing</th>
</tr>
<tr>
<td align="center">1.</td>
<td height="10">PEMETAAN DAN PENGEMBANGAN
KLASTER INDUSTRI MEBEL MENGGUNAKAN
ANALISIS SWOT</td>
<td height="10" align="center">Eko
Bakdiyono</td>
<td height="10"
align="center">D600110006</td>
<td height="10" align="center">2016</td>
<td height="10" align="center">Much
Djunaidi, ST, MT</td>
</tr>
<tr>
<td align="center">2.</td>
<td height="10">ANALISIS BEBAN KERJA
MENTAL DAN KEBUTUHAN TENAGA KERJA PERAWAT
BANGSAL SUMBODRO DENGAN METODE NASA-TLX
DAN WORKLOAD INDICATOR STAFFING
NEED(WISN)</td>
<td height="10" align="center">Nadya Zahro
Aimi</td>
<td height="10"
align="center">D600140152</td>
<td height="10" align="center">2018</td >
<td height="10" align="center">Dr. Indah
Pratiwi S.T., M.T.</td>
</tr>
<tr>
<td align="center">3.</td>
<td height="10">PERANCANGAN ALAT PENGIRIS
MUCUNA PRURIENS MENGGUNAKAN METODE REVERSE
ENGINEERING DI UKM TEMPE KERIPIK SRI
WENING</td>
<td height="10" align="center">Febrina
Agusti</td>
<td height="10"
align="center">D600140133</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Ratnanto
Fitriadi,ST,MT</td>
</tr>
<tr>
<td align="center">4.</td>
<td height="10">ANALISIS DAN PENENTUAN
STRATEGI MITIGASI RISIKO PADA
PROSES PRODUKSI PRODUK OLAHAN UBI JALAR
(IPOMOEA BATATAS L)</td>
<td height="10" align="center">Khoiruman
Yusuf Sufiarso</td>
<td height="10"
align="center">D600140008</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Hafidh
Munawir,ST, M.Eng</td>
94

</tr>
<tr>
<td align="center">5.</td>
<td height="10">PENERAPAN KONSEP CDIO PADA
PRAKTIKUM PEMROGRAMAN KOMPUTER SEBAGAI
MEDIA PEMBELAJARAN KREATIF DAN
APLIKATIF</td>
<td height="10" align="center">Yusuf
Bachtiar</td>
<td height="10"
align="center">D600090031</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Much.
Djunaidi, ST, MT</td>
</tr>
<tr>
<td align="center">6.</td>
<td height="10">ANALISIS FAKTOR PRIORITAS
DAN PENILAIAN KINERJA PERAWAT BANGSAL
RAWAT INAP RSJD SURAKARTA DENGAN METODE
INTEGRASI UMPAN BALIK 360 DERAJAT DAN AHP
(ANALYTICAL HIERARCHY PROCESS)</td>
<td height="10" align="center">Virna
Septiana Devi Kumaraningrum</td>
<td height="10"
align="center">D600140147</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Much.
Djunaidi, ST, MT</td>
</tr>
<tr>
<td align="center">7.</td>
<td height="10">IMPLEMENTASI JOINT
ECONOMIC LOT-SIZING GUNA MENGOPTIMALKAN
TOTAL BIAYA VENDOR DAN BUYER </td>
<td height="10" align="center">Muhammad
Ikhsan Rifai</td>
<td height="10"
align="center">D600130091</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Hari
Prasetyo,ST, MT, Ph.D</td>
</tr>
<tr>
<td align="center">8.</td>
<td height="10">PERBAIKAN METODE KERJA
UNTUK MENINGKATKAN PRODUKTIVITAS DENGAN
MENGGUNAKAN MOTION STUDY DAN PENERAPAN 5S </td>
<td height="10" align="center">Aprilia Dwi
Anggraini</td>
<td height="10"
align="center">D600140108</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Dr.Indah
Pratiwi,ST, MT</td>
</tr>
<tr>
<td align="center">9.</td>
<td height="10">NALISIS URUTAN
PEMBONGKARAN PRODUK MENGGUNAKAN METODE
DISASSEMBLY SEQUENCE PLANNING DENGAN DISASSEMBLY LEVEL MATRIX
</td>
<td height="10" align="center">Dyah Ajeng
Wheka S.</td>
<td height="10"
95

align="center">D600140002</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Ida
Nursanti,ST,MT,M.Eng</td>
</tr>
<tr>
<td align="center">10.</td>
<td height="10">EVALUASI BEBAN DAN POSTUR
KERJA PADA PROSES PRODUKSI ROTI DENGAN
PENDEKATAN ERGONOMI </td>
<td height="10" align="center">Andika
Kurniawan</td>
<td height="10"
align="center">D600140103</td>
<td height="10" align="center">2018</td>
<td height="10" align="center">Eko
Setiawan,ST,MT,Ph.D</td>
</tr>
</table><br><br><br>
</div>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018
</i></p>
</footer>
</body>
</html>

c. Script CSS Halaman Referensi


header{
background-color:#4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
.rotate{
transform:rotate(90deg);
}

.rotate1{
transform:rotate(270deg);
}
footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}
96

d. Analisis Script HTML Halaman Referensi


Tabel 4.3 Analisis Script HTML Halaman Referensi
Script Keterangan
<li><a Digunakan untuk membuat list
href="Halaman_Depan.html"
>Profil</a></li>
<a href= Digunakan untuk menghubungkan
"refrensi.html">Referensi ke halaman refrensi.HTML
</a></li>
<div class="menu"> Digunakan untuk mendefinisikan
class CSS bernama menu

e. Analisis Script CSS Halaman Referensi


Tabel 4.4 Analisis Script CSS Halaman Referensi
Script Keterangan
text-decoration:none; Digunakan untuk menghilangkan garis
bawah pada tag a
width:150%; Digunakan untuk mengatur ukuran lebar
sebesar 150 %
color: #a8fff9; Digunakan untuk memberikan warna pada
font

3. Halaman Galeri
Selanjutnya adalah halaman galeri, yang berisi foto dokumentasi
dari lembar pengesahan laporan tugas akhir atau kerja praktik yang sudah
ditandatangani oleh dosen pembimbing.
a. Hasil Running Halaman Galeri

Gambar 4.3 Hasil Running Halaman Galeri


Ketika script pembuatan HTML Halaman Galeri sudah selesai
semua dikerjakan, maka ketika dibuka, tampilan HTML Halaman Profil
akan sama seperti gambar diatas yang telah dilengkapi dengan script
CSS juga Script HTML Halaman Galeri

b. Script HTML Halaman Galeri


97

<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a></li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<div class="body">
<b><h3 align="center">Galeri Teknik
Industri</h3></b>
<table width="80%" align="center">
<tr>
<td><img src="1.png" height="250px"
width="auto"></td>
<td><img src="2.png" height="250px"
width="auto"></td>
<td><img src="3.png" height="250px"
width="auto"></td>
<td><img src="4.png" height="250px"
width="auto"></td>
</tr>
</table><br><br>
</div>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018 </i></p>
</footer>
</body>
</html>
c. Script CSS Halaman Galeri
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
.rotate{
transform:rotate(90deg);
}
98

.rotate1{
transform:rotate(270deg);
}
footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}

.galeri img{
transform:rotate(90deg);
}

d. Analisis Script HTML Halaman Galeri


Tabel 4.5 Analisis Script HTML Halaman Galeri
Script Keterangan
width="auto" Digunakan untuk
menyesuaikan ukuran
lebar content secara
otomatis
<li><a Digunakan untuk
href="galeri.html">Galeri</a></li>
memulai penomoran
<img src="ums.png" height="100px" Digunakan membuat
width="auto">
tabel dengan lebar
otomatis menyesuaikan
dan tinggi 100 pixel
e. Analisis Script CSS Halaman Galeri
Tabel 4.6 Analisis Script CSS Halaman Galeri
Script Keterangan
transform:rotate(270deg); Digunakan untuk merotasi objek 270
derajat agar gambar bisa tegak
transform:rotate(90deg); Digunakan untuk merotasi objek 90
derajat agar gambar bisa tegak
padding-left:60px; Digunakan untuk memberi jarak dari
kiri halaman sebesar 60 pixel

4. Halaman Hubungi Kami


Halaman hubungi kami berisi tentang untuk mengirimkan
tanggapan saran atau kritik yang apabila ditekan tombol kirim, maka
tanggapan akan terkirim ke e-mail yang telah dimasukkan di script.

a. Hasil Running Halaman Hubungi Kami


99

Gambar 4.4 Hasil Running Halaman Hubungi Kami


Ketika script pembuatan HTML Halaman Hubungi Kami sudah
selesai semua dikerjakan, maka ketika dibuka, tampilan HTML
Halaman Profil akan sama seperti gambar diatas yang telah dilengkapi
dengan script CSS juga
b. Script HTML Halaman Hubungi Kami
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css" href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a></li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<p align="center">Silakan contact kami apabila
anda memiliki kritik dan saran untuk halaman web
ini.</p>
<center>
<form action="mailto:muhammadazizi768@gmail.com">
Nama : </p><textarea rows="5" />
</textarea><br>
<p>Tanggapanmu :</p><textarea rows="5" />
</textarea><br>
<input type="submit" value="Kirim">
<input type="reset" value="Reset">
</form>
</center><br>
<footer>
<p align="center"><i> copyright &copy; M. \
Chaeruddin Azizi D600180073 Industri 2018 </i></p>
</footer>
100

</body>
</html>
c. Script CSS Halaman Hubungi Kami
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}
d. Analisis Script HTML Halaman Hubungi Kami
Tabel 4.7 Analisis Script HTML Halaman Hubungi Kami
Script Keterangan
<u><li><a Digunakan untuk membuat teks
href="Halaman_Depan.html">
underline pada list
Profil</a></li>
<form Digunakan untuk menghubungkan
action="mailto:muhammadazi
content dengan email yang ada di
zi768@gmail.com">
script
<input type="submit" Digunakan untuk membuat tombol
value="Kirim">
submit sehingga inputan akan
dikirm ke email yang ada di script
e. Analisis Script CSS Halaman Hubungi Kami
Tabel 4.8 Analisis Script CSS Halaman Hubungi Kami
Script Keterangan
height:120px; Digunakan untuk mengatur tinggi content
sebesar 120 pixel
width:100%; Digunakan untuk mengatur lebar content
terhadap layar sebesar 100%
text- Digunakan untuk mengahapus garis bawah pada
decoration:none;
tag a

5. Halaman Pilihan Soal


Halaman ini berisi tentang pilihan soal yang ada dijurusan teknik
industri. Terdapat 4 pilihan soal yang tersedia.
101

a. Hasil Running Halaman Pilihan Soal

Gambar 4.5 Hasil Running Halaman Pilihan Soal


Ketika script pembuatan HTML Halaman Pilihan Soal sudah
selesai semua dikerjakan, maka ketika dibuka, tampilan HTML
Halaman Profil akan sama seperti gambar diatas yang telah dilengkapi
dengan script CSS juga
b. Script HTML Halaman Pilihan Soal
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2108</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a></li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<h3 align="center"><u>Pilihan Soal Prodi Teknik
Industri</u></h3>
<p align="center"><a href="soalfisdas.html">SOAL
FISIKA DASAR</a></p>
<P align="center">"Soal ini berisi tentang materi
fisika dasar yang ada disemester 1 dan 2 jurusan
teknik industri"</p>
<p align="center"><a
href="soalstatistika.html">SOAL
STASTISTIKA</a></p>
<P align="center">"Soal ini berisi tentang materi
statistika yang ada disemester 2 jurusan teknik
industri"</p>
<p align="center"><a href="soalmatek.html">SOAL
102

MATERIAL TEKNIK</a></p>
<P align="center">"Soal ini berisi tentang materi
material teknik yang ada disemester 2 jurusan
teknik industri"</p>
<p align="center"><a href="soalergonomi.html">SOAL
ERGONOMI</a></p>
<P align="center">"Soal ini berisi tentang materi
ergonomi yang ada disemester 2 jurusan teknik
industri"</p>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018 </i></p>
</footer>
</body>
</html>
c. Script CSS Halaman Pilihan Soal
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}
d. Analisis Script HTML Halaman Pilihan Soal
Tabel 4.9 Analisis Script HTML Halaman Pilihan Soal
Script Keterangan
align="center" Digunakan untuk mengatur tulisan agar
berada ditengah halaman
<p>...</p> Digunakan untuk membuat paragraph
<div class="menu"> Digunakan untuk mendefiniskan class CSS
bernama menu
e. Analisis Script CSS Halaman Pilihan Soal
Tabel 4.10 Analisis Script CSS Halaman Pilihan Soal
Script Keterangan
color: #a8fff9; Digunakan untuk mengatur warna huruf
background: #4268f4; Digunakan untuk mengatur warna latar
belakang
text- Digunakan untuk mengahapus garis bawah
decoration:none;
pada tag a

6. Halaman Soal
Halaman ini berisikan tentang 4 macam soal pilihan yang ada di teknik
industry
103

a. Halaman Soal Fisika Dasar


Pilihan soal ini menampilkan soal fisika dasar yang ada pada mata
kuliah teknik industri.
1) Hasil Running Halaman Soal Fisika Dasar

Gambar 4.6 Hasil Running Halaman Soal Fisika Dasar


Ketika script pembuatan HTML Halaman Soal Fisika Dasar
sudah selesai semua dikerjakan, maka ketika dibuka, tampilan
HTML Halaman Profil akan sama seperti gambar diatas yang telah
dilengkapi dengan script CSS juga.
2) Script HTML Halaman Soal Fisika Dasar
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a>
</li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a

href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<b><h3 align="center">Soal Fisika
Dasar</h3></b>
<form>
<ol type="1">
104

<li>Gerakan suatu benda dimana setiap titik


pada benda tersebut mempunyai jarak yang tetap
terhadap suatu sumbu tertentu, merupakan
pengertian dari...</li>
<ol type="a">
<li><input type="radio">Gerak Rotasi</li>
<li><input type="radio">Gerak
Translasi</li>
<li><input type="radio">Perpindahan</li>
</ol>
<li>Dari pilihan jawaban berikut, manakah yang
merupakan definisi atau pengertian dari
Kelajuan Sesaat...</li>
<ol type="a">
<li><input type="radio">hasil bagi
perpindahan dengan selang waktu</li>
<li><input type="radio">kelajuan rata-rata
yang waktu tempuhnya mendekati nol</li>
<li><input type="radio">jarak yang ditempuh
dengan waktu tempuhnya</li>
</ol>
<li> Gerak suatu benda pada garis lurus dengan
kecepatan tetap merupakan pengertian
dari...</li>
<ol type="a">
<li><input type="radio">Gerak Lurus Berubah
Beraturan (GLBB)</li>
<li><input type="radio">Kecepatan</li>
<li><input type="radio">Gerak Lurus
Beraturan (GLB)</li>
</ol>
<li> Sebuah partikel berputar dengan 240 rpm.
Jika jari-jari lintasannya 2 m, maka kelajuan
linier partikel tersebut adalah...</li>
<ol type="a">
<li><input type="radio">16 π m/s</li>
<li><input type="radio">8 π m/s</li>
<li><input type="radio">6 π m/s</li>
</ol>
<li>Sebuah mobil mulai bergerak dari keadaan
diam dengan percepatan tetap 24 m/s2. Maka
kecepatan mobil setelah bergerak selama 18
sekon adalah...</li>
<ol type="a">
<li><input type="radio">36 m/s</li>
<li><input type="radio">42 m/s</li>
<li><input type="radio">56 m/s</li>
</ol>
</ol>
<input type="submit" value="Kumpulkan">
<input type="reset" value="Reset">
</form>
<p><a href="pilih_soal.html">Kembali</a></p>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018 </i></p>
</footer>
</body>
</html>
3) Script CSS Halaman Soal Fisika Dasar
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
105

height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}
\

4) Analisis Script HTML Halaman Soal Fisika Dasar


Tabel 4.11 Analisis Script HTML Halaman Soal Fisika Dasar
Script Keterangan
<b></b> Digunakan untuk membuat huruf
menjadi tebal
<link rel="stylesheet" Digunakan untuk
type="text/css" menghubungkan HTML dan CSS
href="cssazi.css"/>
dengan nama cssazi.css
<li><input Digunakan untuk memberikan
type="radio">56 pilihan jawaban dari soal tersebut
m/s</li>

5) Analisis Script CSS Halaman Soal Fisika Dasar


Tabel 4.12 Analisis Script CSS Halaman Soal Fisika Dasar
Script Keterangan
padding-left:20px; Digunakan untuk mengatur jarak dari
kiri halaman ke content sebesar 20 pixel
padding-topt:20px; Digunakan untuk mengatur jarak dari
atas halaman ke content sebesar 20
pixel
background: #4268f4; Digunakan untuk mengatur warna latar
belakang

b. Halaman Soal Statistika


Pilihan soal ini menampilkan soal statistika yang ada pada mata
kuliah teknik industri.
106

1) Hasil Running Halaman Soal Statistika

Gambar 4.7 Hasil Running Halaman Soal Statistika


Ketika script pembuatan HTML Halaman Soal Statistika sudah
selesai semua dikerjakan, maka ketika dibuka, tampilan HTML
Halaman Profil akan sama seperti gambar diatas yang telah
dilengkapi dengan script CSS juga.
2) Script HTML Halaman Soal Statistika
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a>
</li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a
href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>
<b><h3 align="center">Soal Statistika</h3></b>
<form>
<ol type="1">
<li>Simpangan baku dari data 2, 3, 4, 5, 6
adalah ...</li>
<ol type="a">
<li><input type="radio">√2</li>
<li><input type="radio">√3</li>
<li><input type="radio">√4</li>
</ol>
<li>Dalam suatu kelas terdapat siswa sebanyak
107

21 orang. Nilai rata-ratanya 6, jika siswa yang


paling rendah nilainya tidak dikutsertakan,
maka nilai rata-ratanya menjadi 6,2. Nilai yang
terendah tersebut adalah ...</li>
<ol type="a">
<li><input type="radio">1</li>
<li><input type="radio">2</li>
<li><input type="radio">3</li>
</ol>
<li>Dari nilai ulangan 12 siswa, diketahui
nilai terkecil 20 dan nilai terbesar 80, nilai
rata-rata ulangan siswa tersebut tidak mungkin
sama dengan ...</li>
<ol type="a">
<li><input type="radio">22</li>
<li><input type="radio">25</li>
<li><input type="radio">28</li>
</ol>
<li>Suatu data dengan rata-rata 16 dan
jangkauan 6. Jika setiap nilai dalam data
dikalikan p kemudian dikurangi q didapat data
baru dengan rata-rata 20 dan jangkauan 9. Nilai
dari 2p + q = ...</li>
<ol type="a">
<li><input type="radio">1</li>
<li><input type="radio">4</li>
<li><input type="radio">7</li>
</ol>
<li>Diberikan sekumpulan data sebagai berikut:
1 4 3 5 2 4 3 5 2 6 2 4 1 3 4 3 5 4 1 6. Modus
dari data di atas adalah …</li>
<ol type="a">
<li><input type="radio">2,5</li>
<li><input type="radio">3,5</li>
<li><input type="radio">4,0</li>
</ol>
</ol>
<input type="submit" value="Kumpulkan">
<input type="reset" value="Reset">
</form>
<p><a href="pilih_soal.html">Kembali</a></p>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018 </i></p>
</footer>
</body>
</html>
3) Script CSS Halaman Soal Statistika
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
Footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
108

padding-left:60px;
}

4) Analisis Script HTML Halaman Soal Statistika


Tabel 4.13 Analisis Script HTML Halaman Soal Statistika
Script Keterangan
<footer></footer> Digunakan untuk mendefinisikan
catatan kaki atau footer
<doctype.html> Merupakan sintaks dasar HTML
<html>
<head>
<title></title>
</head>
<body></body>
</html>
<p align="center"><i> Digunakan untuk membuat tulisan
copyright &copy; M.
ketengah halaman dan tulisan
Chaeruddin Azizi
D600180073 Industri copyright menjadi italic setelah itu
2018 memunculkan logo c
5) Analisis Script CSS Halaman Soal Statistika
Tabel 4.14 Analisis Script CSS Halaman Soal Statistika
Script Keterangan
float:left; Digunakan mengatur float kearah kiri
content
width:100%; Digunakan untuk mengatur ukuran lebar
halaman sebesar 100%
padding- Digunakan untuk mengatur jarak dari atas
topt:20px;
halaman ke content sebesar 20 pixel

c. Halaman Soal Material Teknik


Pilihan soal ini menampilkan soal material teknik yang ada pada
mata kuliah teknik industri.
1) Hasil Running Halaman Soal Material Teknik

Gambar 4.8 Hasil Running Halaman Soal Material Teknik


109

Ketika script pembuatan HTML Halaman Soal Material Teknik


sudah selesai semua dikerjakan, maka ketika dibuka, tampilan
HTML Halaman Profil akan sama seperti gambar diatas yang telah
dilengkapi dengan script CSS juga.
2) Script HTML Halaman Soal Material Teknik
<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2108</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a>
</li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a
href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</ul>
</div>

<b><h3 align="center">Soal Material


Teknik</h3></b>
<form>
<ol type="1">
<li>Berikut ini yang bukan merupakan kegunaan
dari proses Annealing adalah …</li>
<ol type="a">
<li><input type="radio">Spheridization :
membentuk / menghaluskan struktur
sementite dengan menghancurkan bentuk
spheroids ( bulatan kecil ) dalam
kandungan ferrit.</li>
<li><input type="radio">Stress relief
annealing : untuk menghilang tegangan sisa
( tegangan dalam ) dalam baja tuang yang
tebal ,juga pada logam yang sudah mengalami
pengelasan.</li>
<li><input type="radio">Stress relief
annealing : menghilangkan tegangan
permukaan bahan karena proses pemakain
dalam waktu yang lama.</li>
</ol>
<li>Pada polimer, bahan yang bernama
poliesteren memiliki sifat yang getas yang
hampir sama dengan sifat baja. Hal ini
disebabkan oleh ...</li>
<ol type="a">
<li><input type="radio">Lemahnya gaya
110

tarik-menarik molekulnya</li>
<li><input type="radio">Karena kelebihan
jumlah karbon</li>
<li><input type="radio">Jumlah molekul yang
relative besa</li>
</ol>
<li>Pada suhu pemanasan diatas 695°C, dan
dengan kadar karbon antara 0 – 8% ,komposisi
besi yang terbentuk pada saat itu
adalah...</li>
<ol type="a">
<li><input type="radio">besi berada pada
fase pearlite</li>
<li><input type="radio">besi berada pada
fase austenite + ferrite</li>
<li><input type="radio">besi berada pada
fase ferrite</li>
</ol>
<li>Proses karbonitridasi memberi beberapa
manfaat pada logam sebagai berikut,
kecuali...</li>
<ol type="a">
<li><input type="radio">Memberikan
ketahanan terhadap korosi</li>
<li><input type="radio">Memberikan
kemungkinan mampu sepuh</li>
<li><input type="radio">Menaikkan mampu
keras bahan</li>
</ol>
<li>Pada proses nitridasi selektif, bagian-
bagian yang tidak memerlukan nitridasi bisa
dilapisi dengan...</li>
<ol type="a">
<li><input type="radio">Semua jawaban
benar</li>
<li><input type="radio">Lapisan
tembaga</li>
<li><input type="radio">Lapisan timah yang
dielektrolisasi</li>
</ol>
</ol>
<input type="submit" value="Kumpulkan">
<input type="reset" value="Reset">
</form>
<p><a href="pilih_soal.html">Kembali</a></p>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018
</i></p>
</footer>
</body>
</html>
3) Script CSS Halaman Soal Material Teknik
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
footer{
111

width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}
4) Analisis Script HTML Halaman Soal Material Teknik
Tabel 4.15 Analisis Script HTML Halaman Soal Material Teknik
Script Keterangan
<b></b> Digunakan untuk memberi huruf tebal atau
bold
<ol type=“a”> Digunakan ketika mengaktifkan fungsi
penomoran dan abjad pada pilihan jawaban
dengan type a
align="center" Digunakan untuk mengatur tulisan agar
berada ditengah halaman
5) Analisis Script CSS Halaman Soal Material Teknik
Tabel 4.16 Analisis Script CSS Halaman Soal Material Teknik
Script Keterangan
padding-top:20px; Digunakan untuk mengatur jarak dari atas
halaman ke content sebesar 20 pixel
padding- Digunakan untuk mengatur jarak dari kiri
left:20px;
halaman ke content sebesar 20 pixel
float:left; Digunakan mengatur float kearah kiri
content

d. Halaman Soal Ergonomi


Pilihan soal ini menampilkan soal statistika yang ada pada mata
kuliah teknik industri.
1) Hasil Running Halaman Soal Ergonomi

Gambar 4.9 Hasil Running Halaman Soal Ergonomi


Ketika script pembuatan HTML Halaman Soal Ergonomi
sudah selesai semua dikerjakan, maka ketika dibuka, tampilan
HTML Halaman Profil akan sama seperti gambar diatas yang
telah dilengkapi dengan script CSS juga.
112

2) Script HTML Halaman Soal Ergonomi


<!DOCTYPE html>
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Halaman_Depan.html">Profil</a>
</li>
<li><a
href="refrensi.html">Referensi</a></li>
<li><a
href="galeri.html">Galeri</a></li>
<li><a href="pilih_soal.html">Pilihan
Soal</a></li>
<li><a href="contact.html">Contact
Us</a></li>
</div>
<b><h3 align="center">Soal Ergonomi</h3></b>
<form>
<ol type="1">
<li>Jenis pelindung apa yang sering digunakan
bengkel pemesinan?</li>
<ol type="a">
<li><input type="radio">Pelindung dengan
jarak</li>
<li><input type="radio">Alat pelindung
mekanik</li>
<li><input type="radio">Peralatan
pendeteksi</li>
</ol>
<li>Dalam keselamatan dan kesehatan kerja,
sebutkan 3 pencemaran akibat industri...</li>
<ol type="a">
<li><input type="radio">Pencemaran udara,
pencemaran air, pencemaran tanah</li>
<li><input type="radio">Pencemaran keadaan,
pencemaran air, pencemaran suhu</li>
<li><input type="radio">Pencemaran udara,
pencemaran keadaan, pencemaran tanah</li>
</ol>
<li>Hal-hal yang dapat menimbulkan kecelakaan
kerja secara pesawat tenaga produksi...</li>
<ol type="a">
<li><input type="radio">Operator mesin</li>
<li><input type="radio">Perlengkapan
mesin</li>
<li><input type="radio">Mesin gergaji
bandar tanpa pendorong kayu</li>
</ol>
<li>Apakah yang bukan faktor lingkungan yang
menyebabkan penyakit sebelum diterapkan oleh
pembina P2K3...</li>
<ol type="a">
113

<li><input type="radio">Golongan fisik</li>


<li><input type="radio">Golongan kimia</li>
<li><input type="radio">Golongan kapis</li>
</ol>
<li>Pengertian keselamatan kerja secara
etimologi adalah...</li>
<ol type="a">
<li><input type="radio">Ilmu pengetahuan
dan penerapannya dalam upaya mencegah dan
mengurangi kecelakaan kerja</li>
<li><input type="radio">Suatu upaya
perlindungan tenaga kerja</li>
<li><input type="radio">Upaya agar produksi
tidak terganggu</li>
</ol>
</ol>
<input type="submit" value="Kumpulkan">
<input type="reset" value="Reset">
</form>
<p><a href="pilih_soal.html">Kembali</a></p>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018
</i></p>
</footer>
</body>
</html>
3) Script CSS Halaman Soal Ergonomi
header{
background-color: #4268f4;
padding-top:20px;
padding-left:20px;
width:100%;
height:120px;
}
.menu{
width:150%;
text-decoration:none;
}
footer{
width:100%;
color: #a8fff9;
background: #4268f4;
float:left;
height:60px;
padding-left:60px;
}

4) Analisis Script Halaman Soal Ergonomi


Tabel 4.17 Analisis Script HTML Halaman Soal Ergonomi
Script Keterangan
<p align="center"> Digunakan untuk
mengatur tulisan agar
berada ditengah halaman
<p></p> Digunakan untuk
membuat paragraph
<li><input Digunakan untuk
type="radio">Pencemaran memberikan pilihan
udara, pencemaran
keadaan, pencemaran jawaban dari soal tersebut
tanah</li>
114

5) Analisis Script Halaman Soal Ergonomi


Tabel 4.18 Analisis Script CSS Halaman Soal Ergonomi
Script Keterangan
float:left; Digunakan mengatur float
kearah kiri content
width:100%; Digunakan untuk
mengatur ukuran lebar
halaman sebesar 100%
background: #4268f4; Digunkana untuk
mengatur warna latar
belakang
115

B. Penutup
1. Kesimpulan
Dari praktikum HTML dan CSS ini praktikan dapat menyimpulkan
beberapa hal:
a. CSS digunakan untuk mengendalikan beberapa komponen dalam
sebuah web sehingga akan lebih terstruktur dan seragam
b. CSS dapat mengendalikan ukuran gambar, warna body teks, warna
tabel, ukuran border, spasi antar paragraf, spasi antar teks, margin kiri,
kanan, atas, bawah, dan lain-lain
c. Dalam penulisan dokumen HMTL diperlukan tag <head></head>,
dalam tag ini diletakkan judul web page dengan menggunakan tag
<title>
d. Penyimpanan file dari aplikasi Notepad++ harus menggunakan .html
dibelakang nama file agar bisa dibuka
e. HTML dan CSS memiliki keterikatan dalam membuat halaman web

2. Saran
Dari praktikum HTML dan CSS ini praktikan dapat memberikan
beberapa saran seperti:
a. Praktikan harus bertanya kepada asisten apabila programnya eror.
b. Waktu pratikum terlalu singkat, sehingga praktikan sulit untuk
memahami dan mencatat script saat pratikum
c. Sebaiknya waktu pengerjaan tugas ditambah agar praktikan bisa tidur
dengan teratur
d. Praktikan diharapkan datang pratikum tepat waktu sehingga bisa
mengikuti kuis.
e. Sebaiknya sebelum praktikum dimulai praktikan berdo’a bersama agar
pratikum pada hari tersebut lancar
MODUL V
WEB PYTHON

A. Hasil Pratikum
1. Membuat Data Buku
Buku adalah sekumpulan lembaran yang berisi informasi atau cerita
yang ditulis oleh pengarang dan diterbitkan sehingga dapat dibaca oleh para
pembaca. Program yang saya buat ini merupakan tabel buku yang ada di
Granmedia Solo.
a. Tabel Data Buku
Tabel data buku ini adalah program web python yang didalamnya
berisi tentang resensi buku yang telah saya cari pada tugas tambahan
pratikum modul ini.
1) Hasil Running Tabel Data Buku

Gambar 5.1 Hasil Running Tabel Data Buku


Pada hasil running ini terdapat database yang telah kita buat
berisikan data resensi buku . Dalam pembuatannya saya
menggunakan python dan MySQL sebagai tempat penulisan script
agar database berhasil dibuat
2) Script Tabel Data Buku
#!C:\Python37\python
import mysql.connector
import cgi
print("""Content-type: text/html\r\n\r\n
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">

116
117

<ul>
<li><a
href="Profil.py">Home</a><
/li>
<li><a
href="resource.py">Resourc
e</a></li>
<li><a
href="student.py">Student<
/a></li>
<li><a
href="pilih_soal.py">Exerc
ise</a></li>
<li><a
href="galeri.py">Gallery</
a></li>
<li><a
href="contact.py">Contact
Us</a></li>
</ul>
</div>
<div class="body">
<div class="content_title">
<label><center> Daftar Resensi
Buku <center></label><br>
<left><a
href="buku_tambah.py">TAMBAH
BUKU</a></b></left>
""")
try:
zii= mysql.connector.connect(
user="root",
password="",
database="azizi"
)
try:
sorr = zii.cursor()
sql= "SELECT * FROM bukucuk"
sorr.execute(sql)
result= sorr.fetchall()
print("""
<table align="center" width="75%"
border="2px" style="text-align:center;" >
<tr>
<th>No</th>
<th>Judul</th>
<th>Pengarang</th>
<th>Tahun</th>
<th>Penerbit</th>
<th>Harga</th>
<th>Aksi</th>
</tr>
""")
for row in result:
no = row[0]
judul = row[1]
pengarang = row[2]
tahun = row[3]
penerbit = row[4]
harga = row[5]
print("<tr>")
print("<td>",no,"</td>")
print("<td>",judul,"</td>")
print("<td>",pengarang,"</td>")
print("<td>",tahun,"</td>")
118

print("<td>",penerbit,"</td>")
print("<td>",harga,"</td>")
print("<td><form action='buku_hapus.py'
method='get'>")
print("<input type='submit' value='HAPUS'
name='hapus'>")
print("<input type='hidden' name='no'
value=",no,">")
print("</form></td>")
print("</tr>")
print("""
</table>
""")
except:
print("Database tidak dapat diakses")
sys.exit(1)
else:
sorr.close()
except mysql.connector.Error as e:
print("Error", e)
else:
zii.close()
print("""
<footer>
<p align="center"><i> copyright &copy; M. Chaeruddin
Azizi D600180073 Industri 2018 </i></p>
</footer>
</body>
</html>
""")

3) Analisis Script Tabel Data Buku


Tabel 5.1 Analisis Script Tabel Data Buku
Script Keterangan
import mysql.connector Untuk menghubungkan
python dengan MySQL
sorr=koneksi.cursor() Digunakan untuk
sorr.execute(sql)
mengeksekusi sql
<title>Teknik Industri UMS Digunakan untuk membuat
2018</title>
judul pada halaman tab

b. Form Tambah Data Buku


Pada tahap selanjutnya ialah membuat program form tambah buku
yang dibuat dengan bahasa python dan program ini dapat menambahkan
data secara langsung dari tambah data yang ada di web dan langsung
akan menampilkan data yang sudah ditambahkan.
119

1) Hasil Running Program Tambah Data Buku

Gambar 5.2 Hasil Running Program Form Tambah Data


Program ini merupakan hasil atau tampilan form penambahan
data dan hasil data buku yang telah ditambahkan akan langsung
tersimpan ke database yang ada pada local host kita dan langsung
tertampil pada halaman web
2) Script Program Tambah Data Buku
#!C:\Python37\python
import cgi
print("""Content-type: text/html\r\n\r\n
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Profil.py">Home
</a></li>
<li><a
href="">Resource</a></li>
<li><a
href="">Student</a></li>
<li><a
href="pilih_soal.py">Exerci
se</a></li>
<li><a
href="galeri.py">Gallery
</a></li>
<li><a
href="contact.py">Contact
Us</a></li>
</ul>
</div>
<a/><b> FORM TAMBAH BUKU
<a/></b></i>
<form action="buku_proses_tambah.py"
120

method="get">
No
<br><input type="text"
name="no"<br><br>
Judul Buku
<br><input type="text" name=
"judul"<br><br>
Pengarang
<br><input type="text"
name="pengarang"<br><br>
Tahun Terbit
<br><input type="text"
name="tahun"<br><br>
Penerbit
<br><input type="text"
name="penerbit"<br><br>
Harga Buku
<br><input type="text" name=
"harga"<br><br>
<input type="submit" value="SUBMIT"
<a href =
"buku_tabel.py">CANCEL</a>
</form>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018
</i></p>
</footer>
</body>
</html>
""")

3) Analisis Script Tambah Data Buku


Tabel 5.2 Analisis Script Form Tambah Buku
Script Keterangan
<img src="ums.png" Digunakan untuk menginput
height="100px"
width="auto"> gambar kedalam web
<div class="menu"> Digunakan untuk mendefinisikan
class bernama menu
<li><a Digunakan untuk membuat list
href="galeri.py">Gallery Digunakan untuk menghubungkan
</a></li>
ke halaman galeri

c. Proses Tambah Data Buku


Proses tambah data buku adalah program yang berisikan tentang
penambahan data kedalam localhost secara otomatis apabila kita telah
menambahkan data pada form tambah data.
1) Script Program Proses Tambah Data Buku
#!C:\Python37\python
import mysql.connector
import cgi
print("""Content-type: text/html\r\n\r\n
<html>
<head>
<body>
""")
121

form = cgi.FieldStorage()
sue = form.getvalue('no')
ora = form.getvalue('judul')
jamu = form.getvalue('pengarang')
badan = form.getvalue('tahun')
pegel = form.getvalue('penerbit')
linu = form.getvalue('harga')

zii = mysql.connector.connect(
user="root",
password="",
database="azizi"
)

sorr = zii.cursor()
data=(str(sue),str(ora),str(jamu),str(badan),str(pegel),str(
linu))
sql="INSERT INTO bukucuk VALUES(%s,%s,%s,%s,%s,%s)"

sorr.execute(sql,data)
zii.commit()
zii.close()

print("""
<script>
alert('Buku berhasil ditambahkan');
document.location.href="buku_tabel.py";
</script>
</body>
</html>
""")

2) Analisis Script Proses Tambah Data Buku


Tabel 5.3 Analisis Proses Tambah Data Buku
Script Keterangan
<li><a Digunakan untuk
href="student.py">
Student menghubungkan ke halaman
</a></li> student
"INSERT INTO Untuk memasukkan data
bukucuk
VALUES(%s,%s,%s,%s kedalam database
,%s,%s)"
Untuk mengimport cgi
import cgi

d. Hapus Data Buku


Merupakan program yang dibuat dengan bahasa python dan
ditampilkan didalam web Program ini dapat menghapus data secara
langsung dari tombol hapus yang ada pada halaman web dan langsung
muncul pada halaman web.
122

1) Hasil Running Program Hapus Data Buku

Gambar 5.3 Tampilan Data Buku Sebelum Dihapus

Gambar 5.4 Tampilan Data Buku Setelah Dihapus


Ini merupakan gambar sebelum dihapus dan setelah dihapus.
Setelah kita menekan tombol hapus maka akan otomatis data
terhapus dari database dan akan hilang pada halaman web
2) Script Program Hapus Data Buku
#!C:\Python37\python
import mysql.connector
import cgi
print("""Content-type: text/html\r\n\r\n
<html>
<head>
<body>
""")

form = cgi.FieldStorage()
no = form.getvalue('no')

zii = mysql.connector.connect(
user="root",
password="",
host="localhost",
database="azizi"
)

sorr = zii.cursor()
sql="DELETE FROM bukucuk WHERE no=%s"

sorr.execute(sql,(no,))
zii.commit()
zii.close()
123

print("""
<script>
alert('Buku berhasil dihapus');
document.location.href="buku_tabel.py";
</script>
</body>
</html>
""")

3) Analisis Script Program Hapus Data Buku


Tabel 5.4 Analisis Program Hapus Data Buku
Script Keterangan
sorr.execute(sql,(no,) Untuk mengeksekusi dan menjalankan
)
perintah

zii.commit() Untuk menetapkan penyimpanan pada


database
alert('Buku berhasil Untuk memunculkan pemberitahuan
dihapus');
bahwa buku berhasil dihapus
2. Halaman Soal
Program halaman soal ini berisikan tentang soal yang telah kita
masukkan didalam script, kemudian ditampilkan dalam web dan ketika kita
menjawab soal tersebut maka akan langsung muncul nilai kita dan
mengidentifikasi soal nomor berapa yang kita jawab benar dan salah.
1) Tampilan Halaman Soal

Gambar 5.5 Tampilan Halaman Soal


124

Gambar 5.6 Tampilan Hasil Nilai Soal


Ini merupakan gambar halaman soal dan hasil dari soal yang kita
jawab. Setelah kita menekan tombol submit maka akan langsung keluar
identifikasi dari jawaban kita, akan terlihat mana jawaban yang kita
jawab salah dan benar
2) Script Program Tampilan Halaman Soal
#!C:\Python37\python
import cgi
print("""Content-type: text/html\r\n\r\n
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Profil.py">Home</a></li>
<li><a href="">Resource</a></li>
<li><a href="">Student</a></li>
<li><a
href="pilih_soal.py">Exercise
</a></li>
<li><a href="galeri.py">Gallery
</a></li>
<li><a href="contact.py">Contact
Us</a></li>
</ul>
</div>
<div class="out">
<div class="content_title">
<label> Matkul: Ergonomi Industri
</label>
</div>
</div>
<div class="out">
<div class="content">
125

<br>
<form action="latihan_ergo_
proses.py" method="post">
1. Jenis pelindung apa yang
sering digunakan bengkel
pemesinan? <br>
<input type="radio"
name="soal_one" value="0">
A. Pelindung dengan jarak <br>
<input type="radio" name="soal_one"
value="1">
B. Alat pelindung mekanik <br>
<input type="radio"
name="soal_one" value="2">
C. Peralatan pendeteksi <br>
2. Dalam keselamatan dan
kesehatan kerja, sebutkan 3
pencemaran akibat industri...
<br>
<input type="radio" name="soal_two"
value="0">
A. Pencemaran udara, pencemaran
air, pencemaran tanah <br>
<input type="radio" name="soal_two"
value="1">
B. Pencemaran keadaan, pencemaran
air, pencemaran suhu <br>
<input type="radio" name="soal_two"
value="2">
C. Pencemaran udara, pencemaran
keadaan, pencemaran tanah <br>
3. Hal-hal yang dapat menimbulkan
kecelakaan kerja secara pesawat
tenaga produksi... <br>
<input type="radio"
name="soal_three" value="0">
A. Operator mesin <br>
<input type="radio"
name="soal_three" value="1">
B. Perlengkapan mesin <br>
<input type="radio"
name="soal_three" value="2">
C. Mesin gergaji bandar tanpa
pendorong kayu <br>
4. Apakah yang bukan faktor
lingkungan yang menyebabkan
penyakit sebelum diterapkan oleh
pembina P2K3... <br>
<input type="radio"
name="soal_four" value="0">
A. Golongan fisik <br>
<input type="radio"
name="soal_four" value="1">
B. Golongan kimia <br>
<input type="radio"name="soal_four"
value="2">C. Golongan
kapis <br>
5. Pengertian keselamatan kerja
secara etimologi adalah... <br>
<input type="radio"
name="soal_five" value="0">A. Ilmu
pengetahuan dan penerapannya dalam
upaya mencegah dan
mengurangi kecelakaan kerja <br>
126

<input type="radio"
name="soal_five" value="1">B. Suatu
upaya perlindungan tenaga kerja
<br>
<input type="radio"
name="soal_five" value="2">C. Upaya
agar produksi tidak terganggu <br>

<input type="submit"
value="SUBMIT">
<a href="pilih_soal.py">CANCEL</a>
</form>
</div>
</div>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018
</i></p>
</footer>
</body>
</html>
""")

3) Script Program Scoring


#!C:\Python37\python
import cgi

form = cgi.FieldStorage()
ks_1 = int(form.getvalue('soal_one'))
ks_2 = int(form.getvalue('soal_two'))
ks_3 = int(form.getvalue('soal_three'))
ks_4 = int(form.getvalue('soal_four'))
ks_5 = int(form.getvalue('soal_five'))
print("""Content-type: text/html\r\n\r\n
<html>
<head>
<title>Teknik Industri UMS 2018</title>
<link rel="stylesheet" type="text/css"
href="cssazi.css"/>
</head>
<body>
<header>
<img src="ums.png" height="100px"
width="auto">
<img src="prodi.png" width="auto"
height="100px">
</header>
<div class="menu">
<ul>
<li><a
href="Profil.py">Home
</a></li>
<li><a
href="resource.py">Resource
</a></li>
<li><a
href="student.py">Student
</a></li>
<li><a href="pilih_soal.py">
Exercise</a></li>
<li><a href="galeri.py">
Gallery</a></li>
<li><a href="contact.py">
Contact Us</a></li>
</ul>
127

</div>
<div class="out">
<div class="content_title">
<label>Latihan Mata Kuliah
Teknik Industri</label>
</div>
</div>
<div class="out">
<div class="content">
""")

print("Jawaban Soal Nomor 1")


if ks_1 == 1:
print("JAWABAN ANDA BENAR<br><br>")
nilai = 5
else:
print("JAWABAN ANDA SALAH<br><br>")
print("Jawaban Soal Nomor 2")
if ks_2 == 0:
print("JAWABAN ANDA BENAR<br><br>")
nilai += 5
else:
print("JAWABAN ANDA SALAH<br><br>")
print("Jawaban Soal Nomor 3")
if ks_3 == 0:
print("JAWABAN ANDA BENAR<br><br>")
nilai += 5
else:
print("JAWABAN ANDA SALAH<br><br>")
print("Jawaban Soal Nomor 4")
if ks_4 == 2:
print("JAWABAN ANDA BENAR<br><br>")
nilai += 5
else:
print("JAWABAN ANDA SALAH<br><br>")
print("Jawaban Soal Nomor 5")
if ks_5 == 2:
print("JAWABAN ANDA BENAR<br><br>")
nilai += 5
else:
print("JAWABAN ANDA SALAH<br><br>")
print("<b>NILAI AKHIR",nilai*4,"<b>")
print("""
<br><br><br>
<a href = "pilih_soal.py">KEMBALI</a>
</div>
</div>
<footer>
<p align="center"><i> copyright &copy; M.
Chaeruddin Azizi D600180073 Industri 2018
</i></p>
</footer>
</body>
</html>
""")
128

4) Analisis Script Proses Scoring


Tabel 5.5 Analisi Proses Scoring
Script Keterangan
Digunakan untuk
print("<b>NILAI
AKHIR",nilai*4,"<b>") mendefinisikan bahwa nilai
akhir = nilai dikali 4
import cgi Untuk mengimport cgi
<li><a href="contact.py" Digunakan untuk
Contact Us</a></li>
menghubungkan ke halaman
contact us
129

B. Penutup
1. Kesimpulan
Dari praktikum web python ini praktikan dapat menyimpulkan beberapa
hal:
a. Web merupakan program yang menampilkan data berupa teks, gambar,
suara, animasi, dan multimedia lainnya dimana diantara data-data
tersebut saling terkait dan berhubungan satu sama lain dengan yang
lainnya.
b. Website merupakan tempat penyimpanan data dan informasi
berdasarkan topik tertentu. Website diibaratkan seperti buku yang berisi
topik tertentu.
c. WWW(World Wide Web) merupakan kumpulan web server dari seluruh
dunia yang berfungsi untuk menyediakan data dan informasi dan dapat
diakses bersama-sama
d. CGI(Common Gateway Interface) merupakan suatu metode standar
yang digunakan untuk komunikasi antara web client dan web server
e. Tabel data buku ini adalah program web python yang didalamnya berisi
tentang resensi buku yang telah saya cari pada tugas tambahan pratikum
modul ini.
f. Buku adalah sekumpulan lembaran yang berisi informasi atau cerita
yang ditulis oleh pengarang dan diterbitkan sehingga dapat dibaca oleh
para pembaca.

2. Saran
Dari praktikum web python ini praktikan dapat memberikan beberapa
saran seperti:
a. Praktikan diharap tidak muda pantang menyerah dalam mengerjakan
penugasan
b. Praktikan diharap mencatat script yang ada saat pratikum
c. Praktikan diharap datang sebelum waktu praktikum dimulai
d. Praktikan harus menjaga kebersihan laboratorium.
e. Praktikan diharap meyiapkan perlengkapan sebelum asistensi
f. Praktikum sebaiknya waktunya di perpanjang
DAFTAR PUSTAKA

Ahona, Rian . 2013.”Belajar HTML dan CSS Tutorial Fundamental dalam


mempelajari HTML dan CSS”(E-Book), https://WWW.AHONA.NET.
Diakses 16 mei 2019.
Batubara, Febrin Aulia. 2012. Perancangan Website pada PT. Ratu Enima.
Palembang. Jurnal Ilmu Pengetahuan dan Teknologi Terapan. Vol
7,No.1(17)
Fauzia, A, Putra A, dan Afrianto, T. 2018. Analisis Perbandingan Performa Web
Service Menggunakan Bahasa Pemograman Python, PHP, dan Perl pada
Client Berbasis Android. Jurnal Pengembangan Teknologi Informasi dan
Ilmu Komputer. Vol 2,No 1,Hal:239-249
Hartoto. 2010. Dasar Pemahaman VB 6. http://www.ripiu.com/article/read/dasar-
pemahaman-vb6 (diakses 12 Oktober 2011).
Octovhiana, K.D. 2003. Cepat Mahir Visual Basic
6. http://ilmukomputer.org/2008/11/25/cepat-mahir-visual-basic-6/ (diakses
12 Oktober 2011).
Ramadhan, Arief. 2004. Seri Penuntun Praktis Microsoft Visual Basic 6.0. PT Elex
Media Komputindo : Jakarta.
Setyadi. 2008. Mengenal Visual Basic. http://oke.or.id.
Supardi, Y. 2006. Microsoft Visual Basic 6.0 untuk Segala Tingkat. PT Elex Media
Komputindo : Jakarta.
Sutedjo, B dan AN, Michael. 1997. Algoritma & Teknik Pemrograman. Andi :
Yogyakarta.

130
LAMPIRAN

FOTO PENGAMBILAN DATA MAHASISWA

DATA TUGAS AKHIR/KERJA PRAKTIK


N Judul Penulis NIM Tahu Dosen
o n Pembimbing
1 PEMETAAN DAN Eko D60011000 2016 Much.
PENGEMBANGAN Bakdiyono 6 Djunaidi, ST,
KLASTER MT
INDUSTRI MEBEL
MENGGUNAKAN
ANALISIS SWOT
2 ANALISIS FAKTOR Virna D60014014 2018 Much.
PRIORITAS DAN Septiana 7 Djunaidi, ST,
PENILAIAN Devi MT
KINERJA Kumaraningr
PERAWAT um
BANGSAL RAWAT
INAP RSJD
SURAKARTA
DENGAN METODE
INTEGRASI UMPAN
BALIK 360
DERAJAT DAN AHP
(ANALYTICAL
HIERARCHY
PROCESS)
3 ANALISIS BEBAN Nadya Zahro D60014015 2018 Dr. Indah
KERJA MENTAL Aimi 2 Pratiwi,ST,
DAN KEBUTUHAN MT
TENAGA
N Judul Penulis NIM Tahu Dosen
o n Pembimbing
KERJA PERAWAT
BANGSAL
SUMBODRO
DENGAN METODE
NASA-TLX DAN
WORKLOAD
INDICATOR
STAFFING NEED
(WISN)
4 PERANCANGAN Febrina D60014013 2018 Ratnanto
ALAT PENGIRIS Agusti 3 Fitriadi,ST,
MUCUNA PRURIENS MT
MENGGUNAKAN
METODE REVERSE
ENGINEERING
DI UKM TEMPE
KERIPIK SRI
WENING
5 ANALISIS DAN Khoiruman D60014000 2018 Hafidh
PENENTUAN Yusuf 8 Munawir,ST,
STRATEGI MITIGASI Sufiarso M.Eng
RISIKO PADA
PROSES
PRODUKSI PRODUK
OLAHAN UBI JALAR
(IPOMOEA BATATAS
L)
6 PENERAPAN Yusuf D60009003 2018 Much.
KONSEP CDIO PADA Bachtiar 1 Djunaidi, ST,
PRAKTIKUM MT
PEMROGRAMAN
KOMPUTER
SEBAGAI MEDIA
PEMBELAJARAN
KREATIF DAN
APLIKATIF
7 IMPLEMENTASI Muhammad D60013009 2018 Hari
JOINT ECONOMIC Ikhsan Rifai 1 Prasetyo,ST,
LOT-SIZING GUNA MT, Ph.D
MENGOPTIMALKAN
TOTAL BIAYA
VENDOR DAN
BUYER
8 PERBAIKAN Aprilia Dwi D60014010 2018 Dr.Indah
METODE KERJA Anggraini 8 Pratiwi,ST,
MT
N Judul Penulis NIM Tahu Dosen
o n Pembimbing
UNTUK
MENINGKATKAN
PRODUKTIVITAS
DENGAN
MENGGUNAKAN
MOTION STUDY DAN
PENERAPAN 5S

9 ANALISIS URUTAN DYAH D60014000 2018 Ida


PEMBONGKARAN AJENG 2 Nursanti,ST,
PRODUK WHEKA S. MT,M.Eng
MENGGUNAKAN
METODE
DISASSEMBLY
SEQUENCE
PLANNING DENGAN
DISASSEMBLY LEVEL
MATRIX
1 EVALUASI BEBAN ANDIKA D 600 140 2018 Eko
0 DAN POSTUR KURNIAW 103 Seriawan,ST,
KERJA PADA AN MT,Ph.D
PROSES
PRODUKSI ROTI
DENGAN
PENDEKATAN
ERGONOMI
FOTO PENGAMBILAN KERJA PRAKTEK/TUGAS AKHIR
c
DATA DAFTAR BUKU

N JUDUL PENGARANG TAHU PENERBIT HARG


O N A
TERBI (RP)
T
1 Kitab Jubilee 2018 Elex Media 49.500
YOUTUBER Enterpise Komputind
o
2 Cepat, Praktis, Jefferly 2018 Elex Media 53.900
dan Gratis Helianthuasonfr Komputind
Membuat i o
Website
3 Mohammad Dadi Purnama 2017 Second 85.000
Salah Eksan Hope
“You’ll Never
Gonna Stop Him”
4 FRANCESCO Joseph 2017 Second 60.000
TOTTI Sebastian Hope
5 Saya Zlatan, David 2017 KPG 85.000
Kisah Saya di Langercrantz Gramedia
Dalam dan Luar
Lapangan
6 Steven Gerard: Steven Gerrard 2017 KPG 100.000
Kisah Saya Gramedia
7 Kita Hari ini 20 Redaksi KPG & 2018 KPG 125.000
Tahun Lalu Penerbit Gramedia
Kompas
8 Islam di Langit M. Sya’roni 2019 IRCISOD 52.000
Turki Fofii
9 Enaknya Puthut EA 2018 Shira Media 69.000
Berdebat Dengan
Orang Goblok
10 KORUPSI B. Herry 2018 Gramedia 165.750
Melacak Arti, Priyono Pusaka
Menyimak Utama
Implilikasi
11 Gusdur, Islam Ahmad Suaedy 2018 Gramedia 182.750
Nusantara & Pusaka
Kewarganegaraan Utama
Bineka
12 Humor Jurnalistik Mahbub 2018 IRCISOD 85.000
Djunaidi
13 Anti Panik Asti Musman 2018 Anak Hebat 50.000
Berbicara di Indonesia
Depan Umum
c

N JUDUL PENGARANG TAHU PENERBIT HARG


O N A
TERBI (RP)
T
14 Kambing Jantan Raditya Dika 2017 Gagasmedia 61.000
15 Koala Kumal Raditya Dika 2015 Gagasmedia 66.000
16 Cinta Raditya Dika 2006 Gagasmedia 28.000
Brontosaurus
17 Ubur-Ubur Raditya Dika 2017 Gagasmedia 66.000
Lembur
18 Manusia Raditya Dika 2017 Gagasmedia 66.000
Setengah Salmon
19 Marmut Merah Raditya Dika 2017 Gagasmedia 60.000
Jambu
20 Radikus Makan Raditya Dika 2017 Gagasmedia 63.000
Kukus
21 Luka Eki Lesmana 2017 Media Kita 65.000
22 Petualangan ke Thomas Utomo 2019 Indiva 39.000
Tiga Negara Media
Kreasi
23 11.11 Fiersa Besari 2018 Agromedia 74.800
Pustaka
24 Kita Renita Nozaria 2018 Ikon Group 89.000
25 Aku Bisa Kaya: Papyrus 2108 M&C 95.000
Tepat Memakai
Uang
26 #Berhentidikamu dr. Gia Pratam 2018 Mizania 69.000
27 Tentang Kamu Tere Liye 2016 Republika 85.000
Penerbit
28 Dia adalah Tere Liye 2018 Republika 72.250
Kakakku Penerbit
29 Si Anak Spesial Tere Liye 2018 Republika 59.500
Penerbit
30 Si Anak Kuat Tere Liye 2018 Republika 66.300
Penerbit
31 Si Anak Tere Liye 2018 Republika 70.500
Pemberani Penerbit
32 Si Anak Pintar Tere Liye 2018 Republika 59.500
Penerbit
33 Komet Tere Liye 2018 Gramedia 76.000
Pusaka
Utama
34 Ceros dan Tere Liye 2018 Gramedia 76.000
Batozar Pusaka
Utama
c

N JUDUL PENGARANG TAHU PENERBIT HARG


O N A
TERBI (RP)
T
35 Bintang Tere Liye 2017 Gramedia 70.400
Pusaka
Utama
36 Pulang Tere Liye 2018 Republika 63.750
Penerbit
37 Harga Sebuah Tere Liye 2017 Republika 60.350
Percaya Penerbit
38 Hafalan Surat Tere Liye 2009 Republika 57.000
Delisa Penerbit
39 Rindu Tere Liye 2014 Republika 67.150
Penerbit
40 Sepotong Hati Tere Liye 2012 Mahaka 42.500
Yang Baru Publishing
41 Rembulan Tere Liye 2009 Republika 58.650
Tenggelam di Penerbit
Wajahmu
42 Bulan Tere Liye 2016 Gramedia 76.000
Pusaka
Utama
43 Bumi Tere Liye 2106 Gramedia 82.400
Pusaka
Utama
44 Matahari Tere Liye 2016 Gramedia 80.750
Pusaka
Utama
45 Sunset & Rosie Tere Liye 2016 Mahaka 58.650
Publishing
46 Cinta Laki-laki Asma Nadia 2017 Asma Nadia 59.000
Biasa Publisher
47 Surga Yang Tak Asma Nadia 2014 Asma Nadia 59.000
di Rindukan Publisher
48 Rumah Tanpa Asma Nadia 2017 Pt.Pusaka 57.000
Jendela Abdi
Bangsa
49 Assalamualaikum Asma Nadia 2014 Noura 54.000
, Beijing! Books
50 Dokter Yang Asma Nadia 2018 Republika 75.000
Dirindukan Penerbit
FOTO PENGAMBILAN DATA BUKU
Foto Bersama Buku

Foto Cover Buku

Anda mungkin juga menyukai