Senin, 20 Mei 2013

KOMBINASI DAN PERMUTASI DENGAN CLASS


#include <cstdlib>
#include <iostream>

using namespace std;

class madis{
public:
void pilih();
void permutasi();
void kombinasi();
int fak(int n);

private:
int q[100];

};

void madis::pilih(){

PERMUTASI & KOMBINASI


#include <cstdlib>
#include <iostream>

using namespace std;
class matdis{

Senin, 18 Maret 2013

IRISAN DAN GABUNGAN

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

using namespace std;
   
    int main(){
   
//array a dan b masing-masing memesan memori sebanyak 20 alamat
int i, j, a[20], b[20], banyakA, banyakB;               
   
cout<<"IRISAN & GABUNGAN 2 HIMPUNAN\n";
cout<<"============================\n\n";
cout<<"Masukkan banyaknya anggota himpunan A : ";
cin>>banyakA;
   

Kamis, 23 Agustus 2012


Once upon a time, there was a fisherman lived in a North Sumatra. Don’t ask me the year, all I know it was a very long time before you were born. When he was fishing in a river, a big fish was nailed. This fish had gold color all over its body. It was beautiful. The fisherman was very excited. He imagined a delicious dinner in his head. He put the fish in his basket and went home happily.

When he got home, he put the fish in a sink. He grabbed a knife to kill the fish. But when he almost killed it, he saw the fish eyes and felt pity. He took the knife away and put the fish in washbasin and added water in it. “Don’t worry, I wouldn’t kill you” the fisherman said.

The fisherman went fishing again. But this time he couldn’t get any fish. He went home with nothing in his hand. His stomach started to sing. He walked home slouching. He was surprised when he saw smoke came out from his kitchen.

“Who cooked in my kitchen?” he confused.

He took a peep and surprised when he saw a beautiful girl cooked in his house. “Why there’s a girl in my kitchen?” he confused.

The fisherman entered the room. “Who are you?” he asked the girl.

“I’m the fish.” The girl said.

The fisherman looked the washbasin and saw nothing in it. “The fish?” he asked incredulous.

“Yes. You didn’t kill me and I’m very thankful. I will return your kindness.” The girl said.

“That’s ok. I didn’t ask any return” the fisherman said.

“But I have to.”The girl insisted.

“Well, I lived alone. I don’t have family. If you want to be my wife, I will be very happy.” The fisherman asked the girl.

The girl smiled and said “I’d love to but you have to promise me that if we have kid you can’t tell him about me.”

And so, the fisherman and the fish girl were married. And then they had a child called Samo. Samo was very naughty. He couldn’t be advisable. He always played and never helped his parents.

One day Samo was asked to deliver lunch to his father. On his way, he met his friends and forgot to deliver his father’s lunch. Samo played with his friends. When he was tired and hungry, he was resting under a tree and ate his father lunch. Meanwhile his father waited him in starve and tired. His father went home and saw Samo played. “Where is my lunch?” he asked.

“Mmm…mm.. I ate it” Samo said afraid.

“Why you ate it?” his father asked.

“Mmm..mm.. I was hungry after playing with my friend” Samo said.

“You were told to deliver my lunch but you didn’t listen.” his father was very furious. “I can’t handle you anymore. You are very naughty. Go away from me. Don’t come home anymore.” His father yelled and evicted Samo from his house.

And this what happened if you can’t control your mouth when you angry. His father said the words that he wouldn’t suppose to say. “You… fish’s son.”

Suddenly, the sky was getting dark. The storm was breaking the ears. The rain felt from the sky like giant hose sprayed water all over the place. And then the water came out from the land and getting harder.

Sumo’s mother was very sad. “I told you don’t tell him about me” she said to her husband. “Now I’m going back to be fish again. Good by” the mother was transformed magically to be gold fish again and disappear through the water. The water was getting higher and drown the village and formed a lake.

Meanwhile, sumo run to the hill and stayed there. The hill then was surrounded by the lake.

Now the lake was known as Toba Lake. Toba came from Tuba word means no mercy. And the hill in the middle called Samosir Island. Samosir means ‘Samo di usir’ or in English : Samo have been evicted.
This is just a legend, there were so many versions of the name’s story. You can’t tell which one is really true.

Senin, 04 Juni 2012

CARI KATA

#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>

using namespace std;

void FailureFunction(char P[], int F[],int m){
    int i,j;
    F[0]=0;    //  assignment is important!
    j=0;
    i=1;
    while(i<m){ // that i is less than the length of pattern
        if(P[i]==P[j]){
            F[i]=j+1;
            i++;
            j++;
        }else if(j>0){
            j=F[j-1];
        }else {
            F[i]=0;
            i++;
        }
    }
}

int KMP(char T[], char P[]){
    int i,j,F[100];    // the maximum size of Pattern String
    int m=strlen(P);
    int n=strlen(T);
    FailureFunction(P,F,m);
    i=0;
    j=0;
    while(i<n){
        if(T[i]==P[j]){
            if(j==m-1)
                return i-j; // means, in (i-j)th position, there is a match occur
            else{
                i++;
                j++;
            }
        }else if(j>0){
            j=F[j-1];
        }else{
            i++;
        }
    }
    return -1; // No match found
}


int main(int argc, char *argv[])
{
    //freopen("in.txt","rt",stdin);
    //freopen("out.txt","wt",stdout);

    char T[1000],P[100];
   
    cout<<"teks"<<" = ";
   

    while(gets(T)){
 cout<<"pola"<<"=";
        gets(P);
        int pos=KMP(T,P);
        if(pos!=-1)
            cout<<" terdapat pada posisi ke- "<<pos<<endl;
        else
            cout<<"tidak ketemu"<<endl;

    }

    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 07 Mei 2012

PSEUDO-CODE ALGORITMA PRIM

#include <cstdlib>
#include <iostream>

using namespace std;

class prims
{
private:
int n; //no of nodes
int graph_edge[250][4]; //edges in the graph
int g; //no of edges in the graph
int tree_edge[250][4]; //edges in the tree
int t; //no of edges in the tree
int s; //source node
//Partition the graph in to two sets
int T1[50],t1; // Set 1
int T2[50],t2; // Set 2
public:
void input();
int findset(int);
void algorithm();
void output();
};
void prims::input()
{
cout<<"*************************************************\n"
<<"This program implements the prims algorithm\n"
<<"*************************************************\n";
cout<<"Enter the no. of nodes in the undirected weighted graph ::";
cin>>n;
g=0;
cout<<"Enter the weights for the following edges ::\n";
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
cout<<" < "<<i<<" , "<<j<<" > ::";
int w;
cin>>w;
if(w!=0)
{
g++;
graph_edge[g][1]=i;
graph_edge[g][2]=j;
graph_edge[g][3]=w;
}
}
}
// print the graph edges
cout<<"\n\nThe edges in the given graph are::\n";

for(int i=1;i<=g;i++)
cout<<" < "<<graph_edge[i][1]
<<" , "<<graph_edge[i][2]
<<" > ::"<<graph_edge[i][3]<<endl;
}
int prims::findset(int x)
{
for(int i=1;i<=t1;i++)
if(x==T1[i])
return 1;
for(int i=1;i<=t2;i++)
if(x==T2[i])
return 2;
return -1;
}
void prims::algorithm()
{
t=0;
t1=1;
T1[1]=1; //The source node
t2=n-1;
int i;
for(i=1;i<=n-1;i++)
T2[i]=i+1; //The reamining nodes
cout<<"\n*****The algorithm starts*****\n\n";
while(g!=0 && t!=n-1)
{
// Find the least cost edge
int min=9999;
int p;
int u,v,w;
for(i=1;i<=g;i++)
{
bool flag1=false,flag2=false;
//if u and v are in different sets
if(findset(graph_edge[i][1])!=findset(graph_edge[i][2]))
{
if(min>graph_edge[i][3])
{
min=graph_edge[i][3];
u=graph_edge[i][1];
v=graph_edge[i][2];
w=graph_edge[i][3];
p=i;
}
}

//break if there is no such edge
cout<<"The edge included in the tree is ::";
cout<<" < "<<u<<" , "<<v<<" > "<<endl;
//delete the edge from graph edges
for(int l=p;l<g;l++)
{
graph_edge[l][1]=graph_edge[l+1][1];
graph_edge[l][2]=graph_edge[l+1][2];
graph_edge[l][3]=graph_edge[l+1][3];
}
g--;
//add the edge to the tree
t++;
tree_edge[t][1]=u;
tree_edge[t][2]=v;
tree_edge[t][3]=w;
//Alter the set partitions
t1++;
int m;
if(findset(v)==2)
{
T1[t1]=v;
m=v;
}
else if(findset(u)==2)
{
T1[t1]=u;
m=u;
}
int x;
for(x=1;T2[x]!=m;x++);
for(;x<t2;x++)
T2[x]=T2[x+1];
t2--;
// Print the sets
int k;
cout<<"NOW\nT1 :: ";
for(k=1;k<=t1;k++)
cout<<T1[k]<<' ';
cout<<endl;
cout<<"T2 :: ";
for(k=1;k<=t2;k++)
cout<<T2[k]<<' ';
cout<<endl;
cout<<"The graph edges are ::\n";
for(i=1;i<=g;i++)
cout<<" < "<<graph_edge[i][1]
<<" , "<<graph_edge[i][2]
<<" > ::"<<graph_edge[i][3]<<endl;
cout<<endl<<endl;
}
}
}
void prims::output()
{
cout<<"\nThe selected edges are ::\n";
for(int i=1;i<=t;i++)
cout<<" < "<<tree_edge[i][1]
<<" , "<<tree_edge[i][2]
<<" > ::"<<tree_edge[i][3]<<endl;
}

int main(int argc, char *argv[])
{prims obj;
obj.input();
obj.algorithm();
obj.output();
    system("PAUSE");
    return EXIT_SUCCESS;
}

Kamis, 29 Maret 2012

1. Tampilan Daftar Kelompok (Awal)
<html>
<head>
</head>
<body>
<table align="center" width="100%" border="4" height="100%">
<tr align="center">
<td colspan="3">
<center><IMG SRC="Penguins.jpg" width="500px" heigth="1600px"></center>
</td>
</tr>
<tr align="left"><td><br /><b>BIODATA KELOMPOK</b>
<br />NAMA : BAYU P.09018194
<br />NAMA : WAWAN R.W.
<br />NAMA : ASWINDA A.R. 09018179
</td>
<td>
</td>
<td><a href="index.html">Hal 1</a>
<br /><a href="hal2.html">Hal 2</a>
<br /><a href="hal3.html">Hal 3</a>
</td>
</tr>
<tr align="center">
<td colspan="3">
</td>
</tr>
</table>
</body>
</html>
Halaman Awal
2. Halaman Pertama
<html>
<head>
<title>Tugas P.Web 1</title>
</head>
<body>
<a href="">Home</a>
<a href="">Profile</a>
<a href="">About</a>
<h1>Digital SIgnature</h1>
<P>Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
</body>
</html>
3. Halaman Yang dapat Menuju ke halaman bawah
<html>
<head>
<title>Tugas P.Web 1</title>
</head>
<body>
<a href="index.html">Hal 1</a>
<a href="hal2.html">Hal 2</a>
<a href="hal3.html">Hal 3</a>
<br />
<a href="#bottom">Bottom</a>
<br />
<h3>Digital Signature</h3>
<P id="#top">
Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
<P>Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
<P>Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
<P>Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
<P>Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
<P id="bottom">
Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan.
<br /> Digital Signature memiliki fungsi sebagai penanda pada data yang memastikan bahwa data tersebut adalah
<br /> data yang sebenarnya (tidak ada yang berubah). Dengan begitu, Digital Signature dapat memenuhi
<br />setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
<br />Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci publik dan
<br /> kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan
<br /> untuk mendekripsi data. Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
<br /> Message Digest dienkripsi oleh kunci publik menjadi Digital Signature.
<br />Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah diubah oleh
<br /> pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang ada tidak akan
<br /> bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity.
<br />Artinya adalah, keaslian data dapat terjamin dari perubahan-perubahan yang dilakukan pihak luar.
<br />Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya.
<br /> Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat
<br /> dipastikan bahwa pengirim adalah pemegang kunci privat yang sama. Ini berarti Digital Signature
<br />memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
</P>
<br />
<a href="#top">Top</a>
<br />
</body>
</html>
4. Halaman Pengunjung
<html>
<head>
<title>Tugas P.Web 1</title>
</head>
<body>
<a href="index.html">Hal 1</a>
<a href="hal2.html">Hal 2</a>
<a href="hal3.html">Hal 3</a>
<br/>
<form action="" method="">
<label>Nama</label>
<input type="text" />
<br>
<label>Alamat</label>
<input type="text" />
<br>
<label>Telp</label>
<input type="text" />
<br>
<input type="submit" value="Save" />
</form>
</body>
</html>