Pemrograman Komputer
IF2101
By:
Participant Handbook
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
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
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:
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.
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: 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 :
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.
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.
• 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
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
Pada minggu ke-2 perkuliahan pemrograman komputer, Mike kembali diberikan sebuah permasalahan
dimana:
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.
Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:
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: 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.
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.
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)
Cetak BMI
Selesai
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
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.
Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:
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.
Mulai
Input
Angka
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
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.
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.
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.
Apabilai kondisi1, kondisi2, sampai kondisi6 bernilai False, maka statement7 nilaiHuruf=’E’ akan
dieksekusi oleh program
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.
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)
False
Cetak
Kurus BMI >= 18,5 dan
BMI <=22,9
True
False
Cetak
Normal
BMI >= 23 dan
True
BMI <=24,9
Cetak False
Gendut
Selesai
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
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.
Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:
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: 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.
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.
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.
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
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
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.
Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:
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: 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.
n=4
1
12
123
1234
123
12
1
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
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.
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
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.
Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:
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.
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
i>0 i -= 1
Selesai
True
fak = fak * i
Cetak i dan
False i>1 True
tanda *
Cetak i, tanda
False
=, dan fak
Selesai
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
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
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.
Setelah membaca kembali persoalan yang diberikan di atas, maka ada beberapa hal yang harus
dipahami kembali oleh Mike:
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: 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.
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
Pangkat(a,b)
b == 1?
Cetak hasil
pangkat a dan b
True
Selesai
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:
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
Keluaran:
Hasil Kombinasi m dan n adalah 15