Daftar Isi
1. Seleksi Kondisi ..................................................................................................................................... 2
if .......................................................................................................................................................... 2
if-else................................................................................................................................................... 3
if-elif-else ............................................................................................................................................ 4
Kondisi Bersarang................................................................................................................................ 7
2. Kendali Perulangan ............................................................................................................................. 8
Perulangan while ................................................................................................................................ 9
Perulangan For .................................................................................................................................. 11
for menggunakan range ................................................................................................................ 11
for dalam Sequence ...................................................................................................................... 13
Break, Continue, dan Pass................................................................................................................. 15
else dalam Perulangan for dan while................................................................................................ 18
3. Fungsi ................................................................................................................................................ 18
Parameter Posisi ........................................................................................................................... 20
Parameter Kata Kunci ................................................................................................................... 21
Parameter Default......................................................................................................................... 21
Parameter dengan Panjag Variatif ................................................................................................ 21
4. String ................................................................................................................................................. 24
Slice String ..................................................................................................................................... 25
Immutabilitas ................................................................................................................................ 26
Fungsi dan Metode String Bawaan ............................................................................................... 26
Modul String.................................................................................................................................. 27
Karakter Escape............................................................................................................................. 28
5. List sebagai Larik ............................................................................................................................... 28
Membuat Array ............................................................................................................................. 28
Konversi List ke dalam Array ......................................................................................................... 29
Metode di dalam Array ................................................................................................................. 29
6. Contoh Program Lain ........................................................................................................................ 30
7. Soal Latihan ....................................................................................................................................... 32
Bagian I .............................................................................................................................................. 32
Bagian II ............................................................................................................................................. 33
1
1. Seleksi Kondisi
Python mempunyai beberapa pendekatan dalam mengatur laju program melalui seleksi
kondisi. Pendekatan ini dapat dibagi menjadi:
if
Seleksi kondisi searah hanya berupa if. Pendekatan ini digunakan untuk menguji suatu kondisi
dimana jika kondisi tersebut bernilaiTrue maka pernyataan di dalam (atau di bawah) blok if
tersebut akan dieksekusi.
if (kondisi):
pernyataan
Contoh:
1. Program untuk memberikan potongan 5000 rupiah jika jumlah total pembelian lebih
dari 90000 rupiah
2. Program untuk memberikan potongan 10% harga tiket untuk mahasiswa.
2
pembelian = pembelian -5000
print(“Total pembelian:”, pembelian) Total pembelian: 95000
if-else
Bentuk if-else dapat dikatakan sebagai alternatif dari if sederhana. Pernyataan if dipadukan
dengan else. Secara mudah kita dapat membacanya “jika kondisi ini bernilai True maka
kerjakan blok if, jika tidak (jika kondisi bernilai False) maka kerjakan blok else. Jadia ada dua
kemungkinan hasil, True atau False, sehingga ada dua kemungkinan arah eksekusi. Karena
itulah bentuk if-else ini dinamakan kondisi dua arah.
if (kondisi):
pernyataan 1
else:
pernyataan 2
Contoh:
3
Bilangan Genap atau Ganjil? Output
n=eval(input("Masukkan bilangan:")) Masukkan bilangan: 8
Tahun Kabisat
y=eval(input("Masukkan Tahun:")) Masukkan Tahun: 2010
Bilangan Terbesar
a=eval(input("Masukkan angka a:")) Masukkan angka a: 10
b=eval(input("Masukkan angka b:")) Masukkan angka b: 12
Terbesar: 12
if(a>b):
print("Terbesar:", a)
else:
print("Terbesar:", b)
Hak Memilih
age=eval(input("Berapa usia anda?")) Berapa usia anda? 45
Anda punya hak suara.
if(age>=18):
print("Anda punya hak suara.")
else:
print("Anda tidak punya hak suara.")
if-elif-else
Bentuk struktur seleksi kondisi seperti ini disebut pula kondisi berantai atau seleksi kondisi
banyak arah dikarenakan ada beberapa seleksi terhadap kondisi. Keyword elif merupakan
singkatan dari else-if yang digunakan untuk memeriksa leih dari satu konsisi. Jika kondisi1
bernilaiFalse, maka dilakukan pemeriksaan terhadap Kondisi2 yang berada diblok elif. Jika
semua kondisi bernilai False, maka bagian dari else yang dieksekusi. Diantara bagian if…elif…
else ini, hanya satu bagian yang dieksekusi sesuai dengan nilai kondisi yang bernilai True. Blok
if hanya boleh memiliki satu bagian else, tetapi dapat mempunyai banyak blok elif.
4
Sintaks dari if-elif-else ini adalah
if (kondisi 1):
pernyataan 1
elif (kondisi 2):
pernyataan 2
elif (kondisi 3):
pernyataan 3
else:
pernyataan default
Contoh
5
Sistem Nilai Mahasiswa Output
mark=eval(input("Masukkan Nilai:")) Masukkan Nilai: 67
Nilai: C
if(mark>=80):
print("Nilai: A")
elif(mark>=70):
print("Nilai: B")
elif(mark>=60):
print("Nilai: C")
elif(mark>=50):
print("Nilai: D")
else:
print("Nilai: E")
if(colour=="hijau"):
print("JALAN") HATI-HATI
elif(colour=="kuning"):
print("HATI-HATI")
else: print("BERHENTI")
if(d==0):
print("same and real roots")
elif(d>0):
print("different real roots")
else:
print("imaginary roots")
6
Kondisi Bersarang
Seleksi terhadap suatu kondisi dapat pula dibuat bersarang di dalam seleksi kondisi lainnya.
Jika suatu syarat kondisi utama terpenuhi maka program perlu memeriksa syarat kondisi
selanjutnya (sub-kondisi), misalnya. Jika kedua kondisi bernilai True, maka pernyataan yang
lebih dalam akan dieksekusi.
if (kondisi 1):
if (kondisi 2):
pernyataan 1
else:
pernyataan 2
else
if (kondisi 3):
pernyataan 3
else:
pernyataan 4
Contoh flowchart dari if bersarang diperlihatkan pada gambar. Jika kondisi1 bernilai True
maka diperiksa apakah Kondisi2 juga bernilai True? Jika kedua kodisi ini bernilai True maka
Pernyataan1 yang dieksekusi. Jika hanya Kondisi 1 yang bernilai True daan Kondisi 2 tidak
terpenuhi maka Pernyataan2 yang dieksekusi.
Bagaimana jika Kondisi 1 bernilai False? Flowchart ini memperlihatkan perlunya memeriksa
Kondisi 3. Jika Kondisi 3 bernilai True maka Pernyataan3 yang dieksekusi. Jika Kondisi3 juga
bernilai False maka yang dieksekusi adalah Pernyataan 4.
Contoh:
7
Terbesar dari 3 Bilangan Output
a=eval(input(“Masukkan nilai a:”)) Masukkan nilai a: 12
b=eval(input(“Masukkan nilai b:”)) Masukkan nilai b: 5
c=eval(input(“Masukkan nilai c:”)) Masukkan nilai c: 9
2. Kendali Perulangan
Python mempunyai pernyataan untuk mengontrol perulangan atau iterasi. Terkait fitur ini,
ada beberapa istilah yang perlu dipahami, yaitu:
• State (status)
• While
• For
• Break
• Continue
• Pass
Status, Kondisi atau Keadaan adalah transisi dari satu proses ke proses lain dalam kondisi
tertentu dengan waktu tertentu.
Ada 2 pendekatan untuk menangani perulangan di Python, yaitu while dan for. Mari kita
diskusikan satu demi satu.
8
Perulangan while
Pernyataan perulangan atau loop while digunakan untuk secara berulang mengekekusi
himpunan pernyataan selama suatu kondisi yang diberikan bernilai True. Di dalam perulangan
while, ekspresi uji diperiksa terlebih dahulu. Badan dari perulangan (loop body) dimasuki
hanya jika ekspresi uji bernilai True. Setelah satu iterasi (satu siklus perulangan). Ekspresi uji
Kembali diperiksa. Proses ini berlanjut terus sampai ekspresi uji bernilai False saat dievaluasi.
Di Python, badan dari perulangan while dibuat dengan cara indentasi, sama seperti blok pada
if-elif-else sebelumnya. Pernyataan-pernyataan di dalam while dimulai dengan indentasi dan
baris pertama yang keluar dari indentasi tersebut menandakan akhir blok while.
nilai awal
while (kondisi)
badan perulangan while
increment
Gambar ini jelas memperlihatkan bahwa jika Kondisi atau Ekspresi Uji bernilai True maka
badan while loop diproses (dieksekusi) dan kemudian setelah adanya increment Kembali
dilakukan pemeriksaan terhadap Kondisi. Satu kali proses perulangan disebut satu iterasi.
Contoh program
9
• Program untuk mengetahui apakah suatu angka termasuk bilangan Amstrong atau
tidak
• Program untuk memeriksi apakah suatu angka termasuk bilangan palindrom.
i=1 55
sum=0
while(i<=n):
sum=sum+i
i=i+1
print(sum)
while(i<=n):
fact=fact*i
i=i+1
print(fact)
sum=0 6
while(n>0):
a=n%10
sum=sum+a
n=n//10
print(sum)
Membalik Bilangan
n=eval(input("Masukkan suatu Angka: ")) Masukkan suatu Angka: 123
sum=0 321
while(n>0):
a=n%10
sum=sum*10+a
n=n//10
print(sum)
10
Cek Bilangan Amstrong
n=eval(input("Masukkan suatu Angka:")) Masukkan suatu Angka: 153
while(n>0):
a=n%10
sum=sum+a*a*a
n=n//10
if(sum==org):
print("Angka itu bilangan Armstrong.")
else:
print("Angka itu bukan bilangan Armstrong.")
Palindrom
n=eval(input("Masukkan suatu Angka:")) Masukkan suatu Angka: 121
while(n>0):
a=n%10
sum=sum*10+a
n=n//10
if(sum==org):
print("Angka itu Palindrom.")
else:
print("Angka itu bukan Palindrom.")
Perulangan For
Fasilitas perulangan lain yang disediakan oleh Python adalah for. For loop digunakan untuk
membuat jumlah perulangan dengan jumlah pasti, misalnya sebanyak 100 kali atau sebanyak
anggota (elemen) dari suatu list. Karena itu, pendekatan ini dinamakan count-controlled loop
(perulangan dikendalikan pencacah/counter). Perulangan while disebut condion-controlled
loop (perulangan yang dikontrol oleh suatu kondisi).
11
• start: bilangan integer yang menentukan posisi pertama. Defaultnya adalah 0.
• stop: bilangan integer yang menentukan posisi terakhir, yaitu stop -1
• step: bilangan integer yang menentukan besarnya kenaikan. Defaultnya adalah 1
• range(a)
• range(a, b)
• range(a, b, k)
Fungsi range(a, b) mengembalikan sequence berisi integer a, a+ 1, ..., b-2, dan b-1. Sebagai
contoh:
for v in range(6):
print("v =", v)
Bagaimana dengan range(a, b, k)? k digunakan sebagai nilai Langkah (step) dalam range(a, b,
k). Bilangan pertama dalam sequence ini adalah a. Setiap bilangan berikutnya dalam sequence
akan naik sebesar nilai step k. b adalah limit (batas akhir). Bilangan terakhir dalam sequence
ini harus kurang dari pada b. Kita harus memastikan bahwa a, b, dan k adalah bilangan bulat
atau integer.
12
Contoh:
Nilai Langkah (step) dalam range(3, 9, 2) adalah 2, dan limit adalah 9. Sehingga sequence ini
beranggotakan 3, 5, dan 7
Python juga memungkinkan kita membuat range nilai secara mundur, dari bilangan lebih
besar ke lebih kecil. Fungsi range(a, b, k) dapat melakukan hitungan mundur jika k bernilai
negatif. Dalam hal ini, sequence masih a, a + k, a + 2k, dan seterusnya untuk suatu k negatif.
Bilangan terakhir dalam sequence harus lebih besar daripada b.
Contoh:
for i in sequence:
print(i)
13
Contoh:
Deret Fibonaci
a=0 Masukkan Angka:
b=1 6
n=eval(input("Masukkan Angka: ")) Deret
print("Deret Fibonacci: ") Fibonacci:
print(a,b) 0
1
for i in range(1,n,1): 1
c=a+b 2
print(c) 3
a=b 5
b=c 8
14
sum=0 number is
for i in range(1,n,1): perfect number
if(n%i==0):
sum=sum+i
if(sum==n):
print("the number is perfect number")
else:
print("the number is not perfect number")
15
Dan jika diwujudkan dalam flowchart menjadi:
Contoh Output
for i in "welcome": w
if(i=="c"): e
break l
print(i)
Berbeda dengan break, pernyataan continue menghentikan iterasi yang sedang berlangsung
dan mentransfer kendali atau control ke iterasi berikutnya di dalam loop tersebut. Jadi tidak
sampai keluar dari loop.
Sintaks continue:
16
Sedangkan bentuk flowchartnya adalah
Contoh Output
for i in "welcome": w
if(i=="c"): e
continue l
print(i) o
m
e
Pernyataan terakhir yang sering digunakan di dalam perulangan adalah pass. Pass digunakan
ketika suatu pernyataan diperlukan secara sintaktis tetapi kita tidak ingin kode tersebut
dieksekusi. Ini dinamakan pernyataan null, tidak ada yang terjadi Ketika dieksekusi.
Perhatikan contoh berikut:
Contoh Output
for i in "welcome": w
if(i=="c"): e
pass l
print(i) c
o
m
e
break continue
Mengakhiri iterasi yang sedang berlangsung Mengakhiri iterasi saat ini dan mentransfer
dan mengeksekusi pernyataan yang berada kontrol ke iterasi berikutnya di dalam loop.
di luar loop.
17
for i in "welcome": for i in "welcome":
if(i=="c"): if(i=="c"):
break continue
print(i) print(i)
w w
e e
l l
o
m
e
Jika pernyataan else digunakan di dalam loop for, maka pernyataan else akan dieksekusi
ketika loop telah mencapai limit (nilai counter terakhir). Pernyataan di dalam loop for dan
pernyataan di dalam else akan juga dieksekusi.
Contoh Output
for i in range(1,6): 1
print(i) 2
else: 3
print("the number greater than 6") 4
5
the number greater than 6
Jika pernyataan else digunakan di dalam loop while, bagian else akan dieksekusi Ketika
konsdisi menjadi False. Pernyataan di dalam loop while dan pernyataan di dalam else juga
akan dieksekusi.
Contoh Output
i=1 1
while(i<=5): 2
print(i) 3
i=i+1 4
else: 5
print("the number greater than 5") the number greater than 5
3. Fungsi
Dalam Python, fungsi adalah sekelompok pernyataan terkait yang melakukan tugas tertentu.
Fungsi membantu kita memecah program menjadi potongan yang lebih kecil dan modular.
Seiring program kita tumbuh lebih besar dan semakin besar, fungsi membuatnya lebih
terorganisir dan dapat dikelola. Selain itu, fungsi menghindari pengulangan dan membuat
kode dapat digunakan kembali.
Ada beberapa hal atau istilah yang harus dipahami dan dibahas di dalam bagian ini, di
antaranya:
18
• Fungsi fruitful
• Fungsi void
• Nilai return
• Parameter
• Lingkup local dan global
• Komposisi fungsi
• Rekursi.
Contoh
root = sqrt(25)
sqrt adalah fungsi bawaan Python yang digunakan untuk mendapatkan akar dari suatu
bilangan, dalam hal ini adalah akar 25 = 5.
Bagaimana jika kita ingin membuat fungsi sendiri? Kita dapat menggunakan sintaks berikut
untuk membuat fungsi:
def function_name(parameters):
"""docstring"""
statement(s)
Sintaks di atas adalah definisi fungsi yang terdiri dari komponen berikut:
Contoh
def add():
a=10
b=20
c=a+b
return c
c=add()
print(c)
19
Selain fungsi fruitful, ada pula fungsi void. Void menunjukkan bahwa fungsi tersebut tidak
mengembalikan suatu nilai. Contoh dari fungsi void adalah print yang hanya mencetak teks
ke console dan tidak ada nilai yang dikembalikan.
Contoh
def add():
a=10
b=20
c=a+b
print(c)
add()
Keyword return digunakan untuk mengembalikan nilai dari dalam fungsi. Contoh penggunaan
return di dalam fungsi adalah
Parameter adalah variable yang digunakan di dalam definisi fungsi. Parameter merupakan
input untuk fungsi tersebut. Parameter menerima input dari pemanggilan fungsi (function
call). Kita dapat mendefinisikan lebih dari dsatu parameter di dalam definisi fungsi. Istilah
argumen biasanya digunakan saat memanggil fungsi.
Parameter Posisi
Jumlah dari parameter di dalam definisi fungsi harus cocok secara tepat dengan jumlah
argument di dalam function call. Perhatikan contoh di bawah ini
Contoh Output
def student( name, roll ): George 98
print(name,roll)
student(“George”, 98)
20
Parameter Kata Kunci
Ketika kita memanggil suatu fungsi dengan beberapa nilai, nilai-nilai ini dikirimkan ke
parameter sesuai dengan posisinya. Saat kita memanggil fungsi dalam parameter kata kunci,
urutan dari argumen dapat diubah (tidak kaku dan tergantung pada posisi atau urutan
parameter).
Contoh Output
def student(name, roll, mark): 90 102 bala
print(name,roll,mark)
student(90,102,"bala")
Parameter Default
Python memungkinkan parameter fungsi mempunyai nilai default; jika fungsi dipanggil tanpa
argument, parameter memperoleh nilai defaultnya yang dicantumkan di dalam definisi
fungsi.
Contoh Output
def student(name, age=17): Joko 17
print (name, age) Budiman 17
student(“Joko”)
student(“Budiman”)
Contoh Output
def student(name,*mark): bala (102 ,90)
print(name, mark)
student(“bala”,102,90)
• Cakupan dari suatu variabel mengacu pada tempat dimana kita dapat melihat atau
mengakses variabel.
• Suatu variabel dengan cakupan global dapat diakses dan digunakan di mana saja
dalam program.
• Ini dapat dibuat dengan mendefinisikan variabel di luar fungsi.
21
Contoh Output
a=50 #variabel global 70
def add():
b=20 #variabel lokal
c=a +b
print(c) 20
def sub(): 50
b=30
c=a-b
print(c)
print(a)
Suatu variabel dengan cakupan local dapat digunakan atau diakses hanya didalam fungsi
tersebut.
Contoh Output
def add():
b=20 #variabel lokal
c=a+b
print(c) 70
def sub():
b=30 #variabel lokal
c=a-b
print(c) 20
print(a) error
print(b) error
Komposisi Fungsi adalah kemampuan untuk memanggil satu fungsi dari dalam fungsi lainnya.
Ini merupakan cara untuk menngkombinasikan fungsi-fungsi sehingga hasil dari setiap fungsi
dilewatkan (pass) sebagai argument dari fungsi berikutnya. Dengan kata lain, output dari satu
fungsi diberikan sebagai input dari fungsi lain dikenals ebagai komposisi fungsi.
Contoh Output
def add(a,b):
c = a + b
return c
900
def mul(c,d):
e = c * d
return e
c=add(10,20)
e=mul(c,30)
print(e)
22
Mencari Jumlah dan Rerata menggunakan Output
Komposisi Fungsi
def sum(a,b):
sum=a+b enter a:4
return sum enter b:8
the avg is 6.0
def avg(sum):
avg=sum/2
return avg
a=eval(input("enter a:"))
b=eval(input("enter b:"))
sum=sum(a,b)
avg=avg(sum)
Suatu fungsi yang memanggil dirinya sendiri sampai dicapai suatu nilai basis (dasar, titik henti
dari function call) dinamakan sebagai fungsi rekursif.
n=eval(input("Masukkan bilangan:"))
fact=fact(n)
print("Faktorial:",fact)
Penjelasan:
23
Contoh program lain:
4. String
String merupakan tipe data di Python yang dapat dianggap sebagai teks. Beberapa istilah yang
perlu dipahami adalah
• String
• Slices
• Immutability
• Fungsi dan Metode String
• Modul String
String didefinisikan sebagai sequence atau deretan karakter yang direpresentasikan di dalam
tanda petik (quotation), baik single quote (‘) ataupun double quote (“). Karakter-karakter atau
huruf di dalam suatu String diakses menggunakan indeksnya. Indeks harus selalu berupa
integer (positif atau negatif). Indeks dimulai dari 0 s.d n-1. String adalah tipe data yang
bersifat immutable, artinya isi dari suatu string tidak dapat diubah setelah string tersebut
dibuat.
Python mengambil masukan dari pengguna menggunakan fungsi input yang biasanya
disimpan ke dalam suatu variabel. Python menganggap apapun yang dimasukkan oleh
pengguna sebagai String, karena itu diperlukan proses konversi ke numerik agar dapat
diberlakukan operasi numerik atau komputasi. Fungsi yang sering dipakai untuk konversi ini
adalah eval, int dan float.
Python tidak menyediakan tipe data khusus untuk karakter. Suatu String yang berukuran
panjang satu diperlakukan sebagai karakter.
• Single quote (‘ ‘) untuk membuat String yang diapit satu tanda petik
24
• Double quotes (“ “) untuk membuat String yang diapit dua tanpa petik
• Triple quotes (“”” “””) untuk membuat teks banyak baris.
• Indexing
• Slicing
• Concatenation
• Repetition
• Membership
Katakanlah kita mempunya String “HELLO”. Indexing yang digunakan sebagai basis untuk
mengakses elemen atau item dari suatu String diperlihatkan pada gambar di bawah ini.
String A H E L L O
Indeks Positif 0 1 2 3 4
Indeks Negatif -5 -4 -3 -2 -1
Slice String
Bagian tertentu dari suatu string disebut substring atau slice. Proses mengekstrak sub string
tertentu tersebut dari suatu string dinamakan slicing.
25
Immutabilitas
String di Python bersifat “immutable” (tidak dapat bermutasi, tidak dapat berubah) karane
string yang telah dibuat tidak dapat diubah nilainya. Karena itu, operator [] tidak dapat
digunakan pada sisi kiri dari suatu operasi assignment (pemberian nilai).
namaString.namaMetode()
a=”happy birthday”
26
9. a.replace(old,new) >>>a.replace('happy', Menggantikan semua substring lama
'wishyou happy')
dengan substring baru
'wishyou happy birthday'
Modul String
Modul merupakan suatu file yang mengandung definisi, fungsi dan pernyataan dalam Bahasa
Python. Pustaka standar dari Python dapat diperluas (diextend) menggunakan modul. Isi dari
modul dapat digunakan di dalam program setelah modul tersebut diimpor terlebih dahulu.
Fungsi, variabel dan konstanta dapat diakses dengan menyebutkan nama modul atau
aliasnya. Python secara default telah menyediakan banyak modul seperti math, random, dan
string. Cara mengimport modul standar dalam persis dengan cara mengimport modul yang
dibuat oleh pengguna (user-defined).
27
Sintaks dasar dari import modul:
Contoh Output
import string
print(string.punctuation) !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
print(string.digits) 0123456789
print(string.printable) 0123456789abcdefghijklmnopqrstuvwxyzABCDEFG
print(string.capwords("happy HIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-
birthday")) ./:;<=>?@[\]^_`{|}~
print(string.hexdigits) Happy Birthday
print(string.octdigits) 0123456789abcdefABCDEF
01234567
Karakter Escape
Membuat Array
Import Pustaka array:
28
nama_array = nama_modul.nama_fungsi(‘datatype’, [elemen-elemen])
Contoh
a = larik.array(‘i’, [1,2,3,4])
dimana:
• array : nama fungsi di dalam modul array
• larik : nama alias dari modul array
• i : tipe data integer
Sintaks:
namaarray.fromlist(daftar nama)
for i in a:
sum=sum+i
print(sum)
29
No. Sintaks Contoh Deskripsi
1. array( Digunakan untuk membuat array
data type, array(‘i’,[2,3,4,5]) dengan tipe data dan daftar nilai
value list) ditetapkan dalam argumennya.
print(root)
for i in range(1,n1+1):
if(n1%i==0 and n2%i==0):
gcd=i
30
print(gcd)
for i in a:
sum=sum+i
print("the sum is",sum)
Pencarian Linier
a=[20,30,40,50,60,70,89] [20, 30, 40, 50, 60, 70, 89]
print(a) enter a element to search:30
search=eval(input("enter a element to search:")) element found at 2
for i in range(0,len(a),1):
if(search==a[i]):
print("element found at",i+1)
break
else:
print("not found")
Pencarian Biner
a=[20, 30, 40, 50, 60, 70, 89] [20, 30, 40, 50, 60, 70, 89]
print(a) Masukkan item yang
search=eval(input("Masukkan tem yang dicari:")) dicari:30
start=0 Item ditemukan di posisi 2
stop=len(a)-1
while(start<=stop):
mid=(start+stop)//2
if(search==a[mid]):
print("Item ditemukan pada posisi",mid+1)
break
elif(search<a[mid]):
stop=mid-1
else:
start=mid+1
else:
print("Tidak ditemukan.")
31
7. Soal Latihan
Bagian I
1. Apa yang dimaksud nilai Boolean?
2. Apa perbedaan antara operator dan operan?
3. Tuliskan sintaks untuk pernyataan if, berikan contoh!
4. Tuliskan sintaks dan flowchart untuk pernyataan if else.
5. Tuliskam sintaks dan flowchart untuk pernyataan if bersarang.
6. Apa yang dimaksud dengan status (atau kondisi)?
7. Tuliskan sintaks untuk perulangan while, sertakan juga flowchartnya.
8. Tuliskan sintaks untuk perulangan for, lengkapi dengan flowchartnya.
9. Apa perbedaan antara break dan continue?
10. Jelaskan kegunaan dari kata kunci pass
11. Apa yang dimaksud fungsi fruitful?
12. Apa yang dimaksud fungsi void?
13. Jelaskan cara berbeda menuliskan pernyataan return!
14. Apa yang dimaksud parameter? Apa saja jenisnya?
15. Jelaskan mengenai lingkup local dan global!
16. Apa perbedaan antara variabel local dan global?
17. Jelaskan komposisi fungsi! Berikan contoh!
18. Apa yang dimaksud rekursi?
19. Jelaskan perbedaan antara iterasi dan rekursi!
20. Apa yang dimaksud dengan string? Bagaimana memperoleh suatu string saat program
berjalan?
21. Apa yang dimaksud slicing? Berikan contoh.
22. Apa yang dimaksud immutability dari suatu string?
23. Sebutkan 10 fungsi bawaan yang dapat beroperasi terhadap string! berikan contoh.
24. Modul apa yang berisi banyak fungsi untuk operasi string?
25. Bagaimana agar list dapat berlaku sebagai array?
26. Tuliskan program untuk memeriksa genap atau ganjilnya suatu bilangan.
27. Tuliskan program untuk memeriksa apakah suatu bilangan itu positif atau negatif
28. Tuliskan program untuk memeriksa apakah suatu tahun termasuk kabisat atau tidak
29. Tuliskan program untuk mencari yang terbesar dari dua bilangan
30. Tuliskan program untuk memeriksa hak suara (di pemilu)
31. Tuliskan program untuk mencari jumlah total dari n bilangan
32. Tuliskan program untuk mencari faktorial dari suatu bilangan yang diberikan
33. Tuliskan program untuk mencari jumlah angka (digit) di dalam suatu bilangan
34. Tuliskan program untuk membalikkan bilangan yang diberikan.
32
35. Tuliskan program untuk memeriksa apakah suatu bilangan termasuk palindrom atau
tidak.
36. Tuliskan program untuk memeriksa apakah suatu bilangan termasuk Armstrong atau
tidak.
37. Bagaimana kita menggunakan perulangan for dengan mengakses elemen dari sequence?
38. Bagaimana kita menggunakan pernyataan else di dalam perulangan if?
39. Apa kegunaan dari fungsi map()?
Bagian II
1. Jelaskan pernyataan kondisional secara detail dengan contohnya (if, if..else, if..elif..else)
2. Jelaskan secara detail mengenai operator dalam bahasa Python
3. Jelaskan secara terperinci mengenai iterasi beserta contohnya (for, while)
4. Jelaskan pemanfaatan pernyataan else di dalam suatu perulangan
5. Jelaskan secara detail mengenai penggunaan for terhadap sequence.
6. Jelaskan secara lengkap mengenai fungsi bawaan string disertai dengancontoh yang tepat
7. Jelaskan mengenai pernyataan kendali perulangan (break, continue, pass)
8. Berikan contoh fungsi fruitful.
9. Berikan contoh mengenai variabel lokal dan global
10. Berikan contoh dan penjelasan mengenai komposisi fungsi
11. Jelaskan danberikan contoh tentang rekursi.
12. Jelaskan secara detail mengenai string dan operasi terhadapnya (slicing, immutablity)
13. Buatlah program untuk mencari akar kuadrat dari suatu bilangan menggunakan metode
Newtons
14. Buatlah program untuk mencari GCD dari suatu bilangan
15. Buatlah program untuk mencari eksponensial dari suatu bilangan menggunakan rekursi
16. Buatlah program untuk mencari jumlah total elemen array.
17. Buatlah program untuk mencari elemen array menggunakan pencarian linier (linear
search).
18. Buatlah program untuk mencari elemen array menggunakan binary search.
19. Buatlah program untuk menemukan faktorial dari suau bilangan menggunakan rekursi.
33