Anda di halaman 1dari 7

LAPORAN PRAKTIKUM

ALGORITMA DAN STRUKTUR DATA


MODUL 1

Nama : Dony Randy Alvian


NIM : L200150089
Kelas : E

PROGDI INFORMATIKA
UNIVERSITAS MUHAMMADIYAH SURAKARTA
#1
def cetakSiku(x):
for i in range(x): #Pengulangan untuk total *
print (i+1)*'*'

#2
def gambarlahPersegiEmpat(t,l):
for i in range(t): #Menentukan tinggi
print l*'@' #menampilkan @ susuai lebar dibaris pertama
for j in range(t+1-3): #menentukan jumlah baris ke 2 untuk
memberikan spasi
print '@'+(l-2)*' '+'@' #menampilkan @ dengan spasi ditengahnya
print l*'@' #mencetak @ susuai lebar di baris terakhir
break # menghentikan program

#3 A
def jumlahHurufVokal(hrf):
vokal = 'aiueoAIUEO' #sebagai panutan untuk huruf vokalnya
b=0 #variabel tempan tersimpannya jumlah huruf vokal dari hrf
hasil = 0 #variabel total dari jumlah hrf dan jumlah huruf vokalnya
for i in hrf: #memberikan perulangan sesuai hrf
if i in vokal: #mengecek apakah huruf vokal pada hrf terdapat pada
variable vokal
b += len(i) #setiap menemukan huruf vokal akan otomatis
ditambahkan
else: #jika tidak
b +=0 #jumlah huruf vokal yang terdapat di variabel b
ditambahkan 0
hasil = len(hrf),b #variabel yang menyimpan jumlah hrf dan jumlah vokal
dari variabel b
return hasil #menampilkan variabel hasil

#3 B
def jumlahHurufKonsonan(hrf):
vokal = 'aiueoAIUEO' #sebagai panutan untuk huruf vokalnya
b=0 #variabel tempan tersimpannya jumlah huruf vokal dari hrf
hasil = 0 #variabel total dari jumlah hrf dan jumlah huruf vokalnya
for i in hrf: #memberikan perulangan sesuai hrf
if i in vokal: #mengecek apakah huruf vokal pada hrf terdapat pada
variable vokal
b += len(i) #setiap menemukan huruf vokal akan otomatis
ditambahkan
else: #jika tidak
b +=0 #jumlah huruf vokal yang terdapat di variabel b
ditambahkan 0
hasil = len(hrf),len(hrf)-b #menampilkan jumlah dari hrf dan
mengurangkan jumlah hrf - jumlah vokal
return hasil #menampilkan variabel hasil
#4
def rerata(n):
jml = 0 #varibel jumlah yang menyimpan nilai 0
for i in range(len(n)): #pengulangan yang diambil sesuai dengan nilai n
jml+= n[i] #setiap nilai pada list akan ditambahkan sesuai index
jml = jml/len(n) #jumlah dari list dibagi dengan jumlah banyaknya pada
list dan disimpan di variabel jml
return jml #menampilkan variable list

#5
from math import sqrt as sq #mengimport sqrt
def apakahPrima(n):
n = int(n) #mengkonversi nilai n menjadi interger

for i in range(2,int(sq(n))+1):
print sq(n)
print i
assert n>=0 #pengecekan terhadap nilai n yang jikaa n kurang dari
samadengan 0 maka program akan berhenti total
primaKecil = [2,3,5,7,9,11] #variabel yang menyimpan nilai prima kecil
bknPrKecil = [0,1,4,6,8,9,10] #variabel yang menyimpan nilai bukan
prima Kecil
if n in primaKecil: #pengecekan apakah nila n ada pada list prima kecil
return True #menampilkan True
elif n in bknPrKecil: #pengecekan apakah nila n ada pada list Bukan
prima kecil
return False #menampilkan False
else: #pengecualian jika kondisi tidak sesuai yang diatas
for i in range(2,int(sq(n))+1): #Pengulangan mulai dari 2 sampai
batas dari akar n
if n%i==0: #cek nilai jika n habis dibagi i sama dengan 0
return False #menampilkan False
return True # menampilkan True

#6
def prim(n):
for i in range(2,n): #perulangan mulai dari 2 sampai nilai n
prima=True #variabel prima ternadapat nilai True
for j in range(2,i): #perulangan dari 2 sampai nilai i
if(i%j==0): #pengecekan nilai i habis dibagi j adalah 0
prima=False #menampilkan False
if(prima): #jika prima sama dengan True
print i, #menampilkan nilai i

#7
def faktorisasiprima(x):
# keluaran variabel factorlist berupa array
factorlist=[] #variabel yang menyimpan nilai list
loop=2 #variabel yang mempunyai nilai 2
while loop<=x: #perulangan sampai loop lebih besan dari x
if x%loop==0: # cek apakah x habis dibagi loop adalah 0
x/=loop #x dibagi terus dengan nilai loop
factorlist.append(loop) #menambahkan nilai dari loop ke list
dari variabel factorlist
else: #jika tidak
loop+=1 #loop ditambah satu
return factorlist #menampilkan factorlist

#8
def terkandung(a,b):
x = True #variabel x menyimpan nilai True
for i in range(len(b)): #perulangan sampai panjang b
if a in b: #cek apakah nilai a ada pada b
x = True #jika ada maka x Berisi nilai True
else: #jika Tidak
x = False #x berisi nilai False
return x #menampilkan isi variabel x

#9
def kelipatan(x):
for i in range(x): #pengulangan sampai nilai x
if(i<=0): #jika nilai i <= 0
pass #melewatinya
elif(i%3==0 and i%5==0): #cek apakah i habis dibagi 3 adalah 0 dan
i habis dibagi 5 adalah 0
print 'Python UMS' #cetak Python UMS
elif(i%3==0): #cek apakah i habis dibagi 3 adalah 0
print 'Python' #menampilkan Python
elif(i%5==0): #cek apakah i habis dibagi 5 adalah 0
print 'UMS' #menampilkan UMS
else: #jika tidak sesuai
print i #menampilkan i

#10
from math import sqrt as akar #mengimport sqrt
def selesaikanABC(a,b,c):
a = float(a) #menjadikan nilai dari a menjadi bilangan pecahan
b = float(b) #menjadikan nilai dari b menjadi bilangan pecahan
c = float(c) #menjadikan nilai dari c menjadi bilangan pecahan
D = b**2 - 4*a*c #menyimpan hasil dari b**2 - 4*a*c di variabel D
x1 = (-b + akar(D))/(2*a) #menyimpan hasil dari (-b + akar(D))/(2*a) di
variabel x1
x2 = (-b - akar(D))/(2*a) #menyimpan hasil dari (-b - akar(D))/(2*a) di
variabel x2
if (x1 <= -1.0 or x2 <=-1.0): #cek apakah nilai x1 atau x2 negatif
s = 'Determinannya Negatif. Persamaan tidak mempunyai akar real'
#menyimpan di variabel s
else: # jika tidak
s =(x1,x2) #menampilkan nilai dari x1 dan x2 di variabel s
return s #menampilkan s

#11
def apakahKabisat(thn):
hsl = False #nilai variable hsl adalah False
if(thn%4==0 and thn%100!=0 and thn%400!=0): #cek apakah thn habis
dibagi 4, dan thn habis dibagi 100 tidak sama dengan 0, dan thn habis
dibagi 400 tidak samadengan 0
hsl = True #nilai variabel hsl diganti dengan True
elif(thn%100==0 and thn%400!=0): #cek Apakah thn habis dibagi 100
samadengan 0, dan thn habis dibagi 400 tidak samadengan 0
hsl = False #mengubah nilai variabel hsl menjadi False
elif(thn%400==0): #cek apakah thn habis dibagi 400 samadengan 0
hsl = True #mengubah variabel hsl emnjadi True
else: #jika tidak ada yang cocok
hsl = False ##mengubah nilai variabel hsl menjadi False
return hsl #menampilkan isi variabel hsl

#12
import random #mengimport random
def tebak():
max = 3 #sebagai nilai maksimal penginputan
start = 1 #awal mulai dari penginputan

x = random.randrange(1,100,1) #mengambil nilai dari 1-100 secara random


while (start <= max): #perulangan sampai start lebih dari max
s = 'masukan nilai inputan ke- '+str(start)+':> '#teks pada inputan
i = input(s) #inputan yang disimpan di variabel i
if(i == x): #cek apakah nilai i samadengan nilai x
print 'ya, Anda Benar' #menampilkan ya, benar
elif(i > x): #cek apakah niali i > x
print 'Itu Terlalu Besar. Coba lagi' #menampilkan Itu Terlalu
Besar. Coba lagi
elif(i<x): #cek apakah nilai i<x
print 'Itu Terlalu Kecil. Coba lagi' #menampilkan Itu Terlalu
Kecil. Coba lagi
start +=1 #menambahkan 1 dari nilai start

#13
def Terbilang(bil):
angka=["","Satu","Dua","Tiga","Empat","Lima",
"Enam","Tujuh","Delapan",
"Sembilan","Sepuluh","Sebelas"] #variabel angka yang berisi
list
Hasil =" " #variabel Hasil yang berisi spasi
n = int(bil) #menkonversi nilai dari bil menjadi interger dan disimpan
divariabel n
if n >= 0 and n <= 11: #cek apakah n lebih dari samadengan 0 dan kurang
dari samadengan 11
Hasil = Hasil + angka[n] #mengambil nilai dari list angka dengan
indek n dan disimpan divariabel Hasil
elif n < 20: #cek apakah n < 20
Hasil = Terbilang(n % 10) + " Belas" #menyimpan nilai dari
Terbilang habis dibagi 10 dan memberikan string Belas disimpan di variabel
Hasil
elif n < 100:#cek apakah n < 100
Hasil = Terbilang(n / 10) + " Puluh" + Terbilang(n % 10) #menyimpan
nilai dari Terbilang dibagi 10 dan memberikan string 'Puluh' dan Terbilang
habis dibagi 10 disimpan di variabel Hasil
elif n < 200:#cek apakah n < 200
Hasil = " Seratus" + Terbilang(n - 100)#menyimpan nilai dari string
'Seratus' dan Terbilang n - 100 disimpan di variabel Hasil
elif n < 1000:#cek apakah n < 1000
Hasil = Terbilang(n / 100) + " Ratus" + Terbilang(n %
100)#menyimpan nilai dari Terbilang dibagi 100 dan memberikan string
'Ratus' dan Terbilang habis dibagi 100 disimpan di variabel Hasil
elif n < 2000 :#cek apakah n < 2000
Hasil = " Seribu" + Terbilang(n - 1000)#menyimpan nilai dari string
'Seribu' dan Terbilang n - 1000 disimpan di variabel Hasil
elif n < 10000 :#cek apakah n < 10000
Hasil = Terbilang(n / 1000) + " Ribu" + Terbilang(n %
1000)#menyimpan nilai dari Terbilang dibagi 1000 dan memberikan string
'Ribu' dan Terbilang habis dibagi 1000 disimpan di variabel Hasil
elif n < 20000 :#cek apakah n < 20000
Hasil = ' Sepuluh Ribu' + Terbilang(n - 10000)#menyimpan nilai dari
string 'Sepuluh Ribu' dan Terbilang n - 10000 disimpan di variabel Hasil
elif n < 100000 :#cek apakah n < 100000
Hasil = Terbilang(n / 10000) + " Puluh" + Terbilang(n %
10000)#menyimpan nilai dari Terbilang dibagi 10000 dan memberikan string
'Puluh' dan Terbilang habis dibagi 10000 disimpan di variabel Hasil
elif n < 200000 :#cek apakah n < 200000
Hasil = ' Seratus' + Terbilang(n - 100000)#menyimpan nilai dari
string 'Seratus' dan Terbilang n - 100000 disimpan di variabel Hasil
elif n < 1000000 :#cek apakah n < 1000000
Hasil = Terbilang(n / 100000) + " Ratus" + Terbilang(n %
100000)#menyimpan nilai dari Terbilang dibagi 100000 dan memberikan string
'Ratus' dan Terbilang habis dibagi 100000 disimpan di variabel Hasil
elif n < 2000000 :#cek apakah n < 2000000
Hasil = ' Satu juta' + Terbilang(n - 1000000)#menyimpan nilai dari
string 'Satu Juta' dan Terbilang n - 1000000 disimpan di variabel Hasil
elif n < 10000000 :#cek apakah n < 10000000
Hasil = Terbilang(n / 1000000) + " Juta" + Terbilang(n %
1000000)#menyimpan nilai dari Terbilang dibagi 1000000 dan memberikan
string 'Juta' dan Terbilang habis dibagi 1000000 disimpan di variabel Hasil
elif n == 10000000 :#cek apakah n samadengan 10000000
Hasil = 'Satu Milyar' + Terbilang(n % 10000000)#menyimpan nilai
dari string 'Satu Milyar' dan Terbilang n habis dibagi 10000000 disimpan di
variabel Hasil
else: #cek jika tidak sesuai
Hasil="Angka hanya sampai satu milyar" #menyimpan string 'Angka
hanya sampai satu milyar' di variabel Hasil
return Hasil #menampilkan nilai variabel Hasil

#14
def formatRP(n):
y = str(n) #mengkonvert nilai n menjadi string dan disimpan di variabel
y
if len(y) <= 3 : #cek apakah jumlah nilai di variabel y <= 3
return 'Rp ' + y #menampilkan String 'Rp ' dan nilai dari variabel
y
else : #cek jika tidak sesuai if yang sebelumnya
p = y[-3:] #mengslice isi dari variabel y dari 3 baris kebelakang
sampai terakhir
q = y[:-3] #mengslice isi dari variabel y dari awal baris
kebelakang sampai tiga baris terakhir
return formatRP(q) + '.' + p #mengembalikan nilai variabel q,
string '.' dan nilai variabel p
print 'Rp ' + formatRP(q) + '.' + p #menampilkan nilai variabel q,
string '.' dan nilai variabel p

Anda mungkin juga menyukai