Selasa, 01 Januari 2008

perkalian matrik


algotitma untuk menghitung perkalian matrik :

1. deklarasikan matrikA[2][3],matrikB[3][2],hasil[2][2]
2. deklarasikan variabel 'i' sebagai baris dari matrik
3. deklarasikan variabel 'j' sebagai kolom dari matrik
4. proses looping untuk menginputkan matrikA
4a. untuk i=0 sampai i<2,jika memenuhi maka lanjut ke proses looping berikutnya
· Untuk j=0 sampai j<3,jika memenuhi ,masukkan nilai dari elemen matrikA[i][j] (matrikA dengan baris ke[i] kolom ke[j] )
· Jika sudah tidak memenuhi maka kembali ke proses 4a
5. proses looping untuk menginputkan matrikB
5a. untuk i=0 sampai i<3,jika memenuhi maka lanjut ke proses looping berikutnya
· Untuk j=0 sampai j<2,jika memenuhi ,masukkan nilai dari elemen matrikA[i][j] (matrikA dengan baris ke[i] kolom ke[j] )
· Jika sudah tidak memenuhi maka kembali ke proses 5a
6. proses looping untuk menghitung perkalian matrik
6a. untuk i=0 sampai i<2,jika memenuhi maka lanjut ke proses looping berikutnya
· Untuk j=0 sampai j<2,jika memenuhi ,proses menghitug perkalian matrik dengan rumus sebagai berikut :
Hasil[i][j] = matrik A[i][0]*matrik B[0][j] + matrikA[i][1]* matrik B[1][j] +
matrik A[i][2]*matrikB[j][2]
· Jika sudah tidak memenuhi maka kembali ke proses 6a
7. mencetak hasil perkalian
8. program selesai

LISTING PROGRAM :
#include
void main()
{
int matrikA[2][3],matrikB[3][2],has[2][2];
int i,j;
printf("Masukkan bilangan matrik A \n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("Masukkan bilangan baris ke-%d dan Kolom ke-%d = ",i+1,j+1);
scanf_s("%d", &matrikA[i][j]);
}
}
printf("\nMasukkan bilangan matrik B \n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("Masukkan bilangan baris ke-%d dan Kolom ke-%d = ",i+1,j+1);
scanf_s("%d", &matrikB[i][j]);
}
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
has[i][j]=matrikA[i][0]*matrikB[0][j]+matrikA[i][1]*matrikB[1][j]+matrikA[i][2]*matrikB[2][j];

}
}
printf("\n\tHasil perkalian antara matrik A dan Matrik B\n\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("\t\t%d", has[i][j]);


}
printf("\n\n");
}

}

penjumlahan matrik

algoritma penjumlah dua buah matrik :
1. deklarasikan variabel brs,klm,i,j,M1[10][10],M2[10][10]
2. masukkan jumlah baris dan kolom dari matriks
dengan catatan matrik harus berupa matrik persegi sehingga jumlah baris dan kolom harus sama
3. masukkan elemen dari masing-masing elemen matrik dengan kondisi looping
3a untuk i=1 sampai i<= jumlah baris yang telah di inputkan.
jika kondisi tersebut terpenuhi maka ke looping selanjutnya yaitu :
3b untuk j=1 sampai j<=jumlah kolom yang telah di inputkan.
masukkan elemen dari matrik pertama
masukkan elemen dari matrik ke dua
4. proses loooping untuk menghtung penjumlahan matrik dengan kondisi sama dengan
kondisi looping diatas dengan rumus : M3[i][j]=M1[i][j]+M2[i][j]
5. mencetak hasil penjumlahan
6. program selesai


listing program
#include
void main()
{
int brs,klm,i,j,M1[10][10],M2[10][10],M3[10][10];

printf("baris = ");
scanf_s("%d",&brs);
printf("kolom = ");
scanf_s("%d",&klm);

printf("Masukkan elemen Matrik1 :\n");
for(i=1;i<=brs;i++)
{
for(j=1;j<=klm;j++)
{
printf("Masukkan bilangan baris ke-%d dan kolom ke-%d = ",i,j);
scanf_s("%d", &M1[i][j]);
}
}
puts("\nMasukkan elemen Matrik2 :\n");
for(i=1;i<=brs;i++)
{
for(j=1;j<=klm;j++)
{
printf("Masukkan bilangan baris ke-%d dan kolom ke-%d = ",i,j);
scanf_s("%d", &M2[i][j]);
}
}
for(i=1;i<=brs;i++)
{
for(j=1;j<=klm;j++)
{
M3[i][j]=M1[i][j]+M2[i][j];
}
}
puts("\nMatrik hasil penjumlahan :");
for(i=1;i<=brs;i++)
{
for(j=1;j<=klm;j++)
{
//puts("Matrik hasil penjumlahan :");
printf("\t\t%d", M3[i][j]);


}
printf("\n\n");
}

}

bilangan prima

algorima untuk mengenali bilangan prima :
1. deklarasikan variabel a, bil, j, faktor = 0(di inisialisasi dengan nilai awal nol)
2. masukkan bilangan dan diasign pada variabel bil
3. proses looping
3a. untuk j=1 sampai j <= bil
3b. hitung hasi sisa bagi variabel bil dengan variabel j dan hasilnya diasign pada variabel a
3c. jika a==0 maka tambahkan faktor dengan 1 (satu),jika tidak kembali ke proses 3a
4. jika faktor=2 maka cetak bilangan tersebut merupakan bilangan prima,
jika tidak cetak bilangan tersebut bukan meruopakan bilangan prima
5. program selesai


listing program :
#include
void main ()
{
int a,bil,j,faktor;
printf("masukkan bilangan = ");
scanf_s("%d",&bil);
faktor=0;

for(j=1;j<=bil;j++)
{
a=bil%j;

if(a==0)
faktor++;
}

if(faktor == 2)
printf("maka %d merupakan bilangan prima\n ",bil);
else
printf("maka %d bukan merupakan bilangan prima\n ",bil);
}

desimal ke biner

algoritma konversi desimal ke binner :
1. deklarasikan variabel bil, k, l, biner[20]
2. inisialisasikan nilai awal dari variabel c=0
3. masukkan bilangan desimal
4. proses looping
untuk k=0 sampai bil<0,maka lakukan proses sesuai dengan rumus berikut ini:
biner[k]=bil%2,dan dilanjutkan dengan rumus bil=bi/2.
proses post increment pada variabel c
5. proses looping untuk menampilkan bilangan biner
untuk l=c-1 sampai l>=0, looping dilakukan dengan decrement proses
jika kondisi tersebut terpenuhi maka akan mencetak elemen dari variabel biner[l]
6. program selesai

listing program :
#include

void main()
{
int bil,k,l,c=0,biner[20];
printf("Masukkan bilangan desimal:");
scanf_s("%d",&bil);
printf("Hasil bilangan tersebut ke dalam biner adalah:");
for(k=0;bil>0;k++)
{
biner[k]=bil%2;
bil=bil/2;
c++;
}
for(l=c-1;l>=0;l--)
{
printf("%d",biner[l]);
}
puts("");
}

biner ke desimal


algoritma untuk konversi biner ke desimal:
1.mendeklarasikan variabel "biner" berupa array,
memberikan nilai awal pada variabel "n = 8"'
memberiakn nilai awal pada variabel "hasil = 0",
mendeklarasikan variabel i
2. user memasukkan bilangan biner yang diasign pada variabel biner
3. masuk pada proses looping
untuk i=n sampai i>=i dan proses looping dilakukan secara decrement proses
jika kondisi tersbut terpenuhi maka nyatakan sesuai dengan rumus berikut ini
hasil+=biner[i]*pow(2,n-1).
4. cetak nilai dari variabel hasil
5. program selesai


listing program :
#include
#include
void main ()
{
int biner[8],n=8,i;
float a=2,hasil=0;


printf("masukkan biner [8 bit]= ");
scanf_s("%d",biner);

for (i=n;i>=1;i--)
{
hasil+=biner[i]*pow(a,n-i);
}
printf("desimal = %g",hasil);
puts("");
}

fibonaci


















algoritma untuk bilangan fibonaci:

1. deklarasikan variabel bil = 1, bil2 = 1,n,i,fibo
2. masukkan nilai n sebagai variabel yang menyatakan banyaknya bikangan yang ingin di tampilkan
3. mencetak variabel bil1 dan bil2
4. proses loping
4a. untuk nilai i = 3 sampai i kurang dari n,jika tiak memenuhi maka langsung ke langkah 5,
jika memenuhi ke langkah selanjutnya
4b. jumlahkan bil1 dengan bil2 dan nyatakan ke dalam variabel fibo
4c. cetak variabel fibo
4d. nyatakan bil1 sama dengan bil2 dan bil2 = fibo
4e. kembali ke proses 4a
5. program selesai


listing program :
#include
main()
{
int bil1=1,bil2=1,n,i,fibo;
printf("Masukkan berapa banyak bilangan yang diminta:");
scanf("%d",&n);
printf("0\t");
printf("1\t");
printf("1\t");

for(i=3;i
{
fibo = bil1+bil2;
printf("%d\t",fibo);
bil1=bil2;
bil2=fibo;
}
}