Anda di halaman 1dari 14

LAPORAN AKHIR AP III PENGULANGAN

SUNNY INEZA PUTRI 140310110017

I.

TUGAS PRAKTIKUM 1. Buatlah program C untuk menampilkan deret Fibbonaci dengan sintaks for Listing:
/* Program menghitung deret Fibbonaci */ /* Program 3.2 */ #include <stdio.h> #include <conio.h> main() { int a, n, bl1, bl2, bl3; printf("Masukkan jumlah bilangan yang ingin ditampilkan : "); scanf("%d",&n); printf("Masukkan bilangan pertama : "); scanf("%d",&bl1); printf("Masukkan bilangan kedua : "); scanf("%d",&bl2); printf("Output : %d,%d," ,bl1,bl2); for(a=1; a<=n-2; a++) { bl3 = bl1 + bl2; printf("%d,",bl3); bl1 = bl2; bl2 = bl3; } getch(); }

Tampilan:

Analisa: Dalam pengulangan for dimasukkan kondisi awal a=1, dan kondisi akhir a<=n-2. Kondisi akhir banyaknya a lebih sedikit 2 daripada n karena kita telah memasukkan 2 bilangan di awal sebagai variabel. Dan prosesnya adalah penambahan dari dua bilangan yang sebelumnya. 2. Buatlah program C untuk menampilkan deret Fibbonaci dengan sintaks while Listing:
/* Program menghitung fibbonaci dengan while */ /* Program 3.4 */ #include <stdio.h> #include <conio.h> main() { int a, n, bl1, bl2, bl3; printf("Masukkan jumlah bilangan yang ingin ditampilkan : "); scanf("%d",&n); printf("Masukkan bilangan pertama : "); scanf("%d",&bl1); printf("Masukkan bilangan kedua : "); scanf("%d",&bl2); printf("Output : %d,%d," ,bl1,bl2); a=1; while(a<=n-2) { bl3 = bl1 + bl2; printf("%d,",bl3); bl1 = bl2; bl2 = bl3; a++;

} getch(); }

Tampilan:

Analisa: Tidak berbeda dengan pengulangan dengan for. Hanya saja a=1 dan a<=n-2 diletakkan sebelum blok pengulangan. Sedangkan penaikan diletakkan di dalam proses while. Kondisi awal dan kondisi akhir tertulis terpisah. Sebenarnya lebih efisien jika menggunakan for karena setiap kondisi dituliskan dalam satu baris. 3. Buatlah program C untuk menampilkan deret Fibbonaci dengan sintaks dowhile Listing:
/* Program menghitung fibbonaci dengan do-while */ /* Program 3.4 */ #include <stdio.h> #include <conio.h> main() { int a, N, bil1, bil2, bil3;

printf("Masukkan jumlah bilangan yang ingin ditampilkan : "); scanf("%d",&N); printf("Masukkan bilangan pertama : "); scanf("%d",&bil1); printf("Masukkan bilangan kedua : "); scanf("%d",&bil2); printf("Output : %d,%d,",bil1,bil2); a=1;

do { bil3 = bil1 + bil2; printf("%d,",bil3); bil1 = bil2; bil2 = bil3; a++; } while(a<=N-2);

getch(); }

Tampilan:

Analisa: Pertama kita masukkan terlebih dahulu a=1 sebelum blok do. Di dalam blok do program melakukan proses untuk menampilkan bilangan Fibbonaci disertai dengan penaikan. Setelah dilakukan proses sekali, baru dilakukan pengecekan apakah a<=n2. Jika bernilai benar akan melakukan pengulangan. Jika bernilai salah maka akan keluar dari pengulangan atau tidak mengalami pengulangan. 4. Buatlah program C untuk menghitung faktorial dengan sintaks for Listing:
/* Program menghitung faktorial */ /* Program 3.3 */ #include <stdio.h> #include <conio.h> main() { int a, n, faktorial;

printf("Masukkan angka yang ingin di faktorialkan : "); scanf("%d",&n); faktorial = 1; for (a=1; a<=n; a++) { faktorial *= a; } printf("Nilai faktorial = %d\n",faktorial); getch(); }

Tampilan:

Analisa: Kita memasukkan kondisi awal factorial=1 karena jika factorial 0 akan tetap bernilai 1. Untuk dilakukan berapa kali perkalian aga r didapat faktorialnya kita tetukan kondisi akhir yaitu a<=n. Kemudian dalam blok pengulangan for dituliskan factorial *= a. itu merupakan pemendekan dari factorial = factorial * a. Maka akan didapat factorial dari suatu nilai. 5. Buatlah program C untuk menghitung faktorial dengan sintaks while Listing:
/* Program menghitung faktorial dengan while */ /* Program 3.4 */ #include <stdio.h> #include <conio.h> main() { int a, n, faktorial; printf("Masukkan angka yang ingin difaktorialkan : "); scanf("%d",&n); faktorial = 1; a = 1;

while (a<=n) { faktorial = faktorial*a; a++; } printf("Nilai faktorial : %d",faktorial); printf("\n"); getch(); }

Tampilan:

Analisa: Tidak berbeda dengan pengulangan dengan for. Hanya saja a=1 dan a<=n diletakkan sebelum blok pengulangan. Sedangkan penaikan diletakkan di dalam proses while. Kondisi awal dan kondisi akhir tertulis terpisah. 6. Buatlah program C untuk menghitung faktorial dengan sintaks dowhile Listing:
/* Program menghitung faktorial dengan do-while */ /* Program 3.4 */ #include <stdio.h> #include <conio.h> main() { int a, n, faktorial; printf("Masukkan angka yang ingin difaktorialkan scanf("%d",&n); faktorial = 1; a = 1; do : ");

{ faktorial = faktorial*a; a++; } while(a<=n); printf("Nilai faktorial : %d",faktorial); printf("\n"); getch(); }

Tampilan:

Analisa: Pengulangan dengan do while ini kita menentukan di awal faktorial=1 karena awalnya akan dilakukan pengeksekusian terhadap statement di dalam do baru dilakukan pengkondisian apakah bernilai benar atau salah. Jika benar akan dilakukan pengulangan, jika salah akan langsung keluar dari pengulangan. 7. Buatlah program yang bertujuan untuk mengkonversi nilai mutu ke huruf mutu dengan menggunakan sintaks switchcasebreak Listing:
/* Program mengkonversi huruf mutu ke nilai mutu */ /* Program 3.5 */ #include <stdio.h> #include <conio.h> main() { char huruf; printf("\nMasukkan huruf mutu = "); scanf("%c",&huruf);

switch (huruf) { case 'A': printf("Nilai mutu = 4"); break; case 'B': printf("Nilai mutu = 3"); break; case 'C': printf("Nilai mutu = 2"); break; case 'D': printf("Nilai mutu = 1"); break; case 'E': printf("Nilai mutu = 0"); break; default: printf("Anda memasukkan nilai yang salah"); } getch(); }

Tampilan:

Analisa: Switch ini sebenarnya masuk ke dalam pemilihan. Kita memasukan suatu nilai yang konstan untuk menjadi opsi. Kemudian opsi tersebut akan menjalakan perintah sesuai dengan apa yang telah ditentukan dalam opsi tersebut prosesnya adalah kita memasukkan suatu nilai konstan, kemudian akan dilakukan pengecekan terhadap opsi pertama. Jika opsi pertama memenuhi akan langsung dieksekusi dan tidak akan mengalami pengulangan karena ada "break". Jika opsi pertama akan dilakukan

pengecekan terhadap opsi selanjutnya sampai ditemukan yang sesuai dengan nilai yang dimasukkan. II. TUGAS AKHIR 1. Buatlah program C yang bertujuan untuk menghitung IP mahasiswa Listing:
#include <stdio.h> #include <conio.h> main() { int jummatakul,i,SKS,am,nilai; float IP ; float total=0; float SKSt = 0 ; char hm; printf("Masukkan jumlah mata kuliah : "); scanf("%d", &jummatakul); printf("\n"); for(i=1; i<=jummatakul; i++) { printf("Huruf Mutu mata kuliah Ke%d : ", i); scanf("%s", &hm); printf("Beban SKS Mata kuliah Ke%d : ", i); scanf("%d", &SKS); printf("\n"); switch (hm) { { case'A': case am=4; break; } { case'B': case am=3; break; } { case'C': case am=2; break; } { case'D': case am=1; break; } { case'E': case am=0;

'a':

'b':

'c':

'd':

'e':

break; } default: {printf("Anda salah memasukkan huruf mutu. \n");} printf("\n"); } nilai=am*SKS ; total+=nilai; SKSt+=SKS; } IP= total/SKSt; if((0<=IP)&&(IP<=4)) printf("IP anda adalah: %4.2f",IP); getch(); return 0; }

Tampilan:

Analisa: Pertama kita memasukkan jumlah mata kuliah di semester ini. Kemudian masukkan huruf mutu dan beban sks dari mata kuliah pertama dan mata kuliah selanjutnya. Disini kita melakukan pengulangan untuk menginput huruf mutu dan beban sks sebanyak dengan mata kuliah yang diinput. Setelah selesai menginput data akan dilakukan perhitungan dengan mengkonversi huruf mutu tersebut ke nilai mutu terlebih dahulu. Mengkonversinya dengan menggunalan switchcasebreak

Karena huruf mutu yang kita masukkan benilai konstan. Setelah dikonversi kita menghitung nilai per mata kuliah dengan cara mengalikan nilai mutu dengan beban sksnya. Dan nilai tersebut dijumlah dengan nilai dari semua mata kuliah dan dibagi jumlah sks yang diambil. Maka, akan ditampilkan IP pada semester ini. 2. Buatlah program yang menghasilkan gambar tertentu Listing: Gambar 1
#include<stdio.h> #include<conio.h> main() { int j,k; printf("\n"); for (j=1;j<=10;j++) { k=1; while(k<=j) { printf(" *",j*k); k++; } printf("\n"); } getch(); }

Gambar 2
#include<stdio.h> #include<conio.h> main() { int j,k; printf("\n"); j=1; while(j<=7) { for(k=1;k<=j;k++) { printf(" *",j*k);

} printf("\n"); j=j+2; } j=9; while(j>=1) { for(k=1;k<=j;k++) { printf(" *",j*k); } printf("\n"); j=j-2; } getch(); }

Gambar 3
#include<stdio.h> #include<conio.h> main() { int j,k; printf("\n"); j=5; while(j>=1) { for(k=1;k<=j;k++) { printf(" *",j*k); } printf("\n"); j--; } j=1; while(j<=5) { for(k=1;k<=j;k++) { printf(" *",j*k);

} printf("\n"); j++; }

getch(); }

Tampilan: Gambar 1

Gambar 2

Gambar 3

Analisa: Untuk membuat suatu bentuk bidang datar dengan symbol * dapat dilakukan dengan pengulangan. Pengulangan yang dilakukan adalah for bersarang atau while bersarang agar lebih efisien jika dibandingkan kita harus menuliskan perulangan for yang banyak. Yang perlu diperhatikan dalam membuat program ini adalah batas akhir yag harus diperhitungkan agar mendapat outut sesuai kehendak. III. ANALISA UMUM Dalam pembuatan program terkadang kita harus melakukan pengulangan suatu aksi, misalnya untuk melakukan perhitungan berulang dengan menggunakan formula yang sama. Maka, kita membutuhkan suatu sistem pengulangan, adapun strukturnya yaiutu for, while, dan dowhile. Di dalam struktur itupun kita dapat melakukan pengulangan dalam pengulangan yang disebut dengan pengulangan bersarang. Struktur tersebut digunakan sesuai kebutuhan dalam membuat program. IV. KESIMPULAN Dalam praktikum kali ini kita dapat menggunakan struktur pengulangan seperti for, while, dan dowhile dengan baik secara normal ataupun bersarang. Struktur tersebut digunakan sesuai dengan kebutuhan program yang akan dibuat. Dan ada yang dapat digunakan dengan ketiga macam struktur pengulangan tersebut. Tetapi, dari ketiga struktur tersebut struktur dowhile merupakan yang paling efisien. Dalam modul sebelumnya kita sudah mengtahui tentang struktur penyeleksian dengan switchcase..break. Struktur tersebut muncul kembali dalam pengulangan karena struktur tersebut akan melakukan pengulangan terus-menerus ketika telah memilih case yang sesuai. Oleh karena itu, digunakanlah break untuk menghentikan pengulangan tersebut.