Algoritma :
Deklarasi
n : integer
i : integer
a[1..50]: integer
Deskripsi
Read n
For i <- 0 to n do
If (i < 2) then
a[ i ] <- i
Else
a[ i ] <- a[ i - 2 ] + a[ i - 1 ]
end if
end for
For i <- 0 to n do
Write a[ i ]
end for
end
Program Biasa :
#include <iostream.h>
#include <conio.h>
int main(){
int n,i,a[50];
cout<<"Deret Fibonacci";
cout<<"\nMasukkan batas deret fibonacci: ";
cin>>n;
for (i=0;i<n;i++){
if (i<2)
a[i]=i;
else
a[i]=a[i-2]+a[i-1];}
for(i=0;i<n;i++){
cout<<a[i]<<" ";}
getch ();
return 0;}
Program Class :
#include <iostream.h>
#include <conio.h>
class fibonacci{
public:
void masukan();
void proses();
void keluaran();
private:
int n,i,a[50];};
void fibonacci::masukan(){
cout<<"Deret Fibonacci";
cout<<"\nMasukkan batas deret fibonacci: ";
cin>>n;}
void fibonacci::proses(){
for (i=0;i<n;i++){
if (i<2)
a[i]=i;
else
a[i]=a[i-2]+a[i-1];}}
void fibonacci::keluaran(){
for(i=0;i<n;i++){
cout<<a[i]<<" ";}}
int main(){
fibonacci x;
x.masukan();
x.proses();
x.keluaran();
getch ();
return 0;}
Program Jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
fibonacci x = new fibonacci();
x.masukan();
x.proses();
x.keluaran();}}
class fibonacci{
void masukan(){
System.out.print("Deret Fibonacci");
System.out.print("\nMasukkan batas deret fibonacci: ");
n = Input.readInt();}
void proses(){
for (i =0;i<n;i++){
if (i<2)
a[i] =i;
else
a[i] =a[i-2]+a[i-1];}}
void keluaran(){
for(i =0;i<n;i++){
System.out.print(a[i]);
System.out.print(" ");}}
private int n;
private int i;
private int[] a = new int[50];}
Penjelasan :
Program di atas adalah program yang digunakan untuk mencari deret fibonacci. Contoh 0,1,1,2,3,5 dimana tiap 2 angkanya ditambahkan lalu ditempatkan pada deret berikutnya begitu pula seterusnya. Sehingga pada program di atas kita gunakan fungsi perulangan yaitu for dilanjutkan dengan fungsi if atau percabangan dengan syarat (i<2) jika ya maka akan menampilkan nilai i, sedangkan tidak akan menampilkan hasil dari ((i-2)+(i-1)) dimana i adalah angka yang akan terus di ulang sampai dengan batasnya. Langkah selanjutnya kita tinggal menampilkan hasil dari percabangan di atas dengan perulangan atau fungsi if, agar hasilnya dapat berbentuk sebagai deret fibonacci tidah hanya menampilkan 1 hasil saja.
Deklarasi
n : integer
i : integer
a[1..50]: integer
Deskripsi
Read n
For i <- 0 to n do
If (i < 2) then
a[ i ] <- i
Else
a[ i ] <- a[ i - 2 ] + a[ i - 1 ]
end if
end for
For i <- 0 to n do
Write a[ i ]
end for
end
Program Biasa :
#include <iostream.h>
#include <conio.h>
int main(){
int n,i,a[50];
cout<<"Deret Fibonacci";
cout<<"\nMasukkan batas deret fibonacci: ";
cin>>n;
for (i=0;i<n;i++){
if (i<2)
a[i]=i;
else
a[i]=a[i-2]+a[i-1];}
for(i=0;i<n;i++){
cout<<a[i]<<" ";}
getch ();
return 0;}
Program Class :
#include <iostream.h>
#include <conio.h>
class fibonacci{
public:
void masukan();
void proses();
void keluaran();
private:
int n,i,a[50];};
void fibonacci::masukan(){
cout<<"Deret Fibonacci";
cout<<"\nMasukkan batas deret fibonacci: ";
cin>>n;}
void fibonacci::proses(){
for (i=0;i<n;i++){
if (i<2)
a[i]=i;
else
a[i]=a[i-2]+a[i-1];}}
void fibonacci::keluaran(){
for(i=0;i<n;i++){
cout<<a[i]<<" ";}}
int main(){
fibonacci x;
x.masukan();
x.proses();
x.keluaran();
getch ();
return 0;}
Program Jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
fibonacci x = new fibonacci();
x.masukan();
x.proses();
x.keluaran();}}
class fibonacci{
void masukan(){
System.out.print("Deret Fibonacci");
System.out.print("\nMasukkan batas deret fibonacci: ");
n = Input.readInt();}
void proses(){
for (i =0;i<n;i++){
if (i<2)
a[i] =i;
else
a[i] =a[i-2]+a[i-1];}}
void keluaran(){
for(i =0;i<n;i++){
System.out.print(a[i]);
System.out.print(" ");}}
private int n;
private int i;
private int[] a = new int[50];}
Penjelasan :
Program di atas adalah program yang digunakan untuk mencari deret fibonacci. Contoh 0,1,1,2,3,5 dimana tiap 2 angkanya ditambahkan lalu ditempatkan pada deret berikutnya begitu pula seterusnya. Sehingga pada program di atas kita gunakan fungsi perulangan yaitu for dilanjutkan dengan fungsi if atau percabangan dengan syarat (i<2) jika ya maka akan menampilkan nilai i, sedangkan tidak akan menampilkan hasil dari ((i-2)+(i-1)) dimana i adalah angka yang akan terus di ulang sampai dengan batasnya. Langkah selanjutnya kita tinggal menampilkan hasil dari percabangan di atas dengan perulangan atau fungsi if, agar hasilnya dapat berbentuk sebagai deret fibonacci tidah hanya menampilkan 1 hasil saja.
Perulangan dalam Bahasa C
Perulangan :
Perulangan
data atau yang biasa disebut dengan “looping” adalah proses yang dilakukan
secara berulang-ulang sampai batas yang ditentukan. Biasanya bila dalam perulangan
tersebut tidak disertakan batasnya maka syntax akan error karena proses itu
akan berulang terus hingga tak terhingga sementara variabel dalam komputer
masih terbatas.
Jenis :
a.
FOR
Syntax : for (inisialisasi ; syarat ; penambahan) {
pernyataan}
inisialisasi : keadaan awal dari variabel control
syarat
: ekspresi relasi yang merupakan
kondisi
penambahan : pengatur
perubahan nilai variabel control
Contoh :
for (i=0;i<10;i++)
{
p=2+i;
}
b.
WHILE
Syntax : while (kondisi){
pernyataan}
Contoh :
i=0
while (i<10)
{
p=2+i;
i++;
}
c.
DO – WHILE
Syntax : do {
pernyataan}
while (kondisi);
Contoh :
i=0
do
{
i++;
}
while (i<10)
Perbedaan
antara FOR, WHILE, dan DO-WHILE :
For :
untuk
mengulang suatu proses yang telah diketahui jumlahnya.
While : Pre
Tested Loop
untuk
mengulang suatu proses yang belum diketahui jumlahnya. Pengecekan kondisi akan
dilakukan terlebih dahulu. Jika kondisi masih bernilai true, maka looping akan
terus berlanjut.
Do-while :
Post Tested Loop
untuk
mengulang suatu proses yang belum diketahui jumlahnya. Instruksi akan
dijalankan lebih dahulu, kemudian dilakukan pengecekan kondisi apabila masih
bernilai true maka looping akan terus berlanjut.