DERET FIBONACCI & DERET PRIMA C++

13
LAPORAN AKHIR NAMA : YUSIKA RONA QORIYANA KELAS : 2 KA 15 NPM : 12108126 TANGGAL : 1 APRIL 2010 MATERI : KONDISI DAN PERULANGAN KETUA : TISKA ASS. BARIS : FAUZIAH BARIS : 5 PARAF

Transcript of DERET FIBONACCI & DERET PRIMA C++

Page 1: DERET FIBONACCI & DERET PRIMA C++

LAPORAN AKHIR

NAMA : YUSIKA RONA QORIYANA

KELAS : 2 KA 15

NPM : 12108126

TANGGAL : 1 APRIL 2010

MATERI : KONDISI DAN PERULANGAN

KETUA : TISKA

ASS. BARIS : FAUZIAH

BARIS : 5

PARAF

( )

LABORATORIUM SISTEM INFORMASIUNIVERSITAS GUNADARMA

1. DERET BILANGAN PRIMA

SCRIPT PROGRAM

Page 2: DERET FIBONACCI & DERET PRIMA C++

OUTPUT :

LOGIKA PROGRAM :

Dalam pembuatan program deret bilangan prima ini menggunakan statemen

perulangan ”FOR” dan ”WHILE”. Statement FOR digunakan untuk menyatakan

perulangan yang dapat digunakan untuk mengulang suatu proses yang telah diketahui

jumlah perulangannya. Dari segi penulisannya, struktur perulangan for nampaknya lebih

efisien karena susunannya lebih simpel dan sederhana.. Sedangkan ’While’ banyak

digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah

perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama

kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah.

Pada bagian awal program terdapat pengarah kompiler berupa ”#include”.

Pengarah kompiler ini Berfungsi membaca file program tertentu dan mengikutsertakan

file tersebut dalam proses kompilasi. Nama file yang dimaksud harus diapit symbol ‘ < ‘

dan ‘ > ‘ atau tanda kutip dua ( “ … “ ). Dalam program tersebut terdapat

“#include<conio.h>” dan “#include<iostream.h>”. ‘conio.h’ menunjukan pengarah

kompiler dalam hal pengaturan konfigurasi input output. Sedangkan ‘iostream.h’

merupakan file program yang mengandung deklarasi kelas-kelas yang diperlukan oleh

2

Page 3: DERET FIBONACCI & DERET PRIMA C++

objek cout. File-file dengan ekstensi “.h” yang berisi deklarasi fungsi-fungsi standar C

ini, disebut secara umum sebagai file header. ”Main() merupakan contoh fungsi, fungsi

ini perlu dideklarasikan agar compiler dapat memeriksa ketepatan pemanggilan fungsi

yang bersangkutan. Deklarasi fungsi sering disebut pula prototype fungsi. Pada awalanya

program meminta inputan bilangan sebagai batasan bilangan yang akan dicetak atau

sebagai banyaknya deret yang dihasilkan. Jika kita menginputkan ’4’ maka akan tampil 4

buah angka pertama prima dimulai dari yang paling kecil yakni ”2 3 5 7” sedangkan jika

kita masukkan angka ”5” maka hasil output adalah : ”2 3 5 7 11”. Program tersebut

terdapat variabel ”int bil,i,j,n,jum;”. Variabel ’bil digunakan untuk mengecek hasil

proses keseluruhan apakah bilangan tersebut merupakan prima atau tidak dimulai dari 1

sampai dengan jumlah deret yang kita inginkan. Variabel ’i’ digunakan sebagai pengganti

hasil bilangan pembagi dari modulo. Misal : ”bil=2 i=1” maka ’bil%i = 2%1’. Variabel

’j’ diguanakan untuk mendefinisikan hasil sisa bagi = 0. Variabel ’n’ digunakan sebagai

banyaknya jumlah variabel dari inputan user yang digunakan sebagai batasan dari

perulangan ’while’. Pada bagian program tersebut terdapat statemen perulangan

”for(i=1;i<=bil;i++)”hal ini merupakan suatu syarat perulangan dengan memberikan

nilai awal i = 1 dimana i bernilai dari 1 sampai dengan variabel ’jum’ yang dimasukkan

oleh user. Kemudian statemen selanjutnya terdapat ”if(bil % i = = 0) { j++; }”

maksudnya jika variabel ’bil’ memiliki sisa hasil bagi = 0 maka nilai j yang semula 0

akan bertambah menjadi 1. Dan pada kondisi selanjutnya terdapat statemen ”if(j= = 2)”

maka akan mencetak bilangan prima tersebut. Jadi definisi bilangan prima disini adalah

suatu bilangan yang bisa dibagi oleh bilangan itu sendiri dan memiliki nilai hasil sisa bagi

= 0 sebanyak 2 buah. Contohnya angka 5. Untuk angka 5 sendiri itu dapat dijelaskan dari

algoritma berikut ini :

i = 1 → 5 % 1 = 0

i = 2 → 5 % 2 = 1

i = 3 → 5 % 3 = 2

i = 4 → 5 % 4 = 1

i = 5 → 5 % 5 = 0

Dan di atas dapat dilihat bahwa angka 5 memiliki sisa bagi sama dengan nol

sebanyak 2 buah. Hal ini menjadi bukti bahwa bilangan prima adalah bilangan yang dapat

3

Page 4: DERET FIBONACCI & DERET PRIMA C++

dibagai dengan dirinya sendiri dengan syarat bilangan tersebut memiliki hasil sisa

pembagian sebanyak 2 buah.

Adapun secara rinci program di atas dapat dijalankan dengan algoritma seperti di

bawah ini :

Input Jumlah Angka : 4

jum=4, n=0;

bil =1, j=0, i=1, i<=1 ? maka:

1 % 1 = 0 → maka nilai j menjadi bertambah 1 (j++) atau j = 1

Nilai variabel ’bil’ akan bertambah 1 menjadi bil=2.

bil = 2, j =0, n=0, i=1, i<=2? maka:

2 % 1 = 0 → j++; j= 0+1=1 maka j=1

2 % 2 = 0 → j++; j=1+1=2 maka j=2

Karena j=2 maka cetak ”bil”. Hasil output : 2

Variabel n bertambah (n++) → n=0+1=1 maka n=1

Nilai variabel ’bil’ akan bertambah 1 menjadi bil=3.

bil = 3 j=0, n=1, i=1→ i<=3?

3 % 1 = 0 → j++; j=0+1 maka j=1

3 % 2 = 1

3 % 3 = 0 → j++; j=1+1 maka j=2

Karena j=2 maka cetak ”bil”. Hasil output : 2 3

Variabel n bertambah (n++) → n=1+1=2 maka n=2

Nilai variabel ’bil’ akan bertambah 1 menjadi bil=3.

bil = 4 kj=0, n=2, i=1→ i<=4?

4 % 1 = 0 → j++; j=0+1 maka j=1

4 % 2 = 0→ j++; j=1+1 maka j=2

4 % 3 = 1

4 % 4 = 0 → j++; j=2+1 maka j=3

Nilai variabel ’bil’ akan bertambah 1 menjadi bil=5.

bil = 5 j=0, n=2, i=1→ i<=5?

5 % 1 = 0 → j++; j=0+1 maka j=1

5 % 2 = 1

4

Page 5: DERET FIBONACCI & DERET PRIMA C++

5 % 3 = 2

5 % 4 = 1

5 % 5 = 0 → j++; j=1+1 maka j=2

Karena j=2 maka cetak ”bil”. Hasil output : 2 3 5

Variabel n bertambah (n++) → n=2+1=3 maka n=3

Nilai variabel ’bil’ akan bertambah 1 menjadi bil=6.

bil = 6 j=0, n=3, i=1→ i<=6?

6 % 1 = 0 → j++; j=0+1 maka j=1

6 % 2 = 0→ j++; j=1+1 maka j=2

6 % 3 = 0→ j++; j=2+1 maka j=3

6 % 4= 2

6 % 5= 1

6 % 6= 0 → j++; j=3+1 maka j=4

Nilai variabel ’bil’ akan bertambah 1 menjadi bil=7.

bil = 7 j=0, n=3, i=1→ i<=7?

7 % 1 = 0 → j++; j=0+1 maka j=1

7 % 2 = 1

7 % 3 = 1

7 % 4 = 3

7 % 5 = 2

7 % 6 = 1

7 % 7 = 0 → j++; j=1+1 maka j=2

Karena j=2 maka cetak ”bil”. Hasil output : 2 3 5 7

Variabel n bertambah (n++) → n=3+1=4 maka n=4

Karena program di atas hanya menjalankan program dengan kondisi perulangan

“while(n<jum)” : nilai n < jum maka jika nilai tersebut tidak lagi memenuhi jika n > jum.

Oleh karena itu setelah program mendapatkan nilai variabel n=4 maka program berhenti

dieksekusi. Program di atas akan berhenti berjalan jika nilai n telah mencapai harga = 4.

Hal ini dapat dibatasi melalui statemen perulangan ‘while(n<jum)’ Sehingga jika kita

memasukkan ‘4’ maka akan tampil output 4 bilangan prima pertama yang dimulai dari

urutan terkecil sampai bilangan yang lebih besar yaitu “2 3 5 7”

5

Page 6: DERET FIBONACCI & DERET PRIMA C++

2. DERET FIBONACCI

SCRIPT PROGRAM :

OUTPUT :

LOGIKA PROGRAM :

Untuk program deret fibonacci menggunakan statemen ’FOR’ sebagai

perulangan.

Pada bagian awal program terdapat pengarah kompiler berupa ”#include”.

Pengarah kompiler ini Berfungsi membaca file program tertentu dan mengikutsertakan

6

Page 7: DERET FIBONACCI & DERET PRIMA C++

file tersebut dalam proses kompilasi. Nama file yang dimaksud harus diapit symbol ‘ < ‘

dan ‘ > ‘ atau tanda kutip dua ( “ … “ ). Dalam program tersebut terdapat

“#include<conio.h>” dan “#include<iostream.h>”. ‘conio.h’ menunjukan pengarah

kompiler dalam hal pengaturan konfigurasi input output. Sedangkan ‘iostream.h’

merupakan file program yang mengandung deklarasi kelas-kelas yang diperlukan oleh

objek cout. File-file dengan ekstensi “.h” yang berisi deklarasi fungsi-fungsi standar C

ini, disebut secara umum sebagai file header. ”Main() merupakan contoh fungsi, fungsi

ini perlu dideklarasikan agar compiler dapat memeriksa ketepatan pemanggilan fungsi

yang bersangkutan. Deklarasi fungsi sering disebut pula prototype fungsi. Sedangkan

“int x,y,i,bil” menunjukkan tipe data integer untuk variabel yang telah disebutkan.

Pertama kali program menginstruksikan kita untuk menginput angka yang akan

diproses sebagai banyaknya deret. Hal ini dapat terlihat dari statemen keluaran yang

terdapat pada ’cout>>”masukan jumlah angka : ”; ’ Misalnya saja kita masukan ’8’.

Kemudian program mendeteksi angka ’8’ tersebut sebagai variabel ’bil’. Diberikan harga

awal x=1, dan y=1 lalu terdapat statemen ’cout<<y<<” “; ‘ untuk mencetak hasil dari y.

Oleh karena itu output menjadi ’1’ dalam memori penyimpanan program. Dalam program

tersebut terdapat perulangan ’for (i=1;i<=bil-1;i++)’ dengan kondisi i=1 dimana nilai i

harus lebih kecil atau sama dengan nilai bil (nilai yang kita masukkan dalam program

dalam contoh ini adalah ’8’) kemudian nilai i akan bertambah 1 jika telah menjalankan

dari kondisi tersebut. Pendefinisian awal variabel ’i’ bernilai 1 dengan i<=bil-1 atau 1<=7

dimana i=1 dan bil-1→ 8-1=7. Kondisi ini memenuhi syarat perulangan maka langkah

selanjutnya adalah mencetak ’x’ karena dalam instruksi selanjutnya terdapat statemen ’

cout<<x<<” ”; ’ karena hasil output pertama adalah 1, karena ini mencetak nilai x

kembali yang bernilai 1, maka output menjadi ”1 1 ”. Selanjutnya diberikan kembali

suatu rumus yakni x=x+y; dan y=x-y. Nilai x dan y yang telah didefiniskan sebelumnya

adalah : x=1, y=1. maka x=1+1=2 dan y=2-1=1. Nilai x dan y yang semula berharga 1,

sekarang berubah menjadi x=2 dan y=1. Kemudian nilai i bertambah 1 menjadi i=2.

Karena nilai i <= 7 maka cetak nilai ’x’. Dari langkah tersebut maka dihasilkan output

menjadi ’1 1 2’. Selanjuntnya masuk ke rumus x=x+y → 2+1=3 dan y=x-y → 3-1=2.

Nilai x dan y yang semula berharga 2 dan 1, sekarang berubah menjadi x=3 dan y=2.

Kemudian nilai i bertambah 1 menjadi i=3. Langkah selanjutnya program akan mengecek

7

Page 8: DERET FIBONACCI & DERET PRIMA C++

harga i. Apakah nilai i <=7 atau tidak jika i <= 7 maka cetak nilai ’x’. Dari langkah ini

maka dihasilkan output ’1 1 2 3’ langkah-langkah ini terus berlangsung sampai kondisi

i=7.Adapun hasil penjabaran dari algoritma program di atas adalah sebagai berikut :

i=1 → x=1 , y=1 cetak ‘x’ maka output : 1

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1

x=x+y → 1+1=2

y=x-y → 2-1=1

i=2 → x=2, y=1

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1 2

x=x+y → 2+1=3

y=x-y → 3-1=2

i=3 → x=3 , y=2

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1 2 3

x=x+y → 3+2=5

y=x-y → 5-2=3

i=4 → x=5 , y=3

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1 2 3 5

x=x+y → 5+3=8

y=x-y → 8-3=5

i=5 → x=8 , y=5

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1 2 3 5 8

x=x+y → 8+5=13

y=x-y → 13-5=8

i=6 → x=13 , y=8

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1 2 3 5 8 13

x=x+y → 13+8=21

y=x-y → 21-8=13

i=7 → x=21 , y=13

i<=bil-1(7); cetak ’x’ maka output menjadi : 1 1 2 3 5 8 13 21

x=x+y → 21+13=34

8

Page 9: DERET FIBONACCI & DERET PRIMA C++

y=x-y → 34-13=21

i=8 → x=34 , y=21

i<=bil-1(7)?;

Karena i=8 atau nilai i>=8 maka perulangan telah berakhir sebab nilai i tidak

memenuhi nilai dari kondisi yang diminta oleh karena itu hasil output akhir dari program

ini adalah 1 1 2 3 5 8 13 21

9