Archive for the ‘C/C++’ Category

Skripsi Cryptography dengan Chaos System

Tuesday, March 3rd, 2009

Skripsi ini membahas mengenai cryptography dengan menggunakan chaos system. chaos theory adalah cabang ilmu matematika yang mempelajari tentang sistem yang sangat bergantung pada keadaan awal. Random number generator terbaik merupakan salah satu kebutuhan dalam merancang cryptosystem.

Gejolak alam adalah random number terbaik. Logistic function sebagai contoh sederhana sebuah chaotic system dipakai sebagai random number generator dalam dua cryptosystem yang dibahas dalam skripsi ini yaitu SimplyChaos-X2 dan MagicTable214.

Dengan melihat perbandingan antara beberapa cipher text dan plain text dan melakukan pembuktian matematis, dapat disimpulkan bahwa kedua cryptosystem bersifat unconditionally secure.
(more…)

Incoming search terms for the article:

UAP PBO saya

Monday, January 14th, 2008

Setelah kemaren Belajar UAP, neh sekarang saya kasih code UAP saya..
Seperti biasa C++ based. Harus di atas 95 nih..

[code='c++']
#include
#include
#include

constream o;

class kendaraan{
protected:
int jarak, kecepatan;
float waktu;
public:
kendaraan(){
jarak = kecepatan = 0;
waktu = 0;
}
void set_jarak(int a){ jarak = a; }
int get_jarak(){ return jarak; }
void set_kecepatan(int a){ kecepatan = a; }
int get_kecepatan(){ return kecepatan; }
float get_waktu();
~kendaraan(){}
};

float kendaraan::get_waktu(){
waktu =(float) jarak/kecepatan + jarak/100*0.1;
return waktu;
}

class mobil : public kendaraan{
int jenis;
long total;
public:
mobil(){
jenis = random(3);
total = 0;
}
long get_total();
char *get_jenis();
~mobil(){}
};

char *mobil::get_jenis(){
char *str = " ";
switch(jenis){
case 0:
strcpy(str, "Premium");
break;
case 1:
strcpy(str, "Pertamax");
break;
case 2:
strcpy(str, "Pertamax Plus");
break;
}
return str;
}

long mobil::get_total(){
switch(jenis){
case 0:
total = jarak/10 * 5000;
break;
case 1:
total = jarak/10 * 6000;
break;
case 2:
total = jarak/10 * 7000;
break;
}
return total;
}

char menu(){
o << "Menu Pilihan\n";
o << "1. Kendaraan\n";
o << "2. Mobil\n";
o << "3. Keluar";
return (char) getch();
}

void kend(){
kendaraan obj;
int jrk=0, kec=0;
o << "Kendaraan : \n";
do{
o << "Masukkan jarak tempuh [10..1000] : ";
cin >> jrk;
cin.sync(); cin.clear();
}while(jrk<10 || jrk>1000);
obj.set_jarak(jrk);
do{
o << "Masukkan kecepatan [1..100] : ";
cin >> kec;
cin.sync(); cin.clear();
}while(kec<1 || kec>100);
obj.set_kecepatan(kec);
o < < "Waktu : " << obj.get_waktu() << " jam";
getch();
}

void mobi(){
mobil anak[3];
int jrk=0, kec=0;
for(int i=0; i<3; ++i){
o << "Mobil ke-" << (i+1) << endl;
do{
o << "Masukkan jarak tempuh [10..1000] : ";
cin >> jrk;
cin.sync(); cin.clear();
}while(jrk<10 || jrk>1000);
anak[i].set_jarak(jrk);
do{
o < < "Masukkan kecepatan [1..100] : ";
cin >> kec;
cin.sync(); cin.clear();
}while(kec<1 || kec>100);
anak[i].set_kecepatan(kec);
o << "Waktu : " << anak[i].get_waktu() << " jam\n";
o << "Jenis : " << anak[i].get_jenis() << " menghabiskan Rp. " << anak[i].get_total() << "\n\n";
}
getch();
}

void main(){
randomize();

char tekan = '0';
tekan;

do{
o.clrscr();
tekan =(char) menu();
switch(tekan){
case '1':
o.clrscr();
kend();
break;
case '2':
o.clrscr();
mobi();
break;
}
}while(tekan != '3');
}
[/code]

Belajar UAP PBO

Sunday, January 13th, 2008

Nih buat yang males belajar buat UAP PBO, saya kasih cara bikin inheritance + array of class.
Klo mau dihapal silahkan, tapi sesuain dengan soal ya. Intinya InsyaAllah udah memenuhi kriteria untuk soal09D dari LAB.

Ga tau nih di Binus masih pake C++ aja buat pembelajaran PBO (OOP). Padahal bahasa yang lebih Object-Oriented kan ada beberapa. Sebut aja python, smalltalk, dan yang menurut gw paling keren… Ruby!!!
Loh kok jadi curhat gini, dah ah langsung aja, nih:

[code='c++']
#include
constream o;

//bikin class induk, inget data member jadiin protected
class induk{
protected:
char kata[16];
public:
void set_isi(char *isi){
strcpy(kata, isi);
}
char *get_isi(){
return kata;
}
int jum_vokal();
};

//ngitung jumlah vokal
int induk::jum_vokal(){
char vokal[] = "aiueoAIUEO";
int count=0;
for(int i=0; i if(strchr(vokal, kata[i]))
count++;
}
return count;
}

//bikin class anak turunan induk dgn atribut public
class anak : public induk {
public:
//rotate a char to left
void movel();
//rotate a char to right
void mover();
};

void anak::movel(){
char temp[17];
int i;
for(i=1; i temp[i-1] = kata[i];
}
temp[i-1] = kata[0];
temp[i] = 0;
strcpy(kata, temp);
}

void anak::mover(){
char temp[17];
int i;
for(i=1; i temp[i] = kata[i-1];
}
temp[0] = kata[i-1];
temp[i] = 0;
strcpy(kata, temp);
}

void main(){
//array of object dgn static allocation
induk mak;
anak k[2];
o.clrscr();

o << "Ini induk : ";
mak.set_isi("kiye mbok objek k[]");
o << "Jumlah vokal : " << mak.jum_vokal() << "\n\n";

o << "Ini anak pertama : " << endl;
k[0].set_isi("mbuh bae lah");
o << "Jumlah vokal : " << k[0].jum_vokal() << endl;
k[0].movel();
o << "Geser kanan : " << k[0].get_isi() << "\n\n";

o << "Ini anak kedua : ";
k[1].set_isi("mbuh maning bae");
o << "Jumlah vokal : " << k[1].jum_vokal() << endl;
k[1].mover();
o << "Geser ke kanan : " << k[1].get_isi();

getch();
}
[/code]

Incoming search terms for the article: