= 0
a = 1
b for i in range(10):
print(a)
= a + b
c = b
a = c b
0
1
1
2
3
5
8
13
21
34
Review Session for Midterm Exam
Aslab Mata Kuliah Praktikum Algoritma dan Pemrograman
October 10, 2024
Kembali ke Mata Kuliah Praktikum Algoritma dan Pemrograman
Atas kesepakatan dengan dosen, asisten lab mengadakan pertemuan praktikum berisi review materi UTS untuk mata kuliah Prak Alprog (Praktikum Algoritma dan Pemrograman). Konsep review di sini adalah sekaligus latihan, yaitu mengerjakan soal sembari mengingat materi Prak Alprog.
Soal-soal berikut, serta solusinya, telah disiapkan sepenuhnya oleh aslab, berdasarkan materi Prak Alprog yang sebelumnya telah diajarkan oleh dosen. Kami harap sesi review ini bermanfaat :)
Buat program yang mencetak 10 angka pertama dalam barisan Fibonacci
Barisan Fibonacci:
0, 1, 1, 2, 3, 5, 8, 13, 21, …
Buat program untuk menentukan kuadran titik berdasarkan koordinat (x, y) yang dimasukkan
x = float(input("Masukkan nilai x = "))
y = float(input("Masukkan nilai y = "))
if x > 0 and y > 0:
print("Kuadran I")
elif x < 0 and y > 0:
print("Kuadran II")
elif x < 0 and y < 0:
print("Kuadran III")
elif x > 0 and y < 0:
print("Kuadran IV")
else:
print("Titik berada di sumbu")
Masukkan nilai x = 1
Masukkan nilai y = 2
Kuadran I
Buatlah program yang dapat menghitung banyaknya setiap huruf vokal yang ada dalam suatu string.
mystring = 'halo gais'
a = 0
i = 0
u = 0
e = 0
o = 0
for character in mystring:
if character == 'a':
a = a + 1
elif character == 'i':
i = i + 1
elif character == 'u':
u = u + 1
elif character == 'e':
e = e + 1
elif character == 'o':
o = o + 1
print('a =', a)
print('i =', i)
print('u =', u)
print('e =', e)
print('o =', o)
a = 2
i = 1
u = 0
e = 0
o = 1
Buat program yang menerima n angka dari pengguna dan menghitung rata-ratanya.
n = int(input("Masukkan banyak angka = "))
jumlah = 0
for i in range(n):
num = float(input("Masukkan angka ke-" + str(i + 1) + " = "))
jumlah += num
rata_rata = jumlah / n
print("Rata-rata adalah:", round(rata_rata, 2))
Masukkan banyak angka = 5
Masukkan angka ke-1 = 1
Masukkan angka ke-2 = 9
Masukkan angka ke-3 = 4
Masukkan angka ke-4 = 8
Masukkan angka ke-5 = 3
Rata-rata adalah: 5.0
Buat program yang meminta pengguna untuk memasukkan 5 angka, menyimpannya dalam list, dan menghitung faktorial dari setiap angka dalam list.
list_angka = []
for i in range(5):
n = int(input("Masukkan angka ke-" + str(i + 1) + " = "))
faktorial = 1
for j in range(1, n + 1):
faktorial *= j
list_angka.append(faktorial)
print("Faktorial dari angka dalam list adalah:", list_angka)
Masukkan angka ke-1 = 1
Masukkan angka ke-2 = 2
Masukkan angka ke-3 = 3
Masukkan angka ke-4 = 4
Masukkan angka ke-5 = 5
Faktorial dari angka dalam list adalah: [1, 2, 6, 24, 120]
Buatlah program dengan while loop yang dapat menghitung faktorial dari bilangan bulat yang diinput oleh user.
Buatlah program yang dapat menampilkan list yang berisi elemen-elemen unik dari suatu list yang diberikan.
Diberikan 2 list dengan panjang yang sama. Hitunglah dot product dari kedua list tersebut.
Diberikan 3 titik yang masing-masing dalam bentuk array 1 dimensi dengan 2 elemen. Hitunglah keliling dari segitiga yang dibentuk dari 3 titik tersebut.
import numpy as np
titik1 = np.array([1,2])
titik2 = np.array([2,3])
titik3 = np.array([-1,4])
sisi1 = np.sqrt((titik1[0]-titik2[0])**2 + (titik1[1]-titik2[1])**2)
sisi2 = np.sqrt((titik1[0]-titik3[0])**2 + (titik1[1]-titik3[1])**2)
sisi3 = np.sqrt((titik2[0]-titik3[0])**2 + (titik2[1]-titik3[1])**2)
keliling = sisi1 + sisi2 + sisi3
print(keliling)
Diberikan suatu matriks berukuran nxn dalam bentuk array 2 dimensi. Buatlah matriks baru dari matriks yang diberikan dengan ketentuan:
Jika n genap, maka tukar baris pertama matrik dengan baris terakhir matriks
Jika n ganjil, maka tukar naris pertama matriks dengan baris tengah matriks
Kemudian, hitung hasil perkalian dari kedua matriks tersebut.
import numpy as np
A = np.array([[1,2,3],[4,5,6],[7,8,9]])
print('A =', A)
B = A.copy()
n = len(A)
if n % 2 == 0:
temp = B[0].copy()
B[0] = B[n-1]
B[n-1] = temp
print('B =', B)
else:
tengah = n//2
temp = B[0].copy()
B[0] = B[tengah]
B[tengah] = temp
print('B =', B)
hasilkali = np.matmul(A, B)
print('AxB =', hasilkali)
A = [[1 2 3]
[4 5 6]
[7 8 9]]
B = [[4 5 6]
[1 2 3]
[7 8 9]]
AxB = [[ 27 33 39]
[ 63 78 93]
[ 99 123 147]]
Buat program yang menerima input berupa 5 bilangan bulat, simpan dalam array, lalu tentukan berapa banyak bilangan prima di dalam array tersebut.
# Meminta input dari pengguna untuk 5 bilangan bulat
list_angka = []
for i in range(5):
n = int(input("Masukkan bilangan bulat ke-" + str(i + 1) + " = "))
list_angka.append(n)
# Menghitung jumlah bilangan prima
jumlah_prima = 0
for n in list_angka:
if n < 2:
continue
else:
for i in range(2, n):
if n % i == 0:
break
else: # Jika angka adalah prima
jumlah_prima += 1 # Tambah jumlah bilangan prima
break
print("Jumlah bilangan prima dalam array adalah:", jumlah_prima)
Masukkan bilangan bulat ke-1 = 3
Masukkan bilangan bulat ke-2 = 4
Masukkan bilangan bulat ke-3 = 4
Masukkan bilangan bulat ke-4 = 5
Masukkan bilangan bulat ke-5 = 6
Jumlah bilangan prima dalam array adalah: 2
# Meminta input dari pengguna untuk 5 bilangan bulat
list_angka = []
for i in range(5):
n = int(input("Masukkan bilangan bulat ke-" + str(i + 1) + " = "))
list_angka.append(n)
# Menghitung jumlah bilangan prima
jumlah_prima = 0
for n in list_angka:
if n < 2:
continue # Angka kurang dari 2 tidak dianggap prima
prima = True # Anggap angka adalah prima
for i in range(2, n):
if n % i == 0: # Jika angka dapat dibagi habis oleh i
prima = False # Angka bukan prima
break # Keluar dari loop jika bukan prima
if prima: # Jika angka adalah prima
jumlah_prima += 1 # Tambah jumlah bilangan prima
print("Jumlah bilangan prima dalam array adalah:", jumlah_prima)
Masukkan bilangan bulat ke-1 = 1
Masukkan bilangan bulat ke-2 = 2
Masukkan bilangan bulat ke-3 = 3
Masukkan bilangan bulat ke-4 = 4
Masukkan bilangan bulat ke-5 = 5
Jumlah bilangan prima dalam array adalah: 3
Buatlah program yang meminta pengguna untuk memasukkan harga dan diskon untuk n produk. Diskon dihitung dalam persen. Program harus menghitung harga akhir setelah diskon.
# Inisialisasi list untuk harga dan diskon
harga_produk = []
diskon_produk = []
# Input harga dan diskon
n = int(input("Masukkan banyak produk = "))
for i in range(n):
harga = float(input("Masukkan harga produk ke-" + str(i + 1) + " = "))
diskon = float(input("Masukkan diskon produk ke-" + str(i + 1) + " = "))
harga_produk.append(harga)
diskon_produk.append(diskon)
# Hitung harga akhir dan harga akhir total
harga_akhir_total = 0
for i in range(n):
harga_akhir = harga_produk[i] * (1 - (diskon_produk[i] / 100))
harga_akhir_total += harga_akhir
print("Harga akhir produk ke-" + str(i + 1) + " adalah = " + str(harga_akhir))
print("Harga total semua produk adalah = ", harga_akhir_total)
Masukkan banyak produk = 3
Masukkan harga produk ke-1 = 300000
Masukkan diskon produk ke-1 = 25
Masukkan harga produk ke-2 = 150000
Masukkan diskon produk ke-2 = 10
Masukkan harga produk ke-3 = 175000
Masukkan diskon produk ke-3 = 15
Harga akhir produk ke-1 adalah = 225000.0
Harga akhir produk ke-2 adalah = 135000.0
Harga akhir produk ke-3 adalah = 148750.0
Harga total semua produk adalah = 508750.0