algoritmaalgoritmadan dandanpemrograman … · • kata logis disini berarti benar sesuai dengan...

Post on 09-May-2018

224 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AlgoritmaAlgoritmaAlgoritmaAlgoritma dandandandan PemrogramanPemrogramanPemrogramanPemrograman

Review Review Review Review AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman

Ptputraastawa@gmail.com

Ptputraastawa.wordpress.com

• Sebuah sistem komputer terdiri dari :• Hardware (perangkat keras)

• Software (perangkat lunak) dan

• Brainware.

• Sedangkan Software dapat dikelompokan menjadi :• Operating System Software,

• Programming Language Software,

Sistem KomputerSistem KomputerSistem KomputerSistem Komputer

Slide 1 - 2/29Algorima dan Pemrograman– Putu Putra Astawa

• Programming Language Software,

• Dan Application Program Software.

Definisi ProgramDefinisi ProgramDefinisi ProgramDefinisi Program

• Adalah kumpulan instruksi-instruksi tersendiri yang biasanyadisebut source code yang dibuat oleh programmer.

• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalaryang tepat untuk menyelesaikan suatu persoalan.

Instruksi (statement) yang dimaksud adalah syntax (cara

Slide 1 - 3/29Algorima dan Pemrograman– Putu Putra Astawa

• Instruksi (statement) yang dimaksud adalah syntax (carapenulisan) sesuai dengan bahasa pemrograman yang digunakan.

• Mempunyai komponen-komponen : input, output, proses, percabangan dan perulangan.

Bahasa PemrogramanBahasa PemrogramanBahasa PemrogramanBahasa Pemrograman• Adalah tata cara penulisan program Yaitu

• Sintax adalah aturan – aturan yang mengatur tata cara penulisankata, ekspresi dan pernyataan.

• semantik adalah aturan - aturan untuk menyatukan suatu arti.

• Cotoh : C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java,

dll.

Slide 1 - 4/29Algorima dan Pemrograman– Putu Putra Astawa

• Perbedaan : cara memberikan instruksi

• Persamaan : bertujuan menghasilkan output yang sama.

PemrogramanPemrogramanPemrogramanPemrograman merupakan proses mengimplementasikanurutan langkah untuk menyelesaikann suatu masalahdengan menggunkan suatu bahasa pemrograman

PemrogramanPemrogramanPemrogramanPemrograman

Slide 1 - 5/29Algorima dan Pemrograman– Putu Putra Astawa

• Algoritma adalah urutan langkah-langkah logis penyelesaian

masalah yang disusun secara sistematis.

• Kata logis disini berarti benar sesuai dengan logika manusia.

• Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh

untuk menyelesaikan masalah harus memberikan hasil yang benar.

Algoritma dibutuhkan untuk memerintah komputer

ApaApaApaApa ItuItuItuItu AlgoritmaAlgoritmaAlgoritmaAlgoritma????

Slide 1 - 6/29Algorima dan Pemrograman– Putu Putra Astawa

• Algoritma dibutuhkan untuk memerintah komputer

mengambil langkah-langkah tertentu dalam menyelesaikan

masalah

Domain algoritmaDomain algoritmaDomain algoritmaDomain algoritma

• Masalah : motivasi untuk membuat algoritma.

• Algoritma : prosedur untuk menyelesaikan masalah. Seringkali satu masalah dapat diselesaikan dengan lebihdari satu cara (banyak kemungkinan).

Program: representasi formal dari suatu algoritma dengan

Slide 1 - 7/29Algorima dan Pemrograman– Putu Putra Astawa

• Program: representasi formal dari suatu algoritma denganmenggunakan bahasa pemrograman yang bisa dimengertioleh komputer.

• Proses : aktivitas menjalankan langkah-langkah dalamalgoritma.

• Input : data yang harus diberikan pada komputer

• Output: informasi yang akan diperoleh dari komputer

• Logika: Merencanakan proses program. Terdiri dari sejumlah

instruksi yang mengubah input menjadi output yang

Hal yang Hal yang Hal yang Hal yang harusharusharusharus dipenuhidipenuhidipenuhidipenuhi dlmdlmdlmdlm AlgoritmaAlgoritmaAlgoritmaAlgoritma

Slide 1 - 8/29Algorima dan Pemrograman– Putu Putra Astawa

instruksi yang mengubah input menjadi output yang

diinginkan.

• 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

PenulisanPenulisanPenulisanPenulisan AlgoritmaAlgoritmaAlgoritmaAlgoritma

Slide 1 - 9/29Algorima dan Pemrograman– Putu Putra Astawa

• Bagus secara visual akan tetapi repot kalau algoritmanya panjang

• Menggunakan pseudo-code

• Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti

oleh orang yang tidak mengerti pemrograman

FlowchartFlowchartFlowchartFlowchart

• Simbol-simbol dalam flowchart

SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR(FLOW LINE)

Arah aliran program

PREPARATIONProses inisialisasi/pemberian

Slide 1 - 10/29Algorima dan Pemrograman– Putu Putra Astawa

PREPARATIONProses inisialisasi/pemberian

harga awal

PROSESProses perhitungan/proses

pengolahan data

INPUT/OUTPUT DATA

Proses input/output data, parameter, informasi

Flowchart (cont,.)Flowchart (cont,.)Flowchart (cont,.)Flowchart (cont,.)

• Simbol-simbol dalam flowchart

PREDEFINED PROCESS (SUB PROGRAM)

Permulaan sub program/prosesmenjalankan sub program

DECISION

Perbandingan pernyataan, penyeleksian data yang

memberikan pilihan untuk langkahselanjutnya

Slide 1 - 11/29Algorima dan Pemrograman– Putu Putra Astawa

ON PAGE CONNECTORPenghubung bagian-bagian

flowchart yang berada pada satuhalaman

OFF PAGE CONNECTOR

Penghubung bagian-bagianflowchart yang berada pada

halaman berbeda

ContohContohContohContoh : : : : algoritmaalgoritmaalgoritmaalgoritma 1111

• Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi

kopi. Bagaimana caranya menukar isi masing-masing gelas?

Slide 1 - 12/29Algorima dan Pemrograman– Putu Putra Astawa

tehtehtehteh kopikopikopikopi

ContohContohContohContoh: : : : algoritmaalgoritmaalgoritmaalgoritma 1 (cont,.)1 (cont,.)1 (cont,.)1 (cont,.)

Algoritma• Siapkan gelas cadangan X

• Tuangkan gelas yang berisiteh ke gelas cadangan tehtehtehteh

XXXX

XXXX

Slide 1 - 13/29Algorima dan Pemrograman– Putu Putra Astawa

• Tuangkan gelas yang berisikopi ke gelas yang awalnyadipakai teh

• Tuangkan isi gelascadangan ke gelas yang awalnya berisi kopi

kopikopikopikopitehtehtehteh

kopikopikopikopi XXXX

• Requirement

• Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah

bilangan

• Nantinya ini bisa digeneralisir menjadi n buah bilangan

ContohContohContohContoh: : : : algoritmaalgoritmaalgoritmaalgoritma 2222

Slide 1 - 14/29Algorima dan Pemrograman– Putu Putra Astawa

1. Ambil bilangan pertama dan set maks sama denganbilangan pertama

2. Ambil bilangan kedua dan bandingkan dengan maks

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

4. Ambil blangan ketiga dan bandingan dengan maks

Apabila bilangan ketiga lebih besar dari maks, set maks

AlgoritmaAlgoritmaAlgoritmaAlgoritma DalamDalamDalamDalam BahasaBahasaBahasaBahasa NaturalNaturalNaturalNatural

Slide 1 - 15/29Algorima dan Pemrograman– Putu Putra Astawa

5. Apabila bilangan ketiga lebih besar dari maks, set makssama dengan bilangan ketiga

6. Variabel maks berisi bilangan terbesar. Tayangkanhasilnya

Algoritma dengan FlowchartAlgoritma dengan FlowchartAlgoritma dengan FlowchartAlgoritma dengan Flowchart

Maks = bilangan pertama

Maks <

bilangan kedua Maks = bilangan keduaYa

Mulai

Slide 1 - 16/29Algorima dan Pemrograman– Putu Putra Astawa

bilangan kedua

Maks <

bilangan ketiga Maks = bilangan ketigaYa

Selesai

Tidak

Tidak

maks← bilangan pertama

if (maks < bilangan kedua)

maks← bilangan kedua

if (maks < bilangan ketiga)

maks← bilangan ketiga

Algoritma dengan Algoritma dengan Algoritma dengan Algoritma dengan pseudopseudopseudopseudo----codecodecodecode

Slide 1 - 17/29Algorima dan Pemrograman– Putu Putra Astawa

• Requirement• Algoritma untuk menentukan apakah suatu bilangan merupakan

bilangan ganjil atau bilangan genap.

ContohContohContohContoh: : : : algoritmaalgoritmaalgoritmaalgoritma 3 3 3 3

Slide 1 - 18/29Algorima dan Pemrograman– Putu Putra Astawa

1. Masukkan bilangan sembarang

2. Bagi bilangan dengan bilangan 2

3. Hitung sisa hasil bagi pada langkah b.

4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.

AlgoritmaAlgoritmaAlgoritmaAlgoritma DalamDalamDalamDalam BahasaBahasaBahasaBahasa NaturalNaturalNaturalNatural

Slide 1 - 19/29Algorima dan Pemrograman– Putu Putra Astawa

AlgoritmaAlgoritmaAlgoritmaAlgoritma DenganDenganDenganDengan FlowchartFlowchartFlowchartFlowchart

• Flowchart untuk menentukan bilangan genap/ganjil

T

Start

Input

Bilangan

A

Apaka

hSisa = 0

Slide 1 - 20/29Algorima dan Pemrograman– Putu Putra Astawa

YHitung sisa

bagi antara

bilangan dengan 2

A

Sisa = 0

CetakGenap

CetakGanjil

End

bil← bilangan sembarang

if (bilmod 2) =0

bil← bilangan genap

if (bil mod 2 <> 0)

bil← bilangan ganjil

Algoritma dengan Algoritma dengan Algoritma dengan Algoritma dengan pseudopseudopseudopseudo----codecodecodecode

Slide 1 - 21/29Algorima dan Pemrograman– Putu Putra Astawa

1. Finiteness• Algoritma harus berhenti after a finite number of steps

2. Definiteness(pasti)• 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

Aspek Penting dari AlgoritmaAspek Penting dari AlgoritmaAspek Penting dari AlgoritmaAspek Penting dari Algoritma

Slide 1 - 22/29Algorima dan Pemrograman– Putu Putra Astawa

Sebuah algoritma memiliki nol atau lebih input yang diberikankepada 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

KriteriaKriteriaKriteriaKriteria AlgoritmaAlgoritmaAlgoritmaAlgoritma (Donald E. Knuth)(Donald E. Knuth)(Donald E. Knuth)(Donald E. Knuth)

• Input • algoritma dapat memiliki nol atau lebih inputan dari luar.

• Output • algoritma harus memiliki minimal satu buah output.

• Definiteness(pasti)

Slide 1 - 23/29Algorima dan Pemrograman– Putu Putra Astawa

Definiteness(pasti)• algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.

• Finiteness(ada batas)• algoritma harus memiliki titik berhenti (stopping rule).

• Effectiveness(tepat dan efisien)• algoritma sebisa mungkin harus dapat dilaksanakan dan efektif.

TugasTugasTugasTugas

Buatlah algoritma dan flowchart

1. Menghitung Luas Lingkaran dan menampilkan hasilnya

2. Mengecek bilangan, di antara 2 bilangan masukan,

apakah sama ataukah lebih besar salah satunya, dan

tampilkan hasilnya

Slide 1 - 24/29Algorima dan Pemrograman– Putu Putra Astawa

• Donald Knuth, The Art Of Computer Programming, Volume 1

Fundamental Algorithms, 2nd edition, Addison Wesley

• Algorithms, Yi-Shin Chen, Addison-Wesley Computing

• Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa

Pascal dan C, Penerbit Informatika Bandung

ReferensiReferensiReferensiReferensi

Slide 1 - 25/29Algorima dan Pemrograman– Putu Putra Astawa

Slide 1 - 26/29Algorima dan Pemrograman– Putu Putra Astawa

top related