Anda di halaman 1dari 41

MODUL ALGORITMA DAN TEKNIK

PEMROGRAMAN
Dengan PYTHON

UNIVERSITAS WIJAYA PUTRA


PROGRAM STUDI TEKNIK INFORMATIKA
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

“Bila kau tak tahan belajar,


maka kau harus tahan menanggung
perihnya kebodohan…”

(Imam Syafi’i)

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 1
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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.

Surabaya, Oktober 2020

Penyusun

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 2
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

DAFTAR ISI

DAFTAR ISI................................................................................................................................................. 3

............................................................................................................................................................... 6

PENGENALAN ALGORITMA .................................................................................................................... 6

POKOK BAHASAN ................................................................................................................................. 6

TUJUAN BELAJAR ................................................................................................................................. 6

Dasar Teori................................................................................................................................................ 6

Percobaan ................................................................................................................................................ 12

Tugas ...................................................................................................................................................... 15

............................................................................................................................................................. 17

PENGENALAN BAHASA PYTHON ......................................................................................................... 17

POKOK BAHASAN ..................................................................................................................................... 17

TUJUAN BELAJAR ..................................................................................................................................... 17

Dasar Teori ................................................................................................................................................. 17

............................................................................................................................................................. 36

RUNTUNAN .............................................................................................................................................. 37

POKOK BAHASAN ..................................................................................................................................... 37

TUJUAN BELAJAR ..................................................................................................................................... 37

Dasar Teori ................................................................................................................................................. 37

Percobaan ................................................................................................................................................... 39

Latihan ...................................................................................................................................................... 40

Tugas ...................................................................................................................................................... 40

............................................................................................................... Error! Bookmark not defined.

PERCABANGAN ......................................................................................... Error! Bookmark not defined.

POKOK BAHASAN ....................................................................................... Error! Bookmark not defined.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 3
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

TUJUAN BELAJAR ....................................................................................... Error! Bookmark not defined.

Dasar Teori ................................................................................................... Error! Bookmark not defined.

Percobaan ..................................................................................................... Error! Bookmark not defined.

Latihan ........................................................................................................ Error! Bookmark not defined.

Tugas ........................................................................................................ Error! Bookmark not defined.

............................................................................................................... Error! Bookmark not defined.

PERULANGAN............................................................................................ Error! Bookmark not defined.

POKOK BAHASAN ....................................................................................... Error! Bookmark not defined.

TUJUAN BELAJAR ....................................................................................... Error! Bookmark not defined.

Dasar Teori ................................................................................................... Error! Bookmark not defined.

Percobaan ..................................................................................................... Error! Bookmark not defined.

Latihan ........................................................................................................ Error! Bookmark not defined.

Tugas .......................................................................................................... Error! Bookmark not defined.

............................................................................................................... Error! Bookmark not defined.

TIPE DATA KOLEKSI................................................................................. Error! Bookmark not defined.

POKOK BAHASAN.................................................................................... Error! Bookmark not defined.

TUJUAN BELAJAR ....................................................................................... Error! Bookmark not defined.

Dasar Teori ................................................................................................... Error! Bookmark not defined.

Percobaan ..................................................................................................... Error! Bookmark not defined.

Latihan ........................................................................................................ Error! Bookmark not defined.

Tugas .......................................................................................................... Error! Bookmark not defined.

............................................................................................................... Error! Bookmark not defined.

FUNGSI DI PYTHON .................................................................................. Error! Bookmark not defined.

POKOK BAHASAN ................................................................................. Error! Bookmark not defined.

TUJUAN BELAJAR ................................................................................. Error! Bookmark not defined.

Dasar Teori................................................................................................ Error! Bookmark not defined.

Percobaan .................................................................................................. Error! Bookmark not defined.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 4
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Latihan ...................................................................................................... Error! Bookmark not defined.

Tugas ........................................................................................................ Error! Bookmark not defined.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 5
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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)

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 6
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

• Algoritma memiliki nol atau lebih luaran (output)


• Algoritma harus efektif. Setiap lagkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu
yang masuk akal.

3. Program dan Pemrograman


Komputer adalah mesin yang menjalankan instruksi di dalam algoritma. Agar komputer dapat mengerti instruksi
yang dibacanya, maka kita harus menulis instruksi algoritma menggunakan bahasa komputer yang disebut
dengan program. Bahasa komputer yang digunakan untuk menulis program dinamakan bahasa pemrograman
(language programming). Orang yang menulis program disebut pemrogram (programmer). Teks program
dalam bahasa pemrograman sering dinamakan dengan source code, sehingga menulis kode program sering
disebut dengan coding.
Belajar pemrograman tidak sama dengan belajar bahasa pemrograman. Belajar pemrograman berarti
mempelajari metodologi pemecahan masalah, kemudian menulisakan metode tersebut ke dalam nitasi tertentu.
Sedangkan belajar bahasa pemrograman artinya belajar memakai suatu bahasa komputer, aturan tata bahasanya,
instruksi-instruksinya dan cara memanfaatkan instruksi dalam bahasa tersebut.

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.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 7
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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

SIMBOL NAMA FUNGSI CONTOH

Start

Simbol Awal dan


Terminator End
Simbol Akhir

Start

Simbol Aliran /
Flow Line
penghubung Luas = a x t

Perhitungan diskon = 0.1 x total


Proses
pengolahan

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 8
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

SIMBOL NAMA FUNGSI CONTOH

merepresentasikan read jumlah


Input / Output Data
pembacaan data

simbol pernyatan usia<17


Decision pilihan, menghasilkan
dua opsi: ya dan tidak

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:

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 9
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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:

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 10
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________
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 pseudocode untuk menghitung luas lingkaran:


Algoritma Luas_Lingkaran
{Menghitung luas lingkaran untuk ukuran jari-jari tertentu}
Deklarasi:
jari_jari = real {tipe data bilangan pecahan}
luas = real {tipe data bilangan pecahan}
PHI = 3.14
Deskripsi
read (jari_jari)
luas <- PHI*jari_jari * jari_jari
write (luas)

Contoh pseudocode untuk menentuka bilangan ganjil/genap:


Algoritma penentuan bilangan ganjil/genap
{menentukan bilangan yang dimasukkan ganjil/genap}
Deklarasi:
bil = int
Deskripsi:
read (bil)
if bil % 2 <- 0 then
write (“genap”)
else
write (“ganjil”)

5. Struktur Kontrol Program


Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk (struktur) tertentu yang digunakan
untuk mengatur (mengontrol) jalannya program. Terdapat tiga jenis struktur kontrol dalam pemrograman antara
lain:
a) Struktur Kontrol Runtunan: setiap instruksi peogram dijalankan satu per satu secara runut dari atas ke
bawah
b) Struktur Kontrol Pemilihan: terdapat percabangan di dalam logika baris program dan instruksi
selanjutnya yang akan dikerjakan tergantung dari nilai logika percabangan tersebut (true / false)
c) Struktur Kontrol Perulangan: instruksi program yang diulang selama beberapa kali

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 11
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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

Percobaan 1: Algoritma Konversi Rupiah ke Dolar dan sebaliknya


Tulislah algoritma untuk mengkonversi nilai uang rupiah ke Dolar (USD).
Penyelesaian 1.1. Algoritma dalam bentuk Pseudocode
Algoritma Konversi Rupiah ke Dolar
{inputan rupiah dikonversi ke USD}
Deklarasi:
Rupiah, usd = float
Deskripsi:
read (rupiah)
usd <- rupiah/14326
write (usd)
end

Penyelesaian 1.2. Algoritma dalam bentuk flowchart

Start

float rupiah

read rupiah

usd = rupiah/14326

print (usd)

End

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 12
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Percobaan 2: Algoritma Menghitung Gaji Karyawan


Tulislah algoritma untuk menghitung gaji karyawan dengan ketentuan sebagai berikut:
Gaji Pokok : 3 juta , tunjangan bergantung pada status menikah, jika sudah menikah tunjangan 500.000. Tunjangan
anak, per anak adalah 500.000. Hitunglah algoritma untuk menghitung gaji total karyawan.
Penyelesaian 2.1. Algoritma dalam bentuk Pseudocode
Algoritma Hitung Gaji Karyawan
{hitung total gaji karyawan}
Deklarasi:
status = boolean
gaji_pokok, tunjangan_istri, tunjangan_anak, jumlah_anak, total_gaji = integer
Deskripsi:
read (gaji_pokok)
read (status)
if status = “Menikah” then
tunjangan_istri <- 500000
read (jumlah_anak)
tunjangan_anak <- jumlah_anak * 500000
else
tunjangan_istri <- 0
tunjangan_anak <- 0
endif
total_gaji = gaji_pokok + tunjangan_istri + tunjangan_anak
write (total_gaji)
end

Penyelesaian 2.2. Algoritma dalam bentuk flowchart Start

status, gaji_pokok

read status, gaji_pokok


tunjangan_istri = 500000
Ya
Status = “Menikah”
read jumlah_anak
Tidak
tunjangan_istri = 0
tunjangan_anak = 500000 * jumah_anak
tunjangan_anak = 0

total_gaji = gaji_pokok + tunjangan_istri + tujangan_anak

print total_gaji

End

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 13
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Percobaan 3: Algoritma Mencetak Deret Fibonaci antara 0 - 50


Tulislah algoritma untuk menampilkan deret fibonaci yang berada di antara angka 0 – 50.
Penyelesaian 3.1. Algoritma dalam bentuk Pseudocode
Algoritma Cetak Deret Fibonaci
{cetak deret fibonaci antara 0 - 50}
Deklarasi:
bil1, bil2, temp, i = integer
Deskripsi:
bil1 <- 0
bil2 <- 1
for i <- 0 to 50 do
temp <- bil1
bil1 <- bil2
bil2 <- temp + bil1
write (temp)
endfor
end

Penyelesaian 3.2. Algoritma dalam bentuk flowchart

Start

bil1=0, bil2=1, i=0

read bil1, bil2, i

temp = bil1
bil1 = bil2
bil2 = temp + bil1

True print (temp)

i < 50 i=i+1

False
End

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 14
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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!

Tugas 2: Algoritma menghitung lama jam kerja karyawan


Tulislah algoritma (dalam bentuk pseudocode dan Flowchart) untuk menghitung berapa lama seorang karyawan
bekerja dengan ketentuan sebagai berikut:
Seorang karyawan yang bekerja di pabrik ABC sering lembur karena banyaknya tugas. Setiap hari dia masuk
pabrik tepat pukul 07.00 pagi dan waktu pulang yang bervariasi. Susun algoritma untuk menginput waktu pulang
dalam bentuk hh:mm , kemudian hitung berapa lama karyawan tersebut bekerja. Output dalam bentuk hh:mm
(jam dan menit).

Tugas 3: Algoritma menghitung bonus sales


Tulislah algoritma (dalam bentuk pseudocode dan Flowchart) untuk menghitung berapa banyak bonus yang
diterima seorang sales dengan ketentuan sebagai berikut:
➢ Seorang sales yang berhasil mencapai penjualan di angka Rp 10.000.000 dalam 1 bulan akan mendapat
bonus sebesar 10% penjualan.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 15
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

➢ 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.

Tugas 4: Algoritma mencetak Nama Anda sebanyak X kali


Tulislah algoritma (dalam bentuk pseudocode dan Flowchart) untuk mencatak nama Anda sebanyak X kali. X
diinput dari keyboard!

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 16
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

PENGENALAN BAHASA PYTHON

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:

• Mengetahui aturan penulisan program pada Python


• Mengenal dan memahami keyword, variabel, tipe data dan operator di Python
• Mengetahui fungsi-fungsi dasar pada Python
• Mengetahui cara import modul dan membuat modul

Dasar Teori

1.1. Kata Kunci Python


Kata kunci adalah kata – kata yang sudah ditetapkan dan dipakai Python untuk mendefinisikan sintaks
dan struktur bahasa python sendiri. Kata kunci tidak bisa digunakan sebagai nama variabel, fungsi,
maupun nama untuk pengenal lainnya. Keyword bersifat case sensitive. Artinya huruf besar berbeda
dengan huruf kecil. Sejauh ini, ada 33 kata kunci di Python.
Semua kata kunci menggunakan huruf kecil kecuali True, False, dan None. Daftar kata kunci Python
adalah seperti berikut:
True def if raise

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 17
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

False del import return


None elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass

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.

1.3. Sintaks Dasar


Setiap baris di dalam program disebut dengan statement (pernyataan). Ada statement penugasan, misal ‘
a = 10 ‘, ada juga statement IF , statement perulangan, dll.
Statement Multibaris

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 18
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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)

Hasil keluaran kode program tersebut:

akucintaindonesiatanah airku

Statement yang ada di dalam tanda kurung [ ], { }, dan ( ) tidak memerlukan tanda \. Contohnya:
nama_bulan = ['Januari', 'Maret', 'Juni', 'September']

Baris dan Indentasi


Python tidak menggunakan tanda { } untuk menandai blok / grup kode. Blok kode di python
menggunakan tanda indentasi (spasi). Jumlah spasi untuk setiap baris yang ada dalam satu blok kode
harus sama. Contoh yang benar adalah sebagai berikut:
nilai = 10
if nilai <= 5:
print("Nilai merah")
print("Tidak lulus")
else:
print("Nilai biru")
print("Lulus")

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")

Keterangan error: IndentationError: unexpected indent

Tanda Kutip di Python


Python menggunakan tanda kutip tunggal (‘), ganda (“), maupun triple (”’ atau “””) untuk menandai
string, sepanjang stringnya diawali oleh tanda kutip yang sama di awal dan akhir string.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 19
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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

Kode di atas akan menghasilan keluaran:

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")
'''

1.4. Variabel, Konstanta dan Tipe Data


Variabel adalah lokasi di memori yang digunakan untuk menyimpan nilai. Pada saat kita membuat sebuah
variabel, kita ‘memesan’ tempat di dalam memori. Tempat tersebut bisa diisi dengan data atau objek, baik
itu bilangan bulat (integer), pecahan (float), karakter (string), dan lain – lain.

Memberi Nilai Variabel


Di python, variabel tidak perlu dideklarasikan secara eksplisit. Deklarasi atau pembuatan variabel terjadi
secara otomatis pada saat kita memberi (menugaskan) suatu nilai ke variabel. Tanda sama dengan ( = )
digunakan untuk memberikan nilai ke variabel.
Operand di sebelah kiri tanda = adalah nama variabel dan di sebelah kanan tanda = adalah nilai yang disimpan
di dalam variabel. Sebagai contoh:

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 20
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________
nilai = 100
kota = 'Palembang'
print (type(nilai))
print (type(kota))

Hasil keluaran kode diatas adalah:

<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 Python


Data yang disimpan di memori memiliki tipe yang berbeda – beda. Misalnya untuk panjang, akan disimpan
dengan tipe bilangan. Nama orang akan disimpan dalam tipe string/karakter. Suhu akan disimpan dalam
bentuk bilangan berkoma. Dan lain sebagainya. Masing – masing tipe data akan memiliki operasi yang
berbeda – beda.
Python memiliki enam tipe data standar atau paling sering digunakan, yaitu:
• Bilangan (Number)
• String
• List
• Tuple
• Set
• Dictionary

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 21
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Tipe Data Bilangan (Number)


Tipe data bilangan yang umum ada 2 yaitu, integer dan float. Integer adalah bilangan bulat, sedangkan float
adalah bilangan pecahan. Selain itu ada tipe bilangan lain, yaitu bilangan kompleks yaitu bilangan yang
memiliki bagian real dan imajiner. Integer, float, dan kompleks masing-masing di Python diwakili oleh kelas
int, float, dan complex.
Kita bisa menggunakan fungsi type() untuk mengetahui tipe data suatu objek di python.
bil = 5
print(bil, "tipenya adalah ", type(bil))
bil = 2.0
print(bil, "tipenya adalah ", type(bil))
bil = 1+2j
print(bil, "tipenya adalah ",type(bil))

Hasil keluaran kode program di atas adalah:

5 tipenya adalah <class 'int'>


2.0 tipenya adalah <class 'float'>
(1+2j) tipenya adalah <class 'complex'>

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.

Tipe Data String (Teks)


String adalah satu atau serangkaian karakter yang diletakkan diantara tanda kutip, baik tanda kutip tunggal (
‘ ) maupun ganda ( ” ). Huruf, angka, maupun karakter lainnya yang digabung menjadi teks adalah contoh
string.
String adalah tipe data yang anggotanya berurut dan memiliki indeks. Indeks dimulai dari angka 0 bila
dimulai dari depan dan -1 bila diindeks dari belakang. Tiap karakter bisa diakses menggunakan indeksnya
dengan formatNamaString[indeks] . Pada string juga bisa dilakukan slicing atau mengakses sekelompok
substring dengan format namaString[awal:akhir]. Untuk jelasnya bisa diperhatikan contoh berikut.
kalimat = "Nama saya Umar"
print(kalimat) # print string lengkap
print(kalimat[0]) # print karakter pertama
print(kalimat[-1]) # print karakter terakhir
print(kalimat[4:7]) # print dari indeks 4 - 6
print(kalimat[:4]) # print dari indeks 0 - 3

Hasilnya akan muncul seperti berikut:

Nama saya Umar


N

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 22
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________
r
sa
Nama

1.5. Operator Python


Operator adalah simbol tertentu yang digunakan untuk melakukan operasi aritmatika maupun logika. Nilai
yang padanya dilakukan operasi disebut operand. Misalnya adalah 2 + 3. Di sini tanda + adalah operator
penjumlahan. 2 dan 3 adalah operand.
Python memiliki sejumlah operator, yaitu:
• Operator Aritmatika
• Operator Perbandingan
• Operator Penugasan
• Operator Logika
• Operator Bitwise
• Operator Identitas
• Operator Keanggotaan

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 Nama dan Fungsi Contoh


+ Penjumlahan, menjumlahkan 2 buah operand x+y
– Pengurangan, mengurangkan 2 buah operand x–y
* Perkalian, mengalikan 2 buah operand x*y
/ Pembagian, membagi 2 buah operand x/y
** Pemangkatan, memangkatkan bilangan x **y
// Pembagian bulat, menghasilkan hasil bagi tanpa koma x // y
% Modulus, menghasilkan sisa pembagian 2 bilangan x%y

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

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 23
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

< 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

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 24
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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

1.6. Bilangan di Python


Bilangan (number) adalah salah satu tipe data dasar di Python. Python mendukung bilangan bulat (integer),
bilangan pecahan (float), dan bilangan kompleks (complex). Masing – masing diwakili oleh kelas int, float,
dan complex.
Integer adalah bilangan bulat, yaitu bilangan yang tidak mempunyai koma. Contohnya 1, 2, 100, -30, -5,
99999, dan lain sebagainya. Panjang integer di python tidak dibatasi jumlah digitnya. Selama memori masih
cukup, maka sepanjang itulah jumlah digit yang akan ditampilkan.

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 25
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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.

Konversi Jenis Bilangan


Kita bisa mengubah jenis bilangan dari int ke float, atau sebaliknya. Mengubah bilangan integer ke float bisa
menggunakan fungsi int(num) dimana num adalah bilangan float.
print (int(8.43))
print (float(7))
print (int(6.82))

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

Mengapa terjadi demikian?


Hal ini terjadi karena bilangan dalam komputer disimpan dalam bentuk digit 0 atau 1. Bila padanan digitnya
tidak sesuai, maka bilangan float seperti 0.1 dalam bilangan biner akan menjadi pecahan yang sangat panjang
yaitu 0.000110011001100110011… dan komputer kita hanya akan menyimpan panjang yang terbatas. Hal
inilah yang menyebabkan terjadinya masalah seperti pada contoh di atas.
Untuk menangani hal seperti itu, kita bisa menggunakan modul bawaan Python yaitu modul decimal. Float
hanya memiliki presisi sampai 15 digit di belakang koma, sementara dengan modul decimal kita bisa
mengatur presisi jumlah digit di belakang koma.
import decimal

print (0.1)
print (decimal.Decimal(0.1))

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 26
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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

Kapan Saatnya Menggunakan Decimal Dibanding Float?


Kita lebih baik menggunakan Decimal dalam kasus:
• Saat kita ingin membuat aplikasi keuangan yang membutuhkan presisi desimal yang pasti
• Saat kita ingin mengontrol tingkat presisi yang diperlukan
• Saat kita ingin menerapkan perkiraan berapa digit decimal yang signifikan
• Saat kita ingin melakukan operasi perhitungan sama persis dengan yang kita lakukan di sekolah

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)

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 27
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Output Program:

2/3
6/5
True

Matematika Dengan Python


Python menyediakan modul math melakukan hal yang berbau matematis seperti trigonometri, logaritma,
probabilitas, statistik, dan lain – lain.
import math

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

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 28
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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:

String Update: - Hello World

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:

str1 + str2 = HelloPython


str1 * 3 = HelloHelloHello

Menguji Keanggotaan Karakter Dalam String


Kita bisa menguji apakah sebuah substring ada terdapat di dalam suatu string atau tidak. Caranya adalah
dengan menggunakan kata kunci in.
print ('a' in 'Programming')

print ('k' in "Let's practices coding")

Output program:

True
False

Mengetahui Panjang String


Untuk mengetahui panjang dari string, kita bisa menggunakan fungsi len().

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 29
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________
teks = "Indonesia"
print (len(teks))

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.

Berikut adalah daftar karakter escape yang didukung oleh Python.

Karakter Escape Deskripsi


\newline Backslash dan newline diabaikan
\\ Backslash
\’ Kutip tunggal
\” Kutip ganda
\a ASCII bel
\b ASCII backscape

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 30
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

\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

Berikut ini adalah beberapa contohnya:


print("C:\\Python34\\Lib")
print("Ini adalah baris pertama\nDan ini baris dua")
print("Ini adalah \x48\x45\x58")

Output program:

C:\Python34\Lib
Ini adalah baris pertama
Dan ini baris dua
Ini adalah HEX

Raw String Untuk Mengabaikan Karakter Escape


Kadang kala kita perlu untuk mengabaikan karakter escape yang ada dalam string. Kita bisa
melakukannya dengan meletakkan huruf r atau R sebelum tanda kutip string.
print("This is \x61 \ngood example")
print(r"This is \x61 \ngood example")

Output Program:

This is a
good example
This is \x61 \ngood example

Mengatur Format String


Ada dua cara melakukan format pada string. Pertama dengan menggunakan fungsi format(), dan kedua
dengan menggunakan cara lama (menggunakan %).
Metode format()

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 31
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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)

# menggunakan argument posisi


positional_order = "{1}, {0} dan {2}".format("Budi", "Galih","Ratna")
print('\n--- Urutan berdasarkan posisi ---')
print(positional_order)

Output program:

--- Urutan default ---


Budi, Galih dan Ratna

--- Urutan berdasarkan posisi ---


Galih, Budi dan Ratna

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:

12 bila diubah jadi biner menjadi 1100


Format eksponensial: 1.566345e+03
Sepertiga sama dengan: 0.333
|beras | gula | garam|

Format Cara Lama Dengan %


Kita bisa menggunakan operator % untuk melakukan format string.
nama = 'Budi'
print('Nama saya %s' %nama)
x = 12.3456789
print('Nilai x = %3.2f' %x)

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 32
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Output program:

Nama saya Budi


Nilai x = 12.35

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)

%e Notasi eksponensial (dengan huruf kecil ‘e’)

%E Notasi eksponensial (dengan huruf besar ‘E’)

%f Bilangan real floating point


%g Yang lebih pendek dari% f dan% e
%G Lebih pendek dari% f dan% E

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

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 33
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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.

Cara Lain Mengimpor Modul


Ada beberapa sintaks yang bisa digunakan untuk mengimpor modul, yaitu sebagai berikut:
• Cara import standard, formatnya import module_name
• Cara import dengan rename (alias), formatnya import module_name as alias
• Cara mengimport sebagian, formatnya from...import something
• Cara mengimport semua isi modul, formatnya import *

Impor Module Dengan import


Kita bisa mengimpor modul menggunakan pernyataan import dan mengakses isinya dengan menggunakan
operator titik. Berikut adalah contohnya:
import math
print("Nilai pi adalah:", math.pi)

Output program:

Nilai pi adalah: 3.141592653589793

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 34
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Impor Dengan Module Rename


Kita bisa mengimpor modul dengan menamainya. Hal ini biasanya kita lakukan untuk menyingkat nama
modul yang panjang. Contohnya adalah sebagai berikut:
import math as m
print("Nilai pi adalah:",m.pi)

Import Sebagian Menggunakan from ... import ...


Format from…import digunakan untuk mengimpor sebagaian isi modul dan bukan keseluruhan isi modul.
from math import pi
print("Nilai pi adalah", pi)

Kita juga bisa mengimpor beberapa atribut seperti contoh berikut:


from math import pi, e
print("Nilai pi adalah", pi)
print("Nilai e adalah", e)

Output program:

Nilai pi adalah 3.141592653589793


Nilai e adalah 2.718281828459045

Import Semua Isi Modul Dengan import *


Bila kita menggunakan format import *, maka semua isi modul akan dimuat. Bedanya dengan format import
standar adalah di sini kita dapat menggunakan semua isi modul tanpa menggunakan operator titik.
from math import *
print("Nilai e adalah", e)

Catatan: Menggunakan import * bukan cara yang baik. Hal ini bisa menciptakan duplikasi nama pengenal
dalam program dan bisa memicu bug (error).

1.9. Input dan Output


Python menyediakan banyak fungsi built-in yang bisa kita pergunakan. Salah satunya adalah yang berkenaan
dengan fungsi i/o atau input output.
Fungsi bawaan untuk melakukan operasi output adalah print(), dan fungsi untuk melakukan operasi input
adalah fungsi input(). Kita akan membahas fungsi print() terlebih dahulu.

Operasi Output Menggunakan Fungsi print()


Seperti yang sudah sering kita praktekkan, kita menggunakan fungsi print() untuk menampilkan data ke
perangkat keluaran standar (layar).

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 35
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________
print ("Indonesia Tanah Airku")
bil = 10
print ("Bilangan: ",bil)

Output program:

Indonesia Tanah Airku


Bilangan: 10

Operasi Input Menggunakan Fungsi input()


Agar program kita lebih interaktif, kita bisa meminta input atau masukan dari user. Python memiliki fungsi
input() untuk melakukan hal tersebut. Sintaksnya adalah seperti berikut:
input([prompt])
prompt bersifat opsional berfungsi sebagai string yang kita ingin tampilkan di layar. Agar inputannya tidak
langsung hilang, maka harus disimpan ke dalam variabel. Perhatikan contoh berikut:
nama=input("masukkan nama: ")
print("Namanya adalah ", nama)
Output program:

masukkan nama: adi


Namanya adalah adi

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!

Tugas 2: Membuat program sederhana dengan Python


Implementasikan Percobaan 1 sampai Percobaan 3 di BAB 1 ke dalam program dengan bahasa pemrograman
PYTHON!

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 36
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

RUNTUNAN

POKOK BAHASAN
• Sturktur Kontrol Runtunan
• Pemecahan masalah dengan runtunan

TUJUAN BELAJAR
Dengan praktikum ini mahasiswa diharapkan dapat:
• Memahami penulisan program dengan Python

• Memecahkan masalah pemrograman sederhana

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

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 37
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

Algoritma luas persegi panjang


{menghitung luas dari masukan panjang dan lebar}
Deklarasi:
panjang, lebar, luas = integer
Deskripsi:
1. Masukkan panjang
2. Masukkan lebar
3. Hitung luas persegi panjang dengan rumus panjang kali lebar
4. Tampilkan luas
5. Selesai

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

Masukkan panjang, lebar

luas = panjang * lebar

cetak luas

Selesai

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 38
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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

Percobaan 1: Menghitung Gaji Karyawan


. Seorang karyawan menerima gaji berupa gaji pokok dan tunjangan.
• Penghasilan tersebut harus dikurangi lagi dengan besar pajak.
• Buatlah sebuah program yang membaca nama dan gaji pokok bulanannya, kemudian hitung gaji bersih
karyawan tersebut.
• Tampilkan nama, gaji pokok, tunjangan, pajak dan gaji bersih karyawan tersebut!
• (Catatan : tunjangan sebesar 20% dari gaji pokok dan pajak 11% dari gaji pokok).

Algoritma dalam bentuk pseudocode:


Program Hitung Gaji
{menghitung gaji bersih dari gapok, tunjangan dan dan pajak}
Deklarasi:
Gapok, nama, tunjangan, pajak, gaji_bersih: float
Deskripsi:
read (nama, gapok)
Tunjangan = gapok * 0.2
Pajak=gapok*0.11
Gaji_bersih= gapok + tunjangan – pajak
Write (nama, gapok, tunjangan, pajak, gaji_bersih)
end

Implementasi dalam program:


nama = input("Masukkan nama: ")
gapok = int(input("Masukkan gaji pokok: "))
tunjangan = gapok * 0.2
pajak = gapok * 0.11
gaji_bersih = gapok + tunjangan - pajak
print("Tunjangan: ", tunjangan)
print("Pajak: ", pajak)
print("Gaji bersih: ", gaji_bersih)

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 39
Algortima dan Teknik Pemrograman Program Studi Teknik Informatika
__________________________________________________________________________________________

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!!

Tugas 2: Menghitung Total Biaya Pupuk


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!)

UNIVERSITAS WIJAYA PUTRA - Fakultas Teknik


Program Studi Teknik Informatika 40

Anda mungkin juga menyukai