Anda di halaman 1dari 51

Computer Laboratory Handbook

Pemrograman Komputer

IF2101

By:
Participant Handbook

Course Version: 2021


Universitas Mikroskil, Copyright ©2021
COURSE OVERVIEW
COURSE OVERVIEW
Mata kuliah ini membekali mahasiswa dengan konsep dasar pemrograman dan struktur data
menggunakan Bahasa Pemrograman Python sebagai alat bantu pemrograman.

COURSE GOALS
Capaian Pembelajaran Lulusan yang dibebankan:
• Mampu mengimplementasikan dan mengembangkan ilmu pengetahuan dan teknologi,
menerapkan nilai humaniora serta menyelesaikan penugasan kerja sesuai bidang keahliannya
• Mampu bertanggung jawab atas pekerjaan di bidang keahliannya, melakukan evaluasi diri
terhadap diri sendiri dan kelompok kerja di bawah tanggung jawabnya, serta memelihara dan
mengembangkan jaringan kerja di dalam maupun luar organisasi
• Menguasai konsep teoritis yang mengkaji, menerapkan dan mengembangkan serta mampu
memformulasikan dan mampu mengambil keputusan yang tepat dalam penyelesaian masalah
• Mampu untuk menerapkan konsep dan teori dasar pemrograman komputer dan menggunakan
berbagai pendekatan pemrograman untuk membangun dan mengembangkan aplikasi TIK

COURSE OBJECTIVES
Capaian Pembelajaran Mata Kuliah:
• Memahami dasar pemrograman
• Memahami penerapan struktur data dalam pemrograman
• Memahami implementasi pemrograman dalam menyelesaikan permasalahan

2021 ©2021 Universitas Mikroskil. All rights reserved. 1-1


UNIT 1
PENGENALAN PEMROGRAMAN,
FLOWCHART, DAN PYTHON
UNIT OVERVIEW
Pada minggu ke-1 kita akan membahas topik tentang Pengenalan Pemrograman, Flowchart dan
Python. Pemrograman adalah suatu seni dalam menggunakan satu atau lebih algoritme yang saling
berhubungan dengan menggunakan suatu bahasa pemrograman tertentu sehingga menjadi suatu
program komputer. Flowchart merupakan salah satu cara yang digunakan untuk mengekspresikan
sebuah algoritme. Flowchart adalah diagram yang menampilkan langkah-langkah dan keputusan
untuk melakukan sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk
diagram dan dihubungkan dengan garis atau arah panah. Fungsi utama flowchart adalah memberi
gambaran jalannya sebuah program dari satu proses ke proses lainnya. Untuk mengubah flowchart
menjadi program komputer maka dibutuhkan bahasa pemrograman yaitu Python. Topik ini menjadi
dasar yang penting untuk dipahami agar dapat memahami materi selanjutnya.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami apa itu algoritme dan cara membuat algoritme dalam penyelesaian masalah.
• Memahami flowchart dan mampu untuk membuat flowchart.
• Memahami implementasi bahasa python untuk mengubah flowchart menjadi program komputer.

UNIT CONTENTS
Lesson 1: Pengenalan Pemrograman ........................................................................ 4 - 5
Lesson 2: Flowchart ............................................................................................ 5 - 6
PRE LAB

Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Apa yang harus dilakukan dalam menyelesaikan masalah?
2. Bagaimana mengekspresikan algoritme supaya mudah dipahami dan diubah menjadi program
komputer?
3. Apa tujuan dari pembuatan program komputer?
4. Apakah program yang sudah tersedia tidak dapat digunakan sehingga kita dianjurkan membuat
program komputer?
5. Apakah program komputer yang ada masih dapat digunakan/dimanfaatkan kembali?

CONTENT LESSON

CASE STUDY / PROJECT

Mike baru saja masuk kuliah dan di semester 1 Mike memiliki mata kuliah pemrograman komputer.
Mike merasa senang karena tujuannya kuliah adalah untuk menjadi ahli dalam pembuatan program
komputer. Di satu pertemuan, Mike diminta untuk menyelesaikan sebuah persoalan yang berkaitan
dengan ilmu matematika yaitu:

a. Menghitung ratarata 3 buah bilangan bulat positif (A, B dan C)


b. Menghitung luas lingkaran

Dalam penyelesaian persoalan tersebut, Mike diminta untuk membuat flowchartnya terlebih dahulu
untuk kemudian berdasarkan flowchart tersebut Mike membuat program komputer. Namun, Mike
masih baru saja mendengar istilah flowchart dan program komputer sehingga bingung untuk
mengerjakan kedua persoalan tersebut.

IDENTIFICATION CONCEPT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang dihadapi oleh Mika, maka ada beberapa hal yang harus
dipahami oleh Mike terlebih dahulu yaitu flowchart dan Program komputer. Setelah memahami
kedual hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik.

LESSON 1: PENGENALAN PEMROGR AM AN

LESSON 1: OVERVIEW
Pemrograman adalah suatu seni dalam menggunakan satu atau lebih algoritme yang saling
berhubungan dengan menggunakan suatu bahasa pemrograman tertentu sehingga menjadi suatu
program komputer. Program komputer adalah sebuah rangkaian tahapan yang terstruktur untuk
menghasilkan sebuah solusi dari permasalahan yang dijalankan menggunakan komputer (Ismah,
2017). Program komputer digunakan untuk menyelesaikan masalah spesifik. Program komputer terdiri
dari banyak algoritma. Banyak permasalahan kompleks yang mungkin kita tidak mampu
menyelesaikannya atau mampu menyelesaikan namun membutuhkan waktu yang cukup lama,
dikarenakan solusi untuk menyelesaikan permasalahan tersebut diperlukan langkah dengan
perulangan (looping) dengan jumlah yang banyak.
Bedasarkan “kemanusiawian” bahasa pemrograman terbagi dua :

1. Low – Level Programming Language (Assembly, OPCODE)


2. High – Level Programming Language (Pascal, Ada, Cobol, Basic, Fortran, C, C++, Java,
Python)

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai
kelanjutan dari bahasa pemrograman ABC. Python hadir sebagai solusi dalam mengatasi tantangan
perkembangan perangkat lunak (software) yang sangat cepat dan beragam, untuk memenuhi
kebutuhan pengguna (user). Python sebagai alat (tool) yang dapat digunakan untuk mengembangkan
program-program aplikasi secara sederhana dan cepat. Selain itu, python juga dapat dijalankan
diberbagai sistem operasi (multiplatform) seperti windows, linux, max OS, android, dan lainnya).
Python menjadi salah satu bahasa pemrograman yang populer digunakan oleh data analis, data
science, pengembangan web, aplikasi web, aplikasi perkantoran, simulasi, dan masih banyak lagi.
Implementasi bahasa Python dapat dilihat pada Gambar 1.

Gambar 1. Implementasi Bahas Python

LESSON 2: FLOWCHART

LESSON 2: OVERVIEW
Flowchart adalah diagram yang menampilkan langkah-langkah dan keputusan untuk
melakukan sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk diagram dan
dihubungkan dengan garis atau arah panah. Flowchart berperan penting dalam memutuskan sebuah
langkah atau fungsionalitas dari sebuah proyek pembuatan program yang melibatkan banyak orang
sekaligus. Fungsi utama flowchart adalah memberi gambaran jalannya sebuah program dari satu
proses ke proses lainnya.

Jenis-jenis flowchart adalah

• Flowchart Dokumen
• Flowchart Program : Flowchart yangmenggambarkan secara rinci prosedur dari proses
program.
• Flowchart Proses
• Flowchart Sistem
• Flowchart Skematik
Simbol-simbol flowchart

SOLUTION

Setelah memahami apa itu flowchart dan program komputer, maka Mike sudah dapat menyelesaikan
perseoalan tersebut dengan baik sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang diberikan
3. Hasil flowchart dapat dilihat pada Gambar 2 dan Gambar 3.
Mulai
Mulai

Masukkan
Bilangan A
phi = 3.14

Masukkan
Bilangan B
Masukkan
nilai R

Masukkan
Bilangan C
Luas = phi * R * R

Ratarata = (Bilangan A +
Bilangan B + Bilangan C) / 3
Cetak Luas

Cetak
Ratarata Selesai

Gambar 3. Flowchart menghitung luas lingkaran


Selesai

Gambar 2. Flowchart Menghitung ratarata 3 buah bilangan

Pembuatan program komputer Gambar 2


1. Buka editor (IDLE) python
2. Deklarasi variabel bilangan A, B dan C
3. Hitung ratarata 3 buah bilangan
4. Cetak perhitungan ratarata
5. Program komputer dapat dilihat pada Gambar 4.

Gambar 4. Program Komputer Menghitung Ratarata 3 Buah Bilangan


EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python.

TASK 1:
Buatlah flowchart untuk:
a. Mencetak Selamat Datang di Program Studi S-1 Teknologi Informasi
b. Masuk ke portal akademik MIKA menggunakan akun Miso [Nim dan Password].
c. Menghitung nilai akhir (NA) mahasiswa yang memiliki nilai tugas (X), nilai uts (Y) dan nilai uas (Z)
dengan rumus berikut: NA = (0.4) * X + (0.3) * Y + (0.3) * Z.
d. Menetukan apakah Mike lulus tepat waktu atau tidak. Syarat dinyatakan lulus tepat waktu adalah
apabila Mike selesai kuliah selama 7 atau 8 semester.
e. Menghubungkan Wifi Mikroskil dengan HP/Laptop Mahasiswa.

TASK 2:
Buatlah program komputer untuk:
a. Mencetak Selamat Datang di Program Studi S-1 Teknologi Informasi
b. Menghitung luas lingkaran sesuai dengan flowchart contoh 2.
c. Menghitung nilai akhir (NA) mahasiswa yang memiliki nilai tugas (X), nilai uts (Y) dan nilai uas
(Z) dengan rumus berikut: NA = (0.4) * X + (0.3) * Y + (0.3) * Z

POST LAB

QUESTION
1. Diagram yang digunakan untuk mengekpresikan algoritme adalah
2. Apakah sebuah program komputer dapat digunakan untuk menyelesaikan semua masalah?
3. Jika program komputer yang ada tidak mampu menyelesaikan masalah kita, apa yang harus
dilakukan?
UNIT 2
DASAR PEMROGRAMAN: TIPE
DATA DAN VARIABLE
UNIT OVERVIEW
Pada minggu ke-2 ini kita akan membahas tentang Dasar Pemrograman yang berhubung dengan Tipe
Data (jenis-jenis dari data) dan Variable. Tipe data dan variabel adalah dua hal yang tidak dapat
dipisahkan. Hal ini karena dalam pembuatan program komputer kita butuh tipe data dan variabel
untuk dapat menyelesaikan masalah dengan efektif dan efisien. Tipe data merupakan suatu media
atau memori pada komputer yang digunakan untuk menampung informasi tertentu. Ada banyak jenis
tipe data pada python seperti string, integer, float, boolean, none dan lain sebagainya. Sedangkan
variabel adalah tempat untuk menampung data yang berisi nilai konstanta ataupun nilai yang dapat
berubah-ubah selama proses program berjalan dan setiap variabel memiliki tipe data. Selain kedua
hal tersebut pada materi ini kita juga akan membahas tentang operator.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami jenis-jenis variable yang ada dan penerapannya ke dalam bahasa pemrograman
python.
• Memahami cara pembuatan variable dan cara mendeklarasikan variabel
• Memahami jenis-jenis operator

UNIT CONTENTS
Lesson 1: Tipe Data ............................................................................................ 10-
11
Lesson 2: Variabel .............................................................................................. 12
Lesson 3: Operator ............................................................................................. 13-
14
PRE LAB

Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Apa yang dimaksud dengan tipe data?
2. Apa saja jenis-jenis tipe data yang ada dalam pemrograman komputer?
3. Apa saja syarat yang harus diketahui dalam pembuatan variable?
4. Bagaimana cara kita untuk mendeklarasikan variable?
5. Apakah pada bahasa pemrograman python kita perlu mendeklarasikan terlebih dahulu variabel
dan tentukan jenis tipe data sebelum digunakan? Jelaskan!

CONTENT LESSON

CASE STUDY / PROJECT

Pada minggu ke-2 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:

Mike diminta membuat program komputer untuk menghitung:


BMI (Body Mass Index) : BMI = berat(kg) / tinggi(m)*tinggi(m)

Dalam penyelesaian persoalan tersebut, sebelum membuat program komputer Mike diminta untuk
membuat flowchartnya terlebih dahulu. Hal ini bertujuan agar, Mike tidak lupa cara membuat
flowchart dan kemudian terbiasa membuat program komputer berdasarkan flowchart.

IDENTIFICATION CONCE PT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:

1. Mike harus mengingat kembali materi flowchart.


2. Mike harus memahami tipe data, variabel dan operator apa yang akan digunakan untuk
menghitung BMI dan konversi waktu.
3. Mike harus dapat memahami bagaimana penggunaan tipe data, variabel dan operator pada
python.

Setelah memahami ketiga hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik. Untuk
membantu Mike maka silahkan pahami penjelasan tentang tipe data, variabel dan operator berikut
ini.

LESSON 1: TIPE DATA

LESSON 1: OVERVIEW
Tipe data merupakan suatu media atau memori pada komputer yang digunakan untuk
menampung informasi. Tujuannya adalah untuk merepresentasikan / mewakili informasi dari masalah
dunia nyata menjadi informasi yang dimengerti oleh program komputer. Berikut ini adalah jenis-jenis
tipe data pada python.
• Integer (int)
Interger atau biasa kita sebut dengan bilangan bulat merupakan tipe data yang paling sering
digunakan. Tipe data ini sering kita gunakan untuk menyatakan sebuah umur, jarak atau hal
lainnya.
Contoh : 0, 1, 100, 500 dan 1000.

• Float
Float atau bisa kita sebut juga sebagai bilangan desimal merupakan tipe data ini berhubungan
dengan tipe data pecahan. Tipe data ini sering kita gunakan untuk menyatakan berat, rata-rata,
median dan lain sebagainya. Untuk menyatakan koma pada bahasa pemrograman python biasanya
kita menggunakan tanda titik “.”.
Contoh : 3.14, 5.278

• String (str)
String atau sekumpulan karakter atau biasa juga disebut sebagai teks merupakan tipe data yang
sering kita gunakan untuk menuliskan sesuatu ke dalam bahasa pemrograman. Dalam
penggunaan, tipe data ini biasanya akan diapit oleh tanda petik 1 ‘……’, petik 2 “……” atau petik
2 sebanyak 3 kali “””……”””.
Contoh penggunaan :
➢ ‘Ini rumah saya bukan rumah kamu’
➢ “Hai siapakah disana?”
➢ “””
Jalan Thamrin No 140
Kampus B Mikroskil
Medan
“”””

• Boolean (bool)
Boolean merupakan tipe data yang hanya memiliki dua buah nilai, yaitu benar (True) atau salah
(False). Tipe data ini biasanya kita akan menggunakan untuk membandingkan dua buah objek.

• None (none)
None merupakan tipe data yang yang tidak memiliki isi. Biasanya tipe data ini kita gunakan untuk
menyatakan apakah adakah isi pada sekumpulan data (array)?

Selain dari tipe data tersebut, ada beberapa tipe data lainnya seperti complex, list, tupple
dan dictionary. Dimana keempat tipe data tersebut nantinya akan dijelaskan pada beberapa
pertemuan berikutnya. Pada dasarnya setiap tipe data dapat dikonversi menjadi tipe data lainnya
sesuai dengan kebutuhan permasalah yang akan diselesaikan. Sebagai contoh : int(), float(), str() dan
lain sebagainya. Tujuan dilakukan konversi ini adalah untuk mengubah data awal menjadi jenis
lainnya.

Contoh: Ketika kita memberikan inputan (masukkan) ke dalam program, umumnya data tersebut
memiliki tipe data string. Oleh karena itu, setiap angka yang kita masukkan harus dikonversi terlebih
dahulu menjadi integer supaya dapat dilakukan proses perhitungan.

Umur = int(input(“Masukkan umur Anda : “))

print(f”Umur saya 8 tahun lagi adalah { Umur + 8 } tahun”)


LESSON 2: VARIABEL

LESSON 2: OVERVIEW
Variabel adalah tempat untuk menampung data yang berisi nilai konstanta ataupun yang
dapat berubah-ubah selama proses program berjalan. Di dalam pemrograman Python, variabel
mempunyai sifat yang dinamis, artinya variabel Python tidak perlu didekralasikan tipe data tertentu
dan variabel Python dapat diubah saat program dijalankan. Python dapat membedakan tipe variabel
yang dideklrasikan tanpa perlu menginisialisasi tipe data pada variabel.

Aturan Pembuatan Variabel


• Setiap variabel yang dibuat harus dimulai dengan karakter atau tanda baca underscore "_"
Contoh: _iniVariable, iniVariableJuga
• Setiap variabel tidak dapat dimulai menggunakan angka
Contoh : 2Variable, 0TidakAda
• Setiap nama variabel hanya boleh mengandung alpha-numeric character (A-z, 0-9) dan
underscore ("_")
Contoh :
BENAR : Ini_Benar, IniJugaBenar, _Ini_Juga_Benar
SALAH : Ini+Salah, Ini-JugaSalah, Ini Apa Lagi
• Setiap variabel umumnya case-sensitive artinya huruf kecil dan huruf besar dibedakan
Contoh : Sama, sAma, SAMA adalah variabel yang berbeda
• Kata kunci yang ada python tidak bisa digunakan untuk pembuatan nama variable
Contoh : max, min, sum dan lain sebagainya.

Deklarasi Variabel
Untuk membuat variabel kita dapat menggunakan format berikut :
nama_variable = <Nilai Variabel> atau nama_variable1, nama_variable2, ... , nama_variablen = <Nilai
Variabel1>, <Nilai Variabel2>, ... , <Nilai Variabeln>

Sedangkan untuk nilai variabel kita bisa memasukkan berupa angka, teks atau lainnya.
Contoh :
nama = "Pemrograman Komputer"
nilai = 100
nama, prodi, nilai = "Mike", "TI", 100

LESSON 3: OPERATOR

LESSON 3: OVERVIEW
Operator merupakan simbol-simbol yang dapat digunakan untuk melakukan operasi
(tindakan) tertentu pada program. Pada umumnya, ada 7 jenis operator yang dapat kita gunakan,
yaitu :

• Operator Aritmatika
• Operator Penugasan
• Operator Perbandingan
• Operator Logika
• Operator Bitwise
• Operator Keanggotaan
• Operator Identitas
Operator Arimatika

Operator Penugasan

Operator Perbandingan
Operator Logika

Operator Bitwise

Operator Keanggotaan

Operator Identitas
SOLUTION

Setelah memahami apa itu tipe data, variabel dan operator, maka Mike sudah dapat menyelesaikan
persoalan di atas dengan baik sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang
diberikan
3. Hasil flowchart dapat dilihat pada Gambar 1.

Mulai

Masukkan
berat (kg)

Masukkan
berat (cm)

Konversi tinggi (cm)


ke m

BMI = berat / (tinggi


* tinggi)

Cetak BMI

Selesai

Gambar 1. Flowchart Menghitung BMI

Pembuatan program komputer Gambar 1


1. Buka editor (IDLE) python
2. Deklarasi variabel bilangan berat dan tinggi
3. Konversi tinggi(cm) ke tinggi(m)
4. Hitung BMI
5. Cetak hasil BMI
6. Program komputer dapat dilihat pada Gambar 2
Gambar 2. Program Komputer Menghitung BMI

EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python dengan tipe data,
variabel dan operator yang tepat

TASK 1:
Buatlah flowchart dan program komputer untuk:
a. Bantulah Mike untuk menginput Nim, Nama, Program Studi kemudian mencetak kalimat seperti
di bawah ini.
Selamat Datang Nim – Nama di Program Studi Universitas Mikroskil.
b. Bantulah Mike untuk mengkonversi waktu dari detik ke jam, menit dan detik.
c. Menghitung nilai akhir (NA) mahasiswa yang memiliki nilai tugas (X), nilai uts (Y) dan nilai uas (Z)
dengan rumus berikut: NA = (0.4) * X + (0.3) * Y + (0.3) * Z.
d. Diketahui posisi dua titik dari sumbu X adalah x1 dan x2. Carilah selisih jarak antara sumbu x1
dan x2.
e. Hitunglah luas dan volume bola jika diketahui nilai jari - jari R dari bola.
UNIT 3
DASAR PEMROGRAMAN:
PERCABANGAN
UNIT OVERVIEW
Pada minggu ke-3 ini kita akan membahas tentang Dasar Pemrograman yang berhubung dengan
Percabangan. Percabangan adalah suatu pilihan atau opsi dengan kondis tertentu. Jika kondisi yang
menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya.
Percabangan dibutuhkan ketika terdapat beberapa kemungkinan keputusan yang mungkin dalam alur
program. Setiap kemungkinan tersebut bergantung terhadap nilai variabel ataupun berdasarkan hasil
evaluasi kondisi logika. Kondisi logika adalah perbandingan dua atau lebih variabel dengan
menggunakan operator logika.

Percabangan merupakan gambaran dari alur program yang bercabang, berlogika "jika...maka..." dan
istilah ini juga bisa disebut dengan struktur kondisi IF. Percabangan Python dapat membuat suatu
program berpikir untuk melakukan sesuatu sesuai dengan kondisi yang diberikan.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami apa itu percabangan dan implementasi percabangan dalam menyelesaikan
permasalahan

UNIT CONTENTS
Lesson 1: Percabangan ........................................................................................ 19
Lesson 2: Jenis-Jenis Percabangan .......................................................................... 20-
23
PRE LAB
Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Apa fungsi percabangan dalam pembuatan program komputer?
2. Kapan kita akan menggunakan if else dan elif dalam pembuatan program komputer?
3. Apa saja aturan penulisan dalam penggunaan if, else, elif?

CONTENT LESSON

CASE STUDY / PROJECT

Pada minggu ke-3 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:
Mike diminta kembali membuat program komputer untuk menghitung BMI dengan rumus berikut.
BMI (Body Mass Index) : BMI = berat(kg) / tinggi(m)*tinggi(m)

Berdasarkan hasil perhitungan BMI, Mike juga diminta untuk menentukan status berat badan
seseorang berdasarkan tabel di bawah ini.

Dalam penyelesaian persoalan tersebut, sebelum membuat program komputer Mike harus membuat
flowchartnya terlebih dahulu. Hal ini bertujuan agar, Mike tidak lupa cara membuat flowchart dan
kemudian terbiasa membuat program komputer berdasarkan flowchart.

IDENTIFICATION CONCE PT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:

1. Mike harus mengingat kembali materi flowchart.


2. Mike harus memahami tipe data, variabel dan operator apa yang akan digunakan untuk
menghitung BMI
3. Mike harus dapat memahami bagaimana penggunaan tipe data, variabel dan operator pada
python.
4. Mike harus paham ada berapa jumlah kondisi yang akan digunakan dalam menentukan status
berat badan.
5. Mike harus memahami apa jenis percabangan yang akan digunakan untuk menentukan status
berat badan berdasarkan jumlah kondisi yang ada.

Setelah memahami kelima hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik. Untuk
membantu Mike maka mari kita pahami penjelasan tentang percabangan berikut ini.
LESSON 1: PERCAB ANGAN

LESSON 1: OVERVIEW
Percabangan digunakan untuk memilih salah satu di antara dua atau lebih aksi untuk
dijalankan. Ketika kamu sedang mengerjakan sebuah kasus, dan menemukan banyak pilihan dalam
kasus tersebut, kamu diharuskan untuk memutuskan satu pilihan yang sesuai dengan masalah yang
dihadapi. Untuk itu, solusi dari kasus ini adalah penggunaan percabangan Python. Percabangan
merupakan gambaran dari alur program yang bercabang, berlogika "jika...maka...", dan istilah ini
juga bisa disebut dengan struktur kondisi IF. Percabangan Python dapat membuat suatu program
berpikir untuk melakukan sesuatu sesuai dengan kondisi yang diberikan.

Percabangan dalam dunia pemrograman merupakan proses penentuan keputusan. Konsep


sederhanya adalah kita memerintahkan komputer untuk melakukan suatu aksi tertentu (X), hanya
jika suatu kondisi Y terpenuhi. Atau, kita memerintahkan komputer untuk melakukan aksi tertentu
(A) jika suatu kondisi tidak terpenuhi. Perhatikan flowchart di bawah ini.

Mulai

Input
Angka

Benar Kondisi Salah

Proses A jika Proses B jika


kondisi benar kondisi salah

Cetak hasil
sesuai dengan
kondisi

Selesai

Percabangan dibutuhkan ketika terdapat beberapa kemungkinan keputusan yang mungkin dalam alur
program. Setiap kemungkinan tersebut bergantung terhadap nilai variabel ataupun berdasarkan hasil
evaluasi kondisi logika. Kondisi logika adalah perbandingan dua atau lebih variabel dengan
menggunakan operator logika dan operator perbandingan.
LESSON 2: JENIS-JENIS PERCABANG

LESSON 2: OVERVIEW
Dalam python pemilihan kondisi atau percabangan dapat dilakukan menggunakan if, if else,
dan if elif else. Dimana:
If merupakan kondisi utama
Elif merupakan kondisi kedua, kondisi ketiga sampai kondisi ke-n
Else merupakan kondisi terakhir dimana semua kondisi sebelumnya tidak ada yang benar atau
terpenuhi

Aturan penulisan If, elif dan else


• Setelah menulis if, elif dan else wajib diakhiri dengan titik dua (:)
• IF dapat berdiri sendiri tanpa ada elif atau else
• Penggunaan elif dan else hanya dapat dilakukan jika if digunakan di awal program.
• Setiap baris program yang akan dieksesuki setelah penggunaan if, elif dan else wajib diberi
jarak (tab 1 kali)
• Penulisan if, elif dan else sejajar dalam satu program

a. Percabangan if
Berikut adalah strutur penulisan if di python.

Bagian kondisi adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik berupa nilai
True/False secara langsung, atau pun sebuah ekspresi logika. Jika kondisi bernilai True, maka
statements() akan dieksekusi oleh program.

Contoh penerapan if

Penejelasan Contoh:
IPK == 4 merupakan kondisi
Print(“Selamat Anda Lulus Cumlaude”) adalah statements yang akan dieksekusi oleh program jika
kondisi bernilai True.

b. Percabangan if else
Digunakan apabila terdapat dua kondisi yang akan diperiksa. Berikut adalah strutur penulisan if else
di python.
Bagian kondisi adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik berupa nilai
True/False secara langsung, atau pun sebuah ekspresi logika. Jika kondisi bernilai True, maka
statements1() akan dieksekusi oleh program. Jika kondisi bernilai False, maka statements2() yang
akan dieksekusi oleh program.

Contoh penerapan if else

Penejelasan Contoh:
Angka % 2 == 0 merupakan kondisi
Print(“Angka”, angka, “Merupakan Bilangan Genap”) adalah statements1 yang akan dieksekusi
oleh program jika kondisi bernilai True.
Print(“Angka”, angka, “Merupakan Bilangan Ganjil”) adalah statements2 yang akan dieksekusi oleh
program jika kondisi bernilai False.

c. Percabangan if elif else


Digunakan apabila terdapat lebih dua kondisi yang akan diperiksa. Berikut adalah strutur penulisan if
elif else di python.

Bagian kondisi1 adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik berupa nilai
True/False secara langsung, atau pun sebuah ekspresi logika. Jika kondisi1 bernilai True, maka
statements1() akan dieksekusi oleh program. Jika kondisi1 bernilai False, maka kondsi2 akan
diperiksa. Apabila kondisi2 bernilai True, maka statements2() yang akan dieksekusi oleh program.
Apabilai kondisi2 bernilai False maka statements3() akan dieksekusi oleh program.

Contoh penerapan if elif else


Penjelasan Contoh:
nilaiAngka >= 80 and nilaiAngka <=100 merupakan kondisi1
nilaiHuruf =’A’ merupakan statements1 yang akan dieksekusi apabilai kondisi1 bernilai True
nilaiAngka >= 75 and nilaiAngka <=79 merupakan kondisi2
nilaiHuruf =’B’ merupakan statements2 yang akan dieksekusi apabilai kondisi1 bernilai True
sampai
nilaiAngka >= 40 and nilaiAngka <=49 merupakan kondisi6
nilaiHuruf =’D’ merupakan statements6 yang akan dicetak apabilai kondisi1 bernilai True

Apabilai kondisi1, kondisi2, sampai kondisi6 bernilai False, maka statement7 nilaiHuruf=’E’ akan
dieksekusi oleh program

d. Nested IF (Percabangan Bersarang)


Sebuah percabangan dapat memiliki percabangan di dalamnya dan percabangan yang di dalam
tersebut juga dapat memiliki percabangan lainnya di dalam. Bentuk umum penulisan nested if dalam
python.

Bagian kondisi1 adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik berupa nilai
True/False secara langsung, atau pun sebuah ekspresi logika. Jika kondisi1 bernilai True, maka
kondisi1a() akan dieksekusi oleh program. Jika kondisi1a bernilai True, maka statements1a() akan
dieksekusi, jika kondisi1a bernilai False maka statements1b() akan dieksekusi. Jika kondisi1 bernilai
false, maka kondisi2() akan dieksekusi oleh program.
Jika kondisi2 bernilai True, maka kondisi2a() akan dieksekusi oleh program. Jika kondisi2a bernilai
True, maka statements2a() akan dieksekusi, jika kondisi2a bernilai False maka statements2b() akan
dieksekusi.
Namun, jika kondisi1 dan kondisi2 bernilai False maka statements3() akan dieksekusi.

Contoh penerapan Nested if


Penjelasan contoh:
angka >=0 merupakan kondisi1
angka ==1 merupakan kondisi1a
angka ==2 merupakan kondisi1b
Jika kondisi1 dan kondisi1a bernilai True maka statements1a(): print(“Angka yang diinput adalah
Satu”) akan dieksesuki.
Jika kondisi1 dan kondisi1b bernilai True maka statements1b(): print(“Angka yang diinput adalah
Dua”) akan dieksesuki.
Jika kondisi1 saja bernilai True maka statements1c(): print(“Angka yang diinput adalah Angka
Positif”) akan dieksesuki.

angka <0 merupakan kondisi2


Jika kondisi1 dan kondisi2 bernilai False maka statements3(): print(“Inputan harus Angka”) akan
dieksesuki.

SOLUTION

Setelah memahami apa itu percabangan dan mengingat kembali seluruh materi yang sudah dipelajari
pada minggu 1 dan minggu 2, maka Mike sudah dapat menyelesaikan persoalan di atas dengan baik
sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang
diberikan
3. Hasil flowchart dapat dilihat pada Gambar 1.
Mulai

Masukkan
berat (kg)

Masukkan
tinggi (cm)

Konversi tinggi
(cm) ke meter

BMI = berat /
(tinggi * tinggi)

True BMI < 18,5

False

Cetak
Kurus BMI >= 18,5 dan
BMI <=22,9
True

False
Cetak
Normal
BMI >= 23 dan
True
BMI <=24,9

Cetak False
Gendut

BMI >= 25 dan


True
BMI <= 29,9
Cetak
Obesitas False
Kelas 1
Cetak
Obesitas
Kelas 2

Selesai

Gambar 1. Flowchart Menghitung BMI dan Cek Status Berat Badan


Pembuatan program komputer Gambar 1
1. Buka editor (IDLE) python
2. Deklarasi variabel bilangan berat dan tinggi
3. Konversi tinggi(cm) ke tinggi(m)
4. Hitung BMI
5. Cek hasil BMI sesuai dengan kondisi status berat badan
6. Cetak hasil pengecekan status berat badan
7. Program komputer dapat dilihat pada Gambar 2

Gambar 2. Program Komputer Menghitung BMI

EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python dengan tipe data,
variabel, operator dan percabangan yang tepat

TASK 1:
Buatlah flowchart dan program komputer untuk:
a. Bantulah Mike untuk menentukan letak kuadran dari sebuah titik yang diberikan nilai x dan y.
Misalkan : Titik ( 3,4)
Keluarannya adalah Titik (3,4) ada di kuadran 1
b. Bantulah Mike untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir. Lama parkir
dihitung dari selisih jam masuk dan jam keluar. Biaya parkir 2 jam pertama adalah 2000 dan
setiap 1 jam berikutnya bertambah 500.
c. Memasuki bulan oktober 2022, aplikasi Grab berbagi voucher WEEKENDCERIA. Untuk dapat
menggunakan kode voucher tersebut maka pesanan GrabFood harus memenuhi persyaratan di
bawah ini:
i. Hanya dapat digunakan pada hari Jumat, Sabtu dan Minggu.
ii. Minimal pesanan sebesar 40.000.
iii. Diskon sebesar 40% (maksimal diskon 50.000).
Bantulah Mike untuk mengetahui apakah dia dapat menggunakan voucer GrabFood tersebut atau
tidak.
UNIT 4
DASAR PEMROGRAMAN:
PERULANGAN
UNIT OVERVIEW
Pada minggu ke-4 ini kita akan membahas tentang Dasar Pemrograman yang berhubung dengan
Perulangan. Secara umum, looping atau perulangan pada Python adalah instruksi kode program
yang dieksekusi berulang kali. Perulangan berfungsi untuk memerintah komputer melakukan sesuatu
secara berulang-ulang dengan jumlah tertentu selama sebuah kondisi yang telah ditentukan masih
terpenuhi.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami apa itu perulangan dan implementasi perulangan dalam menyelesaikan
permasalahan

UNIT CONTENTS
Lesson 1: Perulangan ........................................................................................... 27-
28
Lesson 2: Jenis-Jenis Perulangan ............................................................................ 28-
30
PRE LAB
Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Apa fungsi perulangan dalam program komputer?
2. Kapan sebaiknya kita menggunakan for dan while dalam pembuatan program komputer?
3. Apa yang dimaksud dengan infinite loop dan mengapa infinite loop dapat terjadi pada program
komputer?

CONTENT LESSON

CASE STUDY / PROJECT

Pada minggu ke-4 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:
Mike diminta kembali membuat program komputer untuk menampilkan serangkaian n bilangan yang
merupakan kelipatan dari angka m yang diinput.
Misalkan jika n= 10 dan m = 2, maka Mike harus menampilkan deret angka kelipatan 2 sebanyak 10
sebagai berikut:
2 4 6 8 10 12 14 16 18 20

Dalam penyelesaian persoalan tersebut, sebelum membuat program komputer Mike harus membuat
flowchartnya terlebih dahulu. Hal ini bertujuan agar, Mike tidak lupa cara membuat flowchart dan
kemudian terbiasa membuat program komputer berdasarkan flowchart.

IDENTIFICATION CONCE PT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:

1. Mike harus mengingat kembali materi flowchart.


2. Mike harus memahami tipe data, variabel dan operator apa yang akan digunakan untuk
menghasilkan deret angka kelipatan m sebanyak n
3. Mike harus dapat memahami bagaimana penggunaan tipe data, variabel dan operator pada
python.
4. Mike harus memahami bagaimana logika untuk menghasilkan deret angka kelipatan m sebanyak
n
5. Mike harus memahami apa jenis perulangan yang akan digunakan untuk menghasilkan deret angka
kelipatan m sebanyak n

Setelah memahami kelima hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik. Untuk
membantu Mike maka mari kita pelajari penjelasan tentang perulangan berikut ini.

LESSON 1: PERULANGAN

LESSON 1: OVERVIEW
Perulangan digunakan untuk menentukan alur eksekusi program. Perulangan dalam bahasa
pemrograman berfungsi untuk melakukan sesuatu secara berulang-ulang selama kondisi terpenuhi.
Perulangan dan Percabangan memiliki konsep yang hampir sama namun memiliki perbedaan yaitu:
• Percabangan -> blok kode yang memenuhi kondisi tertentu hanya akan dieksekusi satu kali saja.
• Perulangan -> blok kode akan dilakukan berulang-ulang dengan jumlah tertentu atau selama
kondisi tertentu terpenuhi.

Perulangan dalam dunia pemrograman dibutuhkan ketika terdapat suatu proses yang sama
yang akan dikerjakan secara berulang-ulang jika kondisi tertentu dipenuhi. Terdapat tiga jenis
perualangan dalam bahasa pemrograman python, yaitu perulangan dengan for, while, dan nested
loop.

LESSON 2: JENIS-JENIS PERULANGAN

LESSON 2: OVERVIEW
Berikut ini merupakan jenis-jenis perulangan dalam bahasa pemrograman python.
a. Perulangan for
Perulangan for disebut counted loop (perulangan yang terhitung). for digunakan jika kita sudah
mengetahui jumlah perulangan yang akan dilakukan. Berikut adalah strutur penulisan for di python.

indeks adalah sebuah variabel / atau nilai yang akan digunakan untuk menampung hasil kondisi
perulangan.
Start, stop, step adalah kondisi perulangan yang akan digunakan apakah program akan terus diulang
atau tidak.

Contoh penerapan for


Misalkan anda diminta untuk menampilkan deret angka 1-10, maka kita dapat membuat program
seperti berikut.

Penjelasan Contoh:
Variabel i berfungsi untuk menampung indeks.
fungsi range(1,11,1) berfungsi untuk membuat daftar angka dengan range dari 1-10 dimana start=1,
stop = 11 dan step =1.
Program di atas akan menghasilkan deret angka 1 2 3 4 5 6 7 8 9 10

b. Perulangan while
while disebut uncounted loop (perulangan yang tak terhitung). Digunakan jika jumlah perulangan
didasarkan pada suatu kondisi dan mungkin saja statement di dalam perulangan tidak dijalankan sama
sekali. Berikut adalah strutur penulisan while di python.

Bagian kondisi logika adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik berupa
nilai True/False secara langsung, atau pun sebuah ekspresi logika. Jika kondisi bernilai True, maka
statements() dalam while akan dieksekusi oleh program. Jika kondisi bernilai False, maka
statements() dalam while tidak akan dieksekusi oleh program.

Contoh penerapan while


Misalkan anda diminta untuk menampilkan deret angka 1-10, maka kita dapat membuat program
seperti berikut.

Penjelasan Contoh:
Variabel i=1 berfungsi sebagai nilai awal (start)
(i <= 10) merupakan kondisi logika yang berfungsi untuk membuat daftar angka dengan range dari 1-
10.
Variabel i = i+ 1 berfungsi sebagai step
Program di atas akan menghasilkan deret angka 1 2 3 4 5 6 7 8 9 10

c. Nested Loop
Sebuah perulangan dapat memiliki perulangan di dalamnya dan perulangan yang di dalam tersebut
juga dapat dapat memiliki perulangan lainnya di dalam. Perulangan yang di dalam tersebut tidaklah
harus menggunakan statement yang sama dengan perulangan induknya. Misalnya, boleh saja kita
menggunakan statement perulangan for di dalam statement perulangan while dan juga sebaliknya.
Digunakan apabila terdapat lebih dua kondisi yang akan diperiksa.
Berikut adalah struktur penulisan nested loop di python.

Contoh penerapan nested loop


Misalkan Anda diminta untuk menampilkan daftar nomor sebagai berikut.
1
1.1
1.2
1.3
1.4
1.5
s/d
5
5.1
5.2
5.3
5.4
5.5
maka kita dapat membuat program seperti berikut.
Penjelasan Contoh:
Variabel i berfungsi untuk menampung indeks.
fungsi range(1,6,1) berfungsi untuk membuat daftar angka dengan range dari 1-5 dimana start=1,
stop = 6 dan step =1.
Variabel j berfungsi untuk menampung indeks.
fungsi range(1,6,1) berfungsi untuk membuat daftar angka dengan range dari 1-5 dimana start=1,
stop = 6 dan step =1.

SOLUTION

Setelah memahami apa itu perulangan dan mengingat kembali seluruh materi yang sudah dipelajari
pada minggu 1, 2 dan minggu 3, maka Mike sudah dapat menyelesaikan persoalan di atas dengan baik
sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang diberikan
3. Hasil flowchart dapat dilihat pada Gambar 1.
Mulai

Masukkan
nilai n dan m

temp =0
i=0

i<n i += 1

True

temp += m

False

Cetak
temp

Selesai
Gambar 1. Flowchart Menghasilkan deret bilangan kelipatan m sebanyak n
Pembuatan program komputer Gambar 1
1. Buka editor (IDLE) python
2. Deklarasi variabel bilangan berat dan tinggi
3. Konversi tinggi(cm) ke tinggi(m)
4. Hitung BMI
5. Cek hasil BMI sesuai dengan kondisi status berat badan
6. Cetak hasil pengecekan status berat badan
7. Program komputer dapat dilihat pada Gambar 2

Gambar 2. Program Komputer Menghasilkan deret bilangan kelipatan m sebanyak n

EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python dengan tipe data,
variabel, operator dan perulangan yang tepat

TASK 1:
Bantulah Mike membuat flowchart dan program komputer untuk menyelesaikan masalah berikut:
a. Menghitung jumlah dan rata-rata dari deret bilangan bulat 1 sampai n.
Masukan: sebuah bilangan bulat n
Keluaran: Deret bilangan bulat 1 sampai n
Test Case
Masukan: n = 10
Keluaran:
1 2 3 4 5 6 7 8 9 10
Jumlah = 55
Rata-rata = 5.5

b. Menghitung perpangkatan dua buah bilangan bulat secara manual menggunakan perulangan
Masukan: dua buah bilangan bulat n dan m
Keluaran: hasil perpangkatan n dan m
Test Case
Masukan:
n = 10
m=2
Keluaran:
Hasil perpangkatan n dan m adalah 100
c. Menghitung nilai dari n faktorial.
Masukan: sebuah bilangan bulat n
Keluaran: hasil n faktorial
Test Case
Masukan:
n=5
Keluaran:
5 faktorial adalah 120 (5! = 5 * 4* 3*2*1)
UNIT 5
DASAR PEMROGRAMAN:
PERCABANGAN & PERULANGAN
UNIT OVERVIEW
Pada minggu ke-5 ini kita akan membahas tentang Dasar Pemrograman yang berhubung dengan
Percabangan dan Perulangan. Percabangan merupakan gambaran dari alur program yang bercabang,
berlogika "jika...maka..." dan istilah ini juga bisa disebut dengan struktur kondisi IF. Percabangan
Python dapat membuat suatu program berpikir untuk melakukan sesuatu sesuai dengan kondisi yang
diberikan. Sedangkan, looping atau perulangan pada Python adalah instruksi kode program yang
dieksekusi berulang kali. Perulangan berfungsi untuk memerintah komputer melakukan sesuatu
secara berulang-ulang dengan jumlah tertentu selama sebuah kondisi yang telah ditentukan masih
terpenuhi.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami kombinasi percangbangan dan perulangan untuk menyelesaikan masalah

UNIT CONTENTS
Lesson 1: Percabangan dan Perulangan .................................................................... 34-
35
PRE LAB
Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Kapan sebaiknya kita menggunakan kombinasi percabangan dan perulangan dalam pembuatan
program komputer?
2. Apakah didalam percabangan bersarang kita dapat membuat perulangan bersarang juga dalam
pembuatan program komputer untuk menyelesaikan masalah atau sebaliknya?

CONTENT LESSON

CASE STUDY / PROJECT

Pada minggu ke-5 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:
Mike diminta kembali membuat program komputer untuk menghitung dan menampilkan deret n
faktorial
Misalkan jika n= 10, maka Mike harus menampilkan deret 10 faktorial dan totalnya sebagai berikut:
10*9*8*7*6*5*4*3*2*1 = 3628800

Dalam penyelesaian persoalan tersebut, sebelum membuat program komputer Mike harus membuat
flowchartnya terlebih dahulu. Hal ini bertujuan agar, Mike tidak lupa cara membuat flowchart dan
kemudian terbiasa membuat program komputer berdasarkan flowchart.

IDENTIFICATION CONCE PT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:

1. Mike harus mengingat kembali materi flowchart.


2. Mike harus dapat memahami bagaimana penggunaan tipe data, variabel, operator, percabangan
dan perulangan pada python.
3. Mike harus memahami bagaimana logika untuk menghasilkan deret n faktorial dan totalnya
4. Mike harus memahami tipe data, variabel dan operator apa yang akan digunakan untuk
menghasilkan deret n faktorial dan totalnya
5. Mike harus memahami percabangan dan perulangan yang akan digunakan untuk menghasilkan
deret n faktorial dan totalnya

Setelah memahami kelima hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik. Untuk
membantu Mike maka mari kita pelajari penjelasan tentang kombinasi Percabangan dan Perulangan
berikut ini.

LESSON 1: PERCAB ANGAN DAN PERULANGAN

LESSON 1: OVERVIEW
Percabangan dan Perulangan digunakan untuk menentukan alur eksekusi program.
Percabangan dalam bahasa pemrograman berfungsi untuk melakukan sesuatu selama kondisi
terpenuhi. Perulangan dalam bahasa pemrograman berfungsi untuk melakukan sesuatu secara
berulang-ulang selama kondisi terpenuhi. Perulangan dan Percabangan memiliki konsep yang hampir
sama namun memiliki perbedaan yaitu:

• Percabangan -> blok kode yang memenuhi kondisi tertentu hanya akan dieksekusi satu kali saja.
• Perulangan -> blok kode akan dilakukan berulang-ulang dengan jumlah tertentu atau selama
kondisi tertentu terpenuhi.

Kombinasi Percabangan dan Perulangan dalam dunia pemrograman dibutuhkan ketika


terdapat suatu masalah dimana terjadi proses yang sama yang akan dikerjakan secara berulang-ulang
jika kondisi tertentu dipenuhi dan selama perulangan diperlukan pengecekan kondisi lain yang dapat
diselesaikan menggunakan percabangan. Terdapat tiga jenis percabangan dalam bahasa
pemrograman python, yaitu percabangan dengan if, if else, dan if elif else dan terdapat tiga jenis
perualangan dalam bahasa pemrograman python, yaitu perulangan dengan for, while, dan nested
loop.

Implementasi kombinasi percabangan dan perulangan


Buatlah program untuk menghasilkan pola angka berikut sesuai dengan nilai n yang dimasukkan.
Misalkan: n = 5
1
12
123
1234
12345
1234
123
12
1

n=4
1
12
123
1234
123
12
1

maka kita dapat membuat program seperti berikut.


SOLUTION

Setelah memahami apa itu perulangan dan mengingat kembali seluruh materi yang sudah dipelajari
pada minggu 1, 2, 3 dan minggu 4, maka Mike sudah dapat menyelesaikan persoalan di atas dengan
baik sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang diberikan
3. Hasil flowchart dapat dilihat pada Gambar 1.

Mulai

Masukkan
nilai n

fak = 1
i=n

i>0 i -= 1

True

fak = fak * i

Cetak i dan
False i>1 True
tanda *

Cetak i, tanda
False
=, dan fak

Selesai

Gambar 1. Flowchart Menghasilkan deret bilangan kelipatan m sebanyak n


Pembuatan program komputer Gambar 1
1. Buka editor (IDLE) python
2. Deklarasi variabel n
3. Inisialisasi variabel fak dengan nilai 1 agar tidak merubah nilai hasil perkalian untuk
menampung hasil total perkalian
4. Gunakan fungsi for untuk menghasilkan perulangan perkalian n faktorial
5. Program komputer dapat dilihat pada Gambar 2
Gambar 2. Program Komputer Menghasilkan deret n faktorial dan totalnya

EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python dengan tipe data,
variabel, operator , percabangan dan perulangan yang tepat

TASK 1:
Bantulah Mike membuat flowchart dan program komputer untuk menyelesaikan masalah berikut:
a. Menghitung jumlah huruf vocal dari kalimat yang dimasukkan
Masukan: sebuah kalimat
Keluaran: jumlah huruf vocal
Test Case
Masukan:
Saya Mahasiswa Mikroskil
Keluaran:
Jumlah huruf vocal = 9

b. Menghitung berapa banyak angka antara 1 hingga n yang habis dibagi 2 dan 4 tetapi tidak habis
dibagi 10.
Masukan: sebuah bilangan bulat n
Keluaran: Deret angka dan jumlahnya
Test Case
Masukan:
N = 20
Keluaran:
4 8 12 16
Banyaknya angka adalah 4

c. Menampilkan n deret bilangan ganjil dan genap pertama dan hitung total penjumlahan deret
ganjil dan genap tersebut.
Masukan: sebuah bilangan bulat n
Keluaran: n deret bilangan ganjil dan genap beserta totalnya
Test Case
Masukan:
n = 10
Keluaran:
Genap: 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
Ganjil: 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100

d. Memasukkan n buah nilai mahasiswa. Tentukan nilai tertinggi dari nilai tersebut dan berapa orang
mahasiswa yang mendapatkan nilai tertinggi.
Masukan: sebuah bilangan bulat n dan nilai mahasiswa sebanyak n
Keluaran: nilai tertinggi dan jumlah mahasiswa yang mendapat nilai tertinggi
Test Case
Masukan:
n=5
nilai ke-1: 90
nilai ke-2: 95
nilai ke-3: 98
nilai ke-4: 98
nilai ke-5: 90

Keluaran:
Nilai tertinggi adalah 98
Terdapat 2 mahasiswa yang mendapatkan nilai tertinggi.

e. Menampilkan pola bintang sebanyak n sebagai berikut


Masukan: sebuah bilangan bulat n
Keluaran: pola bintang sebanyak n
Test Case
Masukan:
n=5
Keluaran:
*
**
***
****
*****
UNIT 6
DASAR PEMROGRAMAN: FUNGSI
UNIT OVERVIEW
Pada minggu ke-6 ini kita akan membahas tentang Dasar Pemrograman yang berhubung dengan
Fungsi. Fungsi merupakan blok kode program yang dirancang untuk melaksanakan tugas khusus.
Fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami apa itu fungsi dan implementasi fungsi untuk menyelesaikan masalah

UNIT CONTENTS
Lesson 1: Fungsi ................................................................................................. 40-
41
PRE LAB
Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Kapan sebaiknya kita menggunakan fungsi dalam pembuatan program komputer?
2. Apakah setiap fungsi wajib memiliki parameter?
3. Apa yang dimaksud dengan fungsi yang mengembalikan nilai?

CONTENT LESSON

CASE STUDY / PROJECT

Pada minggu ke-6 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:
Mike diminta kembali membuat program komputer untuk menghitung dan menampilkan deret n
faktorial namun kali ini diminta untuk menggunakan fungsi.
Misalkan jika n= 10, maka Mike harus menampilkan deret 10 faktorial dan totalnya sebagai berikut:
10*9*8*7*6*5*4*3*2*1 = 3628800

Dalam penyelesaian persoalan tersebut, sebelum membuat program komputer Mike harus membuat
flowchartnya terlebih dahulu. Hal ini bertujuan agar, Mike tidak lupa cara membuat flowchart dan
kemudian terbiasa membuat program komputer berdasarkan flowchart.

IDENTIFICATION CONCE PT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:

1. Mike harus mengingat kembali materi flowchart.


2. Mike harus dapat memahami bagaimana penggunaan tipe data, variabel, operator, percabangan
dan perulangan pada python.
3. Mike harus memahami bagaimana logika untuk menghasilkan deret n faktorial dan totalnya
4. Mike harus memahami tipe data, variabel dan operator apa yang akan digunakan untuk
menghasilkan deret n faktorial dan totalnya
5. Mike harus memahami percabangan dan perulangan yang akan digunakan untuk menghasilkan
deret n faktorial dan totalnya
6. Mike harus memahami penggunaan fungsi untuk menghasilkan deret n faktorial

Setelah memahami kelima hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik. Untuk
membantu Mike maka mari kita pelajari penjelasan tentang kombinasi Fungsi berikut ini.

LESSON 1: FUNGSI

LESSON 1: OVERVIEW

Fungsi merupakan blok kode program yang dirancang untuk melaksanakan tugas khusus dan
berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Fungsi pada python adalah kumpulan
perintah atau baris kode yang dikelompokkan menjadi satu kesatuan untuk kemudian bisa dipanggil
atau digunakan berkali-kali. Sebuah fungsi dapat menerima parameter, mengembalikan suatu nilai,
dan dapat dipanggil berkali-kali secara independen. Dengan fungsi kita bisa memecah program besar
yang kita tulis menjadi bagian-bagian kecil dengan tugasnya masing-masing. Fungsi juga berguna
untuk membuat kode program kita menjadi lebih “reusable” dan lebih terstruktur.

Sintaks Fungsi dalam Python

Sintaks di atas secara umum terbagi menjadi 4 bagian:


• Kata kunci def yang menjadi pertanda bahwa blok kode program adalah sebuah fungsi
• Nama fungsi yang kita buat
• Parameters yang akan diterima oleh fungsi yang kita buat (tidak wajib)
• Blok kode fungsi yang di sana akan kita tulis perintah-perintah yang harus dilakukan oleh sebuah
fungsi

Memanggil Fungsi
Bagaimana cara memanggil fungsi yang telah kita definisikan?
Sederhana. Cukup ketik nama fungsinya, ditambah dengan tanda kurung () seperti berikut:

Pada contoh di atas kita kembali memanggil fungsi penjumlahan untuk proses di program utama.

SOLUTION

Setelah memahami apa itu fungsi dan mengingat kembali seluruh materi yang sudah dipelajari pada
minggu 1, 2, 3, 4, 5 dan minggu 6, maka Mike sudah dapat menyelesaikan persoalan di atas dengan
baik sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang diberikan
3. Hasil flowchart dapat dilihat pada Gambar 1.
Mulai Mulai

Nilai parameter n
Masukkan =n
nilai n

fak = 1
i=n

Fungsi Faktorial (n)

i>0 i -= 1

Selesai
True

fak = fak * i

Cetak i dan
False i>1 True
tanda *

Cetak i, tanda
False
=, dan fak

Selesai

Gambar 1. Flowchart Menghasilkan Deret n Faktorial Menggunakan Fungsi

Pembuatan program komputer Gambar 1


1. Buka editor (IDLE) python
2. Deklarasi variabel n
3. Inisialisasi variabel fak dengan nilai 1 agar tidak merubah nilai hasil perkalian untuk
menampung hasil total perkalian
4. Gunakan fungsi for untuk menghasilkan perulangan perkalian n faktorial
5. Program komputer dapat dilihat pada Gambar 2
Gambar 2. Program Komputer Menghasilkan Deret n Faktorial dan Total Menggunakan Fungsi

EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python dengan tipe data,
variabel, operator , percabangan, perulangan dan fungsi yang tepat

TASK 1:
Bantulah Mike membuat flowchart dan program komputer menggunakan fungsi untuk menyelesaikan
masalah berikut:
a. Menentukan nilai maksimal dan minimal dari tiga buah bilangan bulat
Masukan: tiga buah bilangan bulat
Keluaran: nilai maksimal dan minimal
Test Case
Masukan:
10
100
90

Keluaran:
Nilai Maksimal = 100
Nilai Minimal = 10

b. Menentukan apakah sebuah segita disebut segitiga pythagoras atau tidak. Segitiga pythagoras
memiliki ciri-ciri a^2 + b^2 = c2
Masukan: sebuah bilangan bulat a, b dan c
Keluaran: Segitiga Pythagoras atau tidak
Test Case
Masukan:
A=3
B= 4
C= 5

Keluaran:
Merupakan segitiga pythagoras

c. Menampilkan n deret bilangan ganjil dan genap pertama dan hitung total penjumlahan deret
ganjil dan genap tersebut.
Masukan: sebuah bilangan bulat n
Keluaran: n deret bilangan ganjil dan genap beserta totalnya
Test Case
Masukan:
n = 10
Keluaran:
Genap: 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
Ganjil: 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100

d. Menampilkan n data mahasiswa berupa nim, nama, kelas, prodi, semester


Masukan: sebuah bilangan bulat n dan data mahasiswa sebanyak n
Keluaran: data mahasiswa sebanyak n
Test Case
Masukan:
n=2
nim: 221130001
nama: mike
kelas: A Pagi
prodi: TI
semester: 1

nim: 221130090
nama: stepani
kelas: A Pagi
prodi: TI
semester: 1

Keluaran:
Nim 221130001, Nama mike, Kelas A Pagi, Prodi TI semester 1
Nim 221130090, Nama stepani, Kelas A Pagi, Prodi TI semester 1

e. Mengecek apakah sebuah nilai yang dimasukkan merupakan bilangan prima atau tidak
Masukan: sebuah bilangan bulat n
Keluaran: Prima atau Tidak Prima
Test Case
Masukan:
n=5

Keluaran:
Prima
UNIT 7
DASAR PEMROGRAMAN: FUNGSI
REKURSIF
UNIT OVERVIEW
Pada minggu ke-7 ini kita akan membahas tentang Dasar Pemrograman yang berhubung dengan
Fungsi Rekursif. Fungsi Rekursif merupakan fungsi yang memanggil dirinya sendiri. Fungsi rekursif
disusun atas dua bagian, yaitu basis dan rekurens.Basis berisi nilai awal yang tidak mengacu pada
dirinya sendiri. Bagian ini berfungsi untuk memberikan nilai yang terdefinisi pada fungsi rekursif dan
sekaligus menghentikan proses rekursi. Rekurens merupakan bagian fungsi yang mendefinisikan
argumen fungsi dalam terminologi dirinya sendiri. Setiap kali fungsi tersebut melakukan bagian
rekurens maka argumen dari fungsi tersebut harus lebih dekat pada basisnya. Fungsi rekursif berisi
sejumlah pernyataan yang dikemas dalam sebuah nama.

UNIT OBJECTIVES
Adapun capaian yang akan didapatkan pada topik ini, adalah:
• Memahami apa itu fungsi rekursif dan implementasi fungsi rekursif untuk menyelesaikan
masalah

UNIT CONTENTS
Lesson 1: Fungsi Rekursif ...................................................................................... 48-
49
PRE LAB
Pre lab, berisi pertanyaan mendasar terkait teori materi yang sedang diajarkan.

QUESTION
1. Kapan sebaiknya kita menggunakan fungsi rekursif dalam pembuatan program komputer?
2. Apakah setiap fungsi rekursif wajib memiliki parameter?
3. Apa perbedaan fungsi iteratif dan fungsi rekursif?

CONTENT LESSON

CASE STUDY / PROJECT

Pada minggu ke-7 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:
Mike diminta kembali membuat program komputer untuk menghitung hasil perpangkatan a dan b
menggunakan fungsi Rekursif.
Misalkan jika a= 10 dan b= 3, maka Mike harus menampilkan hasil perpangkatan a dan b sebagai
berikut:
10 ^ 3 = 1000

Dalam penyelesaian persoalan tersebut, sebelum membuat program komputer Mike harus membuat
flowchartnya terlebih dahulu. Hal ini bertujuan agar, Mike tidak lupa cara membuat flowchart dan
kemudian terbiasa membuat program komputer berdasarkan flowchart.

IDENTIFICATION CONCE PT OF PROBLEM / PROJECT

Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:

1. Mike harus mengingat kembali materi flowchart.


2. Mike harus dapat memahami bagaimana penggunaan tipe data, variabel, operator, percabangan
pada python.
3. Mike harus memahami bagaimana logika untuk menghasilkan perpangkatan a dan b.
4. Mike harus memahami tipe data, variabel dan operator apa yang akan digunakan untuk
menghasilkan perpangkatan a dan b.
5. Mike harus memahami percabangan yang akan digunakan untuk menghasilkan deret perpangkatan
a dan b.
6. Mike harus memahami penggunaan fungsi rekursif untuk menghasilkan perpangkatan a dan b.

Setelah memahami keenam hal tersebut, maka Mike baru dapat menyelesaikannya dengan baik.
Untuk membantu Mike maka mari kita pelajari penjelasan tentang Fungsi Rekursif berikut ini.

LESSON 1: FUNGSI REKURSIF

LESSON 1: OVERVIEW

Fungsi Rekursif merupakan fungsi yang memanggil dirinya sendiri. Fungsi rekursif disusun
atas dua bagian, yaitu basis dan rekurens.Basis berisi nilai awal yang tidak mengacu pada dirinya
sendiri. Bagian ini berfungsi untuk memberikan nilai yang terdefinisi pada fungsi rekursif dan
sekaligus menghentikan proses rekursi. Rekurens merupakan bagian fungsi yang mendefinisikan
argumen fungsi dalam terminologi dirinya sendiri. Setiap kali fungsi tersebut melakukan bagian
rekurens maka argumen dari fungsi tersebut harus lebih dekat pada basisnya. Fungsi rekursif berisi
sejumlah pernyataan yang dikemas dalam sebuah nama. Dengan fungsi kita bisa memecah program
besar yang kita tulis menjadi bagian-bagian kecil dengan tugasnya masing-masing. Fungsi juga
berguna untuk membuat kode program kita menjadi lebih “reusable” dan lebih terstruktur.

Sintaks Fungsi Rekursif dalam Python

Sintaks di atas secara umum terbagi menjadi 4 bagian:


• Kata kunci def yang menjadi pertanda bahwa blok kode program adalah sebuah fungsi
• Nama fungsi yang kita buat
• Parameters yang akan diterima oleh fungsi yang kita buat (tidak wajib)
• Blok kode fungsi yang di sana akan kita tulis perintah-perintah yang harus dilakukan oleh sebuah
fungsi (base case dan rekurens case)
- Base Case
Bagian yang berisi nilai fungsi yang terdefinisi secara eksplisit.
Bagian ini juga sekaligus menghentikan rekursif (dan memberikan sebuah nilai yang
terdefinisi pada fungsi rekursif).

- Rekurens (Reduction Base)


Bagian ini mendefinisikan fungsi dalam terminologi dirinya sendiri.
Berisi kaidah untuk menemukan nilai fungsi pada suatu input dari nilai-nilai lainnya pada
input yang lebih kecil.

Memanggil Fungsi Rekursif


Bagaimana cara memanggil fungsi rekursif yang telah kita definisikan?
Sederhana. Cukup ketik nama fungsinya, ditambah dengan tanda kurung () seperti berikut:

Pada contoh di atas kita kembali memanggil fungsi kali untuk diproses pada program utama.
SOLUTION

Setelah memahami apa itu fungsi rekursif dan mengingat kembali seluruh materi yang sudah
dipelajari pada minggu 1, 2, 3, 4, 5, 6 dan minggu 7, maka Mike sudah dapat menyelesaikan persoalan
di atas dengan baik sebagai berikut.

INSTRUCTION
Pembuatan flowchart
1. Buka aplikasi Microsoft Visio
2. Drag and Drop simbol flowchart yang dibutuhkan untuk menyelesaikan persoalan yang diberikan
3. Hasil flowchart dapat dilihat pada Gambar 1.

Mulai Mulai

Masukkan Nilai parameter a


False
nilai a dan b = a, b = b

Pangkat(a,b)

b == 1?

Cetak hasil
pangkat a dan b
True

Selesai return nilai a

Selesai

Gambar 1. Flowchart Menghasilkan Perpangkatan a dan b

Pembuatan program komputer Gambar 1


1. Buka editor (IDLE) python
2. Deklarasi variabel a dan b
3. Gunakan fungsi rekursif untuk menghasilkan perpangkatan a dan b
4. Program komputer dapat dilihat pada Gambar 2
Gambar 2. Program Komputer Menghasilkan Perpangkatan a dan b

EXERCISE

EXERCISE OBJECTIVES
Pada latihan ini, mahasiswa diharapkan mampu untuk:
• Memahami permasalahan dan membuat flowchart sesuai masalah yang akan diselesaikan.
• Mengubah flowchart menjadi program komputer menggunakan Python dengan tipe data,
variabel, operator , percabangan, perulangan, fungsi dan fungsi rekursif yang tepat

TASK 1:
Bantulah Mike membuat flowchart dan program komputer menggunakan fungsi Rekursif untuk
menyelesaikan masalah berikut:

a. Menampilkan n deret rekursif dengan kententuan sebagai berikut


Xn = (Xn-1 + n) * (Xn-2 + n) untuk n > 2
Dimana nilai X1 = 1 dan X2 = 2
Masukan: sebuah bilangan bulat n
Keluaran: deret rekursif sebanyak n
Test Case
Masukan:
n=5

Keluaran:
1 2 20 144 3725

b. Menampilkan hasil deret ke-n menggunakan fungsi rekursif dengan kententuan sebagai berikut
Xn = Xn-1 + 2*Xn-2 untuk n >= 2
Dimana nilai X0 = 2 dan X1 = 7
Masukan: sebuah bilangan bulat n
Keluaran: bilangan deret ke n
Test Case
Masukan:
n=5

Keluaran:
11
c. Menghitung kombinasi m dan n dengan rumus berikut.
1; jika n = 0 atau m = n
mCn {
(m − 1)C(n − 1) + (m − 1)Cn jika tidak

Masukan: sebuah bilangan bulat m dan n


Keluaran: Hasil perhitungan kombinasi m dan n
Test Case
Masukan:
m=6
n=4

Keluaran:
Hasil Kombinasi m dan n adalah 15

Anda mungkin juga menyukai