Sisyboy’s Weblog

Just another WordPress.com weblog

PROGRAM HILLS

#include<stdio.h>
#include<string.h>

main(){
int i,j,k,l,p, m, pilih, a,c, b,d, s1,s2,y1,y2;
char temp, sistem;
char z[40],key[40],hasil[40], A, B;
char huruf[26]={‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’,’K’,’L’,’M’,
‘N’,’O’,’P’,’Q’,’R’,’S’,’T’,’U’,’V’,’W’,’X’,’Y’,’Z’};

clrscr();

printf(” ==========================================================\n”);
printf(” = PROGRAM HILSS =\n”);
printf(” = =\n”);
printf(” = Neo Fajar Bawana Konta Dewa Danu =\n”);
printf(” = TEKNIK PERSANDIAN =\n”);
printf(” = =\n”);
printf(” ==========================================================\n”);
printf(“\n”);
sleep(2);
clrscr();
printf(” ___________________________________________________________\n”);
printf(“| |\n”);
printf(“| SELAMAT DATANG DI PROGRAM PENYANDIAN HILSS |\n”);
printf(“| 1. ENCRYPTION |\n”);
printf(“| 2. DECRYPTION |\n”);
printf(“| 3. EXIT |\n”);
printf(“|__________________________________________________________|\n”);
printf(“\n”);
printf(” masukkan menu pilihan anda:”);
scanf(“%d”,&pilih);
switch(pilih);
{
case1:
clrscr();
printf(” ====Selamat Datang di Program Digraf Encryption====\n “);
sleep(2);
printf(“\n”);
printf(“A.Sistem KS\n”);
printf(“B.Sistem KCTR\n”);
printf(“Pilih Sistem Sandi Yang Akan digunakan:\n”);
scanf(“%c”, &sistem);
switch(sistem);
{
case’A’:
printf(“ENTER KEY WORD (UPPER CASE LETTER) : “);
scanf(“%s”,key);
l = strlen(key);

for(i=0;i<l;i++)
for(j=i+1;j<l;j++){
if(key[i] == key[j]){
key[j]=’ ‘;
if(j+1<l){
m=j;
for(k=m+1;k<l;k++){
key[m]=key[k];
m++;
}
j–;
}
l-=1;
}
}

for(i=0;i<26;i++)
for(j=0;j<l;j++){
if(huruf[i]==key[j])
huruf[i]=’ ‘;
}

p = l;
for(i=0;i<26;i++){
if(huruf[i]!=’ ‘){
key[p]=huruf[i];
p++;
}
}
clrscr();
printf(“\n\n”);
printf(“HASIL PROSES KS: \n”);
printf(“\n”);

for(i=0;i<26;i++){
printf(“%c”,key[i]);
}

sleep(1);
printf(“\n\n”);
printf(“untuk persamaan y1\n”);
sleep(1);
printf(“masukkan nilai koefisien x1:”);
scanf(“%d”,&a);
printf(“\n”);
printf(“masukkan nilai koefisien x2:”);
scanf(“%d”,&b);
printf(“\n”);
printf(“masukkan nilai konstanta1:”);
scanf(“%d”,&s1);
printf(“\n”);
printf(“untuk persamaan y2”);
sleep(1);
printf(“\n”);
printf(“masukkan nilai koefisien x1:”);
scanf(“%d”,&c);
printf(“\n”);
printf(“masukkan nilai koefisien x2:”);
scanf(“%d”,&d);
printf(“\n”);
printf(“masukkan nilai konstanta2:”);
scanf(“%d”,&s2);
printf(“\n”);

for(i=0,j=i+1;i,j<26;i++,j++)
{
key[i]=key[i+1];
y1=(i*a+j*b+s1)%26;
y2=(i*c+j*d+s2)%26;
printf(“%c%c “, key[y1],key[y2]);}
break;

case’B’:
printf(“copy cepet”);
break;
}

case2:
printf(“maaf saya belum mengerti jadi maaf”);
break;
case3:
break;
}
getch();

}

May 6, 2008 Posted by | Pemrograman Neo | Leave a comment

PROSES LOOPING

PENGULANGAN DENGAN FOR

LOOP FOR

Loop adalah pengulangan perintah-perintah sampai mencapai keadaan tertentu. Turbo C mempunyai 3 jenis loop, yaitu :

  • for

  • while

  • do – while

Bentuk umum Loop For :

for (inisialisasi; syarat; penambahan) pernyataan;

Keterangan :

  • Inisialisasi adalah pernyataan untuk menyatakan keadaan awal dari variabel kontrol.

  • Syarat adalah ekspresi relasional yang menyatakan berhentinya pengulangan.

  • Penambahan menyatakan perubahan variabel kontrol setiap terjadi pengulangan. Setiap bagian harus dipisahkan oleh tanda titik koma.

Contoh :

main()

{

int i;

clrscr();

for (i=1; i <=5 ; i++) printf(“%d \n”,i);

getch();

}

Pada program tersebut :

Inisialisasi : i = 1

Syarat : i <= 5

Penambahan : i++ , artinya ditambah 1

Hasil :

1

2

3

4

5

OPERATOR PENAMBAH DAN PENGURANG

C mempunyai dua operator khusus yaitu penambah (++) dan pengurang (–), contoh :

i ++ sama dengan i = i + 1

i — sama dengan i = i – 1

Operator penambah dan pengurang dapat dituliskan di depan atau dibelakang, tetapi mempunyai arti yang berbeda. Jika operator diletakkan di depan, C akan melakukan penambahan atau pengurangan sebelum memakai nilai operator. Jika diletakkan di belakang, C akan memakai nilai operator lalu menambah atau mengurangi variabel.

Contoh :

x = 10 x = 10

y = ++x y = x++

hasil : 11 hasil : 10

Contoh :

main()

{

int i;

clrscr();

for (i=5; i > 0 ; i–) printf(“%d \n”,i);

getch();

}

Contoh :

#include <math.h>

main()

{

int i, kuadrat, jumlah;

float akar;

char garis[35] = “——————————-“;

clrscr();

printf(“Tabel Kuadrat dan Akar Kuadrat \n”);

printf(“%s\n”,garis);

printf(“Bilangan Kuadrat Akar Kuadrat\n”);

printf(“%s\n”,garis);

for (i=1; i<=10; i++)

{

kuadrat = i * i;

akar = sqrt(i);

printf(” %2d %3d %6.4f \n”,i,kuadrat,akar);

}

printf(“%s\n”,garis);

getch();

}

VARIASI LOOP – FOR

Kita dapat memakai beberapa variabel kontrol di dalam loop for,

contoh :

main()

{

int x,y;

clrscr();

for (x=0,y=0; x+y<=20; x++,++y) printf(“%d\n”,x+y);

getch();

}

Program di atas mencetak bilangan 0 sampai 20. Perhatikan pernyataan for di atas.

Inisialisasi : x=0, y=0

Syarat : x+y <= 20

Penambahan : x++, y++

Tanda koma dipakai untuk memisahkan dua pernyataan di dalam sebuah bilangan. Misalnya di bagian inisialisasi ada pernyataan x=0 dan y=0. Tanda koma berarti lakukan ini dan ini.

MENGHILANGKAN SEBUAH BAGIAN LOOP

Variasi lain adalah dengan menghilangkan salah satu bagian dari loop,

contoh :

main()

{

char ch;

clrscr();

printf(“Ketikkan karakter-karakter (z = stop) : \n”);

for (ch=’ ‘; ch!=’z’; ) ch=getche();

}

Pada program di atas, Anda diminta untuk mengetikkan karakter-karakter dan program akan berhenti jika Anda mengetikkan huruf ‘z’.

LOOP TAK HINGGA

Loop tak hingga dibuat dengan menghilangkan bagian syaratnya,

contoh :

main()

{

char ch;

clrscr();

printf(“Ketikkan karakter-karakter : \n”);

for (ch=’ ‘; ; ) ch=getche();

}

Program tersebut meminta Anda mengetikkan sebuah huruf dan tidak akan berhenti. Untuk menghentikannya tekan tombol CTRL + BREAK

LOOP TANPA PERNYATAAN

Loop tanpa pernyataan dipakai untuk menunggu. Semakin banyak pengulangan, semakin lama menunggu.,

contoh :

main()

{

int t,x;

clrscr();

printf(“Berapa kali loop Anda akan menunggu : \n”); scanf(“%d”,&x);

for (t=0 ; t<x ; t++ ) ;

}

LOOP BERSARANG

Perhatikan contoh program berikut :

main()

{

int i,j;

clrscr();

for (i=1 ; i <= 3 ; i++)

{

for (j=1 ; j <= 5 ; j++ ) printf(“*”);

printf(” \n”);

}

getch();

}

Dari contoh tersebut dapat kita simpulkan bahwa variabel i menyatakan baris dan variabel j menyatakan kolom.

PENGULANGAN DENGAN WHILE DAN DO-WHILE

LOOP WHILE

Bentuk umum :

while (syarat) pernyataan;

Pernyataan pada loop while dapat berupa sebuah pernyataan atau blok pernyataan atau pernyataan kosong. Pernyataan akan diulang selama syarat benar,

contoh :

main()

{

int i;

clrscr();

i=1;

while (i <= 5)

{

printf(“STI&K\n”);

i=i+1;

}

getch();

}

Loop while menyatakan bahwa pengulangan akan dilakukan terus selama syarat terpenuhi.

LOOP DO WHILE

Loop for dan while akan mengecek syarat pengulangan pada awal loop. Loop do-while mngecek syaratnya pada akhir pengulangan. Loop do-while akan selalu dikerjakan minimal sekali. Loop do-while menyatakan bahwa pengulangan akan dilakukan selama syarat terpenuhi.

Bentuk umum :

do

{

statemen;

statemen;

} while (syarat)

Bentuk umum untuk loop do-while adalah pada rutin pemilihan menu, sebab menu selalu dikerjakan minimal sekali,

contoh :

main()

{

int no_menu;

do

{

clrscr();

printf(“\n Menu Hari Ini “);

printf(“\n ——————“);

printf(“\n 1. Nasi Goreng “);

printf(“\n 2. Nasi Soto Ayam “);

printf(“\n 3. Gado-Gado “);

printf(“\n 4. Bubur Ayam “);

printf(“\n\n Masukkan pilihan Anda…! (0 = Selesai) “);

scanf(“%d”,&no_menu);

switch (no_menu)

{

case 1 :

printf(“\n Nasi Goreng Rp. 5000,-“);

break;

case 2 :

printf(“\n Nasi Soto Ayam Rp. 6000,-“);

break;

case 3 :

printf(“\n Gado-Gado Rp. 4000,-“);

break;

case 4 :

printf(“\n Bubur Ayam Rp. 3500,-“);

break;

case 0 :

printf(“\n Selesai.. Terima kasih..!”);

break;

default :

printf(“\n\n Pilihan Anda Salah…!”);

}

getch();

}while (no_menu != 0);

}

May 6, 2008 Posted by | Pemrograman Neo | Leave a comment