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