BAHASA C/C++
Tujuan Instruksional
Umum :Setelah mengikuti praktikum ini peserta dapat menbuat program
dengan bahasa C++ dan mengkompilasi dengan menggunakan
gcc yang ada dilinux
Khusus :Setelah mengikuti praktikum ini:
1. Peserta menegerti tentang konsep pemrograman di C++
2. Peserta mengerti dan memahaimi perintah-perintah di C++
3. Peserta mengerti seleksi kondisi di C++
4. Peserta mengerti tentang struktur data di linux
5. Peserta dapat membuat programC++ sederhana
Pelatihan Bahasa C bertujuan untuk memberikan pengetahuan kepada peserta tentang
konsep dasar C yang diperlukan untuk membuat suatu program C. Diharapkan dengan
diketahuinya konsep-konsep dasar pemrograman C, peserta dapat menyelesaikan
suatu permasalahan dengan cara membuat program sendiri.
Konsep pemrograman meliputi konsep tipe bilangan, konsep pengulangan, konsep
pencabangan dan lain-lainnya. Semua akan dibahas pada bab-bab khusus.
Untuk dapat membuat program sendiri, pertama-tama tentulah masalah yang akan
dibuat programnya harus diketahui dan dipahami betul. Identifikasikan masukan dari
masalah tersebut, apakah berupa bilangan bulat, atau bilangan desimal, atau suatu
karakter.Setelah diketahui masukannya, lalu identifikasi lagi proses yang akan dibuat
dengan masukan tadi. Jika proses juga telah djabarkan, perlu diuraikan keluaran yang
akan dihasilkan oleh proses tadi.
Kuliah ini mengajarkan tetang konsep dasar pemrograman. Pada kuliah ini akan dijelaskan dasar-dasar pemrograman meliputi algoritma, flow chart dan pseudo code. Selanjutnya masuk ke implementasi dengan pemrograman, dijelaskan materi-materi dasar pembuatan program meliputi : dasar-dasar pemrograman, penyeleksian kondisi, perulangan, fungsi, array, string, pointer dan struktur. Bahasa pemrograman yang digunakan adalah bahasa C/C++
2. Sejarah C
• Dirancang oleh Denis M. Ritchie & diimplementasikan pertama
kali tahun 1972 di Bell Labs.
• Pengembangan dari bahasa BCPL (Martin Richard, 1967) dan
bahasa B (Ken Thompson, 1970)
• Dibantu Brian W. Kernighan, Ritchie menulis buku The C
Programming Language (1978). Dikenal dengan nama K&R C atau
“C klasik” atau “traditional C”
• Versi C yang lebih baru ANSI C, 1989, untuk menyediakan definisi
yang tidak ambigu dan independen terhadap mesin. C89.
(ANSI: American National Standards Institute)
2
3. 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 membuat sistem operasi dan
program aplikasi. (e.g. berbagai varian UNIX (C),
Windows (C/C++), berbagai varian Linux (C/C++),
MySql (C++), etc)
• Didukung oleh banyak pustaka (libraries)
3
4. Proses penerjemahan bahasa C
Editor
Preprocessor
Compiler
Linker
Loader
DISK
.c
.h
.obj
.out
(UNIX)
.exe
(MS)
CPU
Primary Memory
4
5. 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)
• Program akan dieksekusi dimulai dari pernyataan
(statement) pertama pada fungsi “main” itu
• Huruf besar dengan huruf kecil diartikan berbeda (case-sensitive)
• Setiap pernyataan (statement) sederhana diakhiri
dengan titik koma (semi-colon (;))
5
7. Struktur program
• Contoh “Salam Super”
/*----------------------------------
Program Pertama
----------------------------------*/
//Program mencetak tulisan Salam Super
#include <stdio.h>
int main()
{
printf(“Salam Super!n”);
return 0;
}
7
8. 8
Struktur program
• Format penulisan fungsi main
main()
1. {
statements;
}
main()
3. {
statements;
return (0);
}
2. void main()
{
statements;
}
4. int main()
{
statements;
return (0);
}
9. Pre-processor directives
• Contoh:
void main()
{
printf(”Hello World”);
Jika di kompilasi
dengan Dev-C++
program ini akan error,
dgn Error Message:
‘printf’ undeclared.
}
#include <stdio.h>
void main()
{
printf(”Hello World”);
#include adalah sebuah
directive/arahan untuk
memberitahu compiler
bahwa function prototype
untuk fungsi printf ada
pada header file stdio.h
}
9
10. Pre-processor directives
Contoh file judul :
#include <stdio.h>
File judul yang berisi fungsi pustaka untuk operasi input
dan output standar
#include <math.h>
File judul yang berisi fungsi pustaka untuk operasi
matematika
#include <conio.h>
File judul ini digunakan untuk membersihkan layar
10
11. 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
• return (0); menyatakan program exit secara normal.
• Penulisan return 0; sama artinya dengan return (0);
11
12. Elemen-elemen dalam source code
• Characters (karakter)
• Identifiers (nama)
• Keywords (kata kunci)
• Data types (tipe data)
• Variables (variabel)
• Constants (symbolic and literal) (konstanta
simbolik dan konstanta literal)
12
14. Characters
• Program C ditulis menggunakan subset
karakter ASCII yaitu:
• Huruf besar A .. Z
• Huruf kecil a .. z
• Digit 0 .. 9
• Karakter khusus seperti ‘!’ , ‘&’, ‘+’, ‘’, ‘_’ dan
sebagainya.
• ASCII: American Standards Committee for
Information Interchange
14
16. 16
Identifiers
• Nama berbagai elemen program seperti nama variabel, fungsi,
konstanta, dsb
• Diawali dengan huruf atau garis bawah (underscore) _ dan diikuti
dengan huruf, digit atau _
• Huruf besar dianggap berbeda dengan huruf kecil (case
sensitive)
• Panjang maksimum Identifier tergantung dari compiler sebagai
contoh Turbo C 2.0 (DOS), max 32 karakter
• Tidak boleh menggunakan keyword (misal for, while, dll.)
• Contoh identifier : name, x1, _total, cubic
• Contoh identifier yang salah: 1kali, int
17. 17
Keywords
• Keywords adalah kata-kata yang mempunyai arti khusus
pada bahasa pemrograman komputer dan tidak
dibolehkan dipakai untuk identifier lain.
• Contoh:
Ke y w o rd s
a u t o d o ubl e i nt str u c t
b r eak e l s e l ong swi t c h
c a s e e n u m r egi st e r typ e d e f
c h a r e x ter n r etu rn uni o n
c o nst f l oat s hor t uns i g ned
c o nti n u e f o r s ign ed voi d
d e fau l t g o t o s ize of vol a t ile
d o i f s tat ic whi l e
18. 18
Keywords
• Beberapa compiler akan memberikan warna yang
berbeda untuk keyword, seperti pada Dev-C atau Visual
C++, dibawah ini.
Pada Visual C++ keyword
dicetak dengan warna biru
Pada Dev-C
keyword dicetak
BOLD
19. 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.
• Nilai data atau isi variabel dapat diubah
saat run time
• Format deklarasi variabel:
<tipe> <nama [, ...]>;
<tipe> <nama = nilai_awal [, ...]>;
• Contoh:
int a, b, c, jumlah;
float gaji, bonus;
int jml_mhs = 20;
Syarat penulisan variabel :
1. Panjangnya sampai 32
karakter
2. Karakter pertama harus
huruf atau karakter garis
bawah ( _ )
3. Tidak boleh ada spasi
4. Huruf besar dan huruf
kecil dianggap berbeda
21. 21
Variables
• Deklarasi Variabel:
– Variabel dapat dideklarasikan di setiap awal block statement.
– Block statement disebut juga “compound statement” adalah
statement-statement yang berada diantara { dan }.
– Contoh deklarasi variabel:
int x;
int y;
int z;
atau bisa ditulis :
int x, y, z;
atau bisa juga ditulis :
int x; int y; int z;
22. 22
Data types
• Pada dasarnya tipe data primitif (primitive data types)
pada bahasa pemrograman C berjumlah 5:
Tipe Data Primitif/Bawaan Keyword
1. Character
2. Integer
3. Floating point
4. Double floating point
5. Void
1. char
2. int
3. float
4. double
5. void
Kemudian tipe primitif ini bertambah dengan adanya 4 modifiers.
23. 23
Data types
Tipe Data
int
Penentu Format
%d
unsigned int
long int
%u
%ld
float
double
%f
%lf
char
char[n] (string)
%c
%s
Kemudian tipe primitif ini bertambah dengan adanya 4 modifiers.
24. 24
Data types
• Empat modifiers:
signed
unsigned
long
short
• Tipe data dalam bahasa C merupakan kombinasi antara
tipe data primitif yang dasar dengan modifier di atas.
• Contoh : signed char, unsigned int, long int, dll.
25. 25
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
character unsigned char
char
1 Byte
1 Byte
0 s/d 255
-128 s/d 127
integer unsigned int
int
short int
unsigned long
long
2 Byte
2 Byte
1 Byte
4 Byte
4 Byte
0 s/d 65535
-32768 s/d 32767
-128 s/d 127
0 s/d 4294967295
-2147483648 s/d 2147483647
float float
double
long double
4 Byte
8 Byte
16 Byte
3.4E-38 s/d 3.4E+38
1.7E-308 s/d 1.7E+308
3.4E-4932 s/d 1.1E+4932
26. 26
Data types
• Default-nya signed (bilangan bertanda), sehingga penulisan
int sama artinya dgn signed int
• Contoh :
int x; sama artinya dgn signed int x;
short int x; sama artinya dgn signed short int x;
• Rentang Nilai (range) dari tipe data dalam bahasa C
tergantung dari compiler dan sistem operasi.
• Contoh :
Tipe integer pada Turbo C 2.0 (DOS), rentang nilainya 2 byte
(-32768 s/d 32767)
Tipe integer pada Dev-C (Windows), rentang nilainya 4 byte
(-2147483648 s/d 2147483647)
Borland C++ 5.02 menyediakan tipe integer untuk 2 byte dan 4 byte
27. Constants
• Konstanta adalah nilai yang tidak berubah
selama proses dalam program
• Konstanta bisa berupa konstanta literal atau
berupa konstanta simbolik
• Konstanta literal adalah nilai yang ditulis pada
kode program. Contoh:
panjang = 5; // 5 adalah konstanta literal
printf(“x = %c”, ‘A’); // ‘A’ adalah konstanta literal
27
28. Constants
• Konstanta simbolik dibuat untuk memberi
nama pada suatu nilai literal.
• Konstanta simbolik bisa dibuat dengan 2 cara:
– Dengan preprocessor directive #define. Contoh:
#define UKURAN 25
– Dengan kata kunci const. Contoh:
const int X = 50;
28
29. 29
Symbolic constants
#define Pi 3.14
int main(){
Pi=3.1475;//Error
return 0;
int main(){
const float Pi=3.14;
Pi=3.1475; //Error
return 0;
}
}
#define Pi 3.14
int main(){
float PHI=3.14;
PHI = 3.1475; //OK
Pi=3.1475; //Error
return 0;
}
30. Comments
• Menggunakan pasangan /* dan */ atau //
• Digunakan agar program lebih mudah dibaca dan dimengerti
• Diabaikan oleh compiler
• Untuk komentar 1 (satu) baris cukup menggunakan tanda // diawal
baris
• Contoh comments dalam program C sederhana:
/*----------------------------------
Program Pertama
----------------------------------*/
//Program mencetak tulisan Helloworld
#include <stdio.h>
void main()
{
printf(“Hello World n”);
}
30
31. Escape Sequences
Konstanta karakter escape banyak digunakan di statemen untuk
menampilkan hasil.
Karakter Escape Arti
a bunyi bel
b mundur satu spasi
f ganti halaman
n ganti baris baru
r ke kolom pertama, baris yang sama
t tabulasi horisontal
v tabulasi vertikal
0 nilai kosong
' karakter petik tunggal
" karakter petik ganda
garis miring terbalik (backslash)
32. Escape Sequences
Kode Format untuk fungsi prinf()
Kode Format Kegunaan
%c Menampilkan sebuah karakter
%s Menampilkan nilai string
%d Menampilkan nilai desimal integer
%i Menampilkan nilai desimal integer
%f Menampikan nilai pecahan
33.
34. • Penambahan dua buah bilangan
Data telah berada di memori (variabel), hasil penjumlahan disimpan di
memori (variabel).
/* Program Tambah */ /*komentar */
int x,y,z; /*Deklarasi Variabel global*/
int main()
{ /*Program utama mulai*/
x = 20; /*Statement 1*/
y = 30; /*Statement 2*/
z = x + y; /*Statement 3*/
printf ( “ Bilangan X = %d”,x); /* menampilkan bil X dilayar */
printf ( “ Bilangan Y =,%d”,y);
printf ( “ Jumlah X dan Y =%d”,z);
return 0; /*Statement 4*/
} /*Program utama selesai*/
35. Buatlah Program bahasa C untuk menghitung
luas segitiga dimana ( alas = 50 dan tinggi =
25 ) disertai Menghitung rata-rata ( a= 25 , b=
75 dan c = 30 )
Tiga buah bilangan disertai flowchart dan
pseudocodenya !