Catatan :
Semua keyword pada kode program C ditulis dengan huruf kecil
Karakteristik bahasa C Struktur Dasar Program C
Semua modul dalam bentuk Setiap Program C terdiri dari satu atau lebih
fungsi (Perbedaan fungsi dan fungsi (function). Salah satu dari fungsi
prosedur ?) tersebut harus bernama main
Struktur Program
Tidak mengenal space sebagai
pemisah, kecuali antar instruksi [Deklarasi header/library]
yang berbeda [ Deklarasi variabel/konstanta]
[ Deklarasi fungsi]
Fungsi utama
Setiap statemen dipisahkan […] = optional, adanya tergantung kebutuhan
oleh semicolon (;)
Bandingkan dengan
Struktur Program Pascal :
Kode programnya bersifat
case-sensitif(membedakan [Deklarasi nama program]
huruf kapital dan huruf kecil). [Deklarasi unit]
Keyword dan perintah-perintah [Deklarasi type]
dituliskan dengan huruf kecil. [Deklarasi variabel/konstanta]
[Deklarasi fungsi]
[Deklarasi Prosedur]
Kode utama
Format Penulisan deklarasi library/header
si1
deklara
Contoh
Mulai Make
Output
Selesai
Bagaimana Menjalankan C ?
(Dengan aplikasi apa dan dimana program-program C bisa dijalankan ?)
•Program C dapat dijalankan baik pada sistem operasi DOS, Windows maupun
Linux, juga berbagai sistem operasi lainnya
•Pada DOS kita dapat menggunakan Turbo C (Borland) ver 3 ke bawah atau
Microsoft C (kurang popular)
•Pada Windows kita dapat menggunakan Borland C versi 4.x atau ver 5.x (terakhir
BCC ver 5.2), symantec C, dan Visual C
•Pada Linux kita bisa gunakan GNU C Compiler (GCC)
•Secara umum kode program C di semua jenis compiler C dan pada berbagai sistem
operasi sama saja. Artinya tidak perlu dilakukan perubahan kode program yang
berarti jika hendak menjalankan C melalui compiler yang berbeda-beda tadi (?).
Setidaknya setiap compiler C umumnya mengacu ke ANSI C sebagai standarisasi C.
•Tetapi beberapa compiler C ada yang memiliki kelengkapan library yang berbeda
dengan compiler lain, sehingga perlu beberapa penyesuaian untuk transfer kode
programnya. Contoh : GCC di Linux tidak memiliki library/header conio.h,
sedangkan compiler C di DOS menggunakannya.
•Umumnya compiler C menggunakan sistem pemberitaan kesalahan (error
message) yang runtun yang berbeda dengan error message di bahasa lain. Hal ini
perlu diperhatikan untuk efisiensi trouble-shoot kode program
Menjalankan program C dengan Turbo C ver 3.0
Memulai :
Dari prompt DOS …\bin\tc.exe {enter}
Dari windows Click icon atau
Click file Tc.exe melalui Window Explorer
Petunjuk Dasar :
•Ketikkan kode program di tempat yang disediakan
•Menyimpan program : File – Save atau File – Save As
•Mengkompail program (menghasilkan file obj) : Compile-Compile (Alt+F9)
•Mengkompail sekaligus me-link file (menghasilkan file exe) :
Compile – Make (F9)
•Menjalankan program : Run – Run (Ctrl+F9)
•Menkonfigurasi directori include, library,output dan source : Options – Directories
•Yang lain silahkan dicoba sendiri !
Tamp
ilan
TC3
Dalam hal ini yang dimaksud Visual C adalah fasilitas untuk menghasilkan program
berbasis tex-nya (program DOS) yaitu : Win32 Console Application - nya
Memulai :
Langkah :
• Ketikkan kode program C dengan salah satu editor ASCII di linux,
seperti : vi, joe, emacs, pico,….
• Setelah selesai mengetik kode program, simpan dan beri nama
dengan exstention C, misal : Program1.C
• Jika hanya ingin meng-compile kode program lakukan dengan:
gcc –c program1 program1.c
• Jika ingin meng-compile sekaligus me-Link kode program lakukan
dengan perintah :
gcc program1.c –o program1
atau
gcc –o program1 program1.c
• Aktifkan editor pada Compiler C yang anda • Jalankan program dari prompt DOS dengan
miliki (dalam hal ini lakukan dengan Turbo C) mengetikkan hitung.exe {enter} atau dari Turbo C
dan ketikkan kode C berikut : dengan Ctrl+F9.
{ Harap perhatikan pengetikan huruf kecil dan {Perhatikan bahwa program belum menghasilkan apa
huruf besar harus sama! } pun di layar}
• Modifikasi kode program di atas menjadi seperti
int A; berikut :
int B,C;
int main() #include <stdio.h>
{
A=5;B=3; int A;
C=A+B; int B,C;
return(0); int main()
} {
A=5;B=3;
• Simpan dengan nama file : hitung.c C=A+B;
printf(“Hasiljumlah =%d \n”,C);
• Compile (Alt+F9) kode tersebut untuk return(0);
menghasilkan file : hitung.obj, buktikan }
dengan melihatnya melalui prompt DOS
• Compile dan Link kembali program (secara singkat
• Link (Compile-Link) kode file objek tersebut lakukan langsung dengan Run-Run). Perhatikan jika
untuk menghasilkan file : hitung.exe anda melakukannya dari menu Turbo C hasil
• Dari prompt DOS atau windows explorer program tidak akan terlihat. Untuk itu tambahkan di
akhir program dengan perintah : getchar()
catat besar file-file berikut :
(sebelum return 0)
Hitung.c : ……… bytes
• Hasil program akan tampak di layar :
Hitung.obj : ……… bytes
Hitung.exe : ……… bytes Hasil jumlah =8
Bersambung…
E
k
…sambungan s
p
•Program yang baru anda cobakan belum bersifat •Statement Pengulangan pada C dapat menggunakan : e
r
interaktif sebab input variabel A dan B langsung i
While (….) m
dimasukkan di dalam kode program. Untuk
{ Statement yang diulang} e
menjadikan program interaktif tambahkan perintah
Scanf() sehingga kode program menjadi seperti •Untuk menghilangkan statemen return 0 dalam fungsi main
n
berikut : type kembaliannya dganti dari int menjadi void : void main()
#include <stdio.h>
•Selanjutnya lengkapi kode program tersebut menjadi seperti
int A; berikut :
int B,C; {Aktifkan fungsi fflush() jika getchar() tidak berfungsi ! }
int main()
{
//A=5;B=3; /* Nama File: hitung.c */
printf("Masukkan nilai A :"); #include <stdio.h>
scanf("%d",&A); #include <conio.h>
printf("Masukkan nilai B :"); void main()
scanf("%d",&B); {
C=A+B; int A,B,C;
printf(“Hasiljumlah =%d \n”,C); char k;
getchar(); k='y';
return(0); while(k=='y')
{
} clrscr();
gotoxy(1,3);
•Simpan kembali program, jalankan dan catat hasilnya ! textcolor(14);cprintf("Masukkan nilai A : ");
•Tanda // digunakan sebagai komentar untuk C++ scanf("%d",&A); //fflush(stdin);
gotoxy(1,4);
tetapi dikenal juga pada turbo C ver 3.0 untuk C. textcolor(12);cprintf("Masukkan nilai B : ");
Tanda komentar khusus C adalah : /* …….*/. scanf("%d",&B); //fflush(stdin);
C=A+B;
•Untuk membersihkan layar setiap program dijalankan, gotoxy(1,5);
tambahkan fungsi clrscr() di tempat yang sesuai. textcolor(9);printf("Hasil jumlah = %d \n",C);
gotoxy(1,8);
•Untuk menentukan posisi kursor gunakan fungsi printf("Hitung lagi [yt] ? ");
gotoxy(), untuk memberikan efek warna gunakan k=getchar();
fungsi textcolor() , textbackground() dengan }
}
pencetakan cprintf(). Fungsi-fungsi ini deklarasinya
berada pada header conio.h
Latihan
1. Lengkapi kode program di atas untuk memberikan hasil pengurangan, perkalian, pembagian, dan pangkat !
2. Buatlah program C untuk menghitung persamaan kuadrat dengan rumus ABC, dengan contoh kode
programnya dalam pascal seperti berikut :
program rumus_abc;
uses crt;
var a,b,c :integer;
d,x1,x2 :real;
begin
clrscr;
write('Masukkan nilai koefisien a : ');readln(A);
write('Masukkan nilai koefisien b : ');readln(B);
write('Masukkan nilai koefisien c : ');readln(C);
d:=b*b-4*a;
if d>0 then
begin
x1:=(-b-d)/(2*a);
x2:=(-b+d)/(2*a);
writeln;
writeln('Penyelesaian ');
writeln('X1 = ',x1:4:2);
writeln('X2 = ',x2:4:2);
end
else if d=0 then
begin
x1:=-b/(2*a);
x2:=x1;
writeln('Penyelesaian ');
writeln('X1 = ',x1:4:2);
writeln('X2 = ',x2:4:2);
end
else
begin
writeln;
writeln('Penyelesaian akar imajiner');
end;
readln;
end.
3. Cobakan program-program di atas (hitung.c dan rumusABC.c) menggunakan Gcc di linux dengan
menghilangkan fungsi-fungsi dari header conio.h
4. Catat pesan-pesan kesalahan yang pernah muncul selama anda ber-eksprimen dan latihan, baik pada
Turbo C mapupun pada Gcc Linux
Bagian 2
Unsur-unsur kode
program C
Unsur-unsur Program C
Variabel •Tipe data dasar di C adalah :
Char; yaitu tipe data character
• Yaitu identifier yang digunakan untuk menam-
pung data/informasi Int ; yaitu tipe data integer, bilangan bulat
Float; yaitu tipe data pecahan, bilangan floating
• Format deklarasi variabel point, yang menggunakan titik desimal dan
<tipe data> <nama variabel>
<tipe data> <nama variabel> = <nilai inisial>
exponen
Double; yaitu bilangan double-precision floating
• Contoh : point, seperti float tetapi angka signifikannya lebih
int a,b,c;
besar
float p,q;
int x=20; {Informasi lebih detail pada hal. Selanjutnya}
• Syarat penulisan variabel : •Sebenarnya ada dua tipe data dasar lain yang juga
1. Diawali dengan huruf atau garis bawah dan sering digunakan, yaitu void yang sering digunakan
selanjutnya bisa diikuti oleh huruf atau pada fungsi dan enum yang akan dijelaskan
garis bawah atau angka kemudian
2. Panjang variabel maksimum 32 karakter •Escape sequence
(standar ANSI)
3. Tidak boleh menggunakan keyword \t tab \” double quote
\n new line \\ backsalash
\b backspace \’ single quote
Tipe Data \f form feed \r carriage retrun
\ddd ASCII code (octal)
• Yaitu yang menentukan jenis data yang
\xdd ASCII code (hexa)
tersimpan pada variabel.
Type data dasar C
Perhatikan: int dan short int mempunyai jangkauan dan jumlah bit yang
sama. Untuk IBM PC memang kedua tipe data ini tepat sama, tetapi pada
mesin lain seperti komputer VAX short int adalah 8 bit
Operator
• Operator Arithmatic : • Operator relational • Operator kondisional
< > <= >=
+ - * / % ?:
== {equal}
Contoh : != {not equal} Contoh :
c=a+b; Contoh : z = (x < y) ? x : y;
d=5%2;
(5>=2)
{ Note : Pangkat dengan fungsi pow() } (k==toupper(‘y’)) pernyataan di atas sama dengan :
• Operator Aritmatic Assignment (n!=0) if (x < y)
• Operator Logika z = x;
+= -= *= /= %=
else
Contoh : && {AND} z = y;
c=5; || {OR}
c+=2; {c=7 dari c=c+2} • Operator Pergeseran bit
c-=2; {…………………..} ! (Not} << {Shift Right}
Contoh : >> {Shift left}
Operator increment/decrement (n!=0) &&
Contoh :
++ -- (k=toupper(‘y’))
A || B A=1;
Contoh :
• Operator pointer B=A << 3 {B=8}
c=4;
c++; {c=5 dari c=c+1} & {address of} Operasi-operasi berikut ini valid :
c--; {…………………..} c=b=a+5;
a=5; * {value of}
c=b=(c!=d);
b=a++; {a=6 b=5} Contoh :
b=++a; {a=6 b=6} { Next discussion }
Statemen Input-Output
• Statemen input dalam hal ini yaitu fungsi yang
gunanya untuk menerima data dari keyboard
• Statemen output yaitu fungsi yang gunanya
untuk menuliskan data ke layar monitor
• Yang termasuk statemen input :
getchar() getche()
getch() gets()
scanf()
KONTROL PENYELEKSIAN :
s
• Statemen do-while dapat digunakan seperti i
a
repeat-until pada pascal n
1
Contoh :
if
char k; Format :
do{ If (exp boolean) statemen
…
… atau
printf(“ingin mengulang ?”); If (exp boolean)
k=getchar(); {
}while(k=toupper(‘y’)); statements
}
Bandingkan jika di pascal : Jika exp boolean menghasilkan nilai true (bukan0) maka
statemen akan dilaksanakan, jika bernilai 0 tidak akan
repeat dilaksanakan
…
…
write(‘Ingin mengulang ?’); If (umur<50) printf(“Kerja terus..”);
read(k);
until (k<>upcase(‘y’)); Bandingkan dengan pascal :
If umur<50 then writeln(‘kerja terus’);
if-else
Format :
Contoh :
…
…
Kegunaan
• Calling by reference 1 2 3 4 5 6 Alamat
memory
• Mengembalikan lebih satu nilai dari satu (A)
fungsi
23
• Mengirimkan array dan string dari suatu
fungsi ke fungsi lain Prosesnya dalam kode C dapat dituliskan seperti berikut :
• Memudahkan dalam manipulasi array
• Manipulasi memory dalam system Int A;
• Membuat struktur data dinamis seperti Int *ptrA;
linklist, tree, graph dan sebagainya A=23;
*ptrA=&A;
Atau
char nama[]={‘H’,’a’,’n’,’I’,’f’,’\0’};
Structure
• Struktur yaitu suatu variabel yang dapat • Boleh juga digabung langsung seperti berikut :
menyimpan sejumlah item dari tipe data yang struc mahasiswa
berbeda. {
• Struktur pada C sama dengan record pada char nim[10];
char nama[25];
pasca
int umur;
• Deklarasi Struktur : } amir, amat, tuti;
Format :
struct <nama_struktur> • Dari deklarasi tersebut berari variabel amir
{ memiliki 3 elemen yaitu : amir.nim,
member1 amir.nama dan amir.umur
member2
member3 • Variabel structur dapat langsung diinisialisasi
… seperti berikut :
};
mahasiswa amir ={“20019823”,”Amir
mahmud”,19};
• Setelah struktur dideklarasikan, selanjutnya
dapat dideklarasikan variabel jenis struktur : yang sama dengan :
<nama_struktur> <nama_variabel> amir.nim=“20019823”;
amir.nama=”Amir mahmud”;
Contoh : amir.umur=19;
Tugas/Latihan :
struc mahasiswa
{ Buatlah program data mahasiswa yang memiliki
char nim[10]; dua operasi yaitu : entri dan tampil. Item datanya
char nama[25]; terdiri dari : nim,nama, alamat,tempat & tanggal
int umur; lahir. Bila perlu gunakan menu sederhana untuk
}
memilih operasi.
mahasiswa amir, amat, tuti; Anda perlu membaca refrensi lain untuk
menyelesaikan tugas ini !
Pemrograman File
void info_program();
void main()
{ info_program();
getch();
info_program();
getch();
}
void info_program()
{
printf ("Selamat Belajar Bahasa C\n");
printf ("Anda akan selangkah lebih maju dalam dunia
IT\n");
printf ("Salam dari PENS AKAMIGAS\n");
}
FUNGSI DENGAN NILAI BALIK
#include "stdio.h"
#include "conio.h"
float tambah(float x, float y); // prototype fungsi
tambah(), ada titik koma
void main()
{ float a, b, c;
printf("A = "); scanf("%f", &a);
printf("B = "); scanf("%f", &b);
c = tambah(a,b); // pemanggilan fungsi
tambah()
printf("A + B = %.2f", c);
getch();
}