Belajar C

////////////
///
///         –    tutorial
///
///
////////////

Pada tutorial ini, diberikan penjelasan singkat tentang tipe data di C, dasar-dasarnya, dan kita juga akan membuat program sederhana yang berguna untuk mengenkripsi suatu pesan.

1.Tipe data

Tipe data di C, seperti pada bahasa2 lainnya, ada:

Tipe bilangan bulat yg sering digunakan:

– int

-long int

Tipe bilangan yang mengandung desimal:

-float

-double

Tipe lainnya:

-char

-unsigned char

Pada bahasa C tidak ada tipe string, tapi gunakan array of character, contoh:

char nama_variabel[ukuran]

2.Dasar-dasar Bahasa C

Anda dapat menggunakan DevCpp untuk belajar C, silahkan download di http://www.bloodshed.net/devcpp.html.

Atau bisa juga install library MinGW, cara nginstall-nya cari di google.com

Output ke layar

Untuk menuliskan sesuatu ke layar ketikkan:

printf(“Hallo”);     //menampilkan tulisan Hallo ke layar

atau jika mengandung variabel, misalnya hasil perhitungan:

printf(” Hasil kali 5 dengan 12 adalah %d “,hasil);  // dengan hasil = 5*12;

Pada perintah di atas dituliskan %d, ini adalah format keluaran untuk variabel dengan tipe int, untuk tipe yang lainnya:

%c        char

%f        long int

%f        float

%s         array of char, atau pada bahasa pascal dinamakan string

%lf      double

contoh lain:

printf(“”);

Meminta input dari user:

untuk meminta input dari user, salah satunya dapat dilakukan dengan:

scanf(“%d”,&bil);  //format %d dapat diganti dengan tipe data yang sesuai

Pada statement di atas, tanda ampersand(&) digunakan untuk mengambil alamat dari variabel bil. Intinya ketika variabel bil dilewatkan sebagai parameter dari fungsi scanf, maka akan disalin alamatnya dan nilai bil akan diisi dengan nilai yang di-input-kan oleh user. Jika tidak disertakan tanda &, maka saat di-run akan terjadi masalah..

contoh lain:

char nama[100];  //array of char dengan panjang maksimum 100 karakter

printf(“Nama: “);scanf(“%s”,nama);

3. Membuat program sederhana

Program ini bertujuan untuk mengenkripsi(menyandikan) maupun mendekripsi pesan yang diinputkan user. Mekanisme penyandiannya sendiri menggunakan cara yang sederhana, yaitu dengan menggeser satu huruf atau karakter pada ASCII table  ke 3 karakter atau huruf berikutnya.

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, dipetakan ke: d e f g h i j k l m n o p q r s t u v w x y z a b c

contoh: a menjadi d, z menjadi c, dst..

Berikut ini kodenya:

/*
by : khuwarizmi
File : enkripsi.c
*/
#include <stdio.h>
int main(){
int pil; //variabel untuk menyimpan pilihan
printf(“Menu Menyandikan pesan\n”);
printf(“1. Mengenkripsi\n”);
printf(“2. Mendekripsi\n”);
printf(“Pilihan Anda:  “); scanf(“%d”,&pil);
switch (pil){
case 1: printf(“Masukkan pesan yang akan dienkripsi: “);
char c;
int i = 0;
char pesan[255];
char pesan_encrypted[255];
scanf(“%c”,&c);
while (c!=’#’){                       //tanda akhir pesan: #
pesan[i] = c;
scanf(“%c”,&c);
i= i+1;
}
pesan[i]=”;
i=0;
while(pesan[i]!=”){
pesan_encrypted[i] = (char)((((int)pesan[i])+3)% (122));
i++;
}
pesan_encrypted[i] = ”;
printf(“Pesan hasil enkripsi:\n %s”,pesan_encrypted);
break;
case 2:
printf(“Masukkan pesan yang akan didekripsi: “);
i = 0;
char pesan_decrypted[255];
scanf(“%c”,&c);
while (c!=’#’){
pesan[i] = c;
scanf(“%c”,&c);
i= i+1;
}
pesan[i]=”;
i=0;
while(pesan[i]!=”){
pesan_decrypted[i] = (char)((((int)pesan[i])-3)% (122));
i++;
}
pesan_decrypted[i] = ”;
printf(“Pesan asli:\n %s”,pesan_decrypted);
break;
}
return 0;
}
save file di atas dengan nama enkripsi.c atau nama lainnya terserah.., kemudian compile dan run…
Berikut contoh hasil eksekusi:
D:\chanz\file sumber C>mainekripsi.exe
Menu Menyandikan pesan
1. Mengenkripsi
2. Mendekripsi
Pilihan Anda:  1
Masukkan pesan yang akan dienkripsi: saya sedang di bandung#
Pesan hasil enkripsi:
vd☻d#vhgdqj#gl#edqgxqj
D:\chanz\file sumber C>
D:\chanz\file sumber C>
D:\chanz\file sumber C>mainekripsi.exe
Menu Menyandikan pesan
1. Mengenkripsi
2. Mendekripsi
Pilihan Anda:  2
Masukkan pesan yang akan didekripsi: edqgxqj#
Pesan asli:
bandung
Sekarang, penjelasan mengenai kode-kode di atas:
– #include <stdio.h>, ini berguna untuk mengimport library di C, yang berhubungan dengan method input dan output
– int main(){
.
.
.
.
.
return 0;
}
program utama pada bahasa C selalu mengandung fungsi main(). return 0 (nol) digunakan untuk mengakhiri program.
int main, artinya fungsi main mengembalikan nilai bertipe int. Fungsi akan dibahas di bawah..
-switch (pil)  {
case 1:
break;
case 2:
break;
}
ini digunakan untuk membuat pilihan, serupa dengan case of di pascal. Jadi, jika nilai pil adalah 1, maka statement setelah tanda titik dua di depannya akan dieksekusi,meminta user memasukkan pesan yang akan dienkripsi, dst, hingga ketemu break. Kalo nilai pil-nya 2, yang di bawahnya yang di-execute.
-char pesan[255];
ini digunakan untuk menyimpan pesan yang di-input-kan user. Ukuran dari array of karakter ini adalah 255
–  scanf(“%c”,&c);
while (c!=’#’){
pesan[i] = c;
scanf(“%c”,&c);
i= i+1;
}
Ini adalah salah satu cara untuk melakukan pengulangan, yaitu :
while(ekrpresi){
statement-statement
}
pada program, pengulangan dilakukan untuk membaca pesan dari user, karakter demi karakter, hingga ditemukan karakter ‘#’. Hal ini dilakukan , karena jika langsung menggunakan perintah scanf() untuk membaca string pesannya, maka hanya kata sebelum spasi yang terbaca. contoh: saya sedang makan, maka jika hanya langsung scanf(“%s”,pesan); maka isi pesan hanya: “saya”
-kemudian tanda ”     //ini slash angka nol
ini digunakan sebagai tanda akhir string
Demikian penjelasan singkatnya.

One thought on “Belajar C

  1. Thank you for the posting, it’ really helping me
    Q mau tanya……..
    Gimana caranya membaca panjang dari suatu array yang bertipe integer, ataupun bertipe string ????
    Please
    Pertanyaannya dijaWab..:)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s