Ads 468x60px

Minggu, 14 Desember 2014

STRUKTUR REKURSIF

Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri.
Dalam kehidupan sehari-hari banyak terdapat objek yang rekursif, contoh daun pakis atau pohon cemara.

  


Daun Pakis dibentuk oleh ranting-ranting daun yang mempunyai pola yang mirip
dengan daun pakis itu sendiri.
Setiap ranting daun disusunlagi oleh ranting daun dengan pola yang mirip. Demikian juga dengan pohon cemara.
Objek yang mempunyai pola rekursif ini disebut fraktal.
Didalam bidang grafik dan seni, fraktal dimanfaatkan untuk membangkitkan gambar-gambar yang indah dan menawan.
Contoh konsep penggunaan Rekursif
Masalah: Memotong Roti tawar tipis-tipis sampai habis
Algoritma:
1.Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai.
2.Jika rotimasih bisa dipotong, potong tipis dari tepi roti tersebut,l alulakukan prosedur 1 dan 2 untuk sisa potongannya.

Contoh Fungsi Rekursif
a.Fungsi pangkat
b.Faktorial
c.Fibonancy
d.Menara Hanoi


a.Fungsi pangkat
•Fungsi ini digunakan untuk menghitung nilai:  Xn dengan n berupa bilangan bulat positif. Solusi dari persoalan ini:
JIKA n = 1 MAKA Xn= X
SELAIN ITU:  Xn= X * Xn-1

b.Faktorial
0! = 1
N! = N x (N-1)! Untuk N > 0
Secara notasi pemrograman dapat ditulis sebagai :
FAKT (0) = 1.............................................. (1)
FAKT(N) = N * FAKT (N-1).................................... (2)


c.Fibonancy
Deret Fibonaccy adalah deret dimana nilai suku ke-n merupakan jumlah nilai suku ke-(n-1) dan suku ke-(n-2). Untuk suku n>2, Suku pertama (n=1) nilainya adalah 1, dan suku kedua (n=2) nilainya =1.


d.Menara Hanoi
• Legenda klasik pendeta Budha di kota Hanoi (Vietnam)
• Terdapat tiga buah tiang tegak setinggi 5 meter dengan 64 buah piringan (disk).
• Setiap piringan mempunyai lubang ditengahnya agar dapat dimasukkan ke dalam tiang.
• Bagaimana cara memin dahkan seluruh piringan tersebut ke sebuah tiang yang lain, setiap kali     hanya satu piringan yang boleh dipindahkan.
• Syarat: tidakboleh ada piringan besar diatas piringan yang  lebih kecil.

Rumus Pemindahanya = 2N-1   (N = Jumlah Piringan)

Sabtu, 13 Desember 2014

Seleksi Kondisi

A. Printah IF

Perintah if berguna untuk memilih satu dari 2 atau
lebih alternatif jawaban yang tersedia. Jika perintah if tersebut
terdiri dari 2 atau lebih pernyataan.
Bentuk Umum:

if (kondisi)
{ pernyataan }


Contoh:
discount=0;
If(nilai_beli>10000)                   
{ discount=(10/100)*nilai_beli;
bonus=“Payung”
}

B. Printah IF... Else

Bentuk Umum:
if(kondisi)
pernyataan1
else
pernyataan2


Contoh:
#include <stdio.h>
#include <conio.h>
main()
{
int nilai,tugas;
printf(“Masukan Sebuah Nilai: “);scanf(“%d”,&nilai);
printf(“Masukan Nilai Tugas: “); scanf(“%d”,&tugas);
if(nilai>70)
printf(“Lulus \n”);
else
printf(“Tidak Lulus \n”);
getch();
}


C. Printah IF... Else Majemuk

Bentuk Umum:
if (kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...
}
   

Contoh:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main( )
{
char gol, jab[10];
long gapok=0;
clrscr( );
cout<<endl<<" Data Jabatan"<<endl
<<" = = = = = = = = = = = = = = = ="<<endl;
cout<<" Masukan Golongan [1/2]: ";
cin>>gol;

if(gol=='1')
{ strcpy(jab,"Direktur");
gapok=5000000;
}
else if(gol=='2')
{
strcpy(jab,"Manajer");
gapok=4000000;
}
cout<<" Jabatan = "<<jab<<endl;
cout<<" Gaji Pokok = "<<gapok<<endl;
getch ( );
}









D. Printah if dalam  IF

Perintah if dalam if sering disebut nested-if. 
Perintah ini mempunyai bentuk umum sebagai berikut:

Bentuk Umum :
If(kondisi1)
{
if(kondisi2)
{ pernyataan1;
}
else
{
pernyataan2;
}
}


Else
{
if(kondisi2)
{
pernyataan1;
}
else
{
pernyataan2;
}
}


 Contoh: 
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
char kode,ukuran,merk[15];
long harga=0;
clrscr( );
cout<<"Kode Baju : ";cin>>kode;
cout<<"Ukuran : ";cin>>ukuran;
if (kode=='1')
{
strcpy(merk,"H & R");
if (ukuran=='S' || ukuran =='s')
harga=45000;
else
harga=60000;
}
else if (kode=='2')
{
strcpy(merk," Adidas");
if (ukuran=='S' || ukuran == 's')
harga=65000;
else
harga=75000;
}
else
cout<<”Salah Kode Baju”<<endl;
cout<<"------------------------"<<endl;
cout<<"Merk Baju : "<<merk<<endl;
cout<<"Harga Baju : "<<harga<<endl;
getch();
}
 
 
Blogger Templates