Selasa, 29 Desember 2009

tugas day 14

1.Bilangan Prima
Algoritma:

- Input bilangan

- Menghitung sisa hasil bagi bilangan tersebut dimulai dengan angka pembagi 2,selanjutnya

Selanjutnya menghitung sisa hasil bagi bilangan tersebut dengan angka pembagi tadi

ditambah dengan 1.menghitung sisa hasil bagi dengan pembagi mulai 0 sampai pembagi =

bilangan yang diinputkan.

- Jika sisa hasil bagi=0 maka factor bilangan bertambah.

- Jika factor == 2,maka termasuk bilangan prima,jika tidak maka bukan bilanngan prima.

- Cetak bilangan.

Flowchart:


Koding:
#include
main()
{
int bil, faktor=0, i;

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

for(i=1;i<=bil;i++) { if(bil%i==0) faktor++; } if(faktor==2) printf("\nHASIL:\n%d --> bilangan PRIMA\n\n", bil);
else
printf("\nHASIL:\n%d --> BUKAN bilangan PRIMA\n\n", bil);
}

Output:


2.Program Untuk Menjumlahkan Dua Matriks
Algoritma:

- menginputkan nilai matrik1 dan matrik 2 dengan banyak baris dan kolom [2][2].

- Pada kolom dan baris yang sama ,antara nilai pada matrik1 dan nilai pada matriks 2

dijumlahkan.dan menampung hsilnya pada matrik 3.dimana penempatan hasilnya sesuai

dengan baris dan kolom yang sama.

-Mencetak hasilnya.


Flowchart:



Koding:
#include
main()
{
int A[2][2], B[2][2], i, j, jumlah;

printf("PROGRAM UNTUK MENJUMLAHKAN DUA MATRIKS\n\n\n");

for(i=1;i<=2;i++) for(j=1;j<=2;j++)
{
printf("Masukkan nilai A%d%d = ", i,j); scanf("%d", &A[i][j]); } printf("\nMatriks A :\n"); for(i=1;i<=2;i++)
{
for(j=1;j<=2;j++)
printf("%3d", A[i][j]); printf("\n");
}
printf("\n");
for(i=1;i<=2;i++)
for(j=1;j<=2;j++) {
printf("Masukkan nilai B%d%d = ", i,j);
scanf("%d", &B[i][j]); }
printf("\nMatriks B :\n");
for(i=1;i<=2;i++) {
for(j=1;j<=2;j++)
printf("%3d", B[i][j]);
printf("\n"); }
printf("\n");
printf("\n\nWal-Hasil :\nMatriks C : \n\n");
for(i=1;i<=2;i++) {
for(j=1;j<=2;j++) {
jumlah=A[i][j]+B[i][j];
printf("%3d", jumlah); }
printf("\n");
}
}
Output:


3.Program Untuk Mengalikan Matriks
Algoritma:
1. inisialisasi M1[2][3],M2[3][2],M3[2][2]
2. inisialisasi i,j,k,l,m,n,a,b,c,d,hsl
3. melakukan proses looping i = 0, i <2
4. looping kembali dengan j = 0, j<3
5. lalu input m1[i][j]
6. lalu looping kembali dengan k = 0; k<3
7. looping kembali dengan l=0;l<2
8. input M2[k][l]
9. proses looping dengan m= 0;m<2
10. looping kembali dengan n =0;n<2
11. inisialisasi hsl=0
12. looping dengan a=-; a<3
13. d = M1[m][a]*M2[a][n]
14. hsl = hsl+d
15.M3[m][n] = d
16. looping kembali dengan b =0; b>2
17. looping dengan c=0;c<2
18. cetak M3[b][c]
19 cetak menurun("/n")
20. program selesai....

Flowchart:

Koding:
#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");
}
Output:

tugas day 13

1.Fibonacci
Algoritma:
- Masukkan bilangan sebagai batas berapa benyak deret barisan fibonanci yang kita inginkan.
- memberikan inisialisasi a=1 dan b=1.dimana a dan b terletak pada deret pertama dan kedua.
-* menghitung nilai u=a+b,kemudian nilai,kemudian menukar nilai a dengan nilai b dan nilai b Dengan nilai u.
- Kembali seperti proses sebelumnya menjumlahkan nilai dari u=a+b dan menukarkannya Lagi seperti pada(*).
- Mencetak hasilnya

Flowchart:

Koding:
#include
main()
{
int bil, i, a=1, b=1, c;

printf("Masukkan Jumlah deret fibonanci = ");
scanf("%d", &bil);

printf("%3d%3d", a, b);

for(i=2;i
{
c=a+b;
a=b;
b=c;
printf("%3d", c);
}


puts("\n");
}

Output:


2.Konversi Bilangan Biner ke Desimal
Algoritma:
-Masukkan bilangan binnermu
- Menghitunh jumlah bilangan biner yang dimasukkan.
- menghitung m= 2^x(x dimulai dengan angka 0).
X++
-menghitung z dengan cara Mengalikan karakter mulai dari paling akhir dengan
m.(z=m*karakter bil).
(Karakter bil --).
-Mengulangi langka ke-3 dan ke-4 .
- menjumlahkan samua hasil dari z(z=z1+z2……..+zn)
- Mencetak hasilnya.

Flowchart:

Koding:
#include
#include
int main(void)
{
int dec=0,flag=0.0;
int bin, bit;
double exp=0.0;

printf("masukkan bilangan BINER : ");
scanf("%d", &bin);
fflush(stdin);

while(bin)
{
bit=bin%10;
if (bit !=0 && bit !=1)
flag=1;

bin=bin/10;
dec=dec+bit*pow(2, exp);
exp++;
}

if(flag)
printf("\n+++ Maaf, Itu bukan Bilangan Biner !!! \n");
else
printf("\n+++ Bilangan DESIMALnya : %d\n", dec);

getchar();
return 0;

}
Output:

3.Konversi Bilangan Desimal ke Biner
Algoritma:
- Memasukkan bilangan decimal.
- Menghitung sisa hasil bagi bilangan dengan angka dua ,dimana dalam perhitunganya
Dilakukan terus sampai hasil bagi =1.
- Menggabungkan bilangan mulai dari hasil bagi yang terakhir,sisa hasil bagi terakhir
sampai sisa hasil bagi yang pertama secara berurutan.
- Mencetak hasilnya.

Flowchart:


Koding:
#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");
}

Output:

tugas day 11

1.Memilah Bilangan
Algoritma:

-Mendeklarasikan z=ribuan,y=ratusan,o=puluhan,v=satuan.

-Masukkan bilangan sesukamu kita simbolkan (w).

-Jika bilangan lebih dari 1000.maka hitung

x=w/1000;

z=x*1000;

y=(w%1000/100)*100;

o=(w%1000%100/10)*10;

v=w%1000%100%10;

-Jika bilangan lebih dari 100 ,maka hitung

x=w/100;

z=0;

y=x*100;

o=(w%100/10)*10;

v=w%100%10;

-Jika bilangan lebih dari 10,maka hitung

x=w/10;

o=x*10;

v=w%10;

-Cetak bilangan.


Flowchart:

Koding:
#include
main()
{
int bil,w,x,y,z;

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

printf("\nSetelah dipilah, Hasilnya = ");

w=bil/1000;
w=w*1000;
if(w!=0)
printf("%3d ", w);
x=(bil%1000)/100;
x=x*100;
if(x!=0)
printf("%3d", x);
y=(bil%100)/10;
y=y*10;
if(y!=0)
printf("%3d", y);
z=bil%10;
printf("%3d\n\n", z);
}

Output:


2.Membalik Kalimat
Algoritma:

- masukkan kalimat yang akan dibalik

- memberikan alokasi memory untuk kalimat tersebut dalam bentuk array.misal namanya

Asal[20] dan mengalokasikan untuk tempat kalimat yang sudah dibalik.misal balik[20].

- pada indeks terakhir array asal dimasukkan dalam indeks 0 pada array balik.

- Proses penukaran dilakukan terus dimana pada array asal indeksx selalu dikurangi 1

Sedangkan pada array balik indeksx selalu ditambah 1.penukaran dilakukan secara

Berurutan.

Flowchart:

Koding:
#include
main()
{
char kata1[64], kata2[64];
int p=0, i;

printf("Masukkan Kalimat = ");
fgets(kata1,sizeof kata1,stdin);

for(i=1;kata1[i];i++)
p++;

for(i=0;kata1[i];i++)
{
kata2[i]=kata1[p-i];
if(kata1[i]==kata1[p])
kata2[i+1]='\0';
}

printf("\n\nOutput = %s\n\n", kata2);
}
Output:


3.Membalik Bilangan
Algoritma:

- masukkan bilangan yang akan dibalik

- memberikan alokasi memory untuk kalimat tersebut dalam bentuk array.misal namanya

Asal[20] dan mengalokasikan untuk tempat kalimat yang sudah dibalik.misal balik[20].

- pada indeks terakhir array asal dimasukkan dalam indeks 0 pada array balik.

- Proses penukaran dilakukan terus dimana pada array asal indeksx selalu dikurangi 1

Sedangkan pada array balik indeksx selalu ditambah 1.penukaran dilakukan secara

Berurutan.

Flowchart:

Koding:
#include
main()
{
char bil1[64], bil2[64];
int p=0, i;

puts("Masukkan Bilangan = ");
fgets(bil1,sizeof bil1,stdin);

for(i=1;bil1[i];i++)
p++;

for(i=0;bil1[i];i++)
{
bil2[i]=bil1[p-i];
if(bil1[i]==bil1[p])
bil2[i+1]='\0';
}

printf("\n\nOutput = %s\n\n", bil2);
}
Output:


4. Palindrom
Algoritma:

- masukkan bilangan yang akan dibalik

- memberikan alokasi memory untuk kalimat tersebut dalam bentuk array.misal namanya

Asal[20] dan mengalokasikan untuk tempat kalimat yang sudah dibalik.misal balik[20].

- pada indeks terakhir array asal dimasukkan dalam indeks 0 pada array balik.

- Proses penukaran dilakukan terus dimana pada array asal indeksx selalu dikurangi 1

Sedangkan pada array balik indeksx selalu ditambah 1.penukaran dilakukan secara

Berurutan.

- Membandingkan antara asal dengan balik ,jika sama maka kalimat tersebut

palindrome,sedangkan jika tidak maka kalimat tersebut bukan termasuk palindrom

Flowchart:

Koding:
#include
main()
{
char kata1[64], kata2[64];
int p=0, i, a=0;

puts("Masukkan Kata = ");
fgets(kata1,sizeof kata1,stdin);

for(i=1;kata1[i];i++)
p++;

for(i=0;kata1[i];i++)
{
kata2[i]=kata1[p-i];
if(kata1[i]==kata1[p])
kata2[i+1]='\0';
}

for(i=0;kata1[i];i++)
if(kata1[i]==kata2[i+1])
a++;

if(p==a)
printf("\n\n%stermasuk PALINDROM\n\n", kata1);
else
printf("\n\n%sBUKAN PALINDROM\n\n", kata1);

}
Output:

Selasa, 15 Desember 2009

Tugas Ke-enam (day-10)

1.Program Kalkulator Sederhana
Algoritma:
  • Inisialisasikan kode pemrosesan yaitu 1 untuk proses penjumlahan, 2 untuk proses pengurangan, 3 untuk proses pembagian, dan 4 untuk proses perkalian.
  • Input 2 buah angka dan kode pemrosesan.
  • Tentukan proses dengan acuan kode pemrosesan.
  • Tentukan hasilnya.
  • Hasil adalah perhitungan hasil dari 2 angka dengan hasil proses sesuai kode.
  • Cetak hasil
  • End

Flowchart:

Koding:

#include
main()
{
int x1,x2,menu;

printf(" --------------------");
printf("| Program Kalkulator |");

printf(" --------------------");
printf("\nNama : M.Bagus Wirawa
n\tNRP :7409030055\n\n");

printf("Masukkan bilangan pertama : ");
scanf("%d",&x1);
printf("Masukkan bilangan kedua : ");
scanf("%d",&x2);
puts("\nMenu Matematika");

printf("\n1. Penjumlahan\n2. Pengurangan\n3. Pembagian\n4. Perkalian\n");
printf("\nMasukkan menu yang diinginkan : ");
scanf("%d",&menu);

switch(menu){
case 1:printf("%d + %d = %d\n",x1,x2,(x1+x2));break;
case 2:printf("%d - %d = %d\n",x1,x2,(x1-x2));break;
case 3:
printf("%d : %d = %d\n",x1,x2,(x1/x2));break;
case 4:
printf("%d x %d = %d\n",x1,x2,(x1*x2));break;
}
}

Output:


2.Program untuk menampilkan tumpukan bilangan
Algoritma:
  • Masukkan nilai maksimum bilangan.
  • Lakukan pengulangan untuk kolom dengan batas dari 1 hingga kurang dari sama dengan nilai maksimum bilangan.
  • Lalu lakukan pengulanan untuk baris dengan batas dari 1 hingga kurang dari sama dengan 2 kali pengulangan pertama dikurangi 1 untuk memperoleh bilangan ganjilnya.
  • Hasil adalah hasil dari pengulangan pertama dengan dibantu pengulangan kedua.
  • Cetak hasil
  • End
Flowchart:

Koding:

#include
main()
{
int a,i,j;

printf(" -------------------");
printf("| Tumpukan Bilangan |");
printf(" -------------------");

printf("\nNama : M.Bagus Wirawan\tNRP :7409030055\n\n");

printf("Masukkan bilangan maksimum =");
scanf("%d",&a);

for(i=1;i<=a;i++)
{ for(j=1;j<=(i*2)-1;j++)
{
printf("%4d",i);
}
printf("\n");
}
}

Output:



3.Program untuk menghitung hasil bilangan triangular
Algoritma:
  • Masukkan sebuah bilangan yang ingin dihitung.
  • Lakukan pengulangan dari input bilangan hingga lebih besar dari sama dengan input 1 dengan jumlah loop 1.
  • Lalu jumlahkan semua angka dari hasil pengulangan tersebut.
  • Hasil adalah jumlah dari semua angka pada pengulangan.
  • Cetak hasil
  • End

Flowchart:

Koding:

#include
main()
{

int i,b,c=0;

printf(" --------------------");
printf("| Program Triangular |");

printf(" --------------------");
printf("\nNama : M.Bagus Wirawan\tNRP :7409030055\n\n");

printf("Ma
sukkan jumlah triangular = ");
scanf("%d",&b);
for(i=b;i>=1;i--)
{
c+=i;
}


printf("\njumlah bola = %d\n\n",c);

}

Output: