pertemuan 2

Post on 31-Oct-2014

542 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

ALGORITMA DAN STRUKTUR DATA 1KP002 3 SKS

DEWI KUSUMANINGSIH, M.KOM

Pengenalan dosen :

Status : Dosen Tetap FTI prodi TI

Ruang : Lembaga Penjaminan Mutu Lantai 2, sebelah kanan

Sekretariat FTI

YM : kusumasankdewi

FB : DewiKusumaningsihMKom

Penilaian :

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

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

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

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.

misal :Intel Pentium

PROCESSOR

MEMORY (internal Storage)

SCREENKEYBOARD

HARDDISK(external storage)

RAMmisal

kapasitas64 MB

Input device

Misalkapasitas

10 GB

Outputdevice

Input & Outputdevice

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

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

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

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

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.

Catatan :

ON

OFF

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

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

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

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

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

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

128 64 32 16 8 4 2 1

A

B

C

D

E

HURUFatauKARAKTER : = 65

= 66

= 67

= 68

= 69

Daya Tampung Satuan memory

B singkatan untuk Byte

1 KB (Kilo Byte ) = 1024 Byte

B Byte

1 KB (Kilo Byte ) = 1024 Byte

1 MB (Mega Byte ) = 1024 KB

B Byte

1 KB (Kilo Byte ) = 1024 Byte

1 MB (Mega Byte ) = 1024 KB

1 GB (Giga Byte ) = 1024 MB

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

Mengapa

mengapa bukan10001 kg = 1000 g

1 km = 1000 m

Karena komputer menggunakan

124816326412825651210242048...

ini yang dipakai untuk kilo

1024 = nilai yang paling mendekati 1000

mengapa

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

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

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

= Langkah-langkah dalam Alagoritma

Instruksi-instruksiharus tersusunsecara logis

MemerlukanLOGIKA

yang benar

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

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

Contoh BahasaPemrograman :COBOLFORTRANPascalBASICCJavadan sebagainya

Bahaca C ini yang kitagunakan untukmenerapkan Algoritmadi komputer

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

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

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)

#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

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

#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);}

#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

#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.

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

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

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

#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

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

A = 5;5A B T

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

B = 4;5A

4B T

#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

#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

#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

#include<stdio.h>

Untuk apa ?

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

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

Banyak macam

algoritma pemrograman

untuk menyelesaikan suatu persoalan dengan menghasilkan hasil yang sama

#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

#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

Struktur Bahasa C

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

----

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

a.

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

autobreakcasecharconstcontinuedefault

dodoubleelseenumexternfloatfor

gotoifintlongregisterreturn

shortsignedsizeofstaticstructswitch

typedefunionunsignedvoidvolatilewhile

Keyword dalam Bahasa C

Keywords tambahan dalam TURBO C

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

asmcdeclfarhuge

interuptnearpascal

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

asmclassdeletefriendinline

newoperatorprivateprotectedpublic

templatethisvirtual

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()

1) Dalam stdio.h

Library Macroes

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

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()

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

4) Dalam string.h

Library Functions

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

5) Dalam conio.h

Library Functions

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

6) Dalam io.h

Library Functions

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

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

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)

top related