SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
KOM1102 #9
Problem Solving
Pseudocode
Tim Pengajar Berpikir Komputasional
Departemen Ilmu Komputer - FMIPA
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Bahasan Pekan Lalu
● Ingat bahwa dalam Computational Thinking, solusi dari
suatu problem harus dapat dijalankan oleh agen
pemroses informasi. Sehingga langkah-langkah solusi
harus ditulis dan dapat dipahami oleh agen.
● Algoritme adalah instruksi atau langkah berstruktur untuk
menyelesaikan persoalan (problem).
● Cara penulisan algoritme:
○ Narrative : formal description, pseudocode
○ Flowchart
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Pseudocode
● Pseudocode adalah cara informal untuk menuliskan
algoritme atau rancangan program komputer
● Bertujuan untuk mendapatkan ide secara cepat dan juga
memudahkan membaca algoritme tanpa aturan
grammar yang ketat.
● Ada banyak cara menuliskan pseudocode, tidak ada
aturan yang baku. Namun untuk mengurangi ambiguity,
maka dibuat konvensi.
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Contoh: Euclidean Algorithm
● Input : Two positive integers, a and b..
● Output : The greatest common divisor, g, of a and b.
● Internal Computation:
1. If a < b, exchange a and b.
2. Divide a by b and get the remainder, r.
If r = 0, report b as the GCD of a and b.
3. Replace a by b and replace b by r. Return
to the previous step.
https://sites.math.rutgers.edu/~greenfie/gs2004/euclid.html
read(a, b)
if (a < b) swap(a, b)
while (true)
{
r = a % b
if (r == 0) exit
a = b
b = r
}
print(b)
pseudocode
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Elemen Pseudocode
VARIABEL
ASSIGNMENT
KETERANGAN
INSTRUKSI
STRUKTUR KENDALI
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[1] VARIABEL
● Variabel adalah elemen dari algoritme untuk menyimpan nilai tertentu
pada suatu saat, dan pada saat yang lain nilai ini dapat diubah menjadi
nilai lainnya sesuai kebutuhan.
● Variabel umumnya bersifat case-sensitive, yaitu membedakan huruf
besar dan kecil, dan juga merupakan suatu identifier yang dituliskan
dengan suatu nama yang unik, terdiri dari alphanumeric tetapi harus
dimulai dengan huruf.
● Contoh:
read(a, b)
a = b
B = r
Data data data123 d4t4 3data data 3 data_3 _data
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[2] INSTRUKSI
● Instruksi atau perintah adalah satuan operasional dari suatu
algoritme. Instruksi ini dinyatakan dalam kalimat sehari-hari yang
mudah dipahami dan konsisten.
● Contoh:
○ read(a, b) yaitu membaca atau memberikan nilai ke dalam
variabel a dan b
○ print(sum) yaitu menuliskan nilai variabel sum
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[3] ASSIGNMENT
● Assignment atau penugasan adalah pemberian nilai pada sebuah
variabel.
● Ekspresi adalah operasi yang akan menghasilkan nilai untuk
diberikan pada suatu variabel.
● Ekspresi dapat berupa aritmatika maupun logika.
● Contoh:
sum = 0
x = n
sum = sum + x
Tim Pengajar Berpikir Komputasional, ILKOM IPB
CONTOH
Algoritme menjumlahkan dua bilangan
● Input : Dua bilangan a dan b.
● Output : Jumlah bilangan a dan b, misalnya sum.
● Perhitungan:
1. Jumlahkan a dan b, simpan di sum
2. Tampilkan nilai sum
PSEUDOCODE:
read(a, b)
sum = a + b
print(sum)
NARATIF
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[4] STRUKTUR KENDALI
● Struktur kendali adalah suatu bentuk atau struktur yang memiliki
peranan khusus untuk mengatur atau mengendalikan urutan
pengerjaan satu atau lebih instruksi.
● Terdiri atas 3 kelompok besar, yaitu:
○ struktur kondisi (conditional) → IF
○ struktur perulangan (looping) → WHILE, FOR
○ struktur lainnya → EXIT, CONTINUE
Sequential
Setiap langkah diproses secara
berurutan (dari atas ke bawah)
Struktur Algoritme
Tim Pengajar Berpikir Komputasional, IPB
Conditional
Pemilihan langkah didasarkan oleh suatu
kondisi: benar (true) atau salah (false)
Loop (Pengulangan)
Suatu langkah dilakukan beberapa
kali berdasarkan suatu kondisi.
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[4.1] STRUKTUR KONDISI
1. Jika hari hujan, lakukan:
a. bawa payung
b. gunakan mobil
2. Selainnya, gunakan sepeda.
read(nilai)
if (nilai < 60)
{
print("tidak lulus")
print("wajib mengulang")
}
else print("lulus")
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[4.2] STRUKTUR PERULANGAN
c = 0
while(c < 3)
{
print("hello")
c = c + 1
}
for c = 0 to 3
{
print("hello")
}
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Implementasi Aneka Bahasa Pemrograman
C
for (c = 0, c < 3, c++)
{
printf("hello");
}
BASIC
FOR c = 0 TO 2
PRINT "hello"
NEXT
Python
for c in range(0, 3)
print("hello")
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[4.3] STRUKTUR LAINNYA
a = 10
while (a < 15)
{
a = a + 1
if (a <= 13) continue
print(a)
}
read(a, b)
if (a < b) swap(a, b)
while (true)
{
r = a % b
if (r == 0) exit
a = b
b = r
}
print(b)
Tim Pengajar Berpikir Komputasional, ILKOM IPB
[5] KETERANGAN
● Keterangan atau komentar yaitu
suatu catatan tambahan yang
dituliskan ke dalam algoritme
dengan tujuan untuk
memperjelas, tetapi tidak
mempengaruhi operasi apapun
di dalam algoritme.
● Kalimat komentar dapat
dituliskan di sebelah kanan tanda
garis miring dua kali (//), atau
diapit oleh tanda garis miring dan
tanda bintang (/ ∗ ... ∗ /).
/*
Algoritme mencetak teks Hello
Menggunakan struktur while
*/
c = 0 // inisialisasi
while(c < 3)
{
c = c + 1
print("hello")
}
Tim Pengajar Berpikir Komputasional, ILKOM IPB
PENGANTAR REKURSI
● Pernah belajar tentang segitiga
pascal ?
● Bagaimana pola aturannya ?
Tim Pengajar Berpikir Komputasional, ILKOM IPB
PENGANTAR REKURSI
● Sebuah objek dikatakan rekursif
(recursive) jika ia didefinisikan
dalam terminologi dirinya sendiri.
● Proses mendefinisikan objek
dalam terminologi dirinya sendiri
disebut rekursi (recursion).
Tim Pengajar Berpikir Komputasional, ILKOM IPB
PENGANTAR REKURSI
● Salah satu fenomena di alam
yang merupakan contoh rekursi
adalah fractal
START-UP MANPOWER
PROBLEM
Joni dan Desi adalah seorang lulusan IPB dan sedang merintis sebuah
start-up di bidang pertanian. Mereka menamai start-up mereka dengan
G6 Company. Joni bertindak sebagai CEO dan Desi bertindak sebagai
CTO. Di fase awal start-up G6, tahun ini mereka mempunyai 10
karyawan. Sudah ditentukan pula tahun berikutnya mereka akan
mempunyai 15 karyawan.
Sejak saat itu, mereka mempunyai kebijakan bahwa untuk setiap tahun
jumlah karyawannya adalah dua kali dari jumlah karyawan pada tahun
sebelumnya dikurangi dengan jumlah karyawan pada dua tahun
sebelumnya.
Joni sedang membuat perencanaan pengembangan perusahaan untuk
dipresentasikan di depan para investor. Investor menanyakan tentang
jumlah karyawan jika perusahaan tetap berdiri pada lima belas tahun
yang akan datang. Bantulah Joni dalam menjawab pertanyaan investor
agar start-up G6 Company bisa mendapatkan modal dari para investor.
Tim Pengajar Berpikir Komputasional, ILKOM IPB
FIBONACCI
● Deret Fibonacci adalah suatu
deret matematika yang berasal
dari penjumlahan dua bilangan
sebelumnya. 1, 1, 2, 3, 5, 8, 13, 21,
…
● Rumus Fibonacci :
f(n) = f(n – 1) + f(n – 2)
Contoh :
f(6) = f(6-1) + f(6-2)
8 = 5 + 3
Tim Pengajar Berpikir Komputasional, ILKOM IPB
FIBONACCI
● Fungsi rekursif didefinisikan oleh dua
bagian:
○ (i) Basis
● Bagian yang berisi nilai fungsi
yang terdefinisi secara eksplisit.
● Bagian ini juga sekaligus
menghentikan rekursif (dan
memberikan sebuah nilai yang
terdefinisi pada fungsi rekursif).
○ (ii) Rekurens
● 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.
Definisi bilangan fibonacci
fn = fn-1 + fn-2 untuk n > 2
f1 = 1
f2 = 1 basis
rekurens
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Diskusi #1
● Input : Banyaknya coklat, misalnya C.
● Output : Nomor bebek pertama yang tidak mendapat coklat, misalnya b.
● Perhitungan:
1. Hitung akar dari 2C, ambil bilangan bulatnya, simpan sebagai n
2. Hitung n(n + 1), simpan sebagai a
3. Jika (a ≤ 2C), maka b = (n + 1). Selainnya, b = n.
Tuliskan algoritme berikut dalam bentuk pseudocode
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Diskusi #2
read(a,b)
while (b!=0) // selama nilai b tidak sama dengan nol
{
r = a % b // % adalah notasi untuk modulo
a = b
b = r
}
print(a)
Tuliskan output dari algoritme berikut jika diberikan input data:
12 20
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Diskusi #3
a = 0
while (a < 5)
{
a = a + 1
print("hello")
}
Berapa kali teks “hello” dicetak oleh algoritme berikut?
a = 0
while (a < 1000)
{
a = a + 1
print("hello")
}
A B
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Diskusi #4
Buat algoritme untuk menentukan bilangan terbesar dari 3
bilangan.
Contoh input:
5 10 2
Contoh output:
10
Tim Pengajar Berpikir Komputasional, ILKOM IPB
Diskusi #5
Buat algoritme untuk menentukan faktorial dari suatu bilangan
bulat.
Contoh input:
5
Contoh output:
120

Mais conteúdo relacionado

Mais procurados

Presentasi business plan (popeye crispy)
Presentasi business plan (popeye crispy)Presentasi business plan (popeye crispy)
Presentasi business plan (popeye crispy)
Ria Vinola
 
Proposal studi kelayakan_bisnis_cafe
Proposal studi kelayakan_bisnis_cafeProposal studi kelayakan_bisnis_cafe
Proposal studi kelayakan_bisnis_cafe
20risman
 
Tugas pak frans salo
Tugas  pak frans saloTugas  pak frans salo
Tugas pak frans salo
marnitabanne
 
Contoh proposal pkm gagasan tertulis
Contoh proposal pkm gagasan tertulisContoh proposal pkm gagasan tertulis
Contoh proposal pkm gagasan tertulis
Zakiyul Mu'min
 
Erd perpustakaan
Erd perpustakaanErd perpustakaan
Erd perpustakaan
Nae Nay
 
Cost Leadership Air Asia
Cost Leadership Air AsiaCost Leadership Air Asia
Cost Leadership Air Asia
hayiyusuf
 
Perancangan dan pengembangan sistem
Perancangan dan pengembangan sistemPerancangan dan pengembangan sistem
Perancangan dan pengembangan sistem
brekebol
 

Mais procurados (20)

Analisis Produk
Analisis ProdukAnalisis Produk
Analisis Produk
 
Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...
Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...
Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...
 
PRODUK KREATIF DAN KEWIRAUSAHAAN Lembar kerja gambar kerja untuk pembuatan pr...
PRODUK KREATIF DAN KEWIRAUSAHAAN Lembar kerja gambar kerja untuk pembuatan pr...PRODUK KREATIF DAN KEWIRAUSAHAAN Lembar kerja gambar kerja untuk pembuatan pr...
PRODUK KREATIF DAN KEWIRAUSAHAAN Lembar kerja gambar kerja untuk pembuatan pr...
 
Presentasi business plan (popeye crispy)
Presentasi business plan (popeye crispy)Presentasi business plan (popeye crispy)
Presentasi business plan (popeye crispy)
 
Materi kuliah-matematika-ekonomi-tingkat-1-semester-1
Materi kuliah-matematika-ekonomi-tingkat-1-semester-1Materi kuliah-matematika-ekonomi-tingkat-1-semester-1
Materi kuliah-matematika-ekonomi-tingkat-1-semester-1
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
 
Makalah strategi bersaing
Makalah strategi bersaingMakalah strategi bersaing
Makalah strategi bersaing
 
Proposal studi kelayakan_bisnis_cafe
Proposal studi kelayakan_bisnis_cafeProposal studi kelayakan_bisnis_cafe
Proposal studi kelayakan_bisnis_cafe
 
Proposal Perencanaan Bisnis - Business Plan "SANGAPIT"
Proposal Perencanaan Bisnis - Business Plan "SANGAPIT"Proposal Perencanaan Bisnis - Business Plan "SANGAPIT"
Proposal Perencanaan Bisnis - Business Plan "SANGAPIT"
 
Contoh Soal Pengantar Ekonomi https://www.masterfair.xyz/
Contoh Soal Pengantar Ekonomi https://www.masterfair.xyz/Contoh Soal Pengantar Ekonomi https://www.masterfair.xyz/
Contoh Soal Pengantar Ekonomi https://www.masterfair.xyz/
 
2. rpp dasar desain grafis kd6
2. rpp dasar desain grafis kd62. rpp dasar desain grafis kd6
2. rpp dasar desain grafis kd6
 
P9 enkapsulasi
P9 enkapsulasiP9 enkapsulasi
P9 enkapsulasi
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
Presentasi Dasar dasar bisnis
Presentasi Dasar dasar bisnisPresentasi Dasar dasar bisnis
Presentasi Dasar dasar bisnis
 
Tugas pak frans salo
Tugas  pak frans saloTugas  pak frans salo
Tugas pak frans salo
 
Contoh proposal pkm gagasan tertulis
Contoh proposal pkm gagasan tertulisContoh proposal pkm gagasan tertulis
Contoh proposal pkm gagasan tertulis
 
analisis strategi PT blue bird indonesia
analisis strategi PT blue bird indonesiaanalisis strategi PT blue bird indonesia
analisis strategi PT blue bird indonesia
 
Erd perpustakaan
Erd perpustakaanErd perpustakaan
Erd perpustakaan
 
Cost Leadership Air Asia
Cost Leadership Air AsiaCost Leadership Air Asia
Cost Leadership Air Asia
 
Perancangan dan pengembangan sistem
Perancangan dan pengembangan sistemPerancangan dan pengembangan sistem
Perancangan dan pengembangan sistem
 

Semelhante a Computational Thinking: Pseudocode

Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
Dikicandra6
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
Billy Alhamra
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
dedisusanto41
 

Semelhante a Computational Thinking: Pseudocode (20)

Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptx
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 
Makalah perulangan
Makalah perulanganMakalah perulangan
Makalah perulangan
 
Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
 
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar KotlinMobile Application 2 Pertemuan 1 Pengantar Kotlin
Mobile Application 2 Pertemuan 1 Pengantar Kotlin
 
Tugas Pt
Tugas PtTugas Pt
Tugas Pt
 
Tugas Pt
Tugas PtTugas Pt
Tugas Pt
 
Tugas Pt
Tugas PtTugas Pt
Tugas Pt
 
Modul prak-algo
Modul prak-algoModul prak-algo
Modul prak-algo
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Modul latihan-c -
Modul latihan-c -Modul latihan-c -
Modul latihan-c -
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
 
Chapter 3 konsep dasar algoritma - cont
Chapter 3   konsep dasar algoritma - contChapter 3   konsep dasar algoritma - cont
Chapter 3 konsep dasar algoritma - cont
 

Computational Thinking: Pseudocode

  • 1. KOM1102 #9 Problem Solving Pseudocode Tim Pengajar Berpikir Komputasional Departemen Ilmu Komputer - FMIPA
  • 2. Tim Pengajar Berpikir Komputasional, ILKOM IPB Bahasan Pekan Lalu ● Ingat bahwa dalam Computational Thinking, solusi dari suatu problem harus dapat dijalankan oleh agen pemroses informasi. Sehingga langkah-langkah solusi harus ditulis dan dapat dipahami oleh agen. ● Algoritme adalah instruksi atau langkah berstruktur untuk menyelesaikan persoalan (problem). ● Cara penulisan algoritme: ○ Narrative : formal description, pseudocode ○ Flowchart
  • 3. Tim Pengajar Berpikir Komputasional, ILKOM IPB Pseudocode ● Pseudocode adalah cara informal untuk menuliskan algoritme atau rancangan program komputer ● Bertujuan untuk mendapatkan ide secara cepat dan juga memudahkan membaca algoritme tanpa aturan grammar yang ketat. ● Ada banyak cara menuliskan pseudocode, tidak ada aturan yang baku. Namun untuk mengurangi ambiguity, maka dibuat konvensi.
  • 4. Tim Pengajar Berpikir Komputasional, ILKOM IPB Contoh: Euclidean Algorithm ● Input : Two positive integers, a and b.. ● Output : The greatest common divisor, g, of a and b. ● Internal Computation: 1. If a < b, exchange a and b. 2. Divide a by b and get the remainder, r. If r = 0, report b as the GCD of a and b. 3. Replace a by b and replace b by r. Return to the previous step. https://sites.math.rutgers.edu/~greenfie/gs2004/euclid.html read(a, b) if (a < b) swap(a, b) while (true) { r = a % b if (r == 0) exit a = b b = r } print(b) pseudocode
  • 5. Tim Pengajar Berpikir Komputasional, ILKOM IPB Elemen Pseudocode VARIABEL ASSIGNMENT KETERANGAN INSTRUKSI STRUKTUR KENDALI
  • 6. Tim Pengajar Berpikir Komputasional, ILKOM IPB [1] VARIABEL ● Variabel adalah elemen dari algoritme untuk menyimpan nilai tertentu pada suatu saat, dan pada saat yang lain nilai ini dapat diubah menjadi nilai lainnya sesuai kebutuhan. ● Variabel umumnya bersifat case-sensitive, yaitu membedakan huruf besar dan kecil, dan juga merupakan suatu identifier yang dituliskan dengan suatu nama yang unik, terdiri dari alphanumeric tetapi harus dimulai dengan huruf. ● Contoh: read(a, b) a = b B = r Data data data123 d4t4 3data data 3 data_3 _data
  • 7. Tim Pengajar Berpikir Komputasional, ILKOM IPB [2] INSTRUKSI ● Instruksi atau perintah adalah satuan operasional dari suatu algoritme. Instruksi ini dinyatakan dalam kalimat sehari-hari yang mudah dipahami dan konsisten. ● Contoh: ○ read(a, b) yaitu membaca atau memberikan nilai ke dalam variabel a dan b ○ print(sum) yaitu menuliskan nilai variabel sum
  • 8. Tim Pengajar Berpikir Komputasional, ILKOM IPB [3] ASSIGNMENT ● Assignment atau penugasan adalah pemberian nilai pada sebuah variabel. ● Ekspresi adalah operasi yang akan menghasilkan nilai untuk diberikan pada suatu variabel. ● Ekspresi dapat berupa aritmatika maupun logika. ● Contoh: sum = 0 x = n sum = sum + x
  • 9. Tim Pengajar Berpikir Komputasional, ILKOM IPB CONTOH Algoritme menjumlahkan dua bilangan ● Input : Dua bilangan a dan b. ● Output : Jumlah bilangan a dan b, misalnya sum. ● Perhitungan: 1. Jumlahkan a dan b, simpan di sum 2. Tampilkan nilai sum PSEUDOCODE: read(a, b) sum = a + b print(sum) NARATIF
  • 10. Tim Pengajar Berpikir Komputasional, ILKOM IPB [4] STRUKTUR KENDALI ● Struktur kendali adalah suatu bentuk atau struktur yang memiliki peranan khusus untuk mengatur atau mengendalikan urutan pengerjaan satu atau lebih instruksi. ● Terdiri atas 3 kelompok besar, yaitu: ○ struktur kondisi (conditional) → IF ○ struktur perulangan (looping) → WHILE, FOR ○ struktur lainnya → EXIT, CONTINUE
  • 11. Sequential Setiap langkah diproses secara berurutan (dari atas ke bawah) Struktur Algoritme Tim Pengajar Berpikir Komputasional, IPB Conditional Pemilihan langkah didasarkan oleh suatu kondisi: benar (true) atau salah (false) Loop (Pengulangan) Suatu langkah dilakukan beberapa kali berdasarkan suatu kondisi.
  • 12. Tim Pengajar Berpikir Komputasional, ILKOM IPB [4.1] STRUKTUR KONDISI 1. Jika hari hujan, lakukan: a. bawa payung b. gunakan mobil 2. Selainnya, gunakan sepeda. read(nilai) if (nilai < 60) { print("tidak lulus") print("wajib mengulang") } else print("lulus")
  • 13. Tim Pengajar Berpikir Komputasional, ILKOM IPB [4.2] STRUKTUR PERULANGAN c = 0 while(c < 3) { print("hello") c = c + 1 } for c = 0 to 3 { print("hello") }
  • 14. Tim Pengajar Berpikir Komputasional, ILKOM IPB Implementasi Aneka Bahasa Pemrograman C for (c = 0, c < 3, c++) { printf("hello"); } BASIC FOR c = 0 TO 2 PRINT "hello" NEXT Python for c in range(0, 3) print("hello")
  • 15. Tim Pengajar Berpikir Komputasional, ILKOM IPB [4.3] STRUKTUR LAINNYA a = 10 while (a < 15) { a = a + 1 if (a <= 13) continue print(a) } read(a, b) if (a < b) swap(a, b) while (true) { r = a % b if (r == 0) exit a = b b = r } print(b)
  • 16. Tim Pengajar Berpikir Komputasional, ILKOM IPB [5] KETERANGAN ● Keterangan atau komentar yaitu suatu catatan tambahan yang dituliskan ke dalam algoritme dengan tujuan untuk memperjelas, tetapi tidak mempengaruhi operasi apapun di dalam algoritme. ● Kalimat komentar dapat dituliskan di sebelah kanan tanda garis miring dua kali (//), atau diapit oleh tanda garis miring dan tanda bintang (/ ∗ ... ∗ /). /* Algoritme mencetak teks Hello Menggunakan struktur while */ c = 0 // inisialisasi while(c < 3) { c = c + 1 print("hello") }
  • 17. Tim Pengajar Berpikir Komputasional, ILKOM IPB PENGANTAR REKURSI ● Pernah belajar tentang segitiga pascal ? ● Bagaimana pola aturannya ?
  • 18. Tim Pengajar Berpikir Komputasional, ILKOM IPB PENGANTAR REKURSI ● Sebuah objek dikatakan rekursif (recursive) jika ia didefinisikan dalam terminologi dirinya sendiri. ● Proses mendefinisikan objek dalam terminologi dirinya sendiri disebut rekursi (recursion).
  • 19. Tim Pengajar Berpikir Komputasional, ILKOM IPB PENGANTAR REKURSI ● Salah satu fenomena di alam yang merupakan contoh rekursi adalah fractal
  • 20. START-UP MANPOWER PROBLEM Joni dan Desi adalah seorang lulusan IPB dan sedang merintis sebuah start-up di bidang pertanian. Mereka menamai start-up mereka dengan G6 Company. Joni bertindak sebagai CEO dan Desi bertindak sebagai CTO. Di fase awal start-up G6, tahun ini mereka mempunyai 10 karyawan. Sudah ditentukan pula tahun berikutnya mereka akan mempunyai 15 karyawan. Sejak saat itu, mereka mempunyai kebijakan bahwa untuk setiap tahun jumlah karyawannya adalah dua kali dari jumlah karyawan pada tahun sebelumnya dikurangi dengan jumlah karyawan pada dua tahun sebelumnya. Joni sedang membuat perencanaan pengembangan perusahaan untuk dipresentasikan di depan para investor. Investor menanyakan tentang jumlah karyawan jika perusahaan tetap berdiri pada lima belas tahun yang akan datang. Bantulah Joni dalam menjawab pertanyaan investor agar start-up G6 Company bisa mendapatkan modal dari para investor.
  • 21. Tim Pengajar Berpikir Komputasional, ILKOM IPB FIBONACCI ● Deret Fibonacci adalah suatu deret matematika yang berasal dari penjumlahan dua bilangan sebelumnya. 1, 1, 2, 3, 5, 8, 13, 21, … ● Rumus Fibonacci : f(n) = f(n – 1) + f(n – 2) Contoh : f(6) = f(6-1) + f(6-2) 8 = 5 + 3
  • 22. Tim Pengajar Berpikir Komputasional, ILKOM IPB FIBONACCI ● Fungsi rekursif didefinisikan oleh dua bagian: ○ (i) Basis ● Bagian yang berisi nilai fungsi yang terdefinisi secara eksplisit. ● Bagian ini juga sekaligus menghentikan rekursif (dan memberikan sebuah nilai yang terdefinisi pada fungsi rekursif). ○ (ii) Rekurens ● 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. Definisi bilangan fibonacci fn = fn-1 + fn-2 untuk n > 2 f1 = 1 f2 = 1 basis rekurens
  • 23. Tim Pengajar Berpikir Komputasional, ILKOM IPB Diskusi #1 ● Input : Banyaknya coklat, misalnya C. ● Output : Nomor bebek pertama yang tidak mendapat coklat, misalnya b. ● Perhitungan: 1. Hitung akar dari 2C, ambil bilangan bulatnya, simpan sebagai n 2. Hitung n(n + 1), simpan sebagai a 3. Jika (a ≤ 2C), maka b = (n + 1). Selainnya, b = n. Tuliskan algoritme berikut dalam bentuk pseudocode
  • 24. Tim Pengajar Berpikir Komputasional, ILKOM IPB Diskusi #2 read(a,b) while (b!=0) // selama nilai b tidak sama dengan nol { r = a % b // % adalah notasi untuk modulo a = b b = r } print(a) Tuliskan output dari algoritme berikut jika diberikan input data: 12 20
  • 25. Tim Pengajar Berpikir Komputasional, ILKOM IPB Diskusi #3 a = 0 while (a < 5) { a = a + 1 print("hello") } Berapa kali teks “hello” dicetak oleh algoritme berikut? a = 0 while (a < 1000) { a = a + 1 print("hello") } A B
  • 26. Tim Pengajar Berpikir Komputasional, ILKOM IPB Diskusi #4 Buat algoritme untuk menentukan bilangan terbesar dari 3 bilangan. Contoh input: 5 10 2 Contoh output: 10
  • 27. Tim Pengajar Berpikir Komputasional, ILKOM IPB Diskusi #5 Buat algoritme untuk menentukan faktorial dari suatu bilangan bulat. Contoh input: 5 Contoh output: 120