Top Banner
ALGORITMA DAN STRUKTUR DATA 1 KP002 3 SKS DEWI KUSUMANINGSIH, M.KOM
83
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pertemuan 2

ALGORITMA DAN STRUKTUR DATA 1KP002 3 SKS

DEWI KUSUMANINGSIH, M.KOM

Page 2: Pertemuan 2

Pengenalan dosen :

Status : Dosen Tetap FTI prodi TI

Ruang : Lembaga Penjaminan Mutu Lantai 2, sebelah kanan

Sekretariat FTI

YM : kusumasankdewi

FB : DewiKusumaningsihMKom

Page 3: Pertemuan 2

Penilaian :

Presensi : 10%UTS : 30%Tugas : 20%UAS : 40%

Page 4: Pertemuan 2
Page 5: Pertemuan 2

Diselesaikan Oleh

KOMPUTER

Langkah-langkah harus tersusun secara LOGISdan Efisienagar dapat menyelesaikan tugas dengan benardan efisien.

ALGORITMAadalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas

Page 6: Pertemuan 2

TEKNIK,Karena Algoritma diterapkan di Komputeryang penuh dengan TOOLdan metodologi

Seni,karena Algoritma penuh dengan kreativitas dan imajinasi yang jenius

ALGORITMAmerupakan gabungan antara SENI dan TEKNIK

Page 7: Pertemuan 2
Page 8: Pertemuan 2

RAM

ContohWINDOWS

MempunyaiProcessor contoh Intel Pentium

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.

Page 9: Pertemuan 2
Page 10: Pertemuan 2

misal :Intel Pentium

PROCESSOR

MEMORY (internal Storage)

SCREENKEYBOARD

HARDDISK(external storage)

RAMmisal

kapasitas64 MB

Input device

Misalkapasitas

10 GB

Outputdevice

Input & Outputdevice

Page 11: Pertemuan 2

misal :Intel Pentium Data

OperatingSystem

OPERATINGSYSTEM

PROGRAM------------------------------------------------

data

PROCESSOR

MEMORY (internal Storage)

SCREENKEYBOARD

HARDDISK(external storage)

data data

Program

RAMmisal

kapasitas64 MB

Input device

Misalkapasitas

10 GB

Outputdevice

Input & Outputdevice

Page 12: Pertemuan 2
Page 13: Pertemuan 2

memory

no: 0 1 2 3

No :64 * 1024 * 1024 - 1(Untuk memory 64 MB)

1 BYTE = 8 bit (binary digit)

X X X X X X X X

1 2 3 4 5 6 7 8

Bila memory dianggap sebagai sebidang tanah,maka 1 BYTE dapat dianggap sebagai 1 meter persegi

Satuan lain :WORD ( 4 Byte)HALF WORD ( 2 Byte)DOUBLE WORD ( 8 Byte)SECTOR (512 Byte)

BYTE adalah satuan memory (storage) terkecil yang masih bisa diberi alamat

Page 14: Pertemuan 2

MEMORY dan satuan BYTE

Memory, bila dibayangkan sebagai sebidang tanah, maka satu BYTE adalah area sebesar satu meter persegi, yang dapat menyimpan satu buah huruf

Bila dibayangkan sebagai sebuah ruangan, maka satu BYTE adalah sebuah ubin yang dapat menampung sebuah huruf

Page 15: Pertemuan 2

RANDOM ACCESS (Akses secara Acak)

0 1 2 3 4 5 . . . . . .

Komputer dapat mengakses (menuju, mencapai, mendapatkan) sebuah Byte dalam memory, secara langsung, tanpa harus menelusuri satu per satu mulai Byte 0,1,2,3, dan seterusnya. Bagi komputer, untuk mengakses Byte no 1000, sama mudahnya dengan mengakses Byte nomor 1, atau nomor lainnya

Page 16: Pertemuan 2

Sebuah Byte terdiri dari 8 komponen yang disebut bit.Sulit menerangkan benda yang disebut bit tersebut secara fisik. Hanya dapat diilustrasikan sebagai sebuah bohlam lampu yang dapat menyala atau padam.Bila menyala disebut ON, dan padam disebut OFFContoh sebuah huruf Abila disimpan dalam satu BYTE memory

ON

OFF

1 BYTE = 8 bit (binary digit atau angka biner)

ilustrasi sebuah BYTE yang terdiri dari 8 buah bohlam lampu.

Page 17: Pertemuan 2

Catatan :

ON

OFF

disini sengaja dibuat jarak, hanya agar mudah melihat jumlah bitnya ada 8 buah.

Page 18: Pertemuan 2

Binary digit (angka biner)Untuk keperluan komputasi secara digital,maka : bit yang ON dinyatakan dengan angka 1, dan bit yang OFF dinyatakan dengan angka 0

Sehingga huruf Ayang dinyatakan dengan ON dan OFF nya bit-bit sebagaiberikut :

ON

OFF

selanjutnya dinyatakan dengan :

0 1 0 0 0 0 0 1

Page 19: Pertemuan 2

Binary digit (angka biner)

Bilangan Binary, Basis (Radix) = 2, karena hanya mengenal 2 notasi atau simbol yaitu:0 dan 1

x x x x x x32 16 8 4 2 1

Bilangan DecimalBasis (Radix) = 10,karena mengenal 10 notasi atau simbol yaitu : 0, 1, 2, 3, . . . 9

x x x x 1000 100 10 1

Page 20: Pertemuan 2

Binary digit (angka biner)

01

1 01 1

1 0 01 0 11 1 01 1 1

1 0 0 01 0 0 1

= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9

Page 21: Pertemuan 2

Nilai yang terkandung dalam sebuah BYTE

Setiap bit yang ON mempunyai nilai sesuai dengan posisinya dalam sebuah BYTE yang dapat digambarkan sebagai berikut :

128 64 32 16 8 4 2 1

Page 22: Pertemuan 2

Nilai karakter A

Ilustrasi huruf A yang disimpan dalam BYTE

128 64 32 16 8 4 2 1

Sehingga karakter A, atau huruf Ayang disimpan dalam satu BYTE memory akan bernilai = 65karena bit yang ON bernilai 64 dan 1.

Yang dinyatakan dengan angka biner (binary digit)menjadi :

0 1 0 0 0 0 0 1128 64 32 16 8 4 2 1

Page 23: Pertemuan 2

128 64 32 16 8 4 2 1

A

B

C

D

E

HURUFatauKARAKTER : = 65

= 66

= 67

= 68

= 69

Page 24: Pertemuan 2

Daya Tampung Satuan memory

Page 25: Pertemuan 2

B singkatan untuk Byte

1 KB (Kilo Byte ) = 1024 Byte

Page 26: Pertemuan 2

B Byte

1 KB (Kilo Byte ) = 1024 Byte

1 MB (Mega Byte ) = 1024 KB

Page 27: Pertemuan 2

B Byte

1 KB (Kilo Byte ) = 1024 Byte

1 MB (Mega Byte ) = 1024 KB

1 GB (Giga Byte ) = 1024 MB

Page 28: Pertemuan 2

1 KB (Kilo Byte ) = 1024 Byte

1 MB (Mega Byte ) = 1024 KB

1 GB (Giga Byte ) = 1024 MB

1 TB (Tera Byte ) = 1024 GB1 PB (Peta Byte ) = 1024 TB

1 EB (Exa Byte ) = 1024 PB

1 ZB (Zetta Byte ) = 1024 EB

1 YB (Yotta Byte ) = 1024 ZB

Page 29: Pertemuan 2

Mengapa

mengapa bukan10001 kg = 1000 g

1 km = 1000 m

Page 30: Pertemuan 2

Karena komputer menggunakan

Page 31: Pertemuan 2
Page 32: Pertemuan 2
Page 33: Pertemuan 2

124816326412825651210242048...

ini yang dipakai untuk kilo

1024 = nilai yang paling mendekati 1000

mengapa

Page 34: Pertemuan 2

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.

Page 35: Pertemuan 2

Operating Systemadalah software yang dibuat untukmengendalikan bekerjanya komputer.

Semua pekerjaan didalam komputer dikendalikan (di-control) oleh Operating System

Beberapa Contoh Operating System :

DOSWINDOWSWINDOWS NTUNIXLINUXXENIXMACINTOSHSUN SOLARIS

Page 36: Pertemuan 2

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.

Page 37: Pertemuan 2

= Langkah-langkah dalam Alagoritma

Instruksi-instruksiharus tersusunsecara logis

MemerlukanLOGIKA

yang benar

PROGRAM adalah kumpulan instruksi-instruksiyang diberikan kepada komputer untuk menyelesaikan suatu tugas

Page 38: Pertemuan 2

PROGRAMditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language)

Contoh BahasaPemrograman :COBOLFORTRANPascalBASICCJavadan sebagainya

Bahaca C ini yang kitagunakan untukmenerapkan Algoritmadi komputer

Page 39: Pertemuan 2

Contoh Persoalan yang akan diselesaikan :

Mencari Total dua buah bilangan(Misal dua buah bilangan tersebut masing masing bernilai 5 dan 2).

diselesaikandengan

menggunakan SIPOA, SWIPOA,

SEMPOA

diselesaikan dengan

menggunakanKALKULATOR

diselesaikan dengan

menggunakanKOMPUTER

Page 40: Pertemuan 2

Contoh Persoalan yang akan diselesaikan dengan menggunakan komputer :

Mencari Total dua buah bilangan(Misal dua buah bilangan tersebut masing masing bernilai 5 dan 2).

diselesaikandengan menggunakan

program yang sudah jadimisalnya EXCEL

diselesaikan dengan membuat

PROGRAM sendiri

Page 41: Pertemuan 2

Contoh Soal :Diketahui dua buah bilangan masing masing bernilai 5 dan 2.Susun program dalam Bahasa Cuntuk mencetak hasil penambahan kedua buah bilangan tersebut.

Algoritmasecara Umum A 5 B 2 T A + B WRITE(T)

Algoritma dalam Bahasa C#include<stdio.h>void main(){ int A,B,T; A = 5; B = 2; T = A + B; printf(“%i”, T);}

Variabeltidak didefine/ dideklarasi/ dinyatakan/ dipesanlebih dulu

Variabel perlu didefine/ dideklarasi/lebih dulu

VARIABLE----------

VARIABEL- Tipe (Type)- Nama- Isi Mewakili

ALAMAT(address)

Page 42: Pertemuan 2

#include<stdio.h> main() { int A,B,T; A=5; B=2; T=A+B: printf(“%I”, T);}

Ccompiler windows

#include<stdio.h>main(){ int A,B,T; A = 5; B = 2; T = A + B; printf(“%i”, T);}

5 2 7

A B T7

5 + 2 = 7C PU

MEMORY

SCREENKEYBOARD

WindowsC

compiler

HARDDISK

2

1

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

23

4

Page 43: Pertemuan 2

Kembali ke Soal :Diketahui dua buah bilangan masing-masing bernilai 5 dan 2.Susun program dalam Bahasa C untuk mencetak hasil penambahan kedua bilangan tersebut.

Cara-1 : #include <stdio.h>main(){ int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T);}

Disiapkan 3 buah variabelmasing-masing bertipe integer.Dapat juga ditulis sbb: int A; int B; int T;

Variabel Adiisi dengannilai 5

Isi variabel A ditambah dengan isi variabel Bhasil penambahannya disimpan dalam variabel T

Yang dicetak nilai TInstruksi

Mencetak

Format “%i”untuk nilai integer

Page 44: Pertemuan 2

#include <stdio.h>main(){ int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T);}

Program diatas dapat juga ditulis sbb:

Satu baris statement dapat terdiri dari lebihdari satu instruksi

#include <stdio.h>main(){ int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T);}

Atau sebagai berikut :

#include <stdio.h>main(){ int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T);}

#include <stdio.h>main(){ int A = 5, B = 2, T; T = A + B; printf(“%i”, T);}

Page 45: Pertemuan 2

#include <stdio.h>main(){ int A, B; A = 5; B = 2; printf(“%i”, A+B);}

Total tidak disimpan dalam sebuah variabel,tapi hasil penambahan A+B bisa langsung dicetak

Cara - 2.

#include <stdio.h>main(){ printf(“%i”, 5 + 2);}

Nilai 5 dan 2 begitu juga Total,tidak dismpan dalam variabel.Tapi hasil 5 + 2langsung bisa dicetak

Cara - 3

#include <stdio.h>main(){ printf(“%i”, 7 );}

Walaupun ini juga program,tapi BUKAN program yang dimaksud untuk menghitung 5 + 2tapi hanya sekedar mencetak nilai 7 yang telah kita hitungsendiri.Nilai 7 bukan dihitung oleh komputer

Page 46: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

int A, B, T;Meminta atau memerintahkan Komputer untuk :

Menyiapkan 3 buah tempat (area) bertipe integer dalam memory komputer, masing-masing dengan nama : A, B dan T.

Page 47: Pertemuan 2

Teori :

Setiap data yang disimpan di dalam memory komputer, harus mengikuti bentuk atau format tertentu yang disebut : Tipe DataTipe data dalam Bahasa C/C++ :

charintlong intfloatdoublelong double

Page 48: Pertemuan 2

Tipe Data.

Tipe data dasar (primitif) yang digunakan oleh Bahasa C.

1. Character

2. Integer

3. Floating point (single precision)

4. Double precision

char atau signed charunsigned char

int atau signed int atau signed

unsigned int atau unsigned

long atau long int atau signed long atau signed long int

unsigned long atau unsigned long int

float

double

long double

SebutanTipe Data

Bentuk penulisandalam Bahasa C

Jumlah Byteyang

diperlukan

Jangkauan nilainumerik

1

1

2

2

4

4

4

8

10

-128 s.d. 127

0 s.d. 255

-32768 s.d. 32767

0 s.d. 65535

-2147483648 s.d. 2147483647

0 s.d. 4294967295

3.4E-38 s.d. 3.4E38positip atau negatip

1.7E-308 s.d. 1.7E308positip atau negatip

3.4E-4932 s.d 1.1E4932positip atau negatip

Page 49: Pertemuan 2
Page 50: Pertemuan 2

vary&

able

Secara teknis : Variabel adalah suatu area dalam memory yang isinya dapat diubah-ubah

. nama . isi . tipe

Terlihat nanti, nama ini mewakili alamat variabel tersebut dalam memory

Page 51: Pertemuan 2
Page 52: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

int A, B, T;

A B T

Page 53: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

A = 5;5A B T

Page 54: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

B = 4;5A

4B T

Page 55: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

T = A + B5A

4B

9

T

CPU5 + 4 = 9

Nilai A dan B dibawa ke CPU,Dilakukan proses penembahan,Hasilnya disimpan ke T

Page 56: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

printf(“%i”, T );5A

4B

9

T

9

%i : format untuk nilai integer

Yang dicetak isi variabel T

Page 57: Pertemuan 2

#include <stdio.h>void main(){ int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T);}

Apa guna instruksi ini ?

Ini sudah diterangkan

Page 58: Pertemuan 2

#include<stdio.h>

Untuk apa ?

Page 59: Pertemuan 2
Page 60: Pertemuan 2

fungsi pustaka (Library Function) yang ada dalam file stdio.h :clearr()fclose()fccloseall()fdopen()fflush()fgetc()fgetchar()fgetpos()fgets()

flushall()fopen()fprint()fputc()fputchar()fputs()fread()free()freopen()

fscan()fseek()fsetpos()ftell()fwrite()gets()getw()perror()printf()

puts()putw()rename()rewind()scanf()unlink()

printf ()

Lihat di buku teori :

Salah satunya adalah :

Terlihat nanti :

Kalau menggunakan instruksi untuk input :

scanf( ………);

Jugaharus meng-includekan stdio.h

Page 61: Pertemuan 2
Page 62: Pertemuan 2
Page 63: Pertemuan 2
Page 64: Pertemuan 2
Page 65: Pertemuan 2

Kerjakan soal ini :

Diketahui dua buah bilangan masing masing bernilai 5 dan 4.Susun program dalam Bahasa C untuk mencetak total kedua buah bilangan tersebut.

Soal

Page 66: Pertemuan 2

Banyak macam

algoritma pemrograman

untuk menyelesaikan suatu persoalan dengan menghasilkan hasil yang sama

Page 67: Pertemuan 2

#include <stdio.h> void main() { int A, B, T; A = 5; B = 4; T = A + B; printf(“%i”, T); }

Misal program :

Mencetak total 5 + 4.

Selain program cara diatas,Untuk mencetak total 5 + 4, banyak cara penulisan program antara lain :

Cara-1.

#include <stdio.h> void main() { int A, B; A = 5; B = 4; printf(“%i”, A + B); }

Cara-2.

#include <stdio.h> void main() { int T; T = 5 + 4; printf(“%i”, T); }

Cara-3.

#include <stdio.h> void main() { printf(“%i”, 5 + 4 ); }

Cara-4.

Dan sebagainya

Page 68: Pertemuan 2

#include <stdio.h>void main(){ printf(“%i”, 9 );}

Walaupun ini juga program,tapi BUKAN program yang dimaksud untuk menghitung 5 + 4tapi hanya sekedar mencetak nilai 9 yang telah kita hitungsendiri.Nilai 9 bukan dihitung oleh komputer

Page 69: Pertemuan 2

Struktur Bahasa C

----void main() { statement statement statement statement }

----

Page 70: Pertemuan 2
Page 71: Pertemuan 2

Keywords dan Library Functions.

#include <stdio.h>void main(){ int A, B, T; scanf(“ %i ”, &A); scanf(“ %i ”, &B); T = A + B; printf(“ %i ”, T);}

#include <iostream.h>void main(){ int A, B, T; cin >> A; cin >> B; T = A + B; cout << T;}

Turbo C C++

Perhatikan kata-kata (words) yang ada dalam kedua program tersebut, yaitu :

include stdio.hstream.h

main()scanf()printf()cincout

voidint

Page 72: Pertemuan 2

a.

Keywords dalam ANSI C(ANSI = American National Standards Institute)

autobreakcasecharconstcontinuedefault

dodoubleelseenumexternfloatfor

gotoifintlongregisterreturn

shortsignedsizeofstaticstructswitch

typedefunionunsignedvoidvolatilewhile

Keyword dalam Bahasa C

Page 73: Pertemuan 2

Keywords tambahan dalam TURBO C

Selain keywords yang ada pada ANSI C, Turbo C menambah beberapa keywords yaitu :

asmcdeclfarhuge

interuptnearpascal

Page 74: Pertemuan 2

Selain keywords yang ada pada ANSI C, C++ menambah beberapa keywords yaitu :

asmclassdeletefriendinline

newoperatorprivateprotectedpublic

templatethisvirtual

Page 75: Pertemuan 2

b. Library Functions dan Library Macroes dalam Turbo C.

1) Dalam stdio.hLibrary Functionsclearr()fclose()fccloseall()fdopen()fflush()fgetc()fgetchar()fgetpos()fgets()

flushall()fopen()fprint()fputc()fputchar()fputs()fread()free()freopen()

fscan()fseek()fsetpos()ftell()fwrite()gets()getw()perror()printf()

puts()putw()rename()rewind()scanf()unlink()

Page 76: Pertemuan 2

1) Dalam stdio.h

Library Macroes

feof(f)ferror(f)fileno(f)getch(f)getchar(f)putchar( f)remove(path)

Page 77: Pertemuan 2

2) Dalam math.h

Library Functions

abs()acosh()asin()atan()atan2()atof()

ceil()cos()cosh()exp()fabs()floor()fmod()

labs()ldexp()log()log10()pow()sin()sinh()

sqrt()tan()tanh()

Page 78: Pertemuan 2

3) Dalam stdlib.h

Library Functions

abs()atof()atoi()atol()div()exit()

free()ldiv()malloc()rand()srand()system()

abs(x)atoi(s)random(num)randomize()

Library Macroes

Page 79: Pertemuan 2

4) Dalam string.h

Library Functions

strcpy()strcat()strchr()strcmp()strlen()

Page 80: Pertemuan 2

5) Dalam conio.h

Library Functions

clrscr()getch()getche()gotoxy()khbit()putch()

Page 81: Pertemuan 2

6) Dalam io.h

Library Functions

access()_close()close()_creat()eof()

filelength()_ope()open()_read()read()_write()write()

Page 82: Pertemuan 2

6) Dalam ctype.h

Library Functions

stlower()toupper()

Library Macroes

isalnum( c)isalpha( c)isascii( c)iscntrl( c)isdigit( c)

isgraph( c)islower ( c)isprint( c)ispunct( c)isspace( c)

isupper( c)isxdigit( c)toascii( c)_tolower( c)_toupper( c)

Page 83: Pertemuan 2