Pertemuan 03-04 Pengantar Bahasa C Matakuliah : T0616 / Algoritma dan Pemrograman

Download Report

Transcript Pertemuan 03-04 Pengantar Bahasa C Matakuliah : T0616 / Algoritma dan Pemrograman

Matakuliah
Tahun
Versi
: T0616 / Algoritma dan Pemrograman
: 2007
: 1/0
Pertemuan 03-04
Pengantar Bahasa C
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Menjelaskan elemen dan struktur
pemrograman C (C2)
2
Outline Materi
Pengantar Bahasa C
• Sejarah Bahasa C
• Karakter, Identifier, Keyword
• Tipe Data, Konstanta, Variabel
• Struktur Program dan Komentar
3
Sejarah C
• Dirancang oleh Denis M. Ritchie tahun 1972 di
Bell Labs.
• Pengembangan dari BCPL (Martin Richard,
1967) dan 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.
• Versi C yang lebih baru Ansi C 1989, iso C 99.
4
Mengapa C?
• Flexibility : mendekati low level
language namun mudah dimengerti.
• Portability : dipakai mulai dari komputer
mikro sampai superkomputer
• Bahasa yang banyak digunakan dalam
ilmu komputer untuk membuat O/S dan
program aplikasi, dll.
• Didukung oleh banyak pustaka
(libraries)
5
Struktur Program
• C adalah salah satu bahasa pemrograman yang
terstruktur
• Bahasa C terdiri dari fungsi-fungsi
• Tidak ada perbedaan antara prosedur dengan fungsi
• Setiap program C mempunyai satu fungsi dengan nama
“main” (program utama).
• Program akan dieksekusi dimulai dari statement pertama
pada fungsi “main” tsb.
• Huruf besar dengan huruf kecil diartikan berbeda (casesensitive).
• Setiap statement diakhiri dengan semi-colon (titik koma
(;)).
6
Struktur Program
• Format penulisan fungsi secara umum
deklarasi global variabel;
return-type function-name(parameter)
{
deklarasi lokal variabel;
statements;
return(value);
}
• Fungsi bisa diletakkan diatas atau dibawah fungsi “main”.
• Fungsi yg tidak mengembalikan nilai tipenya (return-type) adalah
“void”.
void function-name (parameter-list)
{
deklarasi lokal variabel;
statements;
}
7
Komentar
• Menggunakan pasangan ‘ /* ‘ dan ‘ */ ’
• Digunakan agar program lebih mudah dibaca dan
dimengerti
• Diabaikan oleh compiler
• Untuk komentar 1 baris cukup menggunakan “//”
• Contoh program C sederhana :
/*---------------------------------Program Pertama
----------------------------------*/
#include<stdio.h>
void main() {
printf(“\n\tHalo, Binusian”);
} //Program mencetak tulisan Halo, Binusian
8
Escape Sequences
• \a
•
•
•
•
•
\b
\t
\n
\v
\r
bell, alert, system
beep
back space
horizontal tab
new line, line feed
vertical tab
carriage return
•
•
•
•
•
\’ single quote
\” double quote
\\ backslash
\xdd notasi hexadecimal
\ddd notasi octal
9
Karakter
• Program C ditulis menggunakan subset karakter
ASCII yaitu:
•
•
•
•
Huruf besar A .. Z
Huruf kecil a .. z
Digit 0 .. 9
Karakter khusus seperti ‘!’ , ‘&’, ‘+’, ‘\’, ‘_’ dan
sebagainya.
10
Identifier
• 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 32 karakter
• Tidak boleh menggunakan keyword (sintaks standard
bahasa C, misal for, while, atau main)
Contoh: name, x1, _total, cubic()
11
Variabel
• Identifier yang digunakan untuk menampung data/informasi
• Format deklarasi variabel:
<tipe> <nama_variabel>;
<tipe> <nama_variabel> = <initial_value>;
• Contoh:
int a, b, c, jumlah;
float gaji, bonus;
int jml_mhs = 20;
12
Variabel
• Deklarasi Variabel:
• Variabel dpt dideklarasikan disetiap awal blok statement.
• Blok statement (compound statement) adalah statementstatement yang berada diantara { dan }
• Contoh deklarasi :
int x;
int y;
int z;
atau
int x, y, z;
atau
int x; int y; int z;
13
Tipe Data
• Pada dasarnya tipe data pada bahasa C ada
5, dan ditambah 4 tipe Modifier yaitu :
Basic Data Types
Keyword
1.
2.
3.
4.
5.
1.
2.
3.
4.
5.
Character
Integer
Floating point
Double floating point
Void
char
int
float
double
void
14
Tipe Data
• Empat tipe Modifier adalah sbb :
– signed
– unsigned
– long
– short
• Tipe data dalam bahasa C merupakan
kombinasi antara Basic Data Types
dengan Modifier.
• Contoh : signed char, unsigned int, long
int, dll.
15
Tipe Data dalam Bahasa C
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
16
Konstanta
• Identifier yang memiliki nilai tetap
• Pada bahasa C deklarasi konstanta tidak
membutuhkan alokasi memori
• Untuk mendeklarasikan konstanta pada
bahasa C bisa dilakukan dengan preprocessor #define atau dengan keyword
const.
• Contoh:
const float Pi=3.14;
#define Pi 3.14
17
Contoh Program
• Penambahan dua buah bilangan
Data telah berada di memori, hasil penjumlahan disimpan di
memori.
/** Program Tambah **/
int x,y,z;
void main()
{
x = 20;
y = 30;
z = x + y;
}
/*komentar */
/*Deklarasi Variabel*/
/*Program utama mulai*/
/*Statement 1*/
/*Statement 2*/
/*Statement 3*/
/*Program utama selesai*/
18
Contoh Program
• Program menghitung luas lingkaran
Data jejari dibaca dari keyboard, kemudian hasil perhitungan
ditayangkan di layar monitor.
/*---------------------------------Program Luas_Lingkaran
----------------------------------*/
#include <stdio.h>
const float Pi = 3.14;
void main()
{
float jejari;
float luas;
scanf(“%f”,&jejari);
luas = Pi * jejari * jejari;
printf(“Luas = %5.2f”, luas);
}
/*Deklarasi Konstanta*/
/*Program utama mulai*/
/*Deklarasi local Variabel*/
/*Masukkan dari keyboard*/
/*Mencetak ke layar*/
/*Program utama selesai*/
19
Latihan
1. Apakah fungsi library dalam bahasa C ?
2. Jelaskan apa yang dimaksud dengan identifier
3. Berapakah data terbesar yang bisa ditampung
oleh variabel x yang bertipe integer ?
4. Sebutkan tipe data (boleh lebih dari satu) yang
tepat untuk mengolah data umur !
5. Sebutkan tipe data yang tepat untuk
menampung data Nim Mahasiswa !
6. Sebutkan tipe data yang tepat untuk
menampung data saldo rekening !
20