1 / 13

Pertemuan 16 Deret bilangan

Pertemuan 16 Deret bilangan. Matakuliah : T0016/Algoritma dan Pemrograman Tahun : 2005 Versi : versi 2. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Menjelaskan solusi deret bilangan menggunakan algoritma Menjelaskan algoritma Permutasi dan kombinasi.

buffy
Download Presentation

Pertemuan 16 Deret bilangan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 16Deret bilangan Matakuliah : T0016/Algoritma dan Pemrograman Tahun : 2005 Versi : versi 2

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Menjelaskan solusi deret bilangan menggunakan algoritma • Menjelaskan algoritma Permutasi dan kombinasi

  3. Outline Materi • Deret bilangan • Implementasi menggunakan bahasa C

  4. Deret Bilangan • Yang disebut dengan deret bilangan adalah sejumlah bilangan yang berurutan (sequence), bisa terbatas atau tidak terbatas jumlahnya, yang mengikuti suatu kaidah tertentu. Deret tersebut umumnya disusun secara menaik nilainya (ascending). Contoh : Deret bilangan ganjil: 1, 3, 5, 7, 9, … ganjil n+1 = ganjil n + 2

  5. Deret bilangan • Deret bilangan ganjil antara dua bilangan tertentu void deretbilganjil(long mulai, long sampai) { if (mulai > sampai) tukar (&mulai, &sampai); if (mulai%2== 0) mulai++; // cari ganjil pertama for (;mulai<= sampai; mulai+=2) printf("%ld ", mulai); }

  6. Deret bilangan genap • Deret bilangan genap: 2, 4, 6, 8, 10, … genap n+1= genap n + 2 //Deret bilangan genap antara dua bilangan tertentu void deretbilgenap(long mulai, long sampai) { if (mulai > sampai) tukar (&mulai, &sampai); if (mulai%2== 1) mulai++; // cari genap pertama for (;mulai<= sampai; mulai+=2) printf("%ld ", mulai); }

  7. Deret prima • Deret bilangan prima: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, … Apakah p adalah prima? Bagi p dengan 2, 3, 5, … sampai dengan √p //Deret bilangan prima int isprime(unsigned long n) { int batas, pembagi, prima; if (n==2) return 1; if ((n%2)==0 || n<2) return 0; batas = ceil(sqrt(n)+0.5); pembagi = 3; prima = 1; while ((pembagi<batas) && prima) { if ((n%pembagi)==0) return 0; else pembagi+=2; } return 1; }

  8. Deret Prima void deretprima(int n) { int i; long bil; if (n> 0) { printf("2 "); i= 1; bil= 3; while (i< n) { if (isprime(bil)) { printf("%ld ", bil); i++; } bil+=2; } } }

  9. Deret Fibonacci • Deret bilangan fibonacci: 1,1, 2, 3, 5, 8, 13, 21, 34, ,,, f1= 1; f2= 1; fn= fn-1 + fn-2 //Deret bilangan fibonacci void deretfibonacci(int n) { int i, fn, fn1, fn2; for (i= 1; i<= n; i++) { if (i==1) { printf("1 "); fn1= 1; } else if(i==2) { printf("1 "); fn2= 1; } else { fn= fn1 + fn2; printf("%d ", fn); fn1= fn2; fn2= fn; } } }

  10. Deret Oblong • Deret Oblong: 2, 6, 12, 20, 30, 42 , … //Deret Oblong void deretoblong(int n) { for (int i= 1; i<= n; i++) printf("%d ", i * (i+1)); }

  11. Permutasi n ! P (n, r ) = ---------------- (n – r ) ! //Permutasi bilangaan unsigned long faktor(int n) { unsigned long hasil= 1; for(int i= 1; i<= n; i++) hasil *=i; return hasil; } unsigned long permutasi(int n, int r) { return faktor(n) / faktor (n-r); }

  12. Kombinasi n ! K (n, r ) = ---------------- (n – r ) ! r ! //Daftar kombinasi unsigned long kombinasi(int n, int r) { return faktor (n) / (faktor(r) * faktor(n-r)); } void daftarkombinasi(int n, int r) { int i, j, s[100]; int komb, m, maxval; komb = kombinasi (n, r); for (i=1; i<=r; i++) { s[i]= i; printf("%c", s[i]+64); } printf("\n"); for(i=2 ; i<=komb; i++) { m = r; maxval= n; while (s[m]==maxval) { m--; maxval--; } s[m]++; for(j=m+1; j<=r; j++) s[j]= s[j-1]+1; for(j=1;j<=r;j++) printf("%c",s[j]+64); printf("\n"); } }

  13. Penutup • Problem Deret dan bilangan dapat diselesaikan dengan cepat, jika menggunakan algoritma yang tepat

More Related