Anda di halaman 1dari 51

UNIVERSITAS SULAWESI BARAT

Program Studi Informatika


Fakultas Teknik

Modul
Dasar-dasar Pemrograman

Penulis
Dr. Eng. Sulfayanti
Arnita Irianti, S.Si., M.Si.
Nahya Nur, S.T., M.Kom

1
Kata pengantar

Alhamdulillahi rabbil ‘alamin, puji syukur atas kehadirat Allah subhanahu


wata’ala karena atas segala limpahan nikmat dan karunianya penulis dapat
menyelesaikan Modul Dasar-dasar Pemrograman. Shalawat dan salam selalu tercurah
untuk Baginda Nabi Muhammad shallallahu ‘alaihi wasallam.
Modul ini dibuat dengan tujuan agar dapat membantu para dosen pengampu
dan mahasiswa mata kuliah Dasar-dasar Pemrograman dalam menjalankan proses
belajar mengajar.
Penulis menyadari masih terdapat begitu banyak kekurangan dalam modul ini,
untuk itu kritik dan saran yang membangun diharapkan untuk perbaikan modul ini ke
depannya.

Majene, 22 Juni 2022

Penulis

2
DAFTAR ISI

MATERI 1 PENGENALAN BAHASA PYTHON..............................................................................5


A. Pendahuluan....................................................................................................................5
B. Pembahasan.....................................................................................................................6
C. Tugas Praktikum.............................................................................................................10
MATERI 2 TIPE DATA, OPERATOR, DAN EKSPRESI..................................................................10
A. Pendahuluan..................................................................................................................11
B. Pembahasan...................................................................................................................12
C. Tugas Praktikum.............................................................................................................18
MATERI 3 RUNTUNAN...........................................................................................................20
A. Pendahuluan..................................................................................................................20
B. Pembahasan...................................................................................................................21
C. Tugas Praktikum.............................................................................................................22
MATERI 4 PEMILIHAN............................................................................................................23
A. Pendahuluan..................................................................................................................23
B. Pembahasan...................................................................................................................24
C. Tugas Praktikum.............................................................................................................28
MATERI 5 PERULANGAN........................................................................................................30
A. Pendahuluan..................................................................................................................30
B. Pembahasan...................................................................................................................31
C. Tugas Praktikum.............................................................................................................34
MATERI 6 FUNGSI..................................................................................................................35
A. Pendahuluan..................................................................................................................35
B. Pembahasan...................................................................................................................36
C. Tugas Praktikum.............................................................................................................38
MATERI 7 LARIK (ARRAY).......................................................................................................39
A. Pendahuluan..................................................................................................................39
B. Pembahasan...................................................................................................................40
C. Tugas Praktikum.............................................................................................................45
MATERI 8 MATRIKS...............................................................................................................47
A. Pendahuluan..................................................................................................................47

3
B. Pembahasan...................................................................................................................48
C. Tugas Praktikum.............................................................................................................49
Daftar Pustaka.......................................................................................................................50

4
MATERI 1
PENGENALAN BAHASA PYTHON

A. Pendahuluan
1. Pengantar
Pemrograman sudah menjadi kegiatan yang sangat penting di era teknologi
informasi. Program yang berjalan di komputer desktop, laptop, telepon pintar, dan
sebagainya, tidak tercipta begitu saja, tetapi dituliskan melalui proses analisis dan
perancangan yang cermat. Sebuah program komputer pada dasarnya
mengimplementasikan suatu algoritma dalam notasi bahasa pemrograman tertentu.

2. CPL, CPMK dan Sub-CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan

5
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 1 Menjelaskan konsep dasar–dasar bahasa pemrograman

B. Pembahasan
1. Algoritma
Algoritma adalah deretan langkah-langkah untuk memecahkan suatu masalah.
Terdapat beberapa definisi lain dari algoritma tetapi pada prinsipnya senada dengan
defenisi yang diungkapkan. Beberapa definisi dari algoritma dikutip dari berbagai literatur,
antara lain:
a. Algoritma adalah deretan langkah-langkah komputasi yang menstranformasikan data
masukan menjadi keluaran.
b. Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu
untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah
waktu yang terbatas.
c. Algoritma adalah prosedur komputasi yang terdefenisi dengan baik yang
menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang
disebut keluaran. Jadi, algoritma adalah deretan langkah komputasi yang
mentranformasikan masukan menjadi keluaran.

2. Program dan Pemrograman


Komputer adalah alat bantu untuk menjalankan perintah-perintah di dalam algoritma
yang telah “dimasukkan” kedalamnya. Agar komputer mengerti perintah yang
dimaksudkan, maka perintah tersebut harus di tulis dalam bahasa yang khusus, yaitu
bahasa komputer. Algoritma yang yang ditulis dalam bahasa komputer dinamakan
program, bahasa computer yang digunakan dalam menulis program dinamakan bahasa
pemrograman, orang yang membuat program komputer disebut programmer, dan
kegiatan yang merancang dan menulis program disebut pemrograman. Di dalam
pengrograman ada aktivitas menulis kode program, kegiatan ini dinamakan coding.
Secara garis besar, komputer tersusun atas empat komponen utama, yaitu:

6
a. Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau
program kedalam memori dan alat yang digunakan komputer untuk
mengomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain papan
ketik (keyboard). Pemindai (scanner), tikus (mouse), joystick dan cakram (disk).
Contoh piranti keluaran adalah layar peraga (monitor), pencetak (printer), perajah
(plotter) dan cakram.
b. Unit memproses utama (central processing Unit – CPU) adalah “otak” computer,
yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan ,
operasi perhitungan, operasi membaca, dan operasi menulis.
c. Memori adalah komponen yang berfungsi menyimpan atau mengingat-ngingat. Yang
disimpan didalam memori adalah pogram (berisi operasi-operasi yang akan
dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-
operasi).
Komponen utama komputer jika digambarkan sebagai sebuah rangkaian akan
tampak seperti Gambar 1.1. berikut:

Gambar 1.1. Komponen-komponen Utama Komputer

3. Bahasa Pemprograman
Hingga saat ini terdapat puluhan bahasa pemrograman. Kita dapat menyebutkan
antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++,
Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti CSMP, SimScript, GPSS,
Dinamo dan masih banyak lagi. Belakangan juga muncul bahasa pemprograman baru
seperti Java, C#, dan Python. Berdasarkan tujuan aplikasinya, bahasa pemrograman dapat
digolongkan menjadi dua kelompok:

7
a. Bahasa pemrograman bertujuan khusus (specific purpose programming language).
Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi),
Fortran (aplikasi komputasi ilmiah), bahasa assembly (aplikasi pemrograman
mesin), Prolog (aplikasi kecerdasan buatan), bahasa-bahasa simulasi (SimScript),
dan seabagainya.
b. Bahasa pemrograman yang bertujuan umum (general purpose programming
language). Yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok
ini adalah bahasa Pascal, Basic, C, C++, Python.
Tentu saja pembagian ini tidak benar-benar kaku, bahasa-bahasa bertujuan khusus
bukan berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga
digunakan untuk terapan ilmiah, tetapi tentu kemampuannya sangat terbatas. Yang jelas,
bahasa-bahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam
kegunaan yang berbeda pula.
Berdasarkan “kedekatan” bahasa pemrograman apakah lebih condong kebahasa
mesin atau ke bahasa manusia, maka bahasa pemrograman juga dapat dikelompokkan
atas dua macam:
a. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung
dikerjakan oleh computer, tanpa harus melalui penerjemah (translator). Contohnya
adalah bahasa mesin (machine language). Bahasa mesin adalah sekumpulan kode
biner (0 dan 1). Setiap perintah dalam bahasa mesin langsung “dimengerti” oleh
mesin dan langsung dikerjakan. Bahasa tingkat rendah bersifat primitif, sangat
sederhana dan relative sulit untuk dipahami manusia. Bahasa assembly dimasukkan
ke kelompok ini karena notasi yang dipakai dalam bahasa ini merupakan bentuk
“manusiawi” dari bahasa mesin, dan untuk melaksanakan instruksinya masih perlu
penerjemahan (oleh assembler) ke dalam bahasa mesin. Bahasa tingkat rendah
merupakan bahasa pemrograman generasi pertama yang pernah ditulis orang.

b. Bahasa tingkat tinggi. Bahasa jenis ini membuat program menjadi lebih mudah di
pahami, lebih “manusiawi”, dan lebih dekat ke bahasa manusia (bahasa
inggris terutama). Kelemahannya, program dalam bahasa tingkat tinggi tidak
langsung dapat dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu
oleh sebuah translator bahasa (yang disebut kompilator atau compiler) kedalam
bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Tahapan pemrograman bahasa
tingkat tinggi digambarkan berikut ini:

8
Gambar 1.2. Tahapan Pemrograman Bahasa Tingkat Tinggi

Terdapat dua cara untuk memproses bahasa tingkat tinggi ke bahasa tingkat rendah
yaitu:
a. Compiler, yaitu dengan menerjemahkan keseluruhan kode terlebih dahulu sebelum
program dijalankan dan mengeluarkan output.
b. Interpreter, yaitu dengan membaca setiap baris program yang ditulis untuk
mengeluarkan outputnya.

4. Bahasa Pemrograman Python


Bahasa Python adalah bahasa pemrograman object-oriented yang dibuat oleh Guido
Rossum pada tahun 1989. Python memiliki interface ke beberapa sistem operasi dan
paket(library), serta dapat di ekstensikan ke C atau C++. Python telah dikeluarkan dalam
berbagai versi, yaitu 2.x dan 3.x. Penulisan sintaks Python modul ini akan berfokus pada
Python Versi 3.x karena versi inilah yang paling banyak digunakan.
Memulai pemrograman Python dapat dilakukan dengan cara berikut:
a. Tanpa menggunakan editor:
1) Buka Python shell,
2) Setelah tanda >>> ketikkan perintah print(“hello word”) kemudian tekan enter.
b. Untuk dapat menyimpan program diperlukan pengetikan program menggunakan
editor dengan langkah-langkah seperti berikut:

9
1) Pada menu Python shell, pilih File -> New Window. Menu ini akan membuka
editor Python.
2) Lalu ketikkan perintah yang sama yaitu print(“hello word”)
3) Kemudian save (misalkan) dengan nama latihan1. File akan tersimpan dengan
ekstensi py yaitu latihan.py.
4) Untuk menjalankan program maka klik menu Run Module.

Perintah print digunakan untuk menampilkan output yang diinginkan. Sedangkan,


perintah yang tidak ingin dituliskan atau hanya berupa komentar dapat dituliskan setelah
#.

Contoh 1.1

IDLE merupakan editor bawaan Python yang menyediakan fasilitas yang diperlukan
untuk pengembangan perangkat lunak. IDLE memungkinkan pengetikan program lalu
menjalankannya. Adapun memulai Python menggunakan IDLE dapat dilakukan seperti
langkah-langkah berikut ini:
a. Mulai IDLE
b. Jendela baru dengan cara meng-klik New Window di bawah menu File. Lalu, ketikkan
perintah yaitu print(“hello word”).
c. Kemudian klik menu Run Module dibawah menu Run atau tekan F5 untuk
menjalankan program. IDLE akan meminta untuk menyimpan file terlebih dahulu.
Simpan file dengan nama latihan1.

C. Tugas Praktikum
1. Buat program dengan output “Selamat Datang”.
2. Analisis apa yang terjadi jika salah satu komponen dihilangkan atau diubah.

MATERI 2
TIPE DATA, OPERATOR, DAN
EKSPRESI

10
A. Pendahuluan
1. Pengantar
Python merupakan salah satu bahasa pemrograman yang banyak digunakan saat ini,
termasuk oleh perusahaan-perusahaan besar seperti Google, Yahoo, dan NASA. Python
memiliki sintaks yang lebih sederhana karena memang didesain agar lebih mudah
digunakan oleh pemula, namun python memiliki kelebihan hingga memungkinkan
penggunanya dapat menyelesaikan berbagai aplikasi pemrograman. Diantara kelebihan
ini adalah bahasa pemrograman didesain berorientasi objek dan dilengkapi dengan
berbagai dukungan library sehingga memungkinkan programer dapat menyelesaikan
banyak hal dalam waktu yang singkat. Selain itu, python memiliki fitur yang terintegrasi
sehingga memungkinkan programer dapat bekerja dengan beragam sistem operasi dan
bahasa pemrograman.
Mempelajari Python sama halnya dengan mempelajari bahasa pemrograman lainnya
yang memerlukan pengetahuan mengenai aturan tata bahasa, instruksi-instruksi, tata
cara pengoperasian compiler, serta bagaimana memanfaatkan instruksi-instruksi tersebut
dapat menyelesaikan masalah yang ingin diselesaikan. Aturan dan perintah dasar yang
paling utama untuk diketahui meliputi perintah input-output, tipe data, operator dan
Ekspresi.

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah

11
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 2 Memahami penyelesaian masalah menggunakan pemrograman
computer

B. Pembahasan
1. Ekspresi
Ekspresi dalam bahasa pemrograman adalah kombinasi dari nilai-nilai, konstanta,
variabel-variabel dan operator-operator.

2. Variabel
Variabel adalah sebuah nama yang menjadi tempat untuk menampung nilai yang
merupakan sebuah tipe data. Pada Python, variabel juga berfungsi sebagai lokasi memori.
Berikut ini adalah beberapa aturan dalam pemberian nama sebuah variabel:
a. Nama variabel tersusun atas huruf upper-case atau lower-case, digit, dan
karakter _ (underscore);
b. Nama variabel harus diawali oleh sebuah huruf;
c. Karakter underscore adalah sebuah letter;
d. Huruf upper- dan lower-case dianggap berbeda;
e. Nama variabel tidak ada dalam keyword pemrograman Python.

Contoh 2.1

12
Pada contoh di atas, buah merupakan sebuah nama variabel dengan nilai “Apel” yang
memiliki tipe data string.

3. Tipe Data Dasar


Tipe data pada pemrograman terdiri dari dua jenis yaitu tipe data dasar dan tipe data
terstruktur. Dalam dunia pemrograman, yang termasuk ke dalam tipe dasar adalah
bilangan lojik, bilangan bulat, bilangan rill, dan string. Tiga tipe dasar yang pertama
disebut juga tipe ordinal karena setiap konstanta nilainya dapat ditransformasi ke suatu
nilai integer.
Dalam pemrograman Python tipe dasar tersebut dapat dikelompokkan sebagai
berikut:
a. Tipe data numerik
Tipe data numerik adalah tipe data yang bersifat angka dan dapat dikenai operasi
matematika.

Integer (Bilangan Bulat)


Integer merupakan bilangan bulat (positif maupun negatif) yang panjangnya tidak
dibatasi oleh jumlah digitnya melainkan pada ketersediaan memori, misalnya: 1, -24,
153, dll.

Contoh 2.2

Integer dapat dituliskan tanpa menotasikannya secara khusus sebagaimana Contoh


2.2 dan dapat didefinisikan menggunakan sebuah variabel seperti Contoh 2.3

Contoh 2.3

Integer yang umumnya digunakan pada dasarnya adalah sebuah bilangan desimal
yang berbasis 10. Selain berbasis 10, terdapat integer lainnya yang berbasis 2
(Binary), berbasis 8 (Octal), dan berbasis 16(Hexadecimal). Untuk membuat Integer
yang berbasis 2 atau Binary digunakan awalan 0b atau 0B (zero-b), yang berbasis 8
atau Octal digunakan awalan 0o atau 0O (zero-o), dan yang berbasis 16 atau

13
Hexadecimal digunakan awalan 0x atau 0X (zero-x). Contoh dari ketiga bilangan ini
dapat dilihat pada Contoh 2.4

Contoh 2.4

Float (Bilangan Pecahan)


Float merupakan bilangan pecahan atau bilangan yang memiliki koma, misalnya: 8.5,
-22.3, 0.0017, dll. Float dibatasi akurasinya pada 15 digit. Beberapa cara menuliskan
bilangan pada tipe data float:
1) 0.3 = .3
2) 3.0 = 3.
Notasi ilmiah menggunakan huruf e untuk mencegah penulisan 0 (zero) yang terlalu
banyak. Misalnya: 30000000 dapat ditulis dengan 3x10 7, dalam pemrograman Python
dapat ditulis dengan 3e7. Huruf e menjadi singkatan untuk perkalian terhadap
bilangan 10 berpangkat.

Contoh 2.5

Complex (Bilangan Kompleks)


Complex digunakan untuk merepresentasikan nilai imajiner yaitu −1 . Penggunaan
bilangan complex disimbolkan dengan “j” setelah penulisan angka real. Nilai
bilangan kompleks dituliskan dalam formulasi x+yj, dimana bilangan x adalah
bilangan real dan y adalah bilangan imajiner. Misalnya: 1+2j, 7+5j, dll.

14
Contoh 2.6

Sintaks type digunakan untuk mengetahui tipe data dari suatu bilangan atau
variabel. Suatu jenis bilangan dapat dikonversi ke jenis bilangan lainnya, misalnya
mengubah jenis bilangan dari int ke float, atau sebaliknya dapat dilakukan dengan
cara berikut:
- Menggunakan int(number)
- Menggunakan float(number)

Contoh 2.7

b. Tipe data string


Tipe data string adalah tipe data yang digunakan untuk menyimpan teks bukan
bilangan. Penulisan string pada pemrograman Python harus diapit oleh tanda kutip, baik
tanda kutip satu (‘_teks_’), tanda kutip dua (“_teks_”). String lebih dari satu baris dpat
ditandai dengan kutip tiga/triple tunggal atau ganda (’’’_teks_’’’ atau ”””_teks_”””)
setelah tanda (=).

Contoh 2.8

15
c. Tipe data boolean
Tipe data boolean digunakan untuk merepresentasikan sebuah nilai yang sangat
abstrak-thruthfulness(keadaan sebenarnya). Tipe data ini hanya beranggotakan dua buah
nilai yaitu True atau False. Nilai True digunakan untuk merepresentasikan
pernyataan yang bernilai benar(dalam numerik, konteks 1 adalah True), sedangkan False
digunakan untuk merepresentasikan pernyataan yang bernilai salah(konteks 0). Penulisan
True dan False harus menggunakan huruf kapital pada huruf pertama. Tipe data boolean
biasanya digunakan saat pengecekan suatu kondisi yang memanfaatkan fungsi if.

Contoh 2.9

3. Operasi
Operasi merupakan proses komputasi yang dapat dilakukan dalam bahasa
pemrograman. Operator adalah simbol-simbol khusus yang dapat digunakan untuk
menunjukkan proses komputasi, sedangkan operand adalah nilai yang digunakan oleh
operator.
a. Operator Aritmetika
Operasi aritmetika merupakan operasi dasar komputasi yang meliputi penjumlahan,
pengurangan, perkalian, pembagian, dan eksponensial.
Operator Deskripsi Contoh
+ Penjumlahan 2+3 bernilai 5
- Pengurangan -3+8 bernilai 5
* Perkalian 1*5 bernilai 5
/ Pembagian 10/2 bernilai 5
// Pembagian(dibulatkan ke bawah) 11//2 bernilai 5
% Sisa Bagi/Modulo 11%2 bernilai 1
** Perpangkatan 5**2 bernilai 25

Beberapa hal yang perlu diketahui terkait operator pada Python:


- Python sangat jelas dalam mendefinisikan prioritas semua operator-operator,
dan mengasumsikan bahwa operator dengan prioritas lebih tinggi akan
dioperasikan lebih dulu sebelum operator dengan prioritas yang lebih rendah

16
sebagaimana aturan presedansi matematika pada umumnya, secara berurutan
dari yang paling tinggi ke yang paling rendah adalah: operasi yang berada dalam
tanda kurung, tanda pangkat, pembagian dan perkalian, lalu penambahan dan
pengurangan.

Contoh 2.10

Berdasarkan aturan presedensi, Contoh 2.10 akan menghasilkan 17 pada line


pertama dan 25 pada line kedua.
- Binding operator menentukan urutan komputasi yang ditunjukkan oleh
beberapa operator dengan prioritas(presedansi) yang sama yang diletakkan
berdampingan dalam satu ekspresi. Sebagian besar operasi Python memiliki left-
side binding, yang berarti bahwa perhitungan ekspresi dilakukan dari kiri ke
kanan.

Contoh 2.11

Contoh 2.11 di atas akan menghasilkan nilai 1, karena komputasi dimulai dari
perhitungan 9 modulo 6 dan menghasilkan 3, yang kemudian dimodulokan
dengan 2, sehingga diperoleh 1.
b. Operator Assignment
Operator Deskripsi Contoh
= Assignment N=5
+= Penjumlahan N += 5, N akan ditambah 5
-= Pengurangan N -= 5, N akan dikurangi 5
*= Perkalian N *= 5, N akan dikali 5
//= Pembagian(dibulatkan ke N //= 5, N akan dibagi 5 (Dibulatkan ke
bawah) bawah)
%= Sisa Bagi/Modulo N%=5, N akan dimodulo 5

17
c. Operator Relational
Operator Deskripsi Contoh True Contoh False
== Sama dengan 5 == 5 2 == 3
!= Tidak Sama dengan 3 != 5 4 != 4
< Kurang dari 4<5 5<5
> Lebih dari 6>5 5>6
<= Kurang dari sama dengan 5 <= 5 5 <=4
>= Lebih dari sama dengan 7 >= 5 5 >= 6

d. Operator Logika
Operasi logika yang umum digunakan untuk operasi logika adalah: not, and, or, dan
xor. Jika a dan b adalah peubah (variable) yang bertipe boolean, maka hasil operasi a
dan b dengan keempat operator boolean tersebut diberikan oleh masing-masing
tabel (yang disebut tabel kebenaran - truth table) berikut:
A not a
True False
False True

A b a and b a or b a xor b
True True True True False
True False False True True
False True False True True
False False False False False

Operator Deskripsi Contoh True Contoh False


And Dan (4 < 5) and (5 == 5) (4 == 5) and (5 == 5)
Or Atau (4 < 5) or (4 == 5) (5 < 4) or (4 == 5)
Not Negasi not (6 < 5) Not (5 > 6)

C. Tugas Praktikum
1. Tentukan dan jelaskan mana yang tidak bisa dijadikan sebagai nama variabel:
a. 10t
c. Exchange Rate
b. Total_value
d. ExchangeRate

18
e. _number g. print
f. Print h. false
2. Buatlah program dan tentukan output dari nilai-nilai berikut ini:
a. 20 – 5 % 7
f. 4 + (2*5)
b. 6 % 5
g. (33-2)+5
c. 8/3
h. n = 5
d. 7//3
n *= 3
e. 2**8
print(n//4)
3. Buatlah sebuah sourcode program dengan memanfaatkan print() untuk
mencetak string dengan output seperti berikut:
He said “Python”, not
“typhoon” “I’m”
““learning””
“““Python”””
4. Lengkapi tabel berikut dengan mengisi nilai setiap variabel setelah setiap baris
di eksekusi.
Ekspresi a b
a = -4
b=a+6
a = a ** b
Print(a//b + 2.1)
b = b % 3 + .5

19
MATERI 3
RUNTUNA
N
A. Pendahuluan
1. Pengantar
Algoritma merupakan kumpulan dari struktur dasar runtunan (sequence),
Pemilihan/Percabangan (Selection/Branching), dan Pengulangan (Repetition/Looping).
Sequence (Runtunan) berarti bahwa program akan menjalankan setiap instruksi atau
perintah satu persatu dengan akhir instruksi merupakan akhir dari algoritma.

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman

20
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 2 Memahami penyelesaian masalah menggunakan pemrograman
computer

B. Pembahasan
1. Runtunan (Sequence)
Sebagai struktur dasar, pada runtunan: tiap instruksi dikerjakan satu per satu; tiap
instruksi dilaksanakan tepat sekali; tidak ada instruksi yang diulang; urutan instruksi yang
dilaksanakan pemroses sama dengan urutan instruksi sebagaimana yang ditulis didalam
teks algoritmanya; akhir dari instruksi terakhir merupakan akhir algoritma. Setiap instruksi
di dalam runtunan ditulis dalam satu baris, atau beberapa instruksi dalam baris yang sama
tetapi antara setiap instruksi dipisahkan dengan tanda titik koma (;).

2. Contoh Runtunan
Contoh kasus Runtunan yang pertama, yaitu: Bagaimana mencetak pesan “Hello,
word!” ke layar monitor? Penyelesaian kasus ini dapat dilakukan melalui tiga cara berikut:
a. Cara 1: Langsung mencetak “Hello, world!” melalui fungsi print.

Contoh 3.1

b. Cara 2: Menyimpan string “Hello, world!” dalam sebuah variabel, kemudian


mencetak kata menggunakan fungsi print() dengan memanggil nama variabel.

Contoh 3.2

c. Cara 3: Memanfaatkan fungsi input untuk memasukkan kata “Hello,


word!” dari papan ketik, lalu menampilkan ucapan “Hello, word!”.

21
Contoh 3.3

3. Input
Fungsi input memungkinkan user bisa memberikan input pada program. Beberapa
hal yang penting diketahui tentang fungsi input adalah:
- Fungsi yang digunakan adalah input()
- Argumen dalam kurung () merupakan teks yang ingin ditampilkan dan
variabel sebagai tempat menyimpan hasil dari input user
- Tipe data adalah

string Contoh 3.4

C. Tugas Praktikum
1. Buatlah sebuah program untuk mengkonversi suhu. Input dimasukkan oleh
user dalam derajat Fahrenheit kemudian dikonversi ke Celcius, Kelvin, dan
Reamur.

22
MATERI 4
PEMILIHA
N
A. Pendahuluan
1. Pengantar
Program yang hanya berisi runtunan intruksi biasanya terdapat pada masalah
sederhana. Seringkali suatu intruksi hanya bisa dikerjakan jika ia memenuhi suatu
persyaratan tertentu. Struktur pemilihan/percabangan memungkinkan untuk
melakukan aksi jika suatu syarat dipenuhi. Biasanya implementasi algoritma
memanfaatkan ekspresi True atau False.

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman

23
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 3 Memahami penyelesaian masalah menggunakan pemrograman
komputer

B. Pembahasan
1. Pemilihan/Percabangan (Selection/Branching)
Sebagai sebuah struktur dasar, Selection/Branching (Pemilihan/Percabangan) berarti
bahwa jika suatu instruksi tidak dapat dilakukan karena kondisi yang belum terpenuhi
maka eksekusi program akan berlanjut pada instruksi berikutnya. Operasi kondisi
(percabangan) digunakan untuk memecahkan persoalan dalam memilih suatu keputusan
di antara beberapa pernyataan yang ada. Pernyaatan if atau if-else digunakan untuk
melakukan pemilihan terhadap perintah yang akan dikerjakan berdasarkan kondisi yang
ada.

2. Pernyataan IF
Pernyataan if mempunyai definisi: “Jika kondisi benar, maka perintah akan
dikerjakan dan jika tidak memenuhi syarat maka perintah akan di abaikan.” Sintaks untuk
pernyataan IF adalah:

if
condition

Berikut adalah bentuk diagram flow yang menggambarkan pernyataan IF:

Gambar 4.1. Diagram Flow Pernyataan IF

24
Beberapa aturan pernyataan if pada Python:
- Setelah pernyataan if disertai kondisi akan diikuti dengan titik dua (:)
- Blok statement/perintah memiliki indentasi masuk setelah tanda titik dua (:)
- Jika kondisi salah (False), maka seluruh perintah yang ada pada blok if akan
diabaikan.
Contoh 4.1

Contoh 4.1 di atas adalah contoh untuk kondisi if yang bernilai True, sedangkan
Contoh 4.2 berikut ini untuk kondisi if yang bernilai False.

Contoh 4.2

Penggunaan pernyataan if juga dapat ditambahkan dengan tiga operator tambahan


untuk membangun kondisi yang lebih kompleks, yaitu: and, or, dan not. Penggunaan
ketiga operator tambahan ini dapat dilihat pada Contoh 4.3 berikut.
Contoh 4.3

25
3. Pernyataan IF-ELSE
Pernyataan if-else mempunyai definisi: “jika kondisi benar, maka perintah-1 akan
dikerjakan dan jika tidak memenuhi syarat, maka perintah-2 akan dijalankan.” Sintaks
untuk pernyataan IF adalah:

if
condition
:
statement
Penggambaran diagram flow dari pernyataan IF-ELSE adalah:

Gambar 4.2. Diagram Flow Pernyataan IF-ELSE

Beberapa hal penting terkait pernyataan if-else pada Python:


- Perintah pada blok if akan dijalankan jika kondisi benar (True)
- Perintah pada blok else akan dijalankan jika kondisi salah
(False) Contoh 4.4

Contoh 4.4 di atas adalah contoh untuk kondisi if yang bernilai True, sehingga
perintah pada blok else tidak dijalanakan. Contoh 4.5 berikut ini untuk kondisi if yang
bernilai False sehingga blok perintah if tidak dijalankan.

26
Contoh 4.5

4. Pernyataan IF-ELIF-ELSE
Untuk menambahkan lebih banyak kondisi digunakan pernyataan elif. Pertama,
program akan memeriksa kondisi if. Ketika ditemukan salah, program akan memeriksa
kondisi elif. Jika semua kondisi elif ditemukan salah, maka blok kode akan selesai
dijalankan. Sintaks untuk pernyataan elif adalah:

if
condition
:
statement
s
elif condition:
statements

Penggambaran diagram flow dari pernyataan IF-ELIF-ELSE adalah sebagai berikut:

Gambar 4.3. Diagram Flow Pernyataan IF-ELIF-ELSE

Beberapa hal penting terkait pernyataan if-elif-else pada Python:


- Perintah pada blok if akan dijalankan jika kondisi benar (True)
- Perintah pada blok elif akan dijalankan jika kondisi if salah (False) dan
akan dijalankan jika kondisi pada blok elif benar
- Perintah pada blok else akan dijalankan jika kondisi if-elif tidak dijalankan (False)

27
Contoh 4.6

Contoh 4.6 di atas adalah contoh untuk kondisi if yang bernilai True. Sedangkan
Contoh 4.7 adalah contoh untuk kondisi if yang bernilai False dan kondisi elif bernilai true.
Adapun Contoh 4.8 adalah contoh untuk kondisi if dan elif yang bernilai False.

Contoh 4.7

Contoh 4.8

C. Tugas Praktikum
1. Buatlah sebuah program yang dapat membaca input angka 1-4 lalu mencetak
penulisan angka tersebut. Misalkan dibaca 1, maka output berupa tulisan
“satu”,

28
demikian untuk angka lainnya. Jika angka yang dimasukkan tidak berada di antara 1-4
maka akan muncul tulisan bahwa angka yang dimasukkan salah.
2. Pasar Swalayan X memberikan diskon 10% bagi pembeli yang nilai total belanjanya
lebih dari Rp. 100.000,-. Buatlah sebuah program untuk menentukan harga
belanjasetelah dikurangi diskon. Input berupa nilai total belanja pembeli, sedangkan
outputnya adalah harga diskon dan pembayaran akhir setelah dikurangi diskon.
3. Buatlah sebuah program yang meminta user untuk memasukkan jumlah
kredit (sks) perkuliahan yang sudah diambil. Jika input yang dimasukkan
sebanyak 48 atau lebih sedikit daripada itu, maka keluarkan output bahwa
mahasiswa tersebut adalah mahasiswa tahun pertama. Jika mereka telah
mengambil sebanyak 49-84, maka outputnya adalah mahasiswa tahun kedua.
Adapun range untuk mahasiswa tahun ketiga 85-128 dan mahasiswa tahun ke
empat adalah di atas 128.

29
MATERI 5
PERULANGA
N
A. Pendahuluan
1. Pengantar
Repetition/Looping (Pengulangan) merupakan struktur program yang dapat
digunakan untuk melakukan statement yang sama secara terus menerus dengan cara
yang efisien dan efektif selama kondisi tersebut terpenuhi(bernilai True). Program akan
mengulang kode instruksi yang sama berkali-kali sesuai dengan jumlah repetisi yang
diinginkan. Struktur Perulangan secara umum terdiri atas dua bagian, yaitu: a) kondisi
pengulangan yang merupakan ekspresi boolean yang harus dipenuhi untuk melaksanakan
pengulangan dan b) badan (body) pengulangan yang merupakan bagian algoritma yang di
ulang.
Pada pemrograman Python, terdapat dua loop dasar yaitu for dan while. Perulangan
for disebut counted loop (perulangan yang terhitung), sementara perulangan while
disebut uncounted loop (perulangan yang tak terhitung). Perbedaan keduanya adalah
perulangan for biasanya digunakan untuk mengulangi kode yang sudah diketahui banyak
perulangannya. Sementara while digunakan untuk perulangan yang memiliki syarat dan
tidak ditentukan berapa banyak perulangannya.

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan

30
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 3 Memahami penyelesaian masalah menggunakan pemrograman
computer

B. Pembahasan
1. Pernyataan FOR
Konstruksi for digunakan untuk menghasilkan perulangan dengan jumlah eksekusi
yang dapat di spesifikasikan. For loop memanfaatkan urutan elemen yang didefinisikan
sebagai sebuah iterator. For loop melakukan iterasi untuk semua yang berada dalam
urutan ini. Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi.
Sintaks untuk pernyataan for adalah:

Contoh 5.1 berikut merupakan program untuk in


for namaVaraibel menampilkan “Hello” sebanyak lima
iterable: statement
kali. Nilai i dimulai dari 0 sampai dengan
... 4, sedangkan 5 tidak digunakan karena berfungsi
sebagai border/batas. statement

Contoh 5.1

31
Contoh 5.2

Contoh 5.2 di atas merupakan program untuk menampilkan angka 1, 2, 3 secara


berurutan. Nilai i dimulai dari 1 sampai dengan 3, sedangkan 4 tidak digunakan karena
berfungsi sebagai batas. Fungsi end=‘ ’ hanya akan menempatkan output dalam 1 line.

Contoh 5.3

Contoh 5.3 di atas merupakan program untuk menampilkan angka 1-3 secara berurutan.
Adapun 2 merupakan peubah yang berfungsi sebagai step dalam mengambil nilai
selanjutnya. Jika peubah tidak didefinisikan maka secara default nilainya adalah 1.
Fungsi range digunakan untuk membuat urutan integer dan dapat digunakan dengan
satu hingga tiga argumen sebagaimana Contoh 5.1-Contoh 5.3. Pengambilan nilai dari
urutan terbelakang dapat dilakukan dengan menggunakan peubah/step -1 pada argumen
ketiga. Tabel berikut ini menunjukkan beberapa contoh penulisan range dan output.

Statement Nilai yang dihasilkan


range (10) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
range (1, 10) 1, 2, 3, 4, 5, 6, 7, 8, 9
range (2, 6) 2, 3, 4, 5
range (2, 15, 3) 2, 5, 8, 11, 14
range (9, 2, -2) 9, 7, 5, 3

Contoh 5.4

32
Contoh 5.4 menampilkan sebuah segiempat dari bintang-bintang yang terdiri dari 4
baris dan setiap baris memiliki 5 bintang. Kode ‘*’*6 hanya akan mengulang
karakter * sebanyak 6 kali. Sedangkan untuk menampilkan segitiga dari bintang,
kuncinya adalah dengan mengganti 6 menjadi i+1, sebagaimana ditampilkan pada
Contoh 5.5 berikut ini.

Contoh 5.5

2. Pernyataan WHILE
While loop akan mengulang blok kode sepanjang kondisi yang diberikan terpenuhi
(bernilai True). Kondisi di uji sebelum blok kode di eksekusi dan karenanya terdapat
kemungkinan bahwa blok tidak dapat dijalankan. Sintaks untuk pernyataan for adalah:

Statement/perintah merupakan bagian


while dari body while dan akan dieksekusi setiap kali
kondisi:
statement
iterasi sepanjang kondisi terpenuhi.
...Statement pada body while harus dapat mengubah
statement
nilai kondisi karena jika kondisi bernilai true di awal, statement pada body while akan
terus tereksekusi sampai tak hingga (infinity loop).
Contoh 5.6 berikut merupakan program untuk menampilkan “Hello” sebanyak lima
kali menggunakan while loop. Nilai i dimulai dari 0 sampai dengan 4, sedangkan 5 tidak
digunakan karena berfungsi sebagai border/batas.

Contoh 5.6

33
Infinity Loop merupakan suatu kondisi dimana program tidak dapat berhenti
melakukan loop. Sebagaimana Contoh 5.7, nilai i tidak pernah berubah sehingga kondisi
i<4 selalu terpenuhi (True).
Contoh 5.7

C. Tugas Praktikum
1. Buatlah sebuah program untuk menampilkan segitiga terbalik seperti dibawah
ini. Izinkan user untuk menentukan tinggi dan lebar segitiga.
****
***
**
*
2. Buatlah sebuah program untuk menampilkan bilangan ganjil yang terletak antara
0- 10 dengan menggunakan while loop.
3. Buatlah sebuah program yang meminta user untuk memasukkan sebuah password.
Jika user memasukkan password yang benar maka program menginformasikan
bahwa user telah berhasil login. Namun, jika password salah, program akan meminta
user kembali memasukkan password. User memiliki 3 kesempatan untuk
memasukkan password dan saat kesempatan telah habis program akan
menginformasikan bahwa user gagal untuk login.

34
MATERI 6
FUNGSI

A. Pendahuluan
1. Pengantar
Pembuatan program yang kompleks dan memiliki banyak fitur membutuhkan
penggunaan fungsi agar program yang dibuat lebih mudah terbaca dan mudah untuk
dirawat(maintenance). Dengan fungsi, program besar dapat dipecah menjadi program
yang lebih sederhana untuk menggambarkan sebuah fitur sehingga fungsi dapat
dipanggail hanya jika fitur diperlukan.
Pada dasarnya fungsi dapat dibagi menjadi dua, yaitu: a) Built-in functions, yakni
fungsi yang telah terbangun di dalam Python, dan b) User-defined function, yakni fungsi
yang didefinisikan oleh user sendiri.

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)

35
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman

B. Pembahasan
1. Struktur Fungsi
Fungsi pada Python dibuat dengan kata kunci def kemudian diikuti dengan nama
fungsinya. Berikut ini adalah beberapa aturan dalam membuat sebuah fungsi:
- Nama fungsi secara unik mengidentifikasi sebuah fungsi
- Nama fungsi dan variabel tidak boleh sama
- Parameter(argumen-argumen) digunakan untuk meneruskan nilai ke suatu fungsi,
bersifat opsional
- Tanda titik dua(:) untuk menandai akhir dari header fungsi
- Fungsi memiliki satu atau lebih statement/perintah yang valid sebagai body
fungsi. Statemen harus memiliki indentasi yang sama (biasanya 4 spasi)
- Statement opsional yaitu return digunakan untuk mengembalikan nilai dari fungsi

Contoh 6.1 def


nama_fungsi(parameter):

Program memasukkan sebuah nilai oleh user pada Contoh 6.1 secara langsung
menuliskan perintah “Masukkan sebuah nilai: ” sedangkan pada Contoh 6.2 perintah
“Masukkan sebuah nilai” dituliskan dalam sebuah fungsi. Sehingga saat perintah
dibutuhkan maka yang dipanggil hanyalah nama fungsinya.

36
Contoh 6.2

2. Fungsi dengan Parameter


Parameter adalah variabel yang digunakan untuk menampung nilai yang akan
digunakan dalam fungsi. Contoh 6.3 berikut menunjukkan pendefinisian fungsi dengan
menggunakan parameter “nama”.

Contoh 6.3

Penggunaan parameter yang lebih dari satu dapat dipisahkan menggunakan tanda
koma(,) sebagaimana Contoh 6.4 berikut:

Contoh 6.4

3. Return
Fungsi yang tidak mengembalikan nilai biasa disebut dengan prosedur. Pengembalian
nilai dari fungsi diperlukan karena terkadang hasil dari suatu fungsi diperlukan untuk proses
berikutnya. Pengembalian nilai dari fungsi memanfaatkan kata kunci return kemudian
penulisan nilai/variabel yang dikembalikan.

37
Contoh 6.5

Pada Contoh 6.4 perintah print berada dalam fungsi sedangkan pada Contoh 6.5
perintah print dilakukan saat pemanggilan fungsi. Secara khusus perbedaan print dan
return adalah:
- print hanya menunjukkan kepada user sebuah string yang merepresentasikan proses
komputasi dalam komputer. Komputer tidak dapat memanfaatkan hasil print
tersebut.
- return adalah cara untuk membuat fungsi dapat mengembalikan sebuah nilai. Nilai
ini sering tidak dapat dilihat oleh user, tapi dapat digunakan oleh komputer pada
fungsi yang lainnya.
Contoh 6.6

C. Tugas Praktikum
1. Buatlah sebuah program yang memiliki sebuah fungsi untuk menampilkan hasil
modulo dari dua buah nilai.
2. Buatlah sebuah program yang memiliki sebuah fungsi untuk menampilkan hasil
perkalian dari nilai modulo pada fungsi yang pertama dengan satu nilai parameter
tertentu.
3. Susunlah suatu program yang terdiri dari sebuah fungsi yang disebut persegi yang
mengambil 2 integer m dan n sebagai argumen dan mencetak sebuah m x n box yang
terdiri dari tanda bintang. Berikut ini adalah contoh tampilan dari persegi(2,4)
****
****

38
MATERI 7
LARIK
(ARRAY)
A. Pendahuluan
1. Pengantar
Pada Bab 2 telah disebutkan bahwa tipe data terbagi menjadi dua yaitu tipe data
dasar dan tipe data terstruktur. Beberapa tipe data dasar yang telah dipelajari yaitu int,
float, string, atau boolean. Sedangkan, tipe data terstruktur merupakan tipe data yang
dapat digunakan untuk menampung lebih dari satu nilai yang mengandung tipe data dasar
dalam satu variabel sehingga saling berhubungan dan tersusun dalam satu
rangkaian/struktur. Jenis-jenis tipe data terstruktur adalah larik (array), himpunan (set),
dan rekaman (record).

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).

39
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 5 Merancang program secara modular/terstruktur dengan pendekatan
top-down menggunakan fungsi

B. Pembahasan
1. Larik (Array)
Larik(array) adalah tipe data terstruktur yang mempunyai komponen dalam jumlah
tetap dan setiap komponen mempunyai tipa data yang sama. Larik dipanggil berdasarkan
indeksnya. Penulisan urutan komponen dalam larik dinyatakan sebagai nomor indeks.
Berdasarkan jumlah indeks, larik terbagi menjadi larik satu dimensi, dua dimensi, atau
multidimensi. Penggunaan larik sangat membantu dalam menghemat pemakaian variabel.
Tipe data larik dalam Python didefinisikan menggunakan “List” dan “Tuple.”
a. List
Tipe data List merupakan tipa data yang digunakan untuk menmapung nilai
dalam suatu urutan. Pendeklarasian tipe data list menggunakan tanda kurung siku,
kemudian setiap anggota list dipisah dengan tanda koma (,).
1) Pendefinisian List

Contoh 7.1

2) Pengaksesan

List Contoh 7.2

40
3) Penggantian nilai/data pada salah satu elemen list
Contoh 7.3

4) Menampilkan sebagian nilai list


Contoh 7.4

5) Penambahan data pada


List Contoh 7.5

Beberapa metode lainnya pada list ditunjukkan dalam tabel berikut:


Metode Deskripsi
list.sort() Mengurutkan list
list.count(x) Memberikan berapa kali x muncul dalam list
list.extend(iterable) Memperpanjang list dengan mennambahkan semua item
iterable
list.index(x) Menampilkan lokasi pertama dimana x berada
list.reverse() Membalikkan urutan list
list.remove(x) Menghapus x yang muncul pertama pada list
list.pop(p) Menghapus item pada index p dan mengembalikan nilai
yang dihapus
List.clear() Menghapus semua nilai dari list
list.insert(p, x) Menyisipkan x pada list dengan index p
list.copy() Memberikan salinan dari list

b. Tuple
Tipe data Tuple sangat mirip seperti tipe data List, karena tipe data Tuple juga
terdiri dari kumpulan tipe data lain. Perbedaan tuple dan list antara lain adalah
anggota di dalam tipe data Tuple tidak bisa diubah setelah di deklarasikan.

41
Pendeklarasian tipe data tuple menggunakan tanda kurung biasa, kemudian setiap
anggota tuple dipisah dengan tanda koma (,).
1) Pendefinisian tuple
Contoh 7.6

2) Pengaksesan elemen
tuple Contoh 7.7

Tuple tidak dapat melakukan perubahan/penambahan data


Contoh 7.8

2. Rekaman (Record)
Rekaman (Record) merupakan tipe data terstruktur yang dapat digunakan untuk
menyimpan suatu kelompok data dengan tipe data yang berbeda-beda. Tipe data Record
dalam python juga dapat didefinisikan menggunakan “List” atau “Tuple.”

42
3. Himpunan (Set)
Himpunan (set) adalah suatu himpunan yang berisi nilai (anggota). Set dalam
pemrograman sangat mirip dengan himpunan dalam ilmu matematik.
Tipe data set pada Python adalah tipe data yang berisi kumpulan tipe data dan
dipakai untuk mengolah himpunan (set). Tipe data set berbeda dalam hal index,
pengurutan dan keunikan nilai (unique value). Ciri tipe data set:
- Tidak memiliki index, sehingga tidak ada mekanisme pengurutan.
- Tidak bisa menerima nilai ganda, setiap nilai di dalam set harus unik.
1) Pendefinisian Set
Pendeklarasian tipe data set menggunakan tanda kurung kurawal, kemudian setiap
anggota set dipisah dengan tanda koma.

Contoh 7.9

2) Sifat Set
Sifat dari tipe data set adalah tidak ber-index dan hanya bisa menerima anggota
dengan nilai yang berbeda (unique value).

Contoh 7.10

Contoh 7.11

3) Operasi himpunan pada

set Contoh 7.12

43
4. Dictionary
Tipe data dictionary adalah tipe data array dimana key atau index dari array bisa
berbentuk string, tidak hanya number saja. Format dasar penulisan dictionary dalam
bahasa Python:

Tipe data dictionary dipakai


nama_variabel untuk kelompok
= { "key1": "value1",data yang kompleks
"key2": "value2",(terdiri
"key3":dari banyak }
"value3"
element).

1) Pendefinisian dictionary

Contoh 7.13

Contoh 7.14

Contoh 7.15

2) Pengaksesan elemen

dictionary Contoh 7.16

44
3) Perubahan elemen

dictionary Contoh 7.17

4) Penambahan elemen

dictionary Contoh 7.18

5) Penghapusan elemen

dictionary Contoh 7.19

C. Tugas Praktikum
1. Buatlah sebuah list yang berisi bilangan kelipatan 2 yang < 15, lalu kerjakan
perintah berikut:
a) Tampilkan semua elemen list
b) Hapus elemen ke-3
c) Sisipkan nilai “5” pada elemen ke-3, lalu perlihatkan hasilnya
d) Tampilkan 3 elemen terakhir dari list
2. Buatlah sebuah program yang meminta user untuk membuat sebuah list
bilangan bulat dengan mengerjakan perintah berikut:
a) Print jumlah elemen yang ada list
b) Print hasil penjumlahan elemen-elemen yang ada dalam list
c) Print item terakhir dalam list
d) Print list dalam urutan terbalik
e) Print yes jika list mengandung nilai 7 dan no jika tidak

45
f) Print bilangan ke-5 dalam list
g) Remove atau hapus elemen pertama dan terakhir, lalu urutkan item yang
tersisa, dan print hasilnya.
3. Buatlah sebuah program yang merotasi elemen-elemen dalam list sehingga
elemen pertama list menjadi elemen kedua, elemen kedua menjadi elemen ketiga,
dan seterusnya hingga elemen terakhir menjadi elemen pertama.

46
MATERI 8
MATRIKS

A. Pendahuluan
1. Pengantar
Matriks adalah kasus array dua dimensi spesial dimana setiap elemen data memiliki
panjang yang sama. Matriks dapat dikatakan sebagai list dua dimensi dimana suatu list
berisi list lagi.

2. CPL, CPMK, dan Sub CPMK


Capaian Pembelajaran Lulusan (CPL)
S8 Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang
keahliannya secara mandiri
S9 Menginternalisasi semangat kemandirian, kejuangan, dan
kewirausahaan
P1 Mengetahui prinsip-prinsip pembuatan suatu algoritma dan berbagai
macam konsep Bahasa pemrograman
KU1 Mampu menerapkan pemikian logis, kritis, inovatif, bermutu, dan
terukur dalam melakukan pekerjaan yang spesifik di bidang
keahliannya serta sesuai dengan standar kompetensi kerja bidang yang
bersangkutan
KU9 Mampu mendokumentasikan, menyimpan, mengamankan, dan
menemukan kembali data untuk menjamin kesahihan dan mencegah
plagiasi
KK1 Mampu mendesain, merancang maupun menganalisis untuk
menyelesaikan masalah bidang informatika.
Capaian pembelajaran Mata Kuliah (CPMK)
CPMK 1 Mampu menjelaskan tentang konsep dasar pemrograman (KU2, KK1).
CPMK 2 Mampu mendeskripsikan konsep dasar pemrograman
CPMK 3 Merumuskan solusi algoritma untuk permasalahan iterative dan
percabangan bertingkat
CPMK 4 Menerapkan metodologi pengembangan software pada persoalan–

47
persoalan sederhana dengan algoritma dan pemrograman
Sub-CPMK
Sub-CPMK 5 Merancang program secara modular/terstruktur dengan pendekatan
top-down menggunakan fungsi

B. Pembahasan
1. Representasi Matriks
Representasi matriks menggunakan list harus disimpan dengan panjang yang sama.
Bila list berbeda - beda panjangnya, maka list tersebut disebut sebagai sparse matrix.
Contoh 8.1

a. Menampilkan nilai pada


matriks Contoh 8.2

b. Pengaksesan nilai pada


matriks Contoh 8.3

48
2. Penjumlahan Matriks
Contoh 8.4

3. Perkalian Matriks
Contoh 8.5

C. Tugas Praktikum
1. Buatlah program untuk mencari rata-rata dalam list berukuran 3x3
beriku: [ [ 2, 13, 24],
[20, 11, 23],
[34, 26, 10] ]
2. Buatlah sebuah program untuk membuat list berukuran 5x5 yang memuat
bilangan bulat acak antara 1-50. Kemudian kerjakan perintah berikut:
a. Print nilai-nilai elemen dalam list
b. Temukan nilai terbesar dalam baris ketiga
c. Tentukan nilai terkecil pada kolom ke-4

49
Daftar Pustaka

Heinold, B. (2012). A Practical Introduction to Python Programming. Department of


Mathematics and Computer Science Mount St. Mary’s University.

Hetland, M. L. (2010). Python Algorithms. Apress.

Rossum, G. van, & the Python development team. (2018). Python Tutorial Release 3.7.
Python Software Foundation.

Walsh, C. (n.d.). Python for Beginners.

50
Lampiran: Lembar Asistensi

KEMENTERIAN PENDIDIKAN,
KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS SULAWESI BARAT
FAKULTAS TEKNIK
PROGRAM STUDI INFORMATIKA
Jalan Prof. Dr. Baharuddin Lopa, S.H., Talumung, Majene, Provinsi Sulawesi Barat
Telp/Fax: (0422) 22559, Website: http://www.unsulbar.ac.id

TUGAS
DASAR-DASAR PEMROGRAMAN
SEMESTER GANJIL 2022/2023

Lembar Asistensi

Nama :
Asisten :
No. Tanggal Materi Asistensi Paraf

51

Anda mungkin juga menyukai