Pengulangan

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(); }

description

Praktikum Algoritma dan Pemrograman Jurusan Fisika FMIPA Unpad

Transcript of Pengulangan

Page 1: Pengulangan

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();

}

Page 2: Pengulangan

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++;

Page 3: Pengulangan

}

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 do…while…

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;

Page 4: Pengulangan

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<=n-

2. 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;

Page 5: Pengulangan

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;

Page 6: Pengulangan

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 do…while…

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

Page 7: Pengulangan

{

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 switch…case…break…

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);

Page 8: Pengulangan

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

Page 9: Pengulangan

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 'a':

am=4;

break; }

{ case'B': case 'b':

am=3;

break; }

{ case'C': case 'c':

am=2;

break; }

{ case'D': case 'd':

am=1;

break; }

{ case'E': case 'e':

am=0;

Page 10: Pengulangan

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 switch…case…break…

Page 11: Pengulangan

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);

Page 12: Pengulangan

}

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);

Page 13: Pengulangan

}

printf("\n");

j++;

}

getch();

}

Tampilan:

Gambar 1

Gambar 2

Gambar 3

Page 14: Pengulangan

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 do…while…. 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 do…while… 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 do…while… merupakan yang paling efisien.

Dalam modul sebelumnya kita sudah mengtahui tentang struktur penyeleksian

dengan switch…case..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.