Selamat Datang di Blog Sederhana Saya

This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Selasa, 31 Mei 2011

program perhitungan kombinasi dan permutasi

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
long int fak (long int x);
int main()


{
int n,r, Prts,pilihan,p;
char ulang;
do
{


cout<<"PERHITUNGAN KOMBINASI DAN PERMUTASI"<<endl;
cout<<"1. KOMBINASI"<<endl;
cout<<"2. PERMUTASI"<<endl;
cout<<"3. EXIT"<<endl;
cout<<endl<<endl;
cout<<"Pilihan Anda : ";cin>>pilihan;
switch (pilihan)
{
case 1 :
cout<<" Program Menghitung Kombinasi(nCr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak(n)/(fak(n-r)*fak (r));
cout<<endl;
printf(" Kombinasinya adalah: %d",Prts);
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 2 :
cout<<" Program Menghitung Permutasi(nPr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak (n)/fak(n-r);
cout<<endl;

cout<<" Permutasinya adalah: "<<Prts;
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 3 :
cout<<"Exit�"<<endl;
break;
default:
cout<<"Menu tidak tersedia"<<endl;
break;
}
cout<<"Kembali ke Menu Utama (y/n)?";cin>>ulang;
}while(ulang == 'y');
}

long int fak (long int n)
{
int f;
if (n<=1)
{
f=1;
}
else
{
f=n*fak(n-1);
}
return (f);
}

Selasa, 24 Mei 2011

Algoritma untuk mencari Deret aritmatika dan Deret Fibonacci

a) Algoritma deret aritmatika

Deklarasi:
float a,b,n,un,sn : Integer
int x;

Deskripsi:
For ←(x=a;x<=un;x=x+b) a ← 1.0; b ← 2.0; printf ← ("+%i ",x); endfor write(Deret aritmatika) Program (Deret Aritmatika) #include
#include

using namespace std;

int main(int argc, char *argv[])
{
//deklarasi data
float a,b,n,un,sn;
int x;
//badan program
printf("Program Penghitung Deret Aritmatika");
printf("\nMasukkan:");
printf("\nSuku ke n = ",n);
scanf("%f",&n);

a = 1.0;
b = 2.0;

un = a + (n-1)*b;
sn = (0.5*n)*(a+un);

printf("\nMaka Nilai dari Un = %f\n",un);
printf("\nNilai Sn = %f\n",sn);

printf("\nSelanjutnya\n");
printf("\nUn = %f\n",un);
printf("\nDeret aritmatika untuk %f adalah :\n\n",un);

for(x=a;x<=un;x=x+b) { printf("+%i ",x); } system("PAUSE"); return EXIT_SUCCESS; }

b)  Deret Fibonacci

1. Inisialisasikan a=0, b=1, c, i
2. Masukkan banyaknya deret bilangan Fibonacci dalam n
3. Cetak nilai b
4. Proses looping
- Untuk i=1 sampai n-1
- Tambahkan a dengan b dalam variable c, c = a + b
- Cetak nilai c
- Nilai b dimasukkan ke dalam nilai a
- Nilai c dimasukkan ke dalam nilai b
- Kembali ke proses 4a
5. Program selesai

Deklarasi:
int s0, s1, s2, fib, nsuku : integer

Deskripsi:

f1 ß f2
f2 ß f3
if (nsuku<=1) while← (s2<=nsuku) endfor write(Deret fibonacci) Program(Deret Fibonacci) #include
#include

main()
{
int s0, s1, s2, fib, nsuku;

clrscr();
printf("Masukkan Suku ke: ");
scanf("%d", &nsuku);

if (nsuku<=1)
fib=nsuku;
else
{
s0=0;
s1=1;
s2=2;
while (s2<=nsuku)
{
fib=s0+s1;
s0=s1;
s1=fib;
s2++;
}
}
printf("Bilangan Fibonacci ke-%d adalah %d\n", nsuku, fib);
getch();
}

Ebook How to solve 5.4

1.      Memberikan / memasukkan bilangan secara acak menjadi non-urutan menggunakan metode penyisipan
2.      Mengidentifikasi input dan output
Input :
i = Integer
n = Integer
k = integer
x = integer
Output :
           ketemu = integer

 3.      Algoritma untuk mendefinisikan fungsi
Deklarasi :
            i, n, k, x, data = integer

Deskripsi :
Insertionsort(L,n)
UNTUK k <-- 1 S/D n-1
X <--L[k]
//Sisipkan x ke dalam L[0..k-1]
I<-- k – 1
Ketemu <-- SALAH
ULANG SEMUA I >= 0 DAN TIDAK ketemu
JIKA x < L[I] MAKA
L[i + 1] <-- L[i]
i <--i – 1
SEBALIKNYA
Ketemu = BENAR
AKHIR – JIKA

L[i+1]<--x
AKHIR – ULANG
AKHIR – UNTUK
AKHIR – SUBRUTIN

4.      Test fungsi menggunakan Data uji
 
Data awal :     
3
10
4
6
8
9
7
2
1
5
3 ↔10
Cek, untuk melihat apakah bilangan kedua (10) lebih kecil dari pada yang pertama (3). Jika ya, tukarkan kedua bilangan ini. Namun, kali ini kita tidak perlu melakukan penukaran.
3
10
4
6
8
9
7
2
1
5
104
Ambil bilangan ketiga (4), Geser bilangan kedua (10) shg ada ruang untuk disisipi. Sisipkan bilangan 4 ke posisi yang tepat
           
3
4
10
6
8
9
7
2
1
5
106
Kemudian sisipkan bilangan keempat keposisi ketiga karena bilangan keempat lebih  kecil dibandingkan bilangn ketiga.
3
4
6
10
8
9
7
2
1
5
108           
3
4
6
8
10
9
7
2
1
5
109
Sekarang, tiga bilangan pertama sudah terurut secara relative dan kita sisipkan bilangan keempat kepada tiga bilangan pertama tsb. Setelah penyisipan, empat bilangan pertama haruslah dalam keadaan terurut secara relatif.

3
4
6
8
9
10
7
2
1
5
87
Ulangi proses tsb sampai bilangan terakhir disisipkan.

3
4
6
7
8
9
10
2
1
5
32
2
3
4
6
7
8
9
10
1
5
21
1
2
3
4
6
7
8
9
10
5
65
1
2
3
4
5
6
7
8
9
10

selesai


5.      Penulisan pengkodean

#include <iostream.h>
#include <conio.h>

void tampilkan_larik(int data[],int n)
{
int i;

for (i=0; i<n;i++)
cout<<data[i]<<" ";
cout<<"\n";
}

void insertion_sort(int data[], int n)
{
int i,k;
int x;
int ketemu;
for (k=1; k<n; k++)
{
x=data[k];
//sisipkan x ke dalam data [0...k-1]

i=k-1;
ketemu=0;

while ((i>=0)&&(!ketemu))
{
if (x<data[i])
{
data[i+1]=data[i];
i=i-1;
}
else
ketemu=1;
data[i+1]=x;
}
}
}

int main()
{
const jum_data=10;

int i;
int data[]={3,10,4,6,8,9,7,2,1,5};
cout<<"Data sebelum diurut: "<<endl;
for(int ctr=0; ctr<10; ctr++)
{
cout<<data[ctr]<<" ";
}
insertion_sort(data, jum_data);

//hasil pengurutan
cout<<endl;
cout<<endl;
cout<<"Tampilkan Hasil Pengurutan: \n";
tampilkan_larik(data,jum_data);
getch();
}