Anda di halaman 1dari 6

1/6

Latihan

1. Perhatikan program berikut:


a = ​13
b = a % ​2
c = a // ​2
d = c % ​2
e = c // ​2
f = e % ​2
g = e // ​2
h = g % ​2
i = g // ​2

z = ​1000
y = h * z
x = z // ​10
w = y + f * x
v = x // ​10
u = w + d * v
t = v // ​10
s = u + b * t

print(s)

a. Apa keluaran dari program tersebut? ​1101


b. Apa nilai dari variabel ​w​ ? ​1100
c. Apabila nilai ​a​ diganti menjadi 9, apa keluaran program tersebut? ​1001
d. Tentukan nilai ​a​ sehingga output program adalah ​1111​. ​15, 31, 63
e. Apa yang sebenarnya dilakukan program tersebut? ​Konversi desimal ke biner

2. Ubah program pada soal nomor 1 menjadi menggunakan konsep ​while loop​!
Pastikan output program sama persis untuk input bilangan bulat positif!

a = ​9
b = ​0
z = ​1
a = a % ​16
while​ a > ​0​:
b += ((a % ​2​) * z)
z *= ​10
a //= ​2

print​(b)

YE
2/6

3. Perhatikan program berikut:


n = ​13
i = ​0

while​ n != ​1​:
i += ​1
print(n)
​if​ n % ​2​ == ​1​:
n = ​3​*n + ​1
​else​:
n //= ​2

print(n, i)

a. Apa keluaran dari program tersebut?


13
40
20
10
5
16
8
4
2
19

b. Tentukan nilai ​n​ sehingga nilai ​i​ di akhir program adalah 6! 1


​ 0
c. Tentukan nilai ​n​ sehingga nilai ​i​ di akhir program adalah 15! ​215

YE
3/6

4. Perhatikan program berikut:


ras = ​'persia'
warna = ​'hitam'
umur = ​'dewasa'

if​ ras == ​'persia'​ ​and​ warna == ​'hitam'​:


print(​'jonny'​)
elif​ umur == ​'dewasa'​:
print(​'bukan puppy'​)
elif​ ras == ​'persia'​:
print(​'farsi'​)
if​ warna == ​'hitam'​:
print(​'blacky'​)

a. Apa keluaran dari program tersebut?


jonny
blacky
b. Ubah nilai dari satu variabel agar keluaran program adalah:
bukan puppy
blacky
Ubah variabel ​ras ​menjadi apa pun yang penting bukan ​persia

5. Perbaiki kesalahan program berikut:


ras = input()
warna = input()
umur = input()

if​ ras == ​'persia'​ ​or​ '


​ anggora'​ ​and​ umur == ​'dewasa'​:
if​ ras == ​'persia'​ ​or​ ras == ​'anggora'​ ​and​ umur == ​'dewasa'​:
print(​'angel'​)
elif​ ras == ​'kampung'​ a ​ nd​ warna == ​'hitam'​:
print(​'yogi'​)

Agar memenuhi input-output berikut:


ras warna umur output

persia merah dewasa angel

kampung hitam dewasa yogi

YE
4/6

6. Lengkapi potongan program berikut:


a = ​10
b = a + ​20
……………………………
print(a, b, c, sep=’’)

Agar output program:


30
10

a, b, c = b, ​'​\n​'​, a

7. Tentukan output dari program berikut:


a = ​20
while​ a > ​17​:
print(a)
a -= ​1
else​:
print(​0​)

while​ a != ​17​:
print(a)
a -= ​1
else​:
print(​0​)

20
19
18
0
0

YE
5/6

8. Perhatikan program berikut:

a = int(input())
b = int(input())
c = int(input())

if​ a < b:
​if​ b < c:
​if​ c > a:
print(‘yes’)

Ubah program tersebut menjadi hanya 2 baris kode saja! Pastikan output program yang
baru sama persis dengan output program yang lama.

a, b, c = ​int​(​input​()), ​int​(​input​()), ​int​(​input​())


print​(​'yes'​ ​if​ a < b < c ​else​ ​''​, ​end​=​''​)

9. Buatlah program yang memberikan output berikut:


2 5 8 11 14 17 20 23 26 29 32 35 38

for​ i ​in​ ​range​(​2​, ​40​, ​3​):


​print​(i, ​end​=​' '​)
print​()

YE
6/6

10. Perhatikan program berikut:


n = int(input())

is_found = ​False
z = ​1

for​ i ​in​ range(​1​, n):


x = int(input())
​if​ x != z:
​if​ ​not​ is_found:
z = i
is_found = ​not​ is_found
z += ​1
​else​:
z += ​1

print(z)

Program tersebut meminta user untuk berhitung dari 1 sampai ​n​. Akan tetapi user juga
diminta untuk melewati satu angka. Program diminta untuk mencetak angka yang
dilewati oleh user. Sayangnya program tersebut masih salah. ​Perbaiki program tersebut​!

Contoh input Output yang diharapkan

6 4
1
2
3
5
6

4 1
2
3
4

5 5
1
2
3
4

YE

Anda mungkin juga menyukai