Anda di halaman 1dari 12

lOMoARcPSD|5982412

Laporan Praktikum Pemrograman Kompuer - 08

Praktikum Pemrograman Komputer (Universitas Gadjah Mada)

StuDocu is not sponsored or endorsed by any college or university


Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

Laporan Praktikum 08
Praktikum Pemrograman Komputer
Struktur Bercabang
Semester Gasal 2018/2019

Persiapan

1. Jika nama dokumen ini masih Lap0 -PPK- maka klik-lah pada nama tersebut dan
gantilah bagian dengan Nomor Induk Fakultas anda (NIF: 5 angka).
2. Jalankanlah sel di bawah ini dengan menekan kombinasi-tombol [Ctrl-Enter] dan jawablah
dua pertanyaan terkait identitas anda.

In [ ]:

input ' Nama Lengkap Praktikan: '


input ' No.Mhs. NIF: angka : '
print

Nama Lengkap Praktikan: Rizki Novanto


No.Mhs. NIF: angka : 0

Tugas #1: Nilai dan Marka → 25 poin


Seorang guru atau dosen dapat memberi nilai (bilangan) dan marka (huruf) terhadap suatu kuis atau
ujian berdasarkan rentang yang baku yang sudah ditetapkan, sesuai kesepakatan dengan pendidik
lainnya atau berdasarkan pendapat pribadinya. Rentang yang acap dipergunakan dapat berupa nilai-
nilai di antara 0 hingga 10 atau di antara 0 hingga 100; namun tidak menutup kemungkinan sang
guru atau dosen menggunakan rantang yang ditentukannya secara pribadi. Aturan pengubahan
(konversi) dari nilai menjadi marka juga dapat dilakukan berdasarkan standar tertentu, sesuai
kelaziman dalam suatu instansi atau berdasarkan pertimbangan pribadi.

⚙ Pada sel di bawah ini, susunlah program Python lengkap yang dapat membantu seorang
guru/dosen untuk melakukan konversi nilai menjadi marka dari suatu kuis dengan aturan:

Nilai Marka

5 A

4 B

3 C

2 D

1 E

0 K

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 1/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

Ketika program ini dijalankan, pengguna guru/dosen cukup memasukkan nilai (bilangan) seperti
pada kolom kiri tabel di atas dan progam menampilkan marka (huruf) yang sesuai seperti pada
kolom kanan tabel di atas.

Petunjuk: Gunakan struktur pengambilan keputusan (dengan kata-kunci if ) untuk menentukan


marka dari nilai tertentu.

In [ ]:

print 'Nilai dan Marka # '


print '------------------\n'

marka = ['A','B','C','D','E','K']

nilai = int input 'Masukkan nilai nya : '

if nilai == :
print 'Nilai yang Anda masukkan adalah',nilai,'Maka hasil konversinya adalah A
elif nilai == :
print 'Nilai yang Anda masukkan adalah',nilai,'Maka hasil konversinya adalah B
elif nilai == :
print 'Nilai yang Anda masukkan adalah',nilai,'Maka hasil konversinya adalah C
elif nilai == :
print 'Nilai yang Anda masukkan adalah',nilai,'Maka hasil konversinya adalah D
elif nilai == :
print 'Nilai yang Anda masukkan adalah',nilai,'Maka hasil konversinya adalah E
elif nilai == 0 :
print 'Nilai yang Anda masukkan adalah',nilai,'Maka hasil konversinya adalah K
else:
print 'Maaf, nilai yang Anda masukkan salah'

Program Nilai dan Marka #


---------------------------

Masukkan nilai nya :


Nilai yang Anda masukkan adalah Maka hasil konversinya adalah C

⚙ Pada sel di bawah ini, susunlah program Python lengkap yang dapat membantu seorang
guru/dosen untuk melakukan konversi rentang nilai menjadi marka dari suatu ujian dengan aturan:

Rentang Marka

90 - 100 A

80 - 89 A/B

70 - 79 B

60 - 69 B/C

50 - 59 C

40 - 49 C/D

30 - 39 D

0 - 29 E

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 2/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

Ketika program ini dijalankan, pengguna guru/dosen cukup memasukkan suatu nilai di dalam salah
satu rentang seperti pada kolom kiri tabel di atas dan program menampilkan marka yang sesuai
seperti pada kolom kanan tabel di atas.

Petunjuk: Gunakan struktur pengambilan keputusan (dengan kata-kunci if ) untuk menentukan


marka yang bersesuaian dengan nilai yang dimasukkan.

In [ ]:

print 'Nilai dan Marka # '


print '------------------\n'

marka = ['A','A','A/B','B','B/C','C','C/D','D','E','E','E']

nilai = int input 'Masukkan nilai nya :'

if 0<=nilai< 00 :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah A
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah A/
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah B
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah B/
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah C
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah C/
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah D
elif 0<=nilai<= :
print 'Nilai yang Anda masukkan adalah',nilai,'maka hasil konversinya adalah E
else:
print 'Maaf, nilai yang Anda masukkan salah'

Program Nilai dan Marka #


---------------------------

Masukkan nilai nya :


Nilai yang Anda masukkan adalah Maka hasil konversinya adalah D

Tugas #2: Nomor Hari → 25 poin


Hari-hari dalam setahun seringkali diberi nomor dari 1 hingga 365 (ketika tahun yang biasa) atau 366
(ketika tahun kabisat). Penentuan nomor suatu hari tergantung pada nilai-nilai dan bulan tanggal
dari hari yang dimaksud serta harus disesuaikan terhadap bulan yang setelah Februari dan tahun
kabisat. Metode yang dipergunakan untuk menentukan nomor hari terdiri dari 3 langkah di bawah ini
yang semuanya menggunakan operasi-operasi bilangan bulat saja:

1. Gunakan rumus berikut:

nomorHari = 31 × (bulan − 1) + tanggal


http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 3/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

2. Jika bulan dari hari tersebut adalah setelah Februari maka sesuaikan nomorHari (yang
diperoleh pada langkah 1) dengan mengurangkan

(4 × bulan + 23) / 10
3. Jika tahun dari hari tersebut adalah tahun kabisat dan hari tersebut ternyata adalah setelah 29
Februari maka sesuaikan nomorHari
(yang diperoleh pada langkah 2) dengan menambahkan
1.

⚙ Pada sel di bawah ini, susunlah program Python lengkap yang menampilkan nomor hari dari suatu
hari yang diberikan pengguna program. Pada awal pelaksanaan program, pengguna diminta untuk
memberikan tanggal, bulan dan tahun dari hari yang ingin ditentukan nomornya.

Petunjuk: Untuk menentukan apakah tahun dari hari yang ingin ditentukan nomornya adalah tahun
kabisat maka manfaatkan program TahunKabisat.py yang telah anda buat pada Kerja #1 dalam
berkas Lab0 -PPK- .ipynb .

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 4/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

In [ ]:

print 'Nomor Hari'


print '----------\n'

tanggal = int input 'Masukkan tanggal yang Anda inginkan antara sampai : '
bulan = int input 'Masukkan bulan yang Anda inginkan antara sampai : '
tahun = int input 'Masukkan tahun yang Anda inginkan : '

if bulan== :
nomor = * bulan - + tanggal
if tahun% 00 == 0:
if bulan== :
if tanggal> :
nomor = 'Maaf, tanggal Anda tidak dapat diubah karena bulan Februari ha
else:
nomor = * bulan - + tanggal
if bulan> :
nomor = * bulan - + tanggal - *bulan+ // 0 +
elif tahun% 00 != 0 and tahun% 00 == 0:
if bulan== :
if tanggal> :
nomor = 'Maaf, tanggal Anda tidak dapat diubah karena bulan Februari ha
else:
nomor = * bulan- + tanggal
if bulan> :
nomor = * bulan- + tanggal - *bulan+ // 0
elif tahun% 00 != 0 and tahun% 00 != 0 and tahun% == 0:
if bulan== :
if tanggal> :
nomor = 'Maaf, tanggal Anda tidak dapat diubah karena bulan Februari ha
else:
nomor = * bulan- + tanggal
if bulan> :
nomor = * bulan- + tanggal - *bulan+ // 0 +
else:
if bulan== :
if tanggal> :
nomor = 'Maaf, tanggal Anda tidak dapat diubah karena bulan Februari ha
else:
nomor = * bulan- + tanggal
if bulan> :
nomor = * bulan- + tanggal - *bulan+ // 0

print 'Maka nomor hari yang Anda maksud adalah : ',nomor

Program Nomor Hari


------------------

Masukkan tanggal yang Anda inginkan antara sampai :


Masukkan bulan yang Anda inginkan antara sampai :
Masukkan tahun yang Anda inginkan :
Maka nomor hari yang Anda maksud adalah :

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 5/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

Tugas #3: Pencatat Skor Panahan → 30 poin


Sasaran pada olahraga panahan terdiri dari lingkaran tengah berwarna kuning yang dikelilingi oleh
cincin-cincin yang berturut-turut (dari sebelah dalam ke luar) berwarna merah, biru, hitam dan putih.
Cara penentuan skor panahan dengan sasaran berupa lingkaran tengah dan 4 cincin ini disebut
penentuan skor 5-pita (five-band scoring). Skor atau nilai dari masing-masing pita (jika dikenai oleh
anak-panah) diatur sebagai berikut:

Lingkaran tengah menyumbangkan skor 9 poin.


Cincin-cincin lainnya secara berturutan (dari sebelah dalam ke luar) menyumbangkan skor yang
semakin kecil, yakni 2 poin lebih sedikit daripada cincin sebelumnya.
Cincin berwarna putih menyumbangkan skor 1 poin.

⚙ Pada sel di bawah ini, susunlah program Python grafis yang lengkap bernama SkorPanahan.py
yang mencatat skor dari permainan panahan. Untuk menyusun program ini:

Manfaatkan program SasaranPanahan.py yang pernah anda buat pada Kerja #1 dalam
berkas Lab0 -PPK- .py untuk menampilkan gambar sasaran panahan di dalam suatu
jendela grafis.
Berikan pengguna program 5 kali kesempatan untuk memanah dengan menggunakan klik dari
tetikusnya. Setiap kali pengguna memanah, program akan mencatat lokasi tempat
menancapnya anak-panah pada sasaran, yang tidak lain adalah posisi dari klik tetikus.
Tentukan dan tampilkan skor dari masing-masing kesempatan memanah.
Hitung dan tampilkan total skor pada akhir 5 kali kesempatan memanah.

Petunjuk:

1. Jangan lupa menyertakan modul graphics.py di dalam satu folder/direktori yang sama
dengan notebook Lab ini.
2. Meski sasaran panahan dan lokasi anak-panah digambar di dalam jendela grafis, skor dan total
skor dapat ditampilkan pada bagian teks keluaran dari program ini.

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 6/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

In [ ]:

from graphics import *


import math

jend = GraphWin 'Skor Panahan', 00, 00


jend.setBackground 'pink'
jend.setCoords - , - , ,

kata = Text Point 0, ,'Skor Panahan'


kata.draw jend

lingkaranputih = Circle Point 0, 0 ,


lingkaranputih.draw jend
lingkaranputih.setFill 'white'

lingkaranhitam = Circle Point 0, 0 ,


lingkaranhitam.draw jend
lingkaranhitam.setFill 'black'

lingkaranbiru = Circle Point 0, 0 ,


lingkaranbiru.draw jend
lingkaranbiru.setFill 'blue'

lingkaranmerah = Circle Point 0, 0 ,


lingkaranmerah.draw jend
lingkaranmerah.setFill 'red'

lingkarankuning = Circle Point 0, 0 ,


lingkarankuning.draw jend
lingkarankuning.setFill "yellow"

point = 0

for i in range :
titiksasaran = jend.getMouse
x = titiksasaran.getX
y = titiksasaran.getY
A = x ** + y ** ** 0.
if A<= :
q =
print 'Skor Point =', q
elif <A<= :
q =
print 'Skor Point =', q
elif <A<= :
q =
print 'Skor Point =', q
elif <A<= :
q =
print 'Skor Point =', q
elif <A<= :
q =
print 'Skor Point =', q
else:
http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 7/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

q = 0
print 'Skor Point =', q
point = point + q

kata.setText 'Klik sekali lagi untuk mengakhiri program'


jend.getMouse
jend.close

print 'Maka total point yang Anda peroleh :',point

Skor Point =
Skor Point =
Skor Point =
Skor Point =
Skor Point =
Maka total point yang Anda peroleh :

Tugas #4: Menu Pilihan → 20 poin


Suatu program komputer yang kompleks umumnya tersusun dari sejumlah bagian yang masing-
masing melakukan fungsi tertentu. Untuk melaksanakan bagian yang diinginkannya, pengguna
program dapat memilih bagian program yang relevan melalui suatu menu pilihan. Sebagai contoh,
program yang mengolah data secara statistik kemungkinan memiliki menu pilihan dengan isi sebagai
berikut:

1. Pengambilan data dari dalam berkas


2. Penampilan grafik dari data
3. Perhitungan rerata dan simpangan baku dari data
4. Penggolongan data berdasarkan kelas-kelas dari nilainya
5. Penampilan histogram dari data
6. Pembuatan model matematika dari data
7. Pengambilan kesimpulan berdasarkan model
8. Penjelasan tentang program atau bantuan pemakaian program
9. Berhenti menggunakan program

⚙ Berdasarkan menu pilihan di atas, pada sel di bawah ini buatlah program Python lengkap yang
melakukan langkah-langkah berikut ini:

Menampilkan semua pilihan dalam menu dengan setiap pilihan didahului oleh huruf besar
(kapital) yang berurutan.
Menunggu pengguna program hingga ia menentukan pilihannya dengan menekan tombol
papan-ketik yang sesuai dengan huruf besar di depan pilihannya.
Menampilkan suatu string yang mewakili tindakan yang (seakan-akan) dilakukan program sesuai
dengan pilihan pengguna.
Jika pengguna belum memilih berhenti maka program kembali menampilkan menu pilihan dan
menunggu pengguna menentukan pilihan berikutnya.

Contoh cuplikan dari tampilan program:

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 8/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

[A] Ambil data


[B] Tampilkan grafik
[C] Hitung rerata
...
[J] Selesai

Pilihan anda? B

Tindakan: Program menampilkan grafik pencar scatter plot dari data.

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 9/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

In [ ]:

print 'Menu Pilihan'


print '------------\n'

print 'Menu Pengolahan Data secara Statistik'


print '-------------------------------------\n'
print '[A] Mengambil data'
print '[B] Menampilkan grafik'
print '[C] Menghitung rerata dan simpangan baku'
print '[D] Menggolongkan data'
print '[E] Menampilkan histogram'
print '[F] Membuat model matematika'
print '[G] Mengambil kesimpulan'
print '[H] Menjelaskan program'
print '[I] Menghentikan program'
print

x =
while x > 0:
pilihmenu = input 'Masukkan menu yang akan Anda pilih : '
pilihan = pilihmenu.upper
if pilihan == 'A':
print ' Tindakan Program : Pengambilan data dari dalam berkas.'
elif pilihan == 'B':
print 'Tindakan Program : Penampilan grafik dari data.'
elif pilihan == 'C':
print 'Tindakan Program : Perhitungan rerata dan simpangan baku dari data.
elif pilihan == 'D':
print 'Tindakan Program : Penggolongan data berdasarkan kelas-kelas dari ni
elif pilihan == 'E':
print 'Tindakan Program : Penampilan histogram dari data.'
elif pilihan == 'F':
print 'Tindakan Program : Pembuatan model matematika dari data.'
elif pilihan == 'G':
print 'Tindakan Program : Pengambilan kesimpulan berdasarkan model.'
elif pilihan == 'H':
print 'Tindakan Program : Penjelasan tentang program atau bantuan pemakaian
elif pilihan == 'I':
x = 0
print 'Tindakan Program : Berhenti menggunakan program.'
else:
print 'Maaf pilihan Anda tidak ada, mohon kembali memilih menu lainnya.'

print '\nTerimakasih'

Menu Pilihan
------------

Menu Pengolahan Data secara Statistik


-------------------------------------

[A] Mengambil data


[B] Menampilkan grafik
[C] Menghitung rerata dan simpangan baku

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 10/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)
lOMoARcPSD|5982412

1/21/2019 Lap08-PPK-46012

[D] Menggolongkan data


[E] Menampilkan histogram
[F] Membuat model matematika
[G] Mengambil kesimpulan
[H] Menjelaskan program
[I] Menghentikan program

Masukkan menu yang akan Anda pilih : A


Tindakan Program : Pengambilan data dari dalam berkas.
Masukkan menu yang akan Anda pilih : B
Tindakan Program : Penampilan grafik dari data.
Masukkan menu yang akan Anda pilih : C
Tindakan Program : Perhitungan rerata dan simpangan baku dari data.
Masukkan menu yang akan Anda pilih : D
Tindakan Program : Penggolongan data berdasarkan kelas-kelas dari ni
lainya.
Masukkan menu yang akan Anda pilih : E
Tindakan Program : Penampilan histogram dari data.
Masukkan menu yang akan Anda pilih : F
Tindakan Program : Pembuatan model matematika dari data.
Masukkan menu yang akan Anda pilih : G
Tindakan Program : Pengambilan kesimpulan berdasarkan model.
Masukkan menu yang akan Anda pilih : H
Tindakan Program : Penjelasan tentang program atau bantuan pemakaian
programan.
Masukkan menu yang akan Anda pilih : I
Tindakan Program : Berhenti menggunakan program.

Terimakasih

http://localhost:8888/notebooks/Downloads/Lap08-PPK-46012.ipynb 11/11
Downloaded by Teknik Fisika- Multazam Hanifurrahman (multazamh363@mail.ugm.ac.id)

Anda mungkin juga menyukai