Minggu, 27 Desember 2009

DAY 13 FLOWCHART DAN OUTPUT



DAY 13 ALGORITMA & PROGRAM

NOMOR 1
Algoritma


1. input berapa banyak deret fibonacci yang ingin diinputkan(a)
2. Masukkan bilangan pertama dan bilangan kedua dari deret fibonacci
3. melakukan looping dengan b = 3
4. lalu apakah b<=a
> jika ya, maka c = bil1+bil2
bil1=bil2
bil2=c
lalu dilakukan looping kembali dengan b++
> jika tidak cetak c, sebagai bilangan deret fibonacci
5. program selesai...


PROGRAM
#include
main()
{
int bil1, bil2,a,b,c;
puts("--------------------");
printf("program deret fibonacci");
puts("--------------------");
printf("Masukkan banyaknya deret fibonacci: ");
scanf("%d",&a);

printf("masukkan bilangan pertama :");
scanf("%d",&bil1);
printf("masukkan bilangan kedua :");
scanf("%d",&bil2);

printf("%5d",bil1);
printf("%5d",bil2);
for(b=3;b<=a;b++)
{
c=bil1+bil2;
printf("%5d",c);
bil1=bil2; bil2=c;
}
printf("\n");
}

NOMOR 2

Algoritma

1. inisialisasi int bin, b=0,c=0,d,i,j
double z=0
2. masukkan bilangan biner
3. apakah bilangan biner yang dimasukkan >11111111
> jika ya, maka akan dikembalikan ke langkah 2 untuk memasukkan kembali bilangan biner
> jika tidak, lanjut ke langkah berikutnya
4. melakukan looping dengan i = 0
5. apakah bin==1
> jika ya, maka y[i]=bin, c=1. lalu break
> jika tidak, lanjut ke langkah berikutnya
6 apakah bin>=10
> jika ya, maka y[i] = bin % 10
lalu b = b + 1 lalu bin = bin / 10
> jika tidak, maka langsung bin = bin / 10
7. apakah bin>10
> jika ya. maka y[i+1]=bin
lalu c = c + 1, break lalu kembali ke langkah nomor 4
> jika tidak, lanjut ke langkah berikutnya
8. d = b + c
9. melakukan looping kembali dengan j = 0 dan j
> jika ya, continue, kembali ke langkah nomor 9
> jika tidak, lanjut ke langkah berikutnya
11. apakah y[j]==1
> jika ya, maka z = z + pow(2,j), lalu kembali ke langkah nomor 9
> jika tidak, langsung cetak z sebagai hasil
12. program selesai....

PROGRAM

#include
#include
main()
{
int bin,b=0,c=0,d,i,j;
double z=0;
int y[8];


puts("---------------------------------");
printf("Program konversi bilangan biner ke desimal\n");
puts("---------------------------------");

do
{
printf("Masukkan biner= ");
scanf("%d",&bin);
}
while(bin>11111111);
for(i=0;;i++)
{
if(bin==1)
{
y[i]=bin;
c=1;
break;
}
if(bin>=10)
{
y[i]=bin%10;
b=b+1;
}
bin=bin/10;
if(bin<10)
{
y[i+1]=bin;
c=c+1;
break;
}
}

NOMOR 3
Algoritma

1. inisialisasi MAKS = 100, x[MAKS],y,a = 0, z , des
2. input bilangan desimal
3. apakah des>255
> jika ya, kembali ke langkah nomor 2
> jika tidak, lanjut ke langkah berikutnya
4. melakukan proses looping dengan y=0;x[MAKS];y++
5. x[y]=des%2
6. a = a + 1
7. des = des / 2
8. apakah des<=0
> jika tidak, kembali ke langkah nomor 4
> jika ya, lanjut ke langkah berikutnya
9.melakukan proses looping dengan z=a;z>=0;z--
10 cetak x[z], sebagai hasil
11. program selesai...



PROGRAM
#include
#define MAKS 100
main()
{
int x[MAKS],y,a=0,z,des;
puts("----------------------");
printf("Program konversi desimal ke biner\n");
puts("----------------------");

do
{
printf("Masukkan bilangan desimal= ");
scanf("%d",&des);
}
while(des>255);
for(y=0;x[MAKS];y++)
{
x[y]=des%2;
a=a+1;
des=des/2;
if(des<=0)
break;
}
for(z=a-1;z>=0;z--)
{
printf("%d",x[z]);
}
printf("\n");
}

DAY 14 FLOWCHART & OUTPUT



DAY 14 ALGORITMA & PROGRAM

NOMOR 1
ALGORITMA
Masukkan bilangan yang akan Anda cek.
Apabila jumlah factor bilangan = 2 maka bilangan tersebut adalah bilangan prima.

PROGRAM
#include
int prima(int a);
main()
{
int a;
printf("Masukkan bilangan : ");
scanf("%d",&a);
prima(a);
if(prima(a))
printf("%d adalah bilangan prima",a);
else
printf("%d bukan bilangan prima",a);
printf("\n");
}
int prima(int a)
{
int i,faktor=0;
for(i=1;i<=a;i++)
{
if(a%i==0)
faktor++;
}
if(faktor==2)
return 1;
else
return 0;
}



NOMOR 2

ALGORITMA
PROGRAM
#include
main()
{
int matrikA[2][2],matrikB[2][2],matrikC[2][2],b,k;

printf("\tProgram Penjumlahan 2 buah matriks 2x2, sesuai baris dan kolomnya\t\n");

printf("Nilai A baris 1, kolom 1 = ");scanf("%d",&matrikA[0][0]);
printf("Nilai A baris 1, kolom 2 = ");scanf("%d",&matrikA[0][1]);
printf("Nilai A baris 2, kolom 1 = ");scanf("%d",&matrikA[1][0]);
printf("Nilai A baris 2, kolom 2 = ");scanf("%d",&matrikA[1][1]);

printf("Nilai B baris 1, kolom 1 = ");scanf("%d",&matrikB[0][0]);
printf("Nilai B baris 1, kolom 2 = ");scanf("%d",&matrikB[0][1]);
printf("Nilai B baris 2, kolom 1 = ");scanf("%d",&matrikB[1][0]);
printf("Nilai B baris 2, kolom 2 = ");scanf("%d",&matrikB[1][1]);


for(b=0;b<2;b++)
for(k=0;k<2;k++)
matrikC[b][k]=matrikA[b][k]+matrikB[b][k];
printf("Hasilnya:\n");
printf("{ %d %d }\n{ %d %d }\n",matrikC[0][0],matrikC[0][1],matrikC[1][0],matrikC[1][1]);
}



NOMOR 3
ALGORITMA
inisialisasi M1[2][3],M2[3][2],M3[2][2], i,j,k,l,m,n,a,b,c,d,hsl
melakukan proses looping i = 0, i <2
looping kembali dengan j = 0, j<3
lalu input m1[i][j]
lalu looping kembali dengan k = 0; k<3
looping kembali dengan l=0;l<2
input M2[k][l]
proses looping dengan m= 0;m<2
looping kembali dengan n =0;n<2
inisialisasi hsl=0
looping dengan a=-; a<3
d = M1[m][a]*M2[a][n]
hsl = hsl+d
M3[m][n] = d
looping kembali dengan b =0; b>2
looping dengan c=0;c<2
cetak M3[b][c]
cetak menurun("/n")

PROGRAM
#include
main()
{
int M1[2][3],M2[3][2],M3[2][2];
int i,j,k,l,m,n,a,b,c,d,hsl;

puts("------------------------");
printf("Program Perkalian Matriks\n");
puts("------------------------");

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("Masukkan Matrik 1 [%d][%d]= ",i+1,j+1);
scanf("%d",&M1[i][j]);
}
}
printf("\n");
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
printf("Masukkan Matrik 2 [%d][%d]= ",k+1,l+1);
scanf("%d",&M2[k][l]);
}
}
printf("\n");
for(m=0;m<2;m++)
{
for(n=0;n<2;n++)
{
hsl=0; for(a=0;a<3;a++)
{
d=M1[m][a]*M2[a][n];
hsl=hsl+d;
}
M3[m][n]=d;
}
}
for(b=0;b<2;b++)
{
for(c=0;c<2;c++)
{
printf("%4d",M3[b][c]);
}
printf("\n");
}
printf("\n");
}

DAY 11 FLOWCHART & OUTPUT




DAY 11 ALGORITMA & PROGRAM

DAY 11

1.
ALGORITMA
Masukkan bilangan yang akan dipilah (max:ribuan).
Apabila inputan Anda lebih dari 9999 cetak error
Apabila tidak lebih, maka
bilangan akan dibagi dengan I (i=1000) dan hasilnya disimpan dalam variable x.
variabel bilangan diisikan dengan sisa hasil bagi bilangan(0) dengan i(i=1000).
cetak x*i(i=1000)
i/10=100
kembali ke proses pertama dengan i=100. Dan demikian seterusnya.

PROGRAM
#include
#include
main()
{
int bil,x,i = 1000;

printf("\n\tProgram Memilah Bilangan\t\n\n");

printf("Masukkan bilangan :");scanf("%d",&bil);

if(bil>9999)
{
printf("masukkan anda salah\n");
exit(0);
}
while (bil>0 || bil<0)
{
x = bil / i;
bil = bil % i;
if(x>0 || x<0)
{
x = x * i;
printf("%d ",x);
}
i = i / 10;
}
printf("\n\n");
}
2.
ALGORITMA
 Masukkan kalimat yang akan di tampilkan secara terbalik.
 Proses pembalikan.
 Cetak hasil pembalikan.

PROGRAM
#include
#include

void balik(char);
void tampil(char);
#define MAKS 100
main()
{
char a[MAKS];
printf("\tProgram Pembalikan kalimat inputan user\t\n");
printf("\nMasukkan kalimat: ");gets(a);

balik(a);
tampil(a);
}

void balik(y)
{
strrev(y);
}
void tampil(z)
{
printf("%s\n",z);
}
3.
ALGORITMA
 Masukkan bilangan yang akan di tampilkan secara terbalik.
 Proses pembalikan.
 Cetak hasil pembalikan.

PROGRAM
#include
#include

void balik(char);
void tampil(char);
#define MAKS 100
main()
{
char a[MAKS];
printf("\tProgram Pembalikan bilangan inputan user\t\n");
printf("\nMasukkan bilangan: ");gets(a);

balik(a);
tampil(a);
}

void balik(y)
{
strrev(y);
}
void tampil(z)
{
printf("%s\n",z);
}

4.
ALGORITMA
 Masukkan kalimat yang akan di cek.
 Proses pengecekan.
 Cetak hasil.

PROGRAM
#include
#include

main()
{
char kalimat[100],x;
int hsl;

printf("\tProgram Pengecekan apakah Palindrom atau bukan Palindrom\t\n");

printf("\nMasukkan kalimat : ");
gets(kalimat);

x=strlen(kalimat);
hsl=palindrom(kalimat,x);

if (hsl==(x/2))
printf("Termasuk Palindrom\n");
else
printf("Bukan Palindrom\n");

}

int palindrom(char kata[100],int n)
{

int i,y=1,x=0;
for(i=0;i<(n/2);i++)
{
if(kata[i]==kata[n-y])
{
x++;
y++;
}
else
continue;
}
return x;
}

Sabtu, 12 Desember 2009

ALGORITMA & FLOWCHART KALKULATOR




 Input bilangan pertama dan kedua.
 Pilih menu yang tersedia(operasi).
 Proses menghitung berdasarkan pilihan Anda.
 Selesai.

PROGRAM KALKULATOR

#include
main()
{
float bil1, bil2, menu, hasil;
printf("Masukkan bilangan pertama = ");scanf("%f",& bil1);
printf("Masukkan bilangan kedua = ");scanf("%f",& bil2);
printf("Menu matematika :\n1.Penjumlahan \n2.Pengurangan \n3.Pembagian \n4.Perkalian \nMasukkan pilihan anda = ");scanf("%f",& menu);
if(menu==1)
{
hasil=bil1+bil2;
printf("Hasil Operasi tersebut = %3.0f\n",hasil);
}
else if(menu==2)
{
hasil=bil1-bil2;
printf("Hasil Operasi tersebut = %3.0f\n\n",hasil);
}
else if(menu==3)
{
hasil=bil1/bil2;
printf("Hasil Operasi tersebut = %3.0f\n\n",hasil);
}
else if(menu==4)
{
hasil=bil1*bil2;
printf("Hasil Operasi tersebut = %6.0f\n\n",hasil);
}
else
printf("\nOperator yang Anda masukkan salah\nPahami baik-baik pilihan operator yang tersedia\n\n");
}

OUTPUT KALKULATOR

ALGORITMA & FLOWCHART BIL. TRIANGULAR


 Masukkan bilangan sebagai batas, sampai berapa bilangan triangular akan ditampilkan.
 Proses looping untuk menampilkan satu per satu bilangan.
 Bilangan ditampilkan.
 Selesai.

a

PROGRAM BIL.TRIANGULAR

#include
void trianguler (int);
main()
{
int n;
printf("Menampilkan bilangan trianguler\n");
printf("Masukkan bilangan ke n ="); scanf("%d", &n);
trianguler (n);
}
void trianguler (int n)
{
int a=0;
for (n=n;n>=1;n--)
{
printf("%d", n);
a=a+n;
if (n==1)
printf("=");
else
printf("+");
}
printf ("%d\n", a);
}

OUTPUT BILANGAN TRIANGULAR

ALGORITMA & FLOWCHART NO.3



 Masukkan bilangan sebagai batas, sampai berapa bilangan akan ditampilkan.
 Proses looping untuk menampilkan satu per satu bilangan.
 Bilangan ditampilkan.
 Selesai.

INPUT NO.3

INPUT
#include
main()
{
int n,a,b;
char pilihan='y';
while(pilihan='y')
{

printf ("Masukkan nilai n : ");
scanf ("%d",&n);

for (a=1;a<=n;a++)
{
printf ("\n");
for (b=1;b<=a;b++)
{
printf ("%d ",a);
}
}
printf ("\n\n");
fflush(stdin);
printf("try again [y/t]?");
pilihan=getchar();
if(pilihan=='t')
break;
}
}

OUTPUT NO.3