Modul Praktikum Algopro Bab 1 - 3
Modul Praktikum Algopro Bab 1 - 3
PEMROGRAMAN
Dengan PYTHON
(Imam Syafi’i)
KATA PENGANTAR
Python diciptakan oleh Guido van Rossum pertama kali di Centrum Wiskunde & Informatica (CWI) di Belanda
pada awal tahun 1990-an. Semua versi python yang dirilis bersifat open source. Python 1.0 dirilis pada Januari
2004 dan terus berkembang hingga saat modul ini ditulis versi terbaru adalah Python 3.9 yang dirilis pada Oktober
2020.
Kelebihan dari PYTHON adalah:(1) mudah dipelajari, sintaksnya jelas dan mudah dibaca, (2) simpel tapi
powerful, menulis kode program membutuhkan baris perintah yang lebih sedikit dibanding bahasa pemrograman
lain dan (3) serbaguna, bisa untuk hampir semua kebutuhan. Python bisa dipakai untuk pemrograman dekstop
maupun mobile, CLI, GUI, web, otomatisasi, hacking, IoT, robotik, dan lain sebagainya.
Pada dasarnya, apapun bahasa pemrograman yang digunakan yang terpenting adalah belajar tentang konsep
pemrograman dan melatih logika. Dengan konsep pemrograman dan logika yang kuat maka kita akan bisa
belajar dengan cepat bahasa pemrograman yang lain.
Modul praktikum ini merupakan terbitan pertama yang dibuat untuk memudahkan mahasiswa semester I dapat
memahami konsep pemrograman dan logika melalui bahasa PYTHON.
Penyusun berharap semoga Modul ini dapat bermanfaat bagi semua pihak, terutama bagi mahasiswa semester I
yang mengikuti mata kuliah Algoritma dan Teknik Pemrograman di Universitas Wijaya Putra Surabaya. Namun
kami menyadari bahwa modul ini belumlah sempurna. Tinjauan dan saran yang bersifat membangun tetaplah
sangat diharapkan demi peningkatan kesempurnaan modul praktikum ini.
Penyusun
DAFTAR ISI
DAFTAR ISI................................................................................................................................................. 3
............................................................................................................................................................... 6
Dasar Teori................................................................................................................................................ 6
Percobaan ................................................................................................................................................ 12
Tugas ...................................................................................................................................................... 15
............................................................................................................................................................. 17
............................................................................................................................................................. 36
RUNTUNAN .............................................................................................................................................. 37
Percobaan ................................................................................................................................................... 39
Latihan ...................................................................................................................................................... 40
Tugas ...................................................................................................................................................... 40
PENGENALAN ALGORITMA
POKOK BAHASAN
• Pengenalan Algoritma
• Sifat Algoritma
• Jenis penulisan algoritma
• Pengenalan Program dan Pemrograman
TUJUAN BELAJAR
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu:
• Mengenal dan memahami definisi dan kegunaan algoritma
• Memahami proses penyelesaian masalah
• Memahami cara penulisan algortima
Dasar Teori
1. Algoritma
Terdapat beberapa definisi tentang algoritma, tetapi pada dasarnya sama:
• Algoritma adalah urutan langkah-langkah untuk menyelesaikan masalah
• Algoritma adalah deretan instruksi yang jelas untuk memecahkan persoalan, yaitu untuk memperoleh
hasil yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas.
2. Karakteristik Algoritma
Menurut Donaold E. Knuth di dalam buku Art Of Computer Programming, sebuah algoritma harus mempunyai
lima ciri penting:
• Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas
• Setiap langkah yang didefinisikan harus jelas dan tidak boleh bersifat ambigu
• Algoritma memiliki nol atau lebih masukan (input)
4. Notasi Algoritma
Notasi algoritma adalah cara untuk menulis algoritma. Terdapat 3 notasi algoritma yaitu pseudocode, flowchart
dan kalimat deskriptif. Masing-masing dijelaskan satu persatu di bawah ini.
a) Kalimat deskriptif
Notasi algoritma dengan menggunakan kalimat deskriptif disebut juga notasi alami. Notasi algoritma deskriptif
dilakukan dengan cara menuliskan intruksi-intruksi yang musti dilaksanakan dalam bentuk untaian kalimat
deskriptif dengan menggunakan bahasa yang jelas. Notasi deskriptif ini disarankan untuk algoritma yang pendek
karena apabila untuk algoritma yang panjang notasi deskriptif kurang efektif. Susunan penulisan algoritma dengan
kalimat deskripti sebagai berikut:
Bagian Judul : bagian yang terdiri atas nama algoritma dan penjelasan atau spesifikasi
algoritma tersebut.
Bagian Deklarasi : bagian untuk mendefinisikan semua nama yang digunakan pada algoritma
dapat berupa variabel, konstanta, tipe ataupun fungsi
Bagian Deskripsi : bagian inti pada struktur algoritma yang berisi uraian langkah-langkah
penyelesaian masalah.
Contoh penyelesaian masalah menghitung luas lingkaran yang ditulis dengan kalimat deskriptif:
Algoritma Luas_Lingkaran
{Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima
masukan jari-jari lingkaran, menghitung luasnya, lalu mencetak luasnya ke piranti
keluaran}
Deklarasi:
Jari_jari = real {tipe data bilangan pecahan}
Luas = real {tipe data bilangan pecahan}
PHI = 3.14
Deskripsi
1. Baca jari
2. Hitung luas = PHI*jari_jari * jari_jari
3. Tampilkan luas ke layar
4. Selesai
b) Flowchart
Flowchart merupakan penulisan algoritma dengan menggunakan notasi grafis. Flowchart adalah bagan yang
mempelihatkan tahapan dari suatu program dan hubungan antar proses beserta penyataannya. Ilustrasi ini
dinyatakan dalam simbol, setiap simbol mempunyai makna tertentu untuk proses tertentu. Simbol-simbol
flowchart yang umumnya digunakan adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan
ISO.
Berikut simbol-simbol flowchart yang biasa digunakan:
Tabel 1 Simbol pada Flowchart
Start
Start
Simbol Aliran /
Flow Line
penghubung Luas = a x t
phi = 3.144
Inisialiasi / pemberian ketemu = false
Preparation
nilai awal
int pangkat(a, b)
Predefined Process Proses menjalankan
(subprogram) subprogram (fungsi)
A
sambungan beda
A
halaman
2
sambungan satu
2
halaman
Contoh penyelesaian masalah menghitung luas lingkaran dan penentuan bilangan ganjil dan genap yang ditulis
dengan flowchart:
c) Pseudocode
Pseudocode atau dalam bahasa Indonesia disebut kode palsu adalah deskripsi dari algoritma pemrograman
computer yang menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan agar dapat
dibaca oleh manusia dan bukanya oleh mesin. Tujuan pseudocode adalah agar manusia lebih mudah memahami
daripada membaca kode program, aspek lainnya karena penulisan yang relatif ringkas dan tidak bergantung pada
suatu sistem tertentu.
Pseudocode pada umumnya digunakan di dalam buku-buku ataupun publikasi karya ilmiah yang
mendokumentasikan dari suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk
membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis. Tidak ada satu pun
standar yang berlaku untuk pseudocode, sebuah program yang masih berupa pseudocode belum dapat dijalankan.
Pseudocode juga mirip dengan kerangka program (skeleton programs) termasuk dummycode, yang bisa
dikompilasi tanpa kesalahan.
Susunan penulisan algoritma sama dengan kalimat deskripti yaitu sebagai berikut:
Pembahasan secara mendetail tentang masing-masing struktur kontrol akan dijelaskan di bab terpisah.
6. Pemrograman Prosedural
Ada berbagai paradigma pemrogaman yang dikenal di dunia: pemrograman procedural, pemrograman
berorientasi objek, pemrograman fungsional, pemrograman deklaratif dan pemrograman concurrent. Adapun
paradigma pemrograman yang pertama digunakan adalah pemrograman procedural, dimana alur instruksi
program dilaksanakan secara beruntun dan pemecahan masalah program dibagi menjadi beberapa
fungsi/prosedur yang saling bekerja sama untuk menyelsaikan masalah.
Percobaan
Start
float rupiah
read rupiah
usd = rupiah/14326
print (usd)
End
status, gaji_pokok
print total_gaji
End
Start
temp = bil1
bil1 = bil2
bil2 = temp + bil1
i < 50 i=i+1
False
End
Tugas
Tugas 1: Memecahkan masalah penyeberangan
Bantulah ketiga laki-laki yang membawa kantong uangnya untuk menyeberang sungai. Satu perahu hanya muat
2 benda (1 manusia & 1 kantong atau 2 manusia). Laki-laki 1 membawa kantong uang senilai $ 8k, Laki-laki 2
membawa kantong uang senilai $ 3k dan laki-laki 3 membawa kantong uang senilai $ 5k. Catatan: jika pada satu
sisi sungai terdapat kantong uang yang nilainya lebih banyak dari total nilai uang yang dimiliki laki-laki tersebut,
maka laki-laki tersebut akan mencuri uangnya dan kabur. Bagaimana agar semua dapat menyeberang dengan
selamat?
Susunlah algoritma dalam bentuk kalimat deskriptif untuk menyelesaikan masalah tersebut!
➢ Seorang sales yang berhasil mencapai penjualan di angka Rp 8.000.000 dalam 1 bulan akan menerima
bonus 8% dari penjualan.
➢ Seorang sales yang berhasil mencapai penjualan di angka Rp 5.000.000 dalam 1 bulan akan menerima
bonus 4% dari penjualan.
➢ Seorang sales yang berhasil mencapai penjualan di angka Rp 3.000.000 dalam 1 bulan akan menerima
bonus 2% dari penjualan.
➢ Kurang dari Rp 3.000.000 Sales tidak mendapat bonus.
POKOK BAHASAN
• Keyword di Python
• Identifier
• Sintaks Dasar Python
• Variabel, konstanta, tipe data
• Operator Python
• Tipe data String
• Penganalan Modul
TUJUAN BELAJAR
Dengan praktikum ini mahasiswa diharapkan dapat:
Dasar Teori
1.2. Identifier
Pengenal adalah nama yang diberikan untuk menamai hal di python seperti variabel, fungsi, kelas, dan
lain sebagainya. Fungsinya adalah untuk membedakan antara satu entitas dengan yang lainnya.
Aturan Penulisan Pengenal:
• Pengenal bisa terdiri dari kombinasi huruf kecil (a-z) atau huruf besar (A-Z), angka ( 0-9 ), dan
underscore ( _ ). namaKaryawan, bilangan_2, dan jenis_kenderaan_umum adalah nama variabel
yang valid.
• Pengenal tidak bisa dimulai menggunakan angka. 1nama adalah invalid sedangkan nama1 adalah
valid.
• Kata kunci tidak bisa dipakai sebagai nama pengenal.
• Karakter spesial seperti !, @, %, $, dan sebagainya tidak bisa digunakan sebagai pengenal.
• Python bersifat case sensitive. Huruf besar dan kecil dianggap berbeda. Jadi Variabel, variabel,
dan VARIABEL, adalah 3 buah nama yang berbeda.
Selain hal tersebut, ada beberapa hal lagi yang perlu diketahui terkait nama pengenal. Nama pengenal
sebaiknya menggunakan nama yang deskriptif. Walaupun menuliskan nama variabel panjang, p = 10
adalah benar, tapi menuliskannya menjadi panjang = 10 adalah jauh lebih baik agar nantinya Anda
mengerti apa yang dimaksud di kode program Anda.
Kemudian untuk nama variabel yang panjang, ada 2 cara penulisan. Pertama dengan menggunakan
metode underscore dan yang kedua dengan metode camelCase. Misalnya untuk menamai sebuah variabel
diameter persegi panjang, dengan metode underscore bisa ditulis diameter_persegi_panjang. Sedangkan
dengan metode camelCase ditulis diameterPersegiPanjang.
Kita dapat membuat sebuah statement terdiri dari beberapa baris dengan menggunakan tanda backslash (
\ ). Misalnya:
panjang1 = 'aku'
panjang2 = 'cinta'
panjang3 = 'indonesia'
panjang4 = 'tanah airku'
a = panjang1 + panjang2 + \
panjang3 + \
panjang4
print(a)
akucintaindonesiatanah airku
Statement yang ada di dalam tanda kurung [ ], { }, dan ( ) tidak memerlukan tanda \. Contohnya:
nama_bulan = ['Januari', 'Maret', 'Juni', 'September']
Bila indentasi dalam satu grup kode tidak sama, python akan menampilkan sintaks error.
nilai = 10
if nilai <= 5:
print("Nilai merah")
print("Tidak lulus")
else:
print("Nilai biru")
print("Lulus")
Tanda kutip tiga digunakan untuk string multibaris. Ketiga contoh berikut, semuanya adalah benar:
kata = 'kata'
kalimat = "Ini adalah kalimat"
paragraf = """Ini adalah paragraf. Paragraf
terdiri dari beberapa baris."""
Komentar di Python
Tanda pagar ( # ) digunakan untuk menandai komentar di python. Komentar tidak akan diproses oleh
interpreter Python. Komentar hanya berguna untuk programmer untuk memudahkan memahami maksud
dari kode.
# Komentar pertama
print("Hello World!") # Komentar kedua
Hello World!
Komentar multibaris diawali dan diakhiri dengan tanda petik tiga kali, baik petik satu, petik dua ataupun
petik tiga. Contoh:
'''
bil = input("Masukkan bilangan: ")
bil = int(bil)
if bil%2==0:
print("Genap")
else:
print("Ganjil")
'''
<class 'int'>
<class 'str'>
Artinya tipe data dapat langsung dikenali di python ketika kita menugaskan variabel tersebut dengan isian
tertentu.
Multi penugasan
Kita bisa memberi nilai ke beberapa variabel secara bersamaan seperti berikut.
x = y = z = 3
Pada contoh di atas, kita menciptakan sebuah objek integer, yaitu bilangan 3, dan kemudian kita menugaskan
ketiga variabel untuk menunjuk ke lokasi yang sama yang berisi 3.
Kita juga bisa menugaskan masing – masing variabel ke objek yang berbeda dalam sebaris perintah. Sebagai
contoh:
a, b, c = 1, 3.4, "Umar"
Pada contoh di atas, variabel a diberi nilai 1, b nilai 3.4, dan variabel c diberi nilai “Umar”.
Tipe data integer di Python panjangnya bisa berapa saja. Panjangnya hanya dibatasi oleh besar memori yang
tersedia. Tipe data float akurat sampai 17 angka di belakang koma.
Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan operasi matematika, seperti
penjumlahan, pengurangan, perkalian, pembagian, dan sebagainya. Tabel berikut menunjukkan jenis
operator aritmatika.
Operator Perbandingan
Operator perbandingan adalah operator yang digunakan untuk membandingkan 2 buah nilai. Hasil
perbandingannya adalah True atau False tergantung kondisi.
Operator Nama dan Fungsi Contoh
> Lebih besar dari – Hasilnya True jika nilai sebelah kiri lebih x>y
besar dari nilai sebelah kanan
< Lebih kecil dari – Hasilnya True jika nilai sebelah kiri lebih x<y
kecil dari nilai sebelah kanan
== Sama dengan – Hasilnya True jika nilai sebelah kiri sama x == y
dengan nilai sebelah kanan
!= Tidak sama dengan – Hasilnya True jika nilai sebelah kiri x != y
tidak sama dengan nilai sebelah kanan
>= Lebih besar atau sama dengan – Hasilnya True jika nilai x >= y
sebelah kiri lebih besar atau sama dengan nilai sebelah kanan
<= Lebih kecil atau sama dengan – Hasilnya True jika nilai x <= y
sebelah kiri lebih kecil atau sama dengan nilai sebelah kanan
Operator Penugasan
Operator penugasan adalah operator yang digunakan untuk memberi nilai ke variabel. a = 7 adalah contoh
operator penugasan yang memberi nilai 7 di kanan ke variabel a yang ada di kiri.
Operator Penjelasan Contoh
= Menugaskan nilai yang ada di kanan ke operand yang c = a + b menugaskan a
ada di sebelah kiri + b ke c
+= Menambahkan operand yang di kanan dengan c += a sama dengan c =
operand yang ada di kiri dan hasilnya di tugaskan ke c+a
operand yang di kiri
-= Mengurangi operand yang di kanan dengan operand c -= a sama dengan c =
yang ada di kiri dan hasilnya di tugaskan ke operand c+a
yang di kiri
*= Mengalikan operand yang di kanan dengan operand c *= a sama dengan c =
yang ada di kiri dan hasilnya di tugaskan ke operand c*a
yang di kiri
/= Membagi operand yang di kanan dengan operand c /= a sama dengan c =
yang ada di kiri dan hasilnya di tugaskan ke operand c*a
yang di kiri
**= Memangkatkan operand yang di kanan dengan c **= a sama dengan c
operand yang ada di kiri dan hasilnya ditugaskan ke = c ** a
operand yang di kiri
//= Melakukan pembagian bulat operand di kanan c //= a sama dengan c
terhadap operand di kiri dan hasilnya disimpan di = c // a
operand yang di kiri
%= Melakukan operasi sisa bagi operand di kanan c %= a sama dengan c
dengan operand di kiri dan hasilnya di simpan di =c%a
operand yang di kiri
Operator Logika
Operator logika adalah operator yang digunakan untuk melakukan operasi logika.
Operator Penjelasan Contoh
and Hasilnya adalah True jika kedua operandnya bernilai benar x and y
or Hasilnya adalah True jika salah satu atau kedua operandnya x or y
bernilai benar
not Hasilnya adalah True jika operandnya bernilai salah (kebalikan not x
nilai)
Operator Bitwise
Operator bitwise adalah operator yang melakukan operasi bit terhadap operand. Operator ini beroperasi bit
per bit sesuai dengan namanya. Sebagai misal, angka 2 dalam bit ditulis 10 dalam notasi biner dan angka 7
ditulis 111. Pada tabel di bawah ini, misalkan x = 10 ( 0000 1010) dalam biner dan y = 4 (0000 0100) dalam
biner.
Operator Nama Contoh
& Bitwise AND x& y = 0 (0000 0000)
| Bitwise OR x | y = 14 (0000 1110)
~ Bitwise NOT ~x = -11 (1111 0101)
^ Bitwise XOR x ^ y = 14 (0000 1110)
>> Bitwise right shift x>> 2 = 2 (0000 0010)
<< Bitwise left shift x<< 2 = 40 (0010 1000)
Operator Identitas
Operator identitas adalah operator yang memeriksa apakah dua buah nilai ( atau variabel ) berada pada lokasi
memori yang sama.
Operator Penjelasan Contoh
is True jika kedua operand identik (menunjuk ke x is True
objek yang sama)
is not True jika kedua operand tidak identik (tidak x is not True
merujuk ke objek yang sama)
Operator Keanggotaan
Operator keanggotaan adalah operator yang digunakan untuk memeriksa apakah suatu nilai atau variabel
merupakan anggota atau ditemukan di dalam suatu data (string, list, tuple, set, dan dictionary).
Operator Penjelasan Contoh
in True jika nilai/variabel ditemukan di dalam data 5 in x
not in True jika nilai/variabel tidak ada di dalam data 5 not in x
Float adalah bilangan pecahan atau bilangan berkoma. Contohnya adalah 5.5, 3.9, 72.8, -1.5, -0.7878999,
dan lain sebagainya. Panjang angka di belakang koma untuk float ini adalah 15 digit.
Bilangan kompleks (complex) adalah bilangan yang terdiri dari dua bagian, yaitu bagian yang real dan bagian
yang imajiner. Contohnya adalah 3 + 2j, 9 – 5j, dan lain sebagainya.
Cobalah tuliskan kode di atas pada VS code dan jalankan. Bagaimana keluarannya? Mengapa bisa
demikian?
Python Decimal
Ada kalanya perhitungan menggunakan float di Python membuat kita terkejut. Kita tahu bahwa 1.1 ditambah
2.2 hasilnya adalah 3.3. Tapi pada saat kita lakukan dengan Python, maka hasilnya berbeda.
a = 1.1
b = 2.2
c = a+b
print (c)
Output program:
3.3000000000000003
print (0.1)
print (decimal.Decimal(0.1))
Ouput program:
0.1
0.1000000000000000055511151231257827021181583404541015625
Modul ini juga membuat kita bisa melakukan perhitungan seperti di sekolah.
from decimal import Decimal as D
print(D('1.1') + D('2.2'))
print(D('1.2') * D('2.50'))
Output program:
3.3
3.000
Bilangan Pecahan
Python menyediakan modul fractions untuk mengoperasikan bilangan pecahan. Pecahan adalah bilangan
yang memiliki pembilang dan penyebut, misalnya 3/2. Perhatikan contoh berikut:
import fractions
print(fractions.Fraction(1.5))
print(fractions.Fraction(1,3))
Output program:
3/2
1/3
Operasi dasar seperti penjumlahan atau pembagian pecahan juga bisa dilakukan dengan modul fractions ini:
from fractions import Fraction as F
print(F(1,3) + F(1,3))
print(1 / F(5,6))
print(F(-3,10) < 0)
Output Program:
2/3
6/5
True
print(math.pi)
print(math.cos(math.pi))
print(math.exp(5))
print(math.log10(100))
print(math.factorial(5))
Output program:
3.141592653589793
-1.0
148.4131591025766
2.0
120
1.7. String
String adalah tipe data yang paling sering digunakan di Python. Kita bisa membuat string dengan meletakkan
karakter di dalam tanda kutip. Tanda kutipnya bisa kutip tunggal maupun kutip ganda. Contohnya adalah
sebagai berikut:
var1 = 'Hello Python'
var2 = "Programming with Python"
Mengakses Nilai String
Untuk mengakses nilai atau substring dari string, kita menggunakan indeks dalam tanda [ ].
var1 = 'Hello Python!'
var2 = "I love Python"
print("var1[0]", var1[0])
print("var2[2:6]:",var2[2:6])
Output program:
var1[0] H
var2[2:6]: love
Mengupdate String
String adalah tipe data immutable, artinya tidak bisa diubah. Untuk mengupdate string, kita perlu
memberikan nilai variabel string lama ke string yang baru. Nilai yang baru adalah nilai string lama yang
sudah diupdate.
var1 = 'Hello Python!'
var2 = var1[:6]
print("String Update: - ", var1[:6] + 'World')
Output program:
Menggabung String
Kita bisa menggabungkan dua atau lebih string menjadi satu dengan menggunakan operator +. Selain itu
kita juga bisa melipatgandakan string menggunakan operator *.
str1 = 'Hello'
str2 = 'Python'
# menggunakan +
print('str1 + str2 =', str1 + str2)
# menggunakan *
print('str1 * 3 =', str1 * 3)
Output program:
Output program:
True
False
Output program:
Karakter Escape
Ketika kita ingin mencetak teks Let’s Go!, maka kita tidak dapat menuliskan seperti ini:
print ('Let's Go!')
Python akan menganggap petik di tengah sebagai penutup String. Untuk mengatasi hal tersebut, ada dua
cara. Pertama gunakan petik yang berbeda sebagai penanda String contoh:
print ("Let's Go!")
print ('"Siapa namamu?", tanya Joni.')
Output program:
Let's Go!
"Siapa namamu?", tanya Joni.
Cara kedua menggunakan karakter Escape. Karakter escape dimulai dengan tanda backslash \. Interpreter
akan menerjemahkannya dengan cara berbeda dengan string biasa. Contoh:
print ('Let\'s Go!')
print ("\"Siapa namamu?\", tanya Joni.")
Output program:
Let's Go!
"Siapa namamu", tanya Joni.
\f ASCII formfeed
\n ASCII linefeed
\r ASCII carriage return
\t ASCII tab horizontal
\v ASCII tab horizontal
\ooo karakter dengan nilai oktal oo
\xHH karakter dengan nilai heksadesimal HH
Output program:
C:\Python34\Lib
Ini adalah baris pertama
Dan ini baris dua
Ini adalah HEX
Output Program:
This is a
good example
This is \x61 \ngood example
Memformat string dengan fungsi format() dibuat dengan menggunakan tanda {} sebagai placeholder atau
posisi substring yang akan digantikan. Kita biasa menggunakan argumen posisi atau kata kunci untuk
menunjukkan urutan dari substring.
# menggunakan posisi default
default_order = "{}, {} dan {}".format("Budi", "Galih","Ratna")
print('\n--- Urutan default ---')
print(default_order)
Output program:
Metode format() dapat memiliki spesifikasi format opsional. Misalnya, kita bisa menggunakan tanda <
untuk rata kiri, > untuk rata kanan, ^ untuk rata tengah, dan sebagainya.
Contoh:
print("{0} bila diubah jadi biner menjadi {0:b}".format(12))
print("Format eksponensial: {0:e}".format(1566.345))
print("Sepertiga sama dengan: {0:.3f}".format(1/3))
print("|{:<10}|{:^10}|{:>10}|".format('beras', 'gula', 'garam'))
Output program:
Output program:
Berikut adalah daftar lengkap simbol yang bisa digunakan bersamaan dengan % :
Operator Penjelasan
%c character
Konversi string melalui str () sebelum
%s
memformat
%i Dianggap sebagai bilangan bulat desimal
%d Dianggap sebagai bilangan bulat desimal
%u Unsigned decimal integer
%o Bilangan bulat oktal
%x Bilangan bulat heksadesimal (huruf kecil)
%X Bilangan bulat heksadesimal (huruf besar)
1.8. Modul
Modul adalah sebuah file yang berisi kode pemrograman python. Sebuah file yang berisi kode python,
misalnya: example.py, disebut modul dan nama modulnya adalah example.
Modul digunakan untuk memecah sebuah program besar menjadi file – file yang lebih kecil agar lebih mudah
dimanage dan diorganisir. Modul membuat kode bersifat reusable, artinya satu modul bisa dipakai berulang
dimana saja diperlukan.
Modul tidak lain adalah program python biasa. Berikut ini kita mencoba membuat sebuah modul. Kita akan
menyimpannya sebagai example.py
# Contoh modul python
def jumlah(a, b):
"""Fungsi ini menambahkan dua bilangan
dan mengembalikan hasilnya"""
result = a + b
return result
Mengimpor Modul
Kita bisa mengimpor modul python ke dalam program yang kita buat. Dengan mengimpor modul, maka
definisi, variabel, fungsi dan yang lainnya yang ada di dalam modul itu bisa kita pergunakan.
Kita mengimpor modul dengan menggunakan kata kunci import. Misalnya, kita akan mengimpor modul
example yang sudah kita buat di atas, maka kita bisa mengetikkan perintah berikut di IDLE maupun di
command prompt.
Setelah kita import, maka kita bisa mengakses isi dari modul example. Kita bisa mengakses fungsi maupun
variabel global di dalam modul dengan menggunakan operasi titik (.). Misalnya adalah sebagai berikut:
import example
print(example.jumlah(5,6))
Output program:
11
Python memiliki banyak modul bawaan, misalnya modul math, os, sys dan lain sebagainya. Modul – modul
tersebut berada di dalam direktori Lib ditempat Python terinstall.
Python juga memiliki ribuan modul siap pakai yang tersedia luas di internet, salah satunya di pypi.python.org.
Output program:
Output program:
Catatan: Menggunakan import * bukan cara yang baik. Hal ini bisa menciptakan duplikasi nama pengenal
dalam program dan bisa memicu bug (error).
Output program:
Bila kita menginput bilangan, misalnya integer lewat fungsi input(), maka hasil inputan tersebut adalah string
dan bukan integer. Kita harus mengubahnya terlebih dahulu menjadi tipe integer menggunakan fungsi int().
Tugas
Tugas 1: Menghitung total biaya
Setiap 1 hektar (ha) sawah memerlukan dosis pupuk yang tepat agar padi tumbuh optimal. Sawah memerlukan
dosis pupuk kandang sebesar 1 ton per ha dan pupuk anorganik sebesar 250 kg Urea, 100 kg TSP, dan 75 kg KCL
per ha. Jika harga 1 kg pupuk kandang adalah Rp 2500/kg, harga pupuk urea sebesar Rp 10.000/kg, harga pupuk
TSP Rp 12.500 dan harga pupuk KCL sebesar Rp 15.000/kg. Hitunglah berapa jumlah tiap pupuk yang diperlukan
dan total biaya nya untuk X hektar sawah! (x diinput dari keyboard!). Buat algoritmanya dan implementasikan
dalam program Python!
RUNTUNAN
POKOK BAHASAN
• Sturktur Kontrol Runtunan
• Pemecahan masalah dengan runtunan
TUJUAN BELAJAR
Dengan praktikum ini mahasiswa diharapkan dapat:
• Memahami penulisan program dengan Python
Dasar Teori
Pada konstruksi runtunan setiap instruksi akan dikerjakan satu per satu. Setiap instruksi dilaksanakan tepat satu
kali, tidak ada instruksi yang diulang maupun tidak dilaksanakan. Urutan instruksi yang dilaksanakan pemroses
sama dengan urutan aksi sebagaimana yang tertulis di dalam teks algoritmanya. Akhir dari instruksi terakhir
merupakan akhir algoritma.
instruksi 1
instruksi 2
instruksi 3
Contoh kasus dengan konstruksi algoritma runtunan adalah program menghitung luas persegi panjang sebagai
berikut:
Kalimat deskriptif
Pseudocode
Algoritma Menghitung luas persegi panjang
{menghitung luas persegi panjang}
Deklarasi:
panjang, lebar, luas = integer
Deskripsi:
read (panjang, lebar)
luas <- panjang * lebar
write (luas)
Flowchart
Mulai
cetak luas
Selesai
Struktur runtunan menjalan instruksi / beris perintah tepat satu kali dari atas ke bawah. Semua dijalankan secara
berurutan. Struktur runtunan merupakan konstruksi dasar algoritma dimana semua kode program pasti dibaca satu
per satu dari atas ke bawah. Selain stuktur runtunan, ada dua struktur lain yang menyebabkan urutan perubahan
pembacaan instruksi.
Percobaan
Latihan
Latihan 1. Menghitung waktu
Buatlah algoritma dalam bentuk pseudocode dan implementasikan ke dalam program. Buat program yang
menerima data masukan berupa jam, menit dan detik, lalu hitunglah total waktu dalam satuan detik dan tampilkan
hasilnya! (Misal 6 jam 23 menit dan 45 detik adalah 23025 detik).
Latihan 2. Konversi satuan berat
Buatlah algoritma dalam bentuk pseudocode dan implementasikan ke dalam program. Buat program yang
menerima data masukan berupa berat dalam satuan gram, kemudian konversikan ke kilogram (kg), pon (pound)
dan ons!
Tugas
Tugas 1: Menghitung Komisi Sales
Salesman keliling menjual obat herbal seharga Rp 270.000 (ukuran besar) dan Rp 150.000 (ukuran kecil). Dia
akan mendapat komisi sebesar 5% dari hasil penjualan harian, jika penjualan mencapai lebih dari Rp 3.000.000
dalam 1 hari, maka dia mendapat komisi tambahan sebesar Rp 200.000,-
Buatlah program penjualan Salesman tersebut. Nama salesman dan jumlah obat herbal ukuran besar dan kecil
yang berhasil dijual diinput oleh user kemudian tampilkan nama, hasil penjualan dan komisi total yang diterima
Salesman!!