algoritma & pemrograman 3 - gunadarma

24
Algoritma & Pemrograman 3 PERTEMUAN 6 NAELI UMNIATI - 2020 1

Upload: others

Post on 15-Oct-2021

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritma & Pemrograman 3 - Gunadarma

Algoritma &

Pemrograman 3PERTEMUAN 6

NAELI UMNIATI - 2020

1

Page 2: Algoritma & Pemrograman 3 - Gunadarma

PENGENALAN C

2

Page 3: Algoritma & Pemrograman 3 - Gunadarma

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

Page 4: Algoritma & Pemrograman 3 - Gunadarma

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

Page 5: Algoritma & Pemrograman 3 - Gunadarma

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

Page 6: Algoritma & Pemrograman 3 - Gunadarma

preprocessor directive

# include <stdio.h>

main( ) header file

{

printf(“Hello World…”);

}

Contoh program

6

Page 7: Algoritma & Pemrograman 3 - Gunadarma

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

Page 8: Algoritma & Pemrograman 3 - Gunadarma

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

Page 9: Algoritma & Pemrograman 3 - Gunadarma

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

Page 10: Algoritma & Pemrograman 3 - Gunadarma

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

Page 11: Algoritma & Pemrograman 3 - Gunadarma

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

Page 12: Algoritma & Pemrograman 3 - Gunadarma

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

Page 13: Algoritma & Pemrograman 3 - Gunadarma

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

Page 14: Algoritma & Pemrograman 3 - Gunadarma

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

Page 15: Algoritma & Pemrograman 3 - Gunadarma

char quest, newline, flags;

quest = '?';

newline = '\n';

flags = 077;

#define pi 3.14;

Contoh Konstanta

15

Page 16: Algoritma & Pemrograman 3 - Gunadarma

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

Page 17: Algoritma & Pemrograman 3 - Gunadarma

Variabel berfungsi untuk menampung data sementara.

Variabel dapat menggunakan berbagai tipe data

Variabel (lanjutan)

17

Page 18: Algoritma & Pemrograman 3 - Gunadarma

#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

Page 19: Algoritma & Pemrograman 3 - Gunadarma

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

Page 20: Algoritma & Pemrograman 3 - Gunadarma

#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

Page 21: Algoritma & Pemrograman 3 - Gunadarma

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

Page 22: Algoritma & Pemrograman 3 - Gunadarma

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

Page 23: Algoritma & Pemrograman 3 - Gunadarma

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

Page 24: Algoritma & Pemrograman 3 - Gunadarma

Selamat Belajar.

24