algoTI6 [Compatibility Mode]

advertisement
Algoritma &
Pemrograman #6
by antonius rachmat c, s.kom, m.cs
Pembahasan Soal
Buatlah program menghitung faktorial!
Buatlah program menghitung rata-rata, total,
min, dan max dari n buah data yang diinputkan
user!
Buatlah program untuk menampilkan bilangan fibonacci
pada deret ke-n!
Bilangan fibonacci adalah bilangan seperti: 1 1 2 3 5 8
13 ... dst
Jadi jika inputan n = 7, maka hasil adalah 13!
Buatlah program pembalik kata/kalimat!
Buatlah program pengecek suatu bilangan
adalah prima atau bukan!
Pembahasan Soal
Buatlah program penampil bilangan
prima dari 1 – 100!
Buat program permutasi nPr dan nCr
P = n! / (n-r)!
C = n! / (n-r)r!
Tambahan: BREAK
Digunakan untuk menghentikan suatu
proses perulangan yang sedang terjadi.
Biasanya dikarenakan oleh suatu kondisi
Break juga digunakan pada switch
Contoh:
#include <stdio.h>
#include <conio.h>
int main(){
for(int i=1;i<1000;i++){
printf("%d\n",i);
if(i==10) break;
}
getch();
}
Hasil dan Flowchart
Penjelasan
Program diatas akan menampilkan angka
1 sampai dengan 10 saja walaupun pada
perulangan sudah di set dari 1 sampai
dengan 1000.
Hal ini karena perintah break yang
diberikan pada saat kondisi i=10.
Angka 10 masih ditampilkan karena
perintah untuk mencetak diletakkan
sebelum perintah break.
Contoh Lain
#include <stdio.h>
#include <conio.h>
int main(){
for(int i=1;i<1000;i++){
if(i==10) break;
printf("%d\n",i);
}
}
Hasil dan Flowchart
Penjelasan
Program diatas akan menampilkan angka
1 sampai dengan 9 saja walaupun pada
perulangan sudah di set dari 1 sampai
dengan 1000.
Hal ini karena perintah break yang
diberikan pada saat kondisi i=10.
Angka 10 tidak ditampilkan karena
perintah untuk mencetak diletakkan
sesudah perintah break.
Continue
Menyebabkan proses perulangan kembali ke
perintah perulangan, dengan mengabaikan
statemen-statemen berikutnya setelah continue.
Contoh:
#include <stdio.h>
#include <conio.h>
int main(){
for(int i=1;i<10;i++){
if(i==5) continue;
printf("%d\n",i);
}
getch();
}
Hasil dan Flowchart
Penjelasan
Program tidak menampilkan angka 5,
karena pada saat angka 5 akan
ditampilkan, perintah continue
dijalankan, sehingga perintah mencetak
dibagian bawahnya tidak akan dikerjakan
dan langsung melanjutkan ke perulangan
berikutnya!
Contoh
#include <stdio.h>
#include <conio.h>
int main(){
for(int i=1;i<10;i++){
printf("%d\n",i);
if(i==5) continue;
}
getch();
}
Hasil dan Flowchart
Program akan tetap menampilkan angka 5, karena angka 5 ditampilkan
terlebih dahulu sebelum perintah continue dijalankan!
Nested Loop
Nested Loop
Contoh
#include <stdio.h>
#include <conio.h>
int main(){
int i,j;
for(i=1;i<=10;i++){
for(j=1;j<=5;j++){
printf("i = %d, j = %d\t",i,j);
}
}
}
Flowchart
Hasil
Segitiga Bintang
Buatlah program yang dapat menampilkan
segitiga berikut ini yang memiliki tinggi n
(0 < n < 100) yang dimasukkan oleh
pengguna
Contoh:
Masukkan n: 4
*
**
***
****
Masukkan n: 6
*
**
***
****
*****
******
Segitiga Bintang
n=6
6 baris
*
**
***
****
*****
*****
*
1
2
3
4
5
6
Nested loop
Segitiga Bintang (2)
n=6
6 baris
6
******
5
*****
4
****
3
***
2
**
1
*
Segitiga Bintang (3)
n=6
6 baris
******
******
******
******
******
******
5
4
3
2
1
0
+
+
+
+
+
+
1
2
3
4
5
6
Segitiga Bintang (3)
n=6
6 baris
******
*******
********
*********
**********
***********
5
4
3
2
1
0
+
+
+
+
+
+
1+5
3+4
5+3
7+2
9+1
11 + 0
Yuan Lukito, S.Kom., M.Cs |
http://lecturer.ukdw.ac.id/yuan
Kasus IF
Apabila nilai awal variabel i pada flowchart A, B, C, dan D
adalah 0, hitung berapa proses yang dijalankan pada
masing-masing flowchart bila kondisi untuk semua
decision adalah i>= N!
Supaya proses pada flowchart A, B, C dan D semuanya
dijalankan sebanyak N kali, tulislah kondisi untuk
masing-masing flowchart!
Latihan Soal
Latihan Soal
Triplet Pythagoras
Suatu bilangan yang memenuhi a2 + b2 =
c2 disebut triplet pythagoras.
Temukan semua bilangan yang memenuhi
syarat diatas dari 1 s/d n!
Contoh:
3,4,5 => 9 + 16 = 25
5,12,13 => 25 + 144 = 169
6,8,10 => 36 + 64 = 100 dst…
Latihan Soal
Buatlah tampilan:
int main(){
1
int i,j,k=1;
23
for(i=1;i<=5;i++){
for(j=1;j<=i;j++){
printf("%d ",k++);
456
}
7 8 9 10
printf("\n");
}
11 12 13 14 15 }
NEXT
NEXT : TTS
Open books tercetak!
Soal Pil Ganda dan Essay
Hati-hati, teliti!
After TTS: Pemrograman Modular
Download