Pengantar Bahasa C
2
Bahasa Mesin
• Jauh dari bahasa manusia
• Contoh:
+1300042774
+1400593419
3
Bahasa Assembly
• Bahasa mesin terlalu sulit dan lama untuk memrogram
• Ketika komputer semakin populer, muncul bahasa assembly
• Bahasa assembly menggunakan kata-kata atau singkatan
berbahasa Inggris
4
Bahasa Assembly
• Contoh:
LOAD GAJIPOKOK
ADD GAJILEMBUR
STORE GAJIKOTOR
5
Bahasa Tingkat Tinggi
(High-level Languages)
• Bahasa assembly masih butuh banyak instruksi untuk
menyelesaikan suatu tugas sederhana
• Bahasa level tinggi dikembangkan untuk mengatasi kesulitan
ini
6
Bahasa Tingkat Tinggi
• Contoh:
gajiKotor = gajiPokok + gajiLembur
Menambahkan gaji lembur ke gaji pokok dan menyimpan hasilnya
ke gaji kotor
8
Mengapa C?
• Bahasa tingkat tinggi yang mendekati bahasa tingkat rendah
namun masih mudah dimengerti.
• Dipakai mulai dari komputer mikro sampai superkomputer
• Bahasa yang banyak digunakan dalam ilmu komputer untuk
9
Struktur program
• Bahasa C adalah salah satu bahasa pemrograman yang
terstruktur
• Bahasa C juga bersifat prosedural, terdiri dari fungsi-fungsi
• Setiap program C mempunyai satu fungsi dengan nama
“main” (program utama)
10
Struktur program
/*----------------------------------
#include <stdio.h>
int main()
{
printf(“Salam Super!\n”);
return 0; 12
}
Struktur program
• Format penulisan fungsi main
main() main()
1. { 3. {
statements; statements;
return (0);
} }
14
Fungsi main()
• Merupakan fungsi utama yang harus ada pada program C.
• Fungsi ini menjadi titik awal dan titik akhir eksekusi program.
• Biasanya ditempatkan di paling atas kode, untuk
memudahkan penelusuran.
15
Fungsi main() -- lanjutan
• Sintaks :
void main ()
{
/* tubuh fungsi */
}
• void menunjukkan bahwa fungsi main tidak
mengembalikan nilai apapun
16
Fungsi printf()
• Merupakan fungsi standar C untuk menampilkan suatu keluaran
pada layar/monitor
• Bentuk umum :
• printf(“string keluaran”, daftar argumen)
17
Fungsi printf() -- lanjutan
• String keluaran dapat berupa :
• %d untuk menampilkan bil. bulat(integer)
• %f untuk menampilkan bil.pecahan
• %c untuk menampilkan karakter
• %s untuk menampilkan string/teks
• Contoh :
#include <stdio.h>
void main(){
printf(“Hello World”);
}
18
Fungsi printf() -- lanjutan
• Menampilkan tulisan “Hello World”
• printf(“Hello World”);
• Penggunaan tanda ‘\’ :
• \” menampilkan karakter petik ganda
• \\ menampilkan karakter backslash
• \t menyatakan karakter tab
• \n pindah kursor ke baris baru
• \a membunyikan bel sistem
19
Komentar pada Program
• Digunakan untuk keperluan dokumentasi
• Diawali dengan tanda “/*” dan diakhiri dengan tanda “*/”
• Untuk komentar satu baris : “//”
20
Contoh Komentar
//penggunaan directive
#include <stdio.h>
void main(){
/*mencetak ke layar*/
printf(“Hello World”);
}
21
Struktur program
• Sering dijumpai beberapa format penulisan fungsi main
seperti contoh diatas, tetapi tidak semua compiler
mengenalnya.
• Contoh:
• dengan menggunakan compiler Turbo C 2.0 (DOS) dan Microsoft Visual
C++ (Windows), (2), (3) dan (4) => Success, tetapi (1) warning
• dengan menggunakan compiler Dev-C (windows), dan gcc (linux) (1),
(3) dan (4) => Success, tetapi (2) warning
23
Elemen-elemen dalam
source code
• Expressions (Ekspresi)
• Statements (Pernyaatan)
• Comments or non-extecutable statements (Komentar)
• Functions (Fungsi)
24
Characters
• Program C ditulis menggunakan subset karakter ASCII yaitu:
• Huruf besar A .. Z
• Huruf kecil a .. z
• Digit 0 .. 9
25
Pengantar Bahasa C - TIF UB 2010
26
Extended ASCII Codes
BOLD
Variables
• Variabel (variable) : sesuatu yang memiliki alamat memori
tertentu (di RAM) untuk menyimpan nilai data.
• Setiap variabel memiliki nama/identifier, alamat, tipe, size
(rentang nilai) dan data.
35
Data types
Contoh tipe data dan rentang nilai pada Turbo C dan Borland C+
+ untuk tipe data 16-bit
Tipe Data Penulisan Memori Rentang Nilai
-128 -128 32 8 4 2 1
64 16
38
41
Data types
• Contoh
char c = 127;
int i = 127;
c = c + 1;
i = i + 1;
42
Data types
• Keyword void disamping digunakan dalam fungsi yang tidak
mengembalikan nilai, juga digunakan sebagai tipe data.
• Tipe data void : adalah tipe data yang bisa diubah menjadi
43
Constants
44
Constants
45
Symbolic constants
#define Pi 3.14 int main(){
int main(){ const float Pi=3.14;
Pi=3.1475;//Error Pi=3.1475; //Error
return 0; return 0;
} }
#define Pi 3.14
int main(){
float PHI=3.14;
PHI = 3.1475; //OK
Pi=3.1475; //Error 46
return 0;
}
Literal constants
Jenis-jenis konstanta literal:
• Integer constants -5
•Floating-point constants 3.14
•Character constants 'C' '1' '$‘
•Escape sequence \n \t \''
•String constants ‘‘Universitas Brawijaya‘‘
47
sizeof
• sizeof adalah sebuah operator untuk mengetahui jumlah
memori (byte) yang diperlukan oleh suatu tipe data pada bahasa C
• Sintaknya : sizeof(expression)
• Contoh :
sizeof(int)// bernilai 4 pada Dev-C++ (Windows)
sizeof(int)// bernilai 2 pada Turbo C versi 2.0 (DOS)
48
Cast
• Cast adalah proses untuk mengkonversi tipe data pada bahasa C
• Sintaksis: (type)
• Contoh :
int x;
float fx = 3.134;
x = (int)fx;
Cast
49
Suffix
• Untuk konstanta literal bilangan floating point, bahasa C
menyediakan suffix (akhiran) berikut:
• F atau f untuk tipe data float
• L atau l untuk tipe data long double
• Tipe default (jika tanpa suffix ) untuk konstanta literal bilangan
floating point adalah double.
• Contoh:
• 3.14 => (double)
• 3.14f => (float)
• 3.14L => (long double)
50
Suffix
• Untuk konstanta literal bilangan integer, bahasa C menyediakan
suffix (akhiran) berikut:
• U atau u untuk tipe unsigned integer
• L atau l untuk tipe long integer
• UL atau ul atau LU atau lu untuk tipe bilangan unsigned long integer
• Tipe default (jika tanpa suffix) untuk konstanta literal bilangan
integer adalah integer.
• Contoh:
• 174 => (integer)
• 174u => (unsigned integer)
• 174L => (long integer)
• 174ul => (unsigned long integer)
51
Suffix
• Beberapa compiler (mis. pada Visual C++) akan
memberikan peringatan terhadap operasi “lintas tipe
data” seperti berikut:
float x;
x = 3.14;
warning : truncation from 'const double' to 'float’
52
Suffix
#include <stdio.h>
#include <conio.h>
int main()
{ char ch;
printf("Size of floating point constants:\n");
printf(" – with suffix f = %d\n",sizeof(3.14f));
printf(" - without suffix = %d\n",sizeof(3.14));
printf(" - with suffix L = %d\n",sizeof(3.14L));
ch=getch();
return 0;
}
#include <stdio.h> 54
void main()
{
printf(“Hello World \n”);
}
Pre-processor directives
• Contoh: Jika di kompilasi
dengan Dev-C++
void main() program ini akan
{ error, dgn Error
printf(”Hello World”); Message: ‘printf’
}
Preprocessor directives
• #include <stdio.h>
• File stdio.h akan dicari mulai dari directory tempat header file tersebut
di-install. Jika tidak ditemukan, file ini dicari di current / working
directory.
• Contoh, pada Turbo C 2.0, stdio.h diinstalasikan pada directory … \
INCLUDE sedangkan pada Dev-C++ di directory ...\Dev-Cpp\include
56
Preprocessor directives
• #include ”stdio.h”
• File stdio.h akan dicari mulai dari current / working directory, dan jika
tidak ditemukan akan dicari di directory tempat header file tersebut
disimpan pada saat compiler-nya diinstalasi.
• Directive #include umumnya ditulis di awal program
57
Program Sederhana I [1]
• Contoh program untuk menampilkan sebaris teks
Selamat menggunakan bahasa C! pada layar:
59
Program sederhana II [1]
• Modifikasi 1: mencetak 1 baris dengan 2 buah perintah printf
1 /* Fig. 2.3: fig02_03.c
2 Printing on one line with two printf statements */
3 #include <stdio.h>
4
5 /* function main begins program execution */
Welcome to C! Program
Output
60
Program sederhana II [2]
• Modifikasi 2: mencetak banyak baris dengan sebuah perintah printf
1 /* Fig. 2.4: fig02_04.c
2 Printing multiple lines with a single printf */
3 #include <stdio.h>
4
Welcome Program
to
Output
C!
61
Program sederhana III [1]
• Membaca 2 buah bilangan bulat dari keyboard dan
menampilkan hasil penjumlahannya
66