algoritma_201506

49
Algoritma dan Pemrograman Eko Travada S, ST, MT Program Studi Teknik Informatika [email protected] Cafemikrochip.webs.com

Upload: cahya-suheryadi

Post on 13-Dec-2015

8 views

Category:

Documents


3 download

DESCRIPTION

materi algoritma pasim

TRANSCRIPT

Algoritma dan

Pemrograman

Eko Travada S, ST, MT

Program Studi Teknik Informatika

[email protected]

Cafemikrochip.webs.com

Silabus

Pengertian Algoritma Jenis Jenis data FlowChart Model Dalam Algoritma◦ Beruntun◦ Percabangan/kondisional◦ Loop/perulangan◦ Sub Rutin

Contoh contoh algoritma dari Model diatas

Bahasa C Implementasi ke Bahasa Program

Komputer (C)

2

Referensi

Donald Knuth, The Art Of Computer

Programming, Volume 1 / Fundamental

Algorithms, 2nd edition, Addison Wesley

Rinaldi Munir, Algoritma dan

Pemrograman dalam Bahasa Pascal dan C,

Penerbit Informatika Bandung

Adi Nugroho, Pemrograman Berorientasi

Objek

3

Apa Itu Algoritma?(smbr : Budi Raharjo)

Definisi

◦ Urutan langkah-langkah untuk memecahkan

masalah

◦ Kamus Besar Bahasa Indonesia:

Algoritma adalah urutan logis pengambilan

putusan untuk pemecahan masalah

Algoritma dibutuhkan untuk memerintah

komputer mengambil langkah-langkah

tertentu dalam menyelesaikan masalah

4

Contoh kasus Algoritma dan

pemecahannya1. Berapa luas lapangan sepakbola

Solusi algoritma

Untuk dapat menghitung luas lapangan sepakbola anda harus

mengetahui

a. Panjang dan lebar lapangan sepakbola

b. Mengetahui rumus untuk menghitung luas lapangan sepakbola yang

berbentuk segiempat yaitu Luas = Panjang * Lebar

1. Berapa waktu tempuh dari bandung ke jakarta bila menggunakan mobil

a. Harus diketahui jarak dan kecepatan

b. Formula untuk menghitung waktu tempuh adalah jarak dibagi kecepatan

2. Berapa Jumlah Buah di Keranjang

Jelaskan bagaimana cara anda menjelaskan langkah untuk menyelesaikan

kasus di atas ?

5

6

Algoritma Hingga menjadi Produk

(Software)

6

Alur Implementasi ke program komputer

(Software) dengan alur sbb :

Kasus AlgoritmaTentukan

Struktur data

Implementasi Ke

Bahasa KomputerCompiler

Aplikasi siap Pakai

(digunakan Uset)

Ada

Kesalahan

Testing (User

Acceptance Test)

Ada

Kesalahan

Dokumentasi

(flowchart/UML/FlowMap(

Pengertian Komputer

7Komputer

Perangkat Keras

(hardware)

Perangkat Lunak

(Software)

memproses fakta dan

data menjadi informasi

Merupakan Prosedur

pemrosesan agar data dan

fakta dapat menjadi

informasi

Brainware

Personal atau sistem

yang membuat atau

menggunakan

Hardware dan

software

Sejarah Perkembangan Teknologi

Komputer

8

Teknologi TabungTeknologi

Transistor

Teknologi

Intregrated

Circuit (IC)

Teknologi

MikroChip

Era Pioner Era Stabil Era Mikro

Era Modern

9

Sejarah Komputer

Era Pioner

(generasi tabung)

10

Sejarah Komputer

Era Stabil (Generasi Transistor)

• Satu komputer dapat menangani banyak

pekerjaan

•Dikenal sistem basis data yang memisahkan antara program dan data

yang diproses

11

Sejarah Komputer

Era Mikro (Generasi IC (integrated Circuit)

• Komputer sudah dapat digunakan untuk

perorangan

•Ditanamkan kecerdasan buatan

12

Era Modern (Generasi MikroChip)

Perangkat Lunak mulai ditanamakan ke perangkat seperti HP, TV,

Mesin cuci dan berbagai peralatan elektronik lainnya.

Sejarah Komputer

Perangkat Keras (Hardware)

13

Secondary

Storage

Main Memory

Control Unit

ALU

Input Unit Output Unit

CPU

14

CPU (Central Processor Unit)

CPU terdiri atas bagian :

1. Control Unit : Berfungsi sebagai Pengendali dari proses

yang berjalan di sistem komputer

2. Main Memori : Berfungsi sebagai tempat penyimpanan

data sementara saat proses berjalan

3. ALU (Arithmatic Logic Unit) : Melakukan proses

perhitungan dan Logika saat proses berjalan

15

Contoh ilustrasi Proses CPU Aritmatik

Control Unit

membaca :

F(x) x + 1

F(x) X + 1

Dg Nilai x

4

Menyimpan nilai

x yaitu 4

CU meminta main

memori

ALU menghitung

Nilai x + 1 dengan

nilai x diambil dari

main memori

Nilai f(x) yaitu 5

disimpan dahulu

di main memori

16

Contoh ilustrasi Proses CPU Logika

Control Unit

membaca :

Uji Input x = 5

Uji Jika X =

5 maka

diterima, bila

tidak ditolak

Menyimpan nilai

x yang diinput

CU meminta main

memori

ALU

membandingkan

Nilai x = 5Hasil

perbandingan

disimpan ke main

memori

17

Latihan 1 (satu)

1. Jelaskan Pengertian komputer dengan Bahasa anda sendiri

2. Sejarah Komputer terdiri dari 4 generasi teknologi yaitu :

3. Sebutkan bagian Utama dari perangkat keras

4. Gambarkan dalam bentuk ilustrasi bila CPU diminta mengerjakan persamaan F(x) = x + y2 + 3 dengan x=1 dan y=2

5. Gambarkan dalam bentuk ilustrasi bila komputer bekerja menguji nilai input apakah lebih besar sama dengan 10 atau kurang dari 10.

18

Klasifikasi Perangkat Lunak

Perangkat Lunak berbentuk perintah yang harus dikerjakan oleh

Perangkat keras dibagi atas klasifikasi :

• Perangkat Lunak Sistem

• Perangkat Lunak Aplikasi

19

Perangkat Lunak Aplikasi

• Aplikasi Office : Microsoft Office

• Aplikasi Khusus : Autocad, Protel

• Aplikasi Multimedia : MP3, Media Player, MIDI

• Aplikasi Internet : Email, HTTP, Messengger

20

Layer Perangkat Lunak

• Perangkat Lunak Berbentuk aljabar Boolean yang direpresentasikan sebagai binary digit bentuk 0 atau 1

Kode kode aljabar

boolean tersebut

digabungkan sehingga

menjadi intruksi

aritmatik, logika dan instruksi mnemonic

Instruksi mnemonic

digabung kembali

maka

Menjadi bahasa

pemrograman

Aljabar Boolean

Machine Language

Mnemonic

/Assembley

language

High level

Language

Aplikasi untuk

User

21

Membangun Perangkat Lunak

Analisis dari masalah yang muncul untuk dapat dipahami : Input (Masukkan)

Proses

Output (Keluaran)

Susun Algoritma : Langkah langkah sistematis untuk menyelesaikan masalah, dapat dibantu dengan flowchart

Implementasikan ke komputer dengan bahasa pemrograman

22

Memahami Pengertian Input

Input adalah masukkan yang diberikan agar

suatu proses dapat dikerjakan.

Contoh : Diketahui persamaan

1. WaktuTempuh Jarak / Kecepatan

input adalah Jarak dan kecepatan

2. S = V0*t + 0.5 * a * t2

Input adalah V0, t, a dan 0.5 sebagai

konstanta (nilai tetap)

3. Budi hendak menghitung buah di dalam

keranjang : maka yang menjadi Input adalah

Buah di Keranjang

23

Memahami Pengertian Proses

Proses : Kegiatan yang dikerjakan setelah input

diberikan : dari contoh sebelumnya maka

1. Yang menjadi proses jarak/kecepatan

2. Vo*t+0.5*a*t2

3. Menghitung Buah di keranjang

Memahami Pengertian Output

Output adalah keluaran yang diinginkan

oleh User.

Contoh

1. Berapa luas lapangan sepakbola

2. Berapa jarak dari bandung ke jakarta bila

menggunakan mobil

3. Berapa Jumlah Buah di Keranjang

24

25

Latihan 2 (dua) (tentukan Input – Proses –

Output )a. d=b-4ac

b. L=Phi*r2

c. Tentukan jumlah batu bata yang dibutuhkan untuk

membangun tembok dengan luas P m2 dan luas

batubata N m2

d. Tentukan berapa hari , jam , Menit dari masukkan

yang bernilai T Menit

Penulisan Algoritma

Dalam bahasa natural (Bahasa Indonesia, Bahasa

Inggris, dan bahasa manusia lainnya)

◦ Tapi sering membingungkan (ambiguous)

Menggunakan flow chart (diagram alir)

◦ Bagus secara visual akan tetapi repot kalau

algoritmanya panjang

Menggunakan pseudo-code

◦ Sudah lebih dekat ke bahasa pemrograman,

26

Contoh Algoritma Bahasa Natural

Requirement

◦ Buat sebuah algoritma untuk memilih bilangan

terbesar dari 2 buah bilangan

Maka Langkah Dalam bahasa Natural

1. Ambil bilangan pertama dan set maks sama dengan bilangan pertama

2. Ambil bilangan kedua dan bandingkan dengan maks

3. Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua

4. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya

27

28

Flowchart

Terminator : Simbol tanda dimulai

atau berakhir sebuah program

Input/Output : Simbol data variabel

(dapat berubah – ubah) sebagai

masukkan atau hasil dari proses

Proses : Simbol Formula/proses

yang sedang dikerjakan

Decision : Bila hasil dari sebuah

proses menghasilkan lebih dari

satu kemungkinan keluaran yang

benar

Konstanta : Data berupa

konstanta (bernilai tetap)

Predifined Proses : Bila ada

sub proses di proses yang

sedang dikerjakan

Sambungan bila masih di

halaman yang sama

Sambungan di halaman

yang berbeda

Algoritma dengan Flowchart

29

Maks = bilangan pertama

Maks <

bilangan kedua Maks = bilangan keduaYa

Selesai

Mulai

Tidak

Algoritma dengan pseudo-code

maks ← bilangan pertama

if (maks < bilangan kedua)

maks ← bilangan kedua

Print maks

30

Aspek Penting dari Algoritma

1. Finiteness

• Algoritma harus berhenti after a finite number of steps

2. Definiteness

• Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)

3. Input

• Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan

4. Output

• Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input

5. Effectiveness

• Setiap algoritma diharapkan miliki sifat efektif

31

Tugas 3 (Tiga)

Buat Algorit:ma untuk kasus berikut :

(dalam Bahasa Natural , FlowChart dan

Pseudo - Code)

Menghitung Volume kubus :6 * luas sisi kubus

Menghitung Volume bola : 4/3*Phi* r3

Menghitung Nilai dari suatu Akar Persamaan

32

Struktur Menyusun Algoritma

33

Judul Program (Tulis Judul Program)

{ Deskripsi Program }

Deklarasi

(tentukan Variabel/Constanta dan Tipe data)

Algoritma

(Susun Algoritma)

Tulis Judul Program

Anda dan beri Deskripsi

Singkat)

Deklarasikan Variabel

yang dibutuhkan

dalam menyusun

Algoritma dan tipe

Data Yang sesuai

Susun Algoritma

Dalam Bentuk

Pseudo Code

Tipe Data

1. Tipe Data Standar◦ Boolean

◦ Numerik Bulat

◦ Numerik Pecahan

◦ Karakter

◦ String

2. Tipe Data Komposit◦ Record

◦ Array

◦ Pointer

◦ ----

34

Tipe data Standar

Boolean Memiliki 2 Jenis data True Dan false

Operasi perbandingan <,>,>=,<=,= =,=!Operasi Logika (True = 1, false = 0)

Not : Membalikkan Nilai BinerOr : Bila salah satu true maka Keluaran true

AND : Bila salah satu false maka Keluaran FalseXOR : Keluaran True Bila dua data berbeda

Bila sama maka false

35

Tipe data Standar (Lanjutan)

Numerik Bulat Tipe data yang hanya mengambil Nilai bulat dari suatu variabel atau

konstanta.

Contoh :

5,5 maka dibaca 5

3,2 dibaca 3

7,8 dibaca 7

Dalam beberapa kasus pembulatan nilai dapat dilakukan dengan menambahkan perintah khusus untuk pembulatan nilai

Dalam Bilangan Bulat memiliki nilai keterurutan yaitu nilai sebelumnya predecessor dan nilai sesudahnya successor sebagai contoh pred dari 9 adalah 8 dan succ dari 9 adalah 10 .

Secara formal pred(a) = a – 1 succ(a) = a + 1

Konstanta dalam bilangan bulat ditulis tanpa mengandung titik desimal

36

37

Operasi Bilangan Bulat

- Operasi Bilangan Bulat adalah Operasi aritmetika dan operasi perbandingan

- Operator masing masing operasi adalah operator aritmetika dan operator perbandingan

- Operator aritmetika :- + (tambah)

- - (kurang)

- Div (bagi)

- * (Kali)

- Mod (sisa hasil bagi) contoh

- 5 + 5 = 10

- 6 Div 4 = 1

- 7 Mod 3 = 1

Operator Perbandingan

<. >, <=, >=, =, <>

Contoh

4 < 6 = True

3 > 5 = false5 <> 8 = true

5 <= 5 = true

38

Bilangan Riil

Bilangan riil adalah bilangan yang mengandung nilai desimal misal 3.05 , 3.23, 2.6E3, 0.25

Bilangan riil disebut dengan real

Jangkauan Nilai Bilangan Riil

Tipe Rentang Nilai Format

real 2.9 x 10-39 .. 1.7 x 10 38 6 Byte

single 1.5 x 10-45 .. 3.4 x 10 38 4 byte

double 5.0 x 10 -324 .. 1.7 x 10 308 8 byte

extended 3.4 x 10 -4932 .. 1.1 x 10 4932 10 byte

39

Operasi Bilangan Riil

Operasi dalam bilangan Riil :

- Operasi aritmetika dalam bilangan riil menghasilkan nilai bertipe riil

- Operator yang digunakan +, -, /, *

- Bila dalam operasi menggunakan tipe campuran maka otomatis akan dikonversi ke tipe riil

- Operator perbandingan : <, >, <=, >=, <>, =

- Operator perbandingan menghasilkan tipe data boolean

Karakter

Contoh jenis bilangan karakter adalah

‘a’,’b’,’c’,’A’,’B’,’1’,’2’, dst

Type Bilangan karakter disebut juga Char

Bilangan karakter adalah semua huruf baik

kecil ataupun yang kapital, termasuk tanda

baca

40

String

String adalah Gabungan karakter seperti :

- ‘ada’. ‘123’

Operasi dalam karakter

+, &

Contoh

Hasil ‘123’ + ‘456’

Maka isi hasil ‘123456’

Tanda + dapat diganti dengan &

41

Tipe Data Komposit

- ARRAY

- Record

- Pointer

Contoh

Array

a,b : array[1..5] of integer

a[1]= 5 ; a[2]=6

Dataku : Record

nama : string

umur : integer

dataku.nama = ‘Doni’

dataku.umur = 32

Tipe data Pointer merupakan tipe data berupa alamat memori.

42

KeyWord dan Notasi Untuk

membuat Pseudo Codea b artinya isi variabel b disalin ke variabel a, dan isi variabel a

sebelumnya akan hilang

Write(‘halo’) artinya mencetak kata halo

Write(hasil) artinya mencetak isi variabel hasil

Read(a) artinya membaca masukkan dan disimpan di a

Read(a,b,c) artinya membaca masukkan sebanyak 3 data untuk

disimpan di a,b,c

If ekspresi boolean then <statementtrue > else <statementfalse>

endif artinya menyeleksi statement apakah menghasilkan keluaran

true atau false

For pernyataan inisialisasi to nilai akhir step penambahan

Do pernyataan while ekspresi boolean

While ekspresi boolean do pernyataan

43

If Then Elseif End If

1, Di sebuah Perusahaan kecil terdiri dari karyawan tetap dikodekan dengan

“T” dan Karyawan harian dikodekan dengan “B”. Dihitung gajinya dengan

aturan. Karyawan tetap Gajinya Rp 750.000,-. Untuk karyawan harian

dihitung berapa jam karyawan bekerja dengan honor perjamnya Rp 7.500,-

2. Diketahui suatu akar persamaan ax2 + Bx + C. Untuk menghitung X1 = -

b+akar(b2 -4ac)/(2a) x2 = -b - akar(b2 -4ac)/(2a)

3. Grade Nilai Siswa sbb :

Nilai > 80 A

60 < Nilai < 80 B

40 < Nilai < 60 C

20 < Nilai < 40 D

Nilai < 20 E

44

Switch Case

Struktur Switch case digunakan untuk menggantikan

struktur If Nested (If Bersarang)

Format

Switch <nama Peubah>

Case Nilai Pertama Peubah : perintah -1

Case Nilai Kedua Peubah : Perintah – 2

---------

Case Nilai ke n Peubah : perintah – x

Default

EndCase

45

Perulangan LOOP

Ada 3 Jenis Struktur Perulangan yaitu

1. While Do Dicek Dahulu baru Proses

Loop dijalankan. Digunakan bila jumlah

ditentukan atau tidak ditentukan

2. Do While Diloop baru dicek

3. For .. To … Do Digunakan bila

diketahui jumlah Loop

46

Contoh kasus

1. Buat Program untuk menghitung rata rata nilai

yang diinputkan yaitu 10.4.6.8

2. Buat Program Password dengan password

selamat

3. Modifikasi soal no 2 dengan jumlah batas

password 3 kali kesalahan

4. Buat Program menampilkan bintang seperti

berikut (untuk melaompat ke bawah digunakan

isntruksi writeln

*

**

***

****

Function dan ProcedureFormat Function

Function NamaFunction

{ Statment ;

return (nilai dikembalikan) }

Function NamaFunction (parameter)

{ Statment ;

return (nilai dikembalikan) }

Procedure namaprocedure

{Statement }

Procedure namaprocedure (parameter)

{Statement }

2004 EL 2001 - Algoritma v.1.2

%d %i Decimal signed integer.

%o Octal integer.

%x %X Hex integer.

%u Unsigned integer.

%c Character. %s String. See below.

%f double

%e %E double.

%g %G double.

%p pointer. %n Number of characters

written by this printf.

No argument expected. %% %. No argument

expected.