Anda di halaman 1dari 19

12 Contoh Program Python untuk Latihan

Reviewed by Sutiono S.Kom., M.Kom., M.T.I

Mari disimak contoh-contohnya di bawah ini:

 Contoh 1: Program untuk Menjumlahkan Dua Bilangan


# Meminta input dari pengguna

bil1 = input(‘Masukkan bilangan pertama: ‘)


bil2 = input(‘Masukkan bilangan kedua: ‘)
# Menjumlahkan bilangan
jumlah = float(bil1) + float(bil2)
# Menampilkan jumlah
print(‘Jumlah {0} + {1} adalah {2}’.format(bil1, bil2, jumlah))
 Contoh 2: Contoh program python untuk menentukan sebuah bilangan termasuk
bilangan prima atau tidak
# Meminta input bilangan dari pengguna
num = int(input(“Masukkan bilangan: “))
# bilangan prima harus lebih besar dari 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
print(num, “bukan bilangan prima”)
print(i, “kali”, num//i, “=”, num)
break
else:
print(num,”adalah bilangan prima”)
# bila bilangan kurang atau sama dengan satu
else:
print(num, “bukan bilangan prima”)
 Contoh 3: Program untuk menemukan faktor sebuah bilangan
# Mendefinisikan fungsi
def print_faktor(x):
“””Fungsi menerima input bilangan dan mencetak faktornya”””
print(“Faktor dari”, x, “adalah:”)
for i in range(1, x+1):
if x % i == 0:
print(i)
# Input bilangan yang akan dicari faktornya
num = int(input(“Masukkan bilangan: “))
print_faktor(num)

 Contoh 4: Program untuk menyelesaikan persamaan kuadrat ax2 + bx + c = 0


# import module matematika math
import math
# Input koefisien dari keyboard
a = int(input(‘Masukkan a: ‘))
b = int(input(‘Masukkan b: ‘))
c = int(input(‘Masukkan c: ‘))
# hitung diskriminan d
d = (b**2) – (4*a*c)
# menemukan x1 dan x2
x1 = (-b+math.sqrt(d))/(2*a)
x2 = (-b-math.sqrt(d))/(2*a)
print(‘Solusinya adalah {0} dan {1}’.format(x1, x2))

 Contoh 5: Program untuk menemukan FPB dari dua buah bilangan


# mendefinisikan fungsi
def hitung_FPB(x, y):
# memilih bilangan yang paling kecil
if x > y:
smaller = y
else:
smaller = x
for i in range(1, smaller+1):
if((x % i == 0) and (y % i == 0)):
fpb = i
return fpb

num1 = 96
num2 = 24
num1 = int(input(“Masukan bilangan pertama: “))
num2 = int(input(“Masukan bilangan kedua: “))
print(“FPB dari”, num1,”dan”, num2,” =”, hitung_FPB(num1, num2))

 Contoh 6: Program kalkulator sederhana


# fungsi penjumlahan
def add(x, y):
return x + y
# fungsi pengurangan
def subtract(x, y):
return x – y
# fungsi perkalian
def multiply(x, y):
return x * y
# fungsi pembagian
def divide(x, y):
return x / y
# menu operasi
print(“Pilih Operasi.”)
print(“1.Jumlah”)
print(“2.Kurang”)
print(“3.Kali”)
print(“4.Bagi”)
# Meminta input dari pengguna
choice = input(“Masukkan pilihan operasi (1/2/3/4): “)
num1 = int(input(“Masukkan bilangan pertama: “))
num2 = int(input(“Masukkan bilangan kedua: “))
if choice == ‘1’:
print(num1,”+”,num2,”=”, add(num1,num2))
elif choice == ‘2’:
print(num1,”-“,num2,”=”, subtract(num1,num2))
elif choice == ‘3’:
print(num1,”*”,num2,”=”, multiply(num1,num2))
elif choice == ‘4’:
print(num1,”/”,num2,”=”, divide(num1,num2))
else:
print(“Input salah”)
# Program untuk menampilkan semua bilangan prima pada interval tertentu
# Ubah nilai lower dan upper untuk hasil yang lain
lower = 200
upper = 300
print(“Bilangan prima antara”,lower,”and”,upper,”:”)
for num in range(lower,upper + 1):
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)
 Contoh 7: Program untuk mencetak semua permutasi
from itertools import permutations

# Mendapatkan semua permutasi dari [1, 2, 3]


perm = permutations([1, 2, 3])
# Print semua permutasi
for i in perm:
print(i)
 Contoh 8: Program untuk mengirim e-mail
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
fromaddr = “alamat pengirim”
toaddr = “alamat penerima”
msg = MIMEMultipart()
msg[‘From’] = fromaddr
msg[‘To’] = toaddr
msg[‘Subject’] = “judul pesan”
body = “isi pesan”
msg.attach(MIMEText(body, ‘plain’))
server = smtplib.SMTP(‘smtp.gmail.com’, 587)
server.starttls()
server.login(fromaddr, “password pengirim”)
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
 Contoh 9: Program Menghitung Luas Bentuk 2 Dimensi
#Mencetak Menu
def menu():
print “Pilih Bentuk 2D”
print
print “1. Persegi Panjang”
print “2. Lingkaran”
print “3. Segitiga”
print “4. Keluar”
def persegi():
print “Menghitung Luas Persegi Panjang”
p = input(“Masukkan Panjang : “)
l = input(“Masukkan Lebar : “)
luas = p*l
print “Luas Persegi Panjang adalah “,luas
print
print “Coba lagi [Y/N]? ”
back = raw_input().upper()
if back == “Y”:
menu()
else:
exit()
def lingkaran():
print “Menghitung Luas Lingkaran”
r = input(“Masukkan Jari-Jari : “)
luas = 3.14*(r**2)
print “Luas Lingkaran adalah “,luas
print
print “Coba lagi [Y/N]? ”
back = raw_input().upper()
if back == “Y”:
menu()
else:
exit()
def segitiga():
print “Menghitung Luas Segitiga”
a = input(“Masukkan Alas : “)
t = input(“Masukkan Tinggi : “)
luas = (a*t)/2
print “Luas Segitiga adalah “,luas
print
print “Coba lagi [Y/N]? ”
back = raw_input().upper()
if back == “Y”:
menu()
else:
exit()
#Program Menghitung Luas
print “Selamat Datang di Program Untuk Menghitung Luas”
print “———————————————–”
print
menu()
while l:
#input
pilih = input(“Masukkan pilihan : “)
if pilih == 1:
persegi()
elif pilih == 2:
lingkaran()
elif pilih == 3:
segitiga()
elif pilih == 4:
print “\n”*100
break
else:
print “Maaf pilihan yang anda masukkan tidak terdaftar”
print “Coba lagi [Y/N] ? ”
coba = raw_input().upper()
if coba == “Y”:
menu()
else:
print “\n”*100
break
 Contoh 10: Menghitung Zakat Penghasilan
nama=[]
gaji=[]
emas=[]
zakat=[]
pertahun=[]
perbulan=[]
nisab=[]
print (‘+———————————————–+’)
print (‘| Penghitung Zakat Penghasilan |’)
print (‘| menurut pendapatan kasar (brutto) |’)
print (‘| |’)
print (‘+———————————————–+’)
data=int(input(‘Masukan banyak data : ‘))
print(‘==========================================’)
for i in range(data):
a = input(‘Masukan nama : ‘)
nama.append(a)
b = int(input(‘Masukan harga emas saat ini: ‘))
emas.append(b)
c = int(input(‘Masukkan penghasilan Anda per bulan : ‘))
gaji.append(c)
print(”)
for i in range(data):
d = 12 * gaji[i]
pertahun.append(d)
e = 0.025 * pertahun[i]
zakat.append(e)
f = 85 * emas[i]
nisab.append(f)
g = zakat[i] / 12
perbulan.append(g)
for i in range(data):
print (”)
print(‘—————————————-‘)
print(‘ Zakat Penghasilan (Brutto)’)
print(‘—————————————-‘)
print(‘Nama :’,nama[i])
print(‘Harga 1 gram emas :’,’Rp.’,emas[i])
print(‘Penghasilan per bulan :’,’Rp.’,gaji[i])
print(‘Penghasilan per tahun :’,’Rp.’,pertahun[i])
print(‘Harga nishab (85 gram emas) :’,’Rp.’,nisab[i])
print(‘Zakat penghasilan :’,’2.5% x’,pertahun[i],’=’,’Rp.’,zakat[i])
if pertahun[i] >= nisab[i]:
print(‘Keterangan : WAJIB Zakat Rp.’,zakat[i],’/tahun’)
print(‘ atau Rp. ‘,perbulan[i],’/bulan’)
print(”)
if pertahun[i] <= nisab[i]:
print(‘Keterangan : Anda belum termasuk Wajib Zakat’)
 Contoh 11: Program Menentukan Nilai Akhir Semester
#Deklarasi Fungsi Operator
def fungsi_total_nilai(var_harian, var_uts, var_uas) :
var_harian = int(var_harian) * 0.3
var_uts = int(var_uts) * 0.3
var_uas = int(var_uas) * 0.4
var_total = var_harian + var_uts + var_uas
return var_total
#Deklarasi Fungsi Percabangan
def fungsi_percabangan (var_nilai) :
var_huruf = “”
if (var_nilai >= 0 and var_nilai < 20) : var_huruf = “E” elif (var_nilai >= 20 and var_nilai < 40) :
var_huruf = “D” elif (var_nilai >= 40 and var_nilai < 60) : var_huruf = “C” elif (var_nilai >= 60
and var_nilai < 80) : var_huruf = “B” elif (var_nilai >= 80 and var_nilai < 100) :
var_huruf = “A”
return var_huruf
#Deklarasi Fungsi Perulangan
def fungsi_perulangan():
var_hasil_perulangan = 0
for i in range(1,3):
print(“——–Nilai Ke “,i,”——–“)
var_harian = input(“Nilai Harian : “)
var_uts = input(“Nilai UTS : “)
var_uas = input(“Nilai UAS : “)
#Pemanggilan fungsi Penjumlahan
var_hasil_perulangan +=(int(fungsi_total_nilai(var_harian, var_uts, var_uas)))
return var_hasil_perulangan /i

#Pemanggilan fungsi perulangan


var_total = fungsi_perulangan()
print(“——–Total Nilai ——–“)
print(“Total nilai yang didapat : “,var_total)
#Pemanggilan Fungsi Percabangan
print(“Total Nilai Dalam Huruf : “, fungsi_percabangan(var_total))
 Contoh 12: (Masih) Program Kalkulator
def kalkulator () :
def tambah () :
print ‘1.Penjumlahan’
a = input (‘Masukkan nilai x = ’)
b = input (‘Masukkan nilai y = ’)
c = a+b
print ‘x + y = ’,c
print (‘ ‘)
tanya ()
def kurang () :
print ‘2.Pengurangan’
a = input (‘Masukkan nilai x = ’)
b = input (‘Masukkan nilai y = ’)
c = a-b
print ‘x – y = ’,c
print (‘ ‘)
tanya ()
def kali () :
print ‘3.Perkalian’
a = input (‘Masukkan nilai x = ’)
b = input (‘Masukkan nilai y = ’)
c = a*b
print ‘x . y = ’,c
print (‘ ‘)
tanya ()
def bagi () :
print ‘4.Pembagian’
a = input (‘Masukkan nilai x = ’)
b = input (‘Masukkan nilai y = ’)
c = a+b
print ‘x /y = ’,c
print (‘ ‘)
tanya ()
def tanya () :
choose = raw_input (‘Ulangi lagi (Y/T)? ’)
if choose == ‘Y’ or choose == ‘y’:
kalkulator ()
elif choose == ‘T’ or choose ‘t’:
print ‘Terima kasih sudah menggunakan program ini’
else :
print ‘Maaf, input yang Anda masukkan salah’
print ‘Silahkan masukkan Y atau T’
tanya ()
print (‘Program Kalkulator Sederhana’)
print (‘################’)
print (‘1. Penjumlahan’)
print (‘2. Pengurangan’)
print (‘3. Perkalian’)
print (‘4. Pembagian’)
print (‘################’)
print (‘silahkan pilih 1-4’)
print (‘ ‘)
pil = raw_input (‘Masukkan pilihan : ’)
if pil == ‘1’:
tambah ()
elif pil == ‘2’:
kurang ()
elif pil == ‘3’:
kali ()
elif pil == ‘4’:
bagi ()
else :
print (‘Maaf, input yang Anda masukkan salah’)
print (‘coba ulangi lagi’)
tanya ()
kalkulator()
Sekian artikel kami kali ini seputar contoh program Python. Semoga semua contoh yang telah
kami tuliskan di artikel kali ini dapat menambah pemahaman Anda seputar bahasa pemrograman
Python. Jika Anda hendak melihat beberapa contoh bahasa pemrogaman yang lain, simak contoh
program Pascal yang kami terbitkan sebelumnya di situs ini.

  
def penjumlahan (a,b):
penjumlahan = a+b
return penjumlahan
def pengurangan (a,b):
pengurangan = a-b
return pengurangan
def perkalian(a,b):
perkalian = a*b
return perkalian
def pembagian (a,b):
pembagian = a/b
return pembagian

lagi= 'y'
while lagi=='y':
print ' \t \t Program Kalkulator Sayur'
a= input(' Masukan Bilangan 1: ')
b= input (' Masukan Biilangan 2 : ')
print ' 1. Penjumlahan \n 2. pengurangan \n 3. perkalian \n 4. pembagian \n'
c= input ('Pilih 1-5 : ')
if c== 1:
print ' Hasilnya adalah = ', penjumlahan (a,b)
elif c== 2:
print ' Hasilnya adalah = ', pengurangan (a,b)
elif c==3 :
print 'Hasilnya adalah = ', perkalian (a,b)
else :
print 'Hasilnya adalah = ', pembagian (a,b)

lagi=raw_input(" Mau Lagi ?[y/t] : ")


https://tutorkeren.com/artikel/python-3-rle-bab-5-pengkondisian.htm

9. Classes — Dokumentasi Python 3.8.7rc1

Fungsi Bawaan — Dokumentasi Python 3.8.7rc1

soal FPB

SOAL KPK

SOAL FAKTORIAL
SOAL BIL. PRIMA

SOAL LIST MENGURUTKAN DARI YANG TERKECIL – TERBESAR

List nilai rata-rata


Materi stack
Pertama buka python.exe pada program yang sudah diinstal. Lalu ketikan coding seperti pada
Gambar 1.1

Gambar 1.1
stack = [] ==> Digunakan untuk membuat stack dengan nama "stack" yang masih kosong
def push(value): ==> Digunakan untuk mendefinisikan sebuah fungsi “push” yang diisi dengan
nilai
stack.append(value) ==> Digunakan untuk menambahkan elemen pada puncak stack dengan
nilai dari fungsi “push”
def pop(): ==> Digunakan untuk mendefinisikan sebuah fungsi “pop”
stack.pop() ==> Digunakan untuk menghapus elemen dari puncak stack dari fungsi “pop”
def noel(): ==> Digunakan untuk mendefinisikan sebuah fungsi “noel”
print len(stack) ==> Digunakan untuk menampilkan jumlah elemen di dalam stack dengan
memanggil nama “stack” yang telah dibuat
def top(): ==> Digunakan untuk mendefinisikan sebuah fungsi “top”
top = len(stack) – 1 ==> Sebagai perhitungan untuk mengetahui elemen pada puncak stack
if top < 0: ==> Jika elemen pada puncak stack kurang dari 0 (elemen di dalam stack kosong)
print "Tidak terdefinisi" ==> Maka akan menampilkan “Tidak terdefinisi”
else: ==> Selainnya
print stack[top] ==> Maka akan menampilkan elemen pada puncak stack
def isempty(): ==> Digunakan untuk mendefinisikan sebuah fungsi “isempty”
if len(stack) == 0: ==> Jika jumlah elemen di dalam stack kosong
print "True" ==> Maka akan menampilkan “True”
else: ==> Selainnya
print "False" ==> Maka akan menampilkan “False”
def tampilkan(stack): ==> Digunakan untuk mendefinisikan sebuah fungsi “tampilkan”
print stack ==> Digunakan untuk menampilkan elemen-elemen pada stack
while True: ==> Digunakan untuk mengulang statemen dalam blok while dengan nilai
kondisinya benar
value = input("--> ") ==> Nilai dari blok while yang akan menampilkan hasil bertipe data
string “-->” dan berulang selama proses program.

Output program stack pada python akan tampil seperti pada Gambar 1.2

Gambar 1.2

Perintah-Perintah Pada Stack

push(value)                ==> Digunakan untuk menambahkan elemen pada puncak stack dengan


angka. Jika String memakai tanda kutip, misalnya push(“Nama”)
pop()                           ==> Digunakan untuk menghapus elemen dari puncak stack
noel()                          ==> Digunakan untuk menampilkan jumlah elemen di dalam stack
top()                            ==> Digunakan untuk mengetahui elemen pada puncak stack. Jika elemen
di dalam stack kosong maka Tidak terdefinisi
isempty                       ==> Digunakan untuk nementukan apakah stack kosong. Jika stack
kosong maka True, jika stack tidak kosong maka False
tampilkan(stack)        ==> Digunakan untuk menampilkan jumlah elemen di dalam stack

Apa itu stack ?

stack merupakan tumpukan atau  suatu struktur data yang penting dalam pemprograman yang
mempunyai sifat LIFO  (Last In First Out) yaitu masuk pertama keluar pertama, benda yang
terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack , stack
(tumpukan) adalah list LINEAR  yang dikenali elemen puncaknya (TOP) dan aturan penyisipan
dan penghapusan elemen tertentu. Penyisipan selalu dilakukan “di atas” TOP dan penghapusan
selalu dilakikan pada TOP. TOP adalah salah satu alamat tempat terjadinya operasi. Elemen
yang ditambahkan paling akhir akan menjadi elemen stack akan tersusun secara LIFO karena
kita  menumpuk combo di posisi terakhir, maka combo akan menjadi elemen teratas dalam
tumpukan.
Ada pun Operasi-operasi dan fungsi stack yaitu :
  Push : digunakan untuk menambahkan item pada stack pada tumpukan paling atas
  Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
  Clear : digunakan untuk mengosongkan stack
  IsEmpaty : fungsi yang digunakan untuk mencetak apakah stack sudah kosong
  IsFull : fungsi yang digunakan untuk mencetak apakah stack sudah penuh
  Create Stack : membuat Tumpukan baru S, dengan jumlah elemen kosong.
  MakeNull : mengsongkan tumpukan S,jika ada elemen maka semua elemen dihapus.
Pada proses Push, Tumpukan (Stack) harus diperiksa apakah jumlah elemen sudah
mencapai masimum atau tidak. Jika sudah mencapai maksimum maka OVERFLOW, artinya
Tumpukan penuh tidak ada elemen yang dapat dimasukkan ke dalam Tumpukan. Sedangkan
pada proses Pop, Tumpukan harus diperiksa apakah ada elemen yang hendak dikeluarkan atau
tidak. Jika tidak ada maka UNDERFLOW, artinya tumpukan kosong tidak ada elemen yang
dapat diambil.
Apa itu kegunaan Stack ?
Stack (Tumpukan) lifo/ last in first out

Stack digunakan seseorang yang akan meresenpetasi pemanggilan prosedur, perhitungan


ekspresi aritmatika, rekursifitas, backtracking. 
Adapun contoh aplikasi stack, diantaranya:
    MATCHING PARENTHESES
Proses ini dilakukan compiler untuk memeriksa kelengkapan tanda kurung yang terdapat pada
suatu ekspresi aritmetik. Sedangkan stack di sini digunakan sebagai tempat prosesnya.
    NOTASI POSTFIX
Bentuk aplikasi stack yang lain adalah mengubah suatu ekspresi aritmatik (string) ke dalam
notasi postfix. Notasi postfix ini digunakan oleh compiler untuk menyatakan suatu ekspresi
aritmatik dalam bahasa tingkat tinggi (high level language). Stack digunakan oleh compiler
untuk mentransformasikan ekspresi aritmatik menjadi suatu ekspresi dalam bentuk/notasi
postfix.

Sebelum struktur data tumpukan ini bisa digunakan, harus dideklarasikan dahulu dalam
kamus data. Ada beberapa cara pendeklarasian struktur data ini, salah satunya dengan
menggunakan tata susunan linear (larik) dan sebuah variable, yang dikemas dalam tipe data
record. Stack (tumpukan) adalah struktur data bertipe record yang terdiri dari field elemen,
bertipe larik/array dengan indek dari 1 sampai dengan MaksTum (Maksimum Tumpukan), atas,
bertipe interger berkisar dari 0 (saat kosong) sampai dengan MaksTum (Maksimum Tumpukan).
 Apa sih kelebihan dan kekurangan stack ?
kelebihan kekurangan stack

Kelebihan dan kekurangan stack


Kelebihan stack yaitu penambahan dan penghapusan data dapat dilakukan dengan cepat,
yaitu selama memori masih tersedia penambahan data bisa terus dilakukan. Dengan demikian
tidak ada kekuatiran terjadinya stack overflow.
Kekurangan stack yaitu setiap sel tidak hanya menyimpan value saja, melainkan juga pointer
ke sel berikutnya. Hal ini menyebabkan implementasi stack memakai linked list akan
memerlukan memori yang lebih banyak daripada di implementasikan dengan array. Setiap
halaman pada linked list hanya bisa di akses dengan cara sekuensial, sehingga lambat. 

Anda mungkin juga menyukai