Minggu, 03 Juli 2011

Fungsi untuk menukar nilai dari dua variabel

program yang menggunakan sebuah fungsi untuk menukar nilai dari dua variabel, untuk menukar dua variabel diperluka sebuah tempat kosong untuk memenuhi sebuah langkah penukaran. penerapan secara logika kita akan menukar isi dari dua buah galon air (galon a dan galon b) maka kita akan membutuhkan satu buah galon kosong sebagi perantara untuk menukar isi dari galon yang akan ditukar isinya, isi galon a kita masukan ke galon kosong maka galon a yang kosong kita isi dengan isi galon b, setelah itu kita pindah isi galon kosong yang sudah terisi dari galon a tadi ke dalam galon b yang sudah kosong. dengan begitu isi antara galon a dan b sudah tertukar.
algoritma:
deklarasi
tempat : integer
deskripsi
tempat = nilai a
nilai a = nilai b
nilai b = tempat
SOURCE CODE
#include <iostream.h> 
void tukar(int *a, int *b)
{
int tempat;
tempat = *a;
*a = *b;
*b = tempat;
}
main(){
int a =3, b=5;
cout<<”Sebelum ditukar\n”;
cout<<”Isi NIlai1 = “<<a<<endl;
cout<<”Isi Nilai2 = “<<b<<endl;
tukar(&a,&b);
cout<<”Sudah ditukar\n”;
cout<<”Isi NIlai1 = “<<a<<endl;
cout<<”Isi NIlai2 = “<<b<<endl;
return 0;
}

(C++) program to select a day monday-week

program to display the day that we choose the input numbers, For example input 1 it will display the day “Monday”.program switch – case. good luck,.,.
in algorithm:
switch (hari_ke) memilih nomer atau angka hari
case 1:  hari = “Senin”; break;
case 2:  hari = “Selasa”;break;
case 3:  hari = “Rabu”;  break;
case 4:  hari = “Kamis”; break;
case 5:  hari = “Jum’at”;break;
case 6:  hari = “Sabtu”; break;
default: hari = “Minggu”;break; 
write (hari_ke) “hari…”
end;
SOURCE CODE
#include <iostream.h>
#include <conio.h>
class Kalender {
friend ostream& operator<<(ostream&, Kalender&);
friend istream& operator>>(istream&, Kalender&);
public:
Kalender() {};
void adalah();
private:
int hari_ke;
char *hari;
}; 
void Kalender::adalah() {
switch (hari_ke) {
case 1:  hari = “Senin”; break;
case 2:  hari = “Selasa”;break;
case 3:  hari = “Rabu”;  break;
case 4:  hari = “Kamis”; break;
case 5:  hari = “Jum’at”;break;
case 6:  hari = “Sabtu”; break;
default: hari = “Minggu”;break;
}
}
istream& operator>>(istream& in, Kalender& masukan) {
cout << “Masukkan hari ke-”;
in >> masukan.hari_ke;
return in;
}
ostream& operator<<(ostream& out, Kalender& keluaran) {
out << “Hari ke- ” << keluaran.hari_ke  << ” adalah “
<< keluaran.hari << endl;
return out;
}
main() {
Kalender tanggal;
cin >> tanggal;
tanggal.adalah();
cout << tanggal;
getch();
return 0;
}

(C++) determining leap years

program for determining a leap year or not. we input a value of which will be processed for the specified year leap year or not, where the leap year is the year that can be divisible by 4 until the end of the value 0. good luck,….
algoritma:
year=y
if (y mod 4)= 0
write “y adalah tahun kabisat”
else
write “y bukan tahun kabisat”
end;
SOURCE CODE
#include <iostream.h>
#include <string.h>
#include <conio.h> 
class Kabisat
{
private:
int l;
char tahun[4];
public:
Kabisat();
void hitungKabisat();
friend istream &operator >> (istream &in, Kabisat &);
friend ostream &operator << (ostream &out, Kabisat &);
};
Kabisat::Kabisat(){
cout << “MENENTUKAN TAHUN KABISAT” << endl;}
void Kabisat::hitungKabisat()
{
if ( l % 4 != 0)
strcpy(tahun,”Bukan Tahun kabisat”);
else
strcpy(tahun,”adalah tahun kabisat”);
}
istream &operator >> (istream &in, Kabisat &masukan)
{
cout<<”Memasukan tahun : ” ;
in>>masukan.l;
return in;
}
ostream &operator << (ostream &out, Kabisat &tampil)
{
tampil.hitungKabisat();
out << tampil.l << “  “<< tampil.tahun << endl;
return out;
}
int main()
{
Kabisat x;
cin >> x;
cout << x;
system (“pause”);
return EXIT_SUCCESS;
}

Calculate the number of (C++)

program untuk menghitung jumlah bilangan deret n dimana n inputan. contoh input 5 makan akan menghasilkan deretan 0 sampai 5, yaitu 0+1+2+3+4+5  akan menghasilakan 15, program penggunaan for. selamat mencoba,…
dalam algoritma ;
deklarasi
i,jumlah
deskripsi
read (n) {maka akan menjumlah sampai suku ke-n}
jumlah = 0 {dimana nilai awal dari penjumlahan dimulai dari 0 sampai ke-n}
for= 1 to n do
jumlah= jumlah + i
write (jumlah)
end;
SOURCE CODE
#include<iostream.h>
main(){
int n, jumlah=0;
cout<<”sampai berapa suku ?= “;cin>>n;
for (int i=0; i<=n; i++)
jumlah +=i;
cout<<”jumlah deret sampai : “<<n<<” suku = “<<jumlah;
return 0;
}

Program untuk membuka file (C++)

program untuk membuka sebuah file,.
program ini bisa dikatakan lawanya program yang sudah saya posting seblumnya yaitu program untuk membuat file baru,tp yang sekarang saya berikan adalah untuk menampilkan file yang sudah kita buat.
untuk menampilkan sebuah file kita harus menulisakan nama dan tipe file tersebut dengan benar sesuai dengan yang ingin kita tampilkan,contoh :filein.open(“file.txt”) ,berati kita akan menampilkan sebuah file dengan nama “file” yang bertype “txt”.
langsung saja dibawah ini contoh programnya:
SOURCE CODE
#include < cstdlib >
#include < iostream >
#include < fstream >
using namespace std;
int main(int argc, char *argv[])
{
ifstream filein;
filein.open(“file.txt”);
int nilai[10];
for(int i=0; i>nilai[i];
cout<<”Nilai ke- “<<i+1<<”\t:”<<nilai[i]<<endl;
}
filein.close();
system(“PAUSE”);
return EXIT_SUCCESS;
}

Program untuk membuat file dan inputnya (C++)

program untuk membuat file dan inputnya,.
program ini akan menghasilkan sebuah file type text dengan nama “file”
(untuk nama file dan type file bisa dirubah sesuai keinginan)
fileout.open(“file.txt”) code ini akan mengeluar kan file baru atau membuat file baru dengan nama “file”dengan type data “txt”
dan kita bisa langsung mengisikan atau memberi nilai dalam file tersebut
langsung saja ini contoh programnya:
SOURCE CODE
#include < cstdlib >
#include < iostream >
#include < fstream >
#include< conio.h>
using namespace std;
int main(int argc, char *argv[])
{
int nilai;
ofstream fileout;
fileout.open(“file.txt”);
for(int i=0; i<10; i++){
cout<<”data ke – “<<i+1<”;
cin>>nilai;
fileout<<nilai<<endl;
}
fileout.close();
system(“PAUSE”);
return EXIT_SUCCESS;
}

Penggunaan fungsi string & array penjumlahan matriks

STRING
String adalah kumpulan beberapa karakter atau array dari karakter. String dan
karakter dibedakan cara penulisannya. String ditulis dengan diapit oleh tanda petik
ganda “ … “ , dan karakter ditulis dengan diapit oleh tanda petik tunggal ‘ … ‘
Akhir dari string ditunjukkan oleh NULL karakter. Semua fungsi yang
digunakan untuk melakukan manipulasi terhadap string menganggap string diakhiri
dengan null. Karakter null direpresentasikan dengan tanda ‘ ‘.
contoh program:
Fungsi strcpy()untuk Menyalin Nilai StringBentuk pemakaian : \#include <string.h>strcpy(tujuan, asal);\
#include <stdio.h>
#include <string.h>
#define MAKS 10
main()
{
char str1[MAKS];
char str2[]=”123456789″;
strcpy(str1, str2);
printf(“String: %s\n”, str1);
printf(“copy String: %s\n”, str2);
}

Fungsi strlen()untuk Mengetahui Panjang Nilai String
Bentuk pemakaian :#include <string.h>strlen(var_string);
#include <stdio.h>
#include <string.h>
main()
{
char nama[] = “PengQy”;
printf(“Panjang string = %d karakter\n”, strlen(nama));
}

Fungsi strcat()untuk Menggabung Nilai String
Bentuk pemakaian : #include <string.h>strcat(tujuan, sumber);
#include <stdio.h>
#include <string.h>
#define PJG 15
main()
{
char str1[PJG], str2[PJG];
strcpy(str1, “Belajar “);
strcpy(str2, “string”);
strcat(str1, str2);
printf(“%s\n”, str1, str2);
}

Fungsi strcmp()untuk Membandingkan Dua Nilai String
Bentuk pemakaian : #include <string.h>strcmp(str1, str2);
#include <stdio.h>
#include <string.h>
main()
{
char str1[]=”HALO”;
char str2[]=”Halo”;
char str3[]=”HALO”;
printf(“Hasil pembandingan %s dengan %s = %d\n”, str1, str2, strcmp(str1, str2));
printf(“Hasil pembandingan %s dengan %s = %d\n”, str2, str1, strcmp(str2, str1));
printf(“Hasil pembandingan %s dengan %s = %d\n”, str1, str3, strcmp(str1, str3));
}

Fungsi strchr()untuk Mencari Nilai Karakter dalam String
Bentuk pemakaian : #include <string.h>strchr(var_string, kar);
#include <stdio.h>
#include <string.h>
main()
{
char str[]=”PENGqIE”;
char *hasil1,*hasil2;
hasil1 = strchr(str, ‘G’);
hasil2 = strchr(str, ‘X’);
printf(“Dari string PENGqIE \n”);
printf(“Mencari karakter G = %s\n”, hasil1);
printf(“Mencari karakter X = %s\n”, hasil2);
}

ARRAY
Adalah sekelompok data yang sejenis yang disimpan didalam memori secara berurutan
dengan sebuah nama variable, dan untuk membedakan antara 1 data dengan data yang
lainnya digunakan index.
Array 2 dimensi penjumlahan matriks
#include <stdio.h>
#include <conio.h>
void main()
{ int A[2][2], B[2][2], X[2][2], Y[2][2], C[2][2], i, j;
clrscr();
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
{ printf(“input data matrik A[%i][%i] : “,i+1,j+1);
fflush(stdin);scanf(“%i”,&A[i][j]);}
}
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
{ printf(“input data matrik B[%i][%i] : “,i+1,j+1);
fflush(stdin);scanf(“%i”,&B[i][j]);}
}
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
{ X[i][j]=A[i][j]+B[i][j];}
}
printf(“\n matrik A\n”);
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
printf(“%6i”,A[i][j]);
printf(“\n”);
}
printf(“\n”);
printf(“\n matrik B\n”);
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
printf(“%6i”,B[i][j]);printf(“\n”);
}
printf(“\n”);
printf(“\n matrik penjumlahan A+B\n”);
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
printf(“%6i”,X[i][j]);printf(“\n”);}
printf(“\n\n”);
getch();
}
semoga bermanfaat.,.,..

Merubah array 1 dimensi menjadi 2 dimensi

merubah array 1dimensi menjadi 2dimensi
misalkan terdapat sebuah array 1dimensi sebagi berikut:
A[9];
Dan disediakan array 2dimensi sebagai berikut B[3][3], diharapkan array A dapat dikopy kedalam array B. seperti gambar dibawah:
untuk menghasilkan ilustrasi seperti gambar diatas dimana array 1dimensi masuk kedalam array 2 dimensi, berikut ilustrasi gambar prosesnya:
Dalam program C++, SOURCE CODE:
#include <stdio.h>
void main(){
char A[3][3];
char B[9]={‘A’,'B’,'C’,'D’,'E’,'F’,'G’,'H’,'I’};
int n=0;
for (int i=0;i<3;i++){
for (int j=0;j<3;j++){
A[i][j]=B[n];
n++;
}
}
for (i=0;i<3;i++){
for (int j=0;j<3;j++){
printf(“%c”,A[i][j]);
}
printf(“\n”);
}
}
selamat mencoba,semoga bermanfat,..

Sabtu, 02 Juli 2011

Enkripsi dan Deskripsi dalam Kriptografi

Enkripsi adalah sebuah proses yang melakukan perubahan sebuah kode yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca). Enkripsi dapat diartikan sebagai kode atau chiper. Sebuah chiper mengunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unintelligible). Karena teknik chiper merupakan suatu system yang telah siap untuk di automasi, maka teknik ini digunakan dalam system keamanan computer dan jaringan.
Sedangkan Deskripsi adalah sebuah proses mengembalikan hasil dari sebuah chiper ke kode awal atau data awal yang di  masukkan.
Plainteks -> Enkripsi -> Chiperteks -> Deskripsi -> Plainteks awal
contoh plainteks : uang disimpan di balik buku
contoh chiperteks : jdke aldjfdaj oe qtwey cvbn
Jadi Chiper adalah teknik substitusi setiap karakter dengan karakter lain dalam alphabet.
contoh :
C = chiperteks
P = plainteks
K = key
P : A B C D . . . . Z
C : D E F G . . . . C (digeser 3)
jadi
P : rahasia
C : udkdvld (k = 3)
Algoritma.


  • Enkripsi
    Algoritma Mencetak enkripsi
    Deklarasi :
    plain, chiper            : string
    key,i                        : Integer
    Deskripsi :
    read ( key, plain)

    for i=0 to strlen(plain) do
                 chiper[i] <= (plain[i]+key) mod 128;
                 end for
    write (chiper)
  • Deskripsi
    Algoritma Mencetak deskripsi
    Deklarasi :
    chiper, teks             : string
    key,i                        : Integer
    Deskripsi :
    read ( key, chiper)

    for i=0 to strlen(chiper) do
                 teks[i] <= (chiper[i] - key) mod 128;
                 end for
    write (teks)


contoh program enkripsi deskripsi
#include <cstdlib>
#include <iostream>
#include <string.h>
#define maks 500

using namespace std;
class Enkripsi{
public:
Enkripsi();
void enkripsi();
void deskripsi();
void output();
private:
char chiper[maks];
int key;
char plain[maks];

};

Enkripsi::Enkripsi(){
cout<<"Masukkan kata : ";
cin.getline(chiper,sizeof(chiper));
cout<<"Masukkan key  : ";
cin>>key;
cout<<endl;
}

void Enkripsi::enkripsi(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i]<<"("<<int(chiper[i])<<") ";
chiper[i] = (chiper[i]+key)%128;
}
}

void Enkripsi::deskripsi(){
for(int i=0;i<strlen(chiper);i+=1){
plain[i] = (chiper[i]-key)%128;
chiper[i] = plain[i];
}
}

void Enkripsi::output(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i];
}
}

int main(int argc, char *argv[])
{
Enkripsi Deskripsi;
Deskripsi.enkripsi();
cout<<"\n\nSetelah diEnkripsi : ";
Deskripsi.output();
Deskripsi.deskripsi();
cout<<"\n\nKembali diDeskripsi : ";
Deskripsi.output();

cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}


Algoritma dan Program Graf

Algoritma untuk mencari pertemuan simpul (graf)
Deklarasi :
procedure DLS (input v: Point, level:integer)

kamus
w: point
q: antrian

Deskripsi :

write(v)
dikunjungi[v] ← true {array untukmenampungsimpul yang sudahdikunjungi}
level ß 1
whilenot level > 5 do
{ kunjungisemuasimpul di level 1,panggl algoritma DFS}
if A[v,w] = 1 then {simpul v dansimpul w bertetangga}
if notdikunjungi[w] then
DLS(w, level)
endif
endif
 level ßlevel +1
endwhile



 Program :


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


int main(){
int i,j,n;
char a[10];
cout<<"Program Pertemuan Simpul Graf\n";
cout<<"Banyak simpul: ";
cin>>n;
          
for(i=0;i<n;i++){
cout<<"Simpul ke-"<<i+1<<" : ";
cin>>a[i];}         
            
cout<<"Hasilnya : ";
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
cout<<a[i]<<a[j];
cout<<", ";}}
getch();
return 0;}