algoritma & pemrograman 3 - gunadarma
TRANSCRIPT
Algoritma &
Pemrograman 3PERTEMUAN 6
NAELI UMNIATI - 2020
1
PENGENALAN C
2
Sejarah C
Akar dari Bahasa C adalah BPCL yang dikembangkan
oleh Martin Richards pada tahun 1967
Dikembangkan menjadi bahasa B oleh Ken Thompson
pada tahun 1970.
Dikembangkan lebih lanjut menjadi bahasa C oleh
Dennis Ritchie sekitar tahun 1970-an di Bell Telephone
Laboratories Inc.
3
Mengapa C?
Tersedia hampir di semua jenis komputer
C bersifat portabel
Hanya menyediakan sedikit reserved word, keandalan C
dicapai dengan fungsi-fungsi pustaka
Proses eksekusi program yang cepat
Memiliki banyak dukungan pustaka
C merupakan bahasa terstruktur
Selain bahasa tingkat tinggi, C juga dianggap sebagai
bahasa tingkat menengah
C adalah bahasa kompiler
4
Bahasa C adalah bahasa yang Case Sensitive, huruf kecil dibedakandengan huruf besar
Bentuk Umum:
main( )
{ awal programstatement; fungsi utama
} akhir program
fungsi_fungsi_lain( )
{
statement; fungsi-fungsi lain
}
Struktur Program C
5
preprocessor directive
# include <stdio.h>
main( ) header file
{
printf(“Hello World…”);
}
Contoh program
6
Header File
Merupakan file yang berisi prototype (judul, nama, dan
sintaks) dari sekumpulan fungsi-fungsi pustaka tertentu,
sedangkan fungsi-fungsi pustakanya sendiri disimpan
dalam file Pustaka (library file dengan ekstension .LIB)
Cara penulisan:
#include <nama header file>
Atau
#include “nama header file”
7
C menyediakan 5 macam tipe data dasar, yaitu :
1. integer (numerik bulat dideklarasikan dengan int)
2. floating point (numerik pecahan ketepatan tunggal
dideklarasikan dengan float)
3. double precision (numerik pecahan ketepatan ganda
dideklarasikan dengan double),
4. karakter (dideklarasikan dengan char)
5. kosong (dideklarasikan dengan void).
Tipe Data
8
TIPE Lebar Jangkauan Nilai
int 16 bit - 32768 s/d 32767
signed int
short int
signed short int
unsigned int 16 bit 0 s/d 65535
unsigned short int
long int 32 bit - 2147483648 s/d 2147483649
signed long int
unsigned long int 32 bit 0 s/d 4294967296
float 32 bit 3.4E-38 s/d 3.4E+38
double 64 bit 1.7E-308 s/d 1.7E+308
long double 80 bit 3.4E-4932 s/d 3.4E+4932
char 8 bit - 128 s/d 127
signed char
unsigned char 8 bit 0 s/d 255
9
Identifier Name
Nama yang dibuat oleh programmer untuk pemberian
nama variable, konstanta, fungsi, atau label.
Ketentuan pembuatan identifier name sebagai berikut:
1. Panjang minimal satu karakter, maksimal tidak terbatas, namun hanya 32 karakter pertama yang diperhatikan.
2. Karakter pertama harus berupa huruf atau garis bawah.
3. Tidak diperbolehkan menggunakan karakter khusus dan blank/spasi.
4. Case Sensitive, huruf besar dan kecil dianggap beda.
5. Tidak diperkenankan menggunakan kata kunci
10
Bahasa C standar ANSI mempunyai 32 kata kunci dan turbo C menambahkan 7 kata kunci. Kata kunci ini tidak dapat digunakansebagai nama variable atau nama fungsi.
asm * default for pascal * switch
auto do goto register typedef
break double huge * return union
case else if short unsigned
cdecl * enum int signed void
char extern interrupt * sizeof volatile
const far * long static while
continue float near * struct
Keyword / Kata Kunci
11
Konstanta adalah suatu nilai yang tidak pernah berubah selamaproses program. Dibagi menjadi 4, yaitu :
1. Numerik Integer
Merupakan nilai numerik bilangan bulat, dapat berupa
konstanta numerik integer bertanda diberi tanda, integer
tidak bertanda (diberi huruf u atau U pada akhir nilainya),
integer panjang bertanda (diberi huruf l atau L diakhir
nilainya) dan integer panjang tidak bertanda (diberi huruf ul
atau UL diakhir nilainya).
2. Numerik Pecahan
Merupakan nilai numerik yang dapat mempunyai nilai
pecahan di belakang titik desimal, dapat bernilai ketepatan
tunggal (float), ketepatan ganda (double), atau ketepatan
ganda panjang (long double).
Konstanta
12
3. Karakter dan String
Merupakan nilai sebuah karakter yang ditulis di
antara tanda petik ganda. Pengertian karakter di
sini meliputi huruf a-z atau A-Z, digit 0 – 9 karakter
khusus dan karakter grafik.
4. Karakter Escape
Escape character banyak digunakan pada
statemen-statemen untuk menampilkan hasil.
Konstanta karakter escape diawali dengan tanda
‘ \ ‘.
Konstanta (lanjutan)
13
Karakter Escape Fungsi
\a bunyi bel (bell atau alert)
\b mundur 1 spasi (backspace)
\f ganti halaman (form feed)
\n ganti baris baru (new line)
\r ke kolom pertama, baris yang sama (carriage return)
\t tabulasi horisontal
\v tabulasi vertikal
\0 nilai kosong (null)
\’ karakter petik tunggal
\” karakter petik ganda
\\ karakter backslash
Karakter Escape
14
char quest, newline, flags;
quest = '?';
newline = '\n';
flags = 077;
#define pi 3.14;
Contoh Konstanta
15
Variabel
Variable names correspond to locations in the the
computer's memory
Every variable has a name, a type, a size and a
value
Whenever a new value is placed into a variable
(through scanf, for example), it replaces (and
destroys) the previous value
Reading variables from memory does not change
them
16
Variabel berfungsi untuk menampung data sementara.
Variabel dapat menggunakan berbagai tipe data
Variabel (lanjutan)
17
#include <stdio.h>
main( )
{
int a, b, c, sum; a = 1; b = 2; c = 3;
sum = a + b + c;
printf("sum is %d", sum);
}
Contoh Variable dan Tipe Data
18
Jika variabel statis bersifat internal, maka variabel hanya
dikenal oleh fungsi tempat variabel dideklarasikan
Jika variabel statis bersifat eksternal, maka variabel dapat
dipergunakan oleh semua fungsi yang terletak pada file
yang sama
Tempat variabel statis dideklarasikan berbeda dengan
variabel lokal. Variabel statis tidak akan hilang sekeluarnya
dari fungsi (nilai pada variabel akan tetap diingat).
Inisialisasi akan dilakukan hanya sekali, yaitu saat fungsi
dipanggil yang pertama kali. Jika tidak ada inisialisasi oleh
pemrogram, maka secara otomatis akan diberi nilai awal
nol.
Variabel Statis
19
#include <stdio.h>
void func() {static int x = 0; // x is initialized only once across three calls of func()
printf("%d\n", x); // outputs the value of x
x = x + 1;}
int main() {func(); // prints 0
func(); // prints 1
func(); // prints 2return 0;
}
Contoh Variabel Statis
20
Seluruh data direpresentasikaan secara internal dalam untaian bit(0 atau 1), sebanyak 8 bit dalam 1 byte
Operator Name Description
& bitwise AND The bits in the result are set to 1 if the corresponding bits in the two operands are both 1.
| bitwise OR The bits in the result are set to 1 if at least one of the corresponding bits in the two operands is 1.
^ bitwise exclusive OR
The bits in the result are set to 1 if exactly one of the corresponding bits in the two operands is 1.
<< left shift Shifts the bits of the first operand left by the number of bits specified by the second operand; fill from right with 0 bits.
>> right shift Shifts the bits of the first operand right by the number of bits specified by the second operand; the method of filling from the left is machine dependent.
~ One’s complement
All 0 bits are set to 1 and all 1 bits are set to 0.
Operator Bitwise
21
Konversi
Kompiler C mempunyai pedoman untuk operand yang
berbeda tipe :
1. Tipe char akan dikonversikan ke tipe int.
2. Tipe float akan dikonversikan ke tipe double.
3. Jenjang tertinggi adalah mulai dari long double,
double, long int, unsigned int, dan int. Ini berarti tipe
double dioperasikan dengan tipe int akan
menghasilkan tipe double.
22
Type casting dalam bahasa C berfungsi untuk meng-konversikan tipe datasementara. Perhatikan contoh berikut :int main(){
–int X = 5;
–float Y;
–Y = X/2;
–printf(“%.1f”, Y); //Akan tercetak 3.0 karena X bertipe integer
}
Untuk menghindari kesalahan hasil perhitungan maka dapat dilakukan typecasting
int main(){
–int X = 5;
–float Y;
–Y = float (X) / 2; //Merubah tipe data X sementara menjadi float
–printf(“%.1f”, Y); //Akan tercetak 3.5
}
Type Casting
23
Selamat Belajar.
24