2 adp penyajian algoritma

52
ALGORITMA & DASAR PEMROGRAMAN Penyajian Algoritma

Upload: muhammad-salihin

Post on 28-Jul-2015

172 views

Category:

Software


6 download

TRANSCRIPT

Page 1: 2   adp penyajian algoritma

ALGORITMA & DASAR PEMROGRAMAN

Penyajian Algoritma

Page 2: 2   adp penyajian algoritma

Penyajian algoritma dapat disajikan dengan menggunakan dua teknik, yaitu dengan tulisan dan gambar

Penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode English Structure dan Pseudocode, sedangkan penyajian algoritma dengan teknik gambar biasanya menggunakan metode Structure Chart, Hierarchy Plus Input-Process-Output, Flowchart, dan Nassi Schneiderman Chart.

Pengantar

Page 3: 2   adp penyajian algoritma

English Structure merupakan alat yang cukup efisien untuk menggambarkan suatu algoritma.

Basis dari English Structure adalah bahasa Inggris, tetapi juga dapat menggunakan bahas Indonesia.

Bahasa manusia digunakan sebagai dasar penggambaran suatu algoritma, oleh karena itu English Structure lebih tepat digunakan untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai sistem.

ENGLISH STRUCTURE & PSEUDOCODE

Page 4: 2   adp penyajian algoritma

Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya.

Pseudocode berasal dari kata pseudo yang berarti imitasi atau mirip atau menyerupai, dan code yang berarti program.

Pseudocode ditulis berbasiskan bahasa pemrograman seperti BASIC, PASCAL, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan dengan programmer.

Pseudocode lebih rinci dari English Strucuture, misalnya dalam menyatakan tipe data yang digunakan.

PSEUDOCODE

Page 5: 2   adp penyajian algoritma

if(Nilai > 80) Output ‘A’ else if(Nilai > 60) Output ‘B’ else if(Nilai > 50) Output ‘C’ else if(Nilai > 30) Output ‘D’

CONTOH PSEUDOCODE

Page 6: 2   adp penyajian algoritma

Dalam penulisan English Structure dan Pseudocode juga dikenal struktur penulisan program seperti Sequence Structure, Selection Structure, dan Looping Structure.

PENULISANNYA

Page 7: 2   adp penyajian algoritma

Terdiri dari sebuah instruksi atau blok instruksi yang tidak mempunyai perulangan atau keputusan di dalamnya.

Contoh dalam Bahasa Indonesia (menghitung luas dan volume dari persegi panjang):1. Masukkan panjang2. Masukkan lebar3. Masukkan tinggi4. Luas = (2*p*l)+(2*p*t)+(2*l*t)5. Volume = p*l*t6. Tampilkan Luas7. Tampilkan Volume

Contoh dengan Pseudocode

SEQUENCE STRUCTURE

Page 8: 2   adp penyajian algoritma

Merupakan struktur logika guna mengambil suatu keputusan. Struktur ini dapat menggunakan instruksi-seperti IF-THEN atau CASE

Contoh dalam Bahasa Indonesia (menghitung diskon pembelian):1. Inisialisasi variabel.2. Baca data nilai pembelian.3. Jika nilai pembelian lebih besar dari Rp. 100.000, maka

dikenakan diskon 10% dari nilai pembelian. Selain itu maka hanya dikenakan diskon 5% dari nilai pembelian.

4. Hitung total yaitu nilai pembelian dikurangi diskon.5. Tampil nilai pembelian, diskon, dan total pembelian.

Contoh dengan Pseudocode:

SELECTION STRUCTURE

Page 9: 2   adp penyajian algoritma

Struktur ini diterapkan pada situasi di mana suatu instruksi atau grup dari instruksi diproses berulangkali sampai kondisi yang diinginkan terpenuhi.

Pada struktur perulangan ini dapat digunakan instruksi FOR, DO-WHILE.

Contoh dalam Bahasa Indonesia (menampilkan kalimat “Bahasa C” sebanyak 5 kali):1. Inisialisasi variabel2. Tentukan nilai awal sama dengan 03. Untuk nilai lebih kecil dari nilai akhir 5 dimulai dari nilai awal,

ulangilah blok instruksi berikut ini:- Cetak kalimat “Bahasa C”- Tambah nilai dengan satu

4. Selesai Contoh dengan Pseudocode:

LOOPING STRUCTURE

Page 10: 2   adp penyajian algoritma

Beberapa gaya penulisan pada English Structure:1. Common Style yaitu menggunakan huruf

besar di awal selanjutnya huruf kecil semua.2. Capitalized Common Style yaitu

menggunakan huruf besar semua3. Outline Common Style yaitu dengan

menggunakan nomor urut4. Narative Style yaitu berbentuk uraian5. Gaya lain yaitu tiap kata kunci ditulis dengan

huruf besar semua.

GAYA PENULISAN ENGLISH STRUCTURE

Page 11: 2   adp penyajian algoritma

Beberapa aturan penulisan Pseudocode:1. Satu pseudocode satu baris.2. Pisahkan modul-modul atau kelompok pseudocode

dengan memberikan spasi beberapa baris untuk mempermudah pembacaan.

3. Pseudocode ditulis dengan huruf kapital, sedangkan komentar atau variabel dalam huruf kecil.

4. Berikanlah tabulasi yang berbeda untuk penulisan pseudocode-pseudocode yang berada dalam loop-nya.

5. Lakukan pembatasan jumlah baris pseudocode setiap modulnya, misalnya 50 – 75 baris pseudocode per modul, sehingga tidak terlalu panjang.

ATURAN PENULISAN PSEUDOCODE

Page 12: 2   adp penyajian algoritma

Digunakan untuk mendefinisikan dan mengilustrasikan organisasi dari sistem secara berjenjang dalam bentuk modul dan submodul.

Structure chart juga menunjukkan hubungan elemen data dan elemen kontrol serta hubungan antarmodulnya sehingga structure chart dapat memberikan penjelasan yang lengkap tentang sistem dipandang dari elemen data, elemen kontrol, modul dan hubungan antarmodulnya.

STRUCTURE CHART

Page 13: 2   adp penyajian algoritma

Gambar Nama Keterangan

Module Simbol ini menunjukkan suatu modul

ConnectionSimbol ini digunakan untuk menghubungkan suatu modul dengan modul lainnya

Loop Simbol ini menunjukkan suatu perulangan di dalam modul

Decision Simbol ini menunjukkan suatu penyeleksian kondisi di dalam modul

Couple

Simbol ini menunjukkan suatu data/elemen yang dikirimkan dari satu modul ke modul lainnya. Anak panah dengan lingkaran yang kosong menunjukkan data yang dikirimkan, sedangkan anak panah dengan lingkaran padat menunjukkan elemen kontrol yang dikirimkan

SIMBOL DASAR STRUCTURE CHART

Page 14: 2   adp penyajian algoritma

Di samping simbol-simbol standar tersebut, pemrogram juga dapat menambahkan bentuk simbol lain asalkan pemrogram memberikan penjelasan tentang maksud dari simbol yang dibuat tersebut dalam bentuk kamus simbol. Namun demikian sebaiknya pemrogram menggunakan simbol-simbol standar untuk menggambarkan struktur sistem tersebut agar mudah dipahami oleh pemrogram lain.

STRUCTURE CHART

Page 15: 2   adp penyajian algoritma

Gambar Keterangan

Menunjukkan suatu modul dengan nama “Luas Persegi Panjang”.

PENGGUNAAN STRUCTURE CHART

Luas Persegi Panjang

Contoh penggunaan simbol-simbol pada structure chart dalam menggambarkan struktur suatu sistem

Page 16: 2   adp penyajian algoritma

Gambar Keterangan

Modul A memanggil Modul B. Setelah proses dari modul B selesai, maka proses kembali ke modul A yang memanggilnya.

PENGGUNAAN STRUCTURE CHART

A

B

Contoh penggunaan simbol-simbol pada structure chart dalam menggambarkan struktur suatu sistem

Page 17: 2   adp penyajian algoritma

Gambar Keterangan

Modul A memanggil Modul B, di mana elemen data P dikirimkan. Hasil proses dari modul B diperoleh elemen hasil pengolahan Q dan elemen kontrol Flag.

PENGGUNAAN STRUCTURE CHART Contoh penggunaan simbol-simbol pada

structure chart dalam menggambarkan struktur suatu sistem

A

B

Flags

PQ

Page 18: 2   adp penyajian algoritma

Gambar Keterangan

Modul A memanggil Modul B bila kondisi yang diseleksi di modul A terpenuhi.

PENGGUNAAN STRUCTURE CHART

B

Contoh penggunaan simbol-simbol pada structure chart dalam menggambarkan struktur suatu sistem

A

C

Page 19: 2   adp penyajian algoritma

Gambar Keterangan

Proses pengulangan dapat diberi simbol panah yang melingkar. Banyaknya perulangan yang dilakukan secara eksplisit memang tidak tampak pada structure chart, tetapi ditunjukkan oleh proses pada modul di mana letak perulangan tersebut terjadi.

PENGGUNAAN STRUCTURE CHART Contoh penggunaan simbol-simbol pada

structure chart dalam menggambarkan struktur suatu sistem

Total

A

Tampilkan hasil

Masukkan Data

Hitung Total

xx

Total

Habis

Page 20: 2   adp penyajian algoritma

Structure Chart memiliki dua model penggambaran sistem, yaitu Transformed-Centered dan Transaction-Centered

MODEL STRUCTURE CHART

Page 21: 2   adp penyajian algoritma

Structure chart dengan model ini menggambarkan sistem dalam 3 cabang utama:1. Cabang Input yang merupakan cabang yang

akan menerima input dan menentukan status input untuk siap proses.

2. Cabang Proses yang merupakan cabang yang akan melakukan fungsi utama dari sistem, yaitu memproses input yang dikirim dari cabang input.

3. Cabang Output merupakan cabang yang akan memformat data menjadi output.

TRANSFORMED CENTERED

Page 22: 2   adp penyajian algoritma

STRUKTUR TRANSFORMED CENTERED

Sistem

Input A Proses Amenjadi B

Output B

INPUT BRANCH /AFFERENT BRANCH

PROCESS BRANCHTRANSFORM BRANCHCENTRAL TRANSFORM

OUTPUT BRANCH /EFFERENT BRANCH

Page 23: 2   adp penyajian algoritma

STRUKTUR TRANSACTION CENTERED

ProsesTransaksi

Masukkan Data

Transaksi

Analysertipe

Transaksi

Dispatcher

ProsestipeA

ProsestipeB

ProsestipeC

UpdateFileQ

EditTransaksi

B

EditTransaksi

C

Update FileR

UpdatefileP

EditTransaksi

A

Cetak Jurnal

Page 24: 2   adp penyajian algoritma

Adalah bentuk penggambaran secara logika di mana suatu modul berada di dalam modul yang lainnya. Pada contoh berikut ini, tipe transaksi dispatch merupakan modul yang sangat sederhana. Modul tersebut hanya berisi keputusan ke mana proses akan diarahkan. Oleh karena itu modul ini dapat digabungkan pada modul Proses Pesanan.

LEXICAL INCLUSION

Page 25: 2   adp penyajian algoritma

STRUKTUR LEXICAL INCLUSIONProsesPesanan

Memasukkan barang dipesan

Tentukan ketersedian

barang

Dispatch tipe

transaksi

Proses tidak

dikirim

Proses semua dikirim

Proses sebagian tidak sebagian

dikirim

Rekam record barang habis

Rekam record order khusus

Rekam record barang dikirim

Update record persediaan

Page 26: 2   adp penyajian algoritma

Biasa disingkat HIPO (Hierarchy Plus Input-Process-Output), merupakan alat dokumentasi program yang dikembangkan dan didukung oleh IBM. Tetapi kini HIPO juga telah digunakan sebagai alat bantu untuk merancang dan mendokumentasikan siklus pengembangan sistem.

HIERARCHY PLUS INPUT-PROCESS-OUTPUT (HIPO)

Page 27: 2   adp penyajian algoritma

HIPO telah dirancang dan dikembangkan secara khusus untuk menggambarkan suatu struktur bertingkat guna memahami fungsi dari modul-modul suatu sistem

HIPO juga dirancang untuk menggambarkan modul-modul yang harus diselesaikan oleh program.

HIPO tidak dipakai untuk menunjukkan instruksi-instruksi program yang akan digunakan, di samping itu HIPO menyediakan penjelasan yang lengkap dari input yang akan digunakan, proses yang akan dilakukan serta output yang diinginkan.

SASARAN HIPO

Page 28: 2   adp penyajian algoritma

HIPO menggunakan tiga macam diagram untuk masing-masing tingkatannya, yaitu1. Visual table of contents2. Overview diagrams3. Detail diagram

DIAGRAM HIPO

Page 29: 2   adp penyajian algoritma

VISUAL TABLE OF CONTENTS

Sistem Perpus

Pelayanan Sirkulasi 2.0

LaporanLaporan 3.0

Data Entry 1.0

Karyawan

1.1

Anggota

1.2

Pustaka

1.3

Pinjaman

2.1

Kembalian

2.2

Laporan Denda 3.1

Laporan Pustaka 3.2

Laporan Peminjam 3.3

Tambah

1.1.1

Edit

1.1.2

Lihat

1.1.3

Hapus

1.1.4

Tambah

1.2.1

Edit

1.2.2

Lihat

1.2.3

Hapus

1.2.4

Tambah

1.3.1

Edit

1.3.2

Lihat

1.3.3

Hapus

1.3.4

Tambah

2.1.1

Edit

2.1.2

Lihat

2.1.3

Hapus

2.1.4

Tambah

2.2.1

Edit

2.2.2

Lihat

2.2.3

Hapus

2.2.4

Page 30: 2   adp penyajian algoritma

Overview diagram digunakan untuk menunjukkan secara garis besar hubungan dari input, proses, dan output, di mana bagian input menunjukkan item-item data yang akan digunakan oleh bagian proses (bagian proses berisi langkah-langkah yang menggambarkan kerja dari fungsi atau modul) dan bagian output berisi hasil pemrosesan data.

OVERVIEW DIAGRAM

Page 31: 2   adp penyajian algoritma

INPUT PROSES OUTPUT

Data Karyawan

Memasukkan data - Kartu identitas- Daftar karyawan- Slip gaji

OVERVIEW DIAGRAM

Page 32: 2   adp penyajian algoritma

Detil diagram berisi elemen-elemen dasar dari paket yang menggambarkan secara rinci kerja dari fungsi atau modul

DETAIL DIAGRAM

INPUT PROSES OUTPUTData Karyawan meliput:- NIP- Nama Lengkap- Tempat Lahir- Tanggal Lahir- Alamat Lengkap- Golongan- Jabatan- Status- Jumlah Anak- Gaji Pokok- Tunjangan

- Masukkan data- Uji kesamaan data- Uji akhir input data

- Kartu Identitas- Daftar Karyawan- Slip Gaji- Pemberitahuan

kesamaan data- Pemberitahuan

kesalahan data- Kembali ke menu induk

Page 33: 2   adp penyajian algoritma

English Structure (atau Language Structure) disusun dengan tujuan untuk menggambarkan tahap-tahap penyelesaian satu masalah dengan kata-kata (teks). Metode ini memiliki kelemahan, di mana penyusunan algoritma sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang sulit dipahami oleh orang lain.

Oleh karena itu dikembangkan suatu metode untuk menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan, dan standar. Salah satu metode penulisan simbol ini adalah Flowchart.

FLOWCHART

Page 34: 2   adp penyajian algoritma

Merupakan bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.

Merupakan salah satu cara penyajian dari suatu algoritma.

FLOWCHART

Page 35: 2   adp penyajian algoritma

Tujuan utama dari penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi, dan jelas dengan menggunakan simbol-simbol yang standar.

Tahap penyelesaian masalah yang disajikan harus jelas, sederhana, efektif, dan tepat.

FLOWCHART

Page 36: 2   adp penyajian algoritma

Simbol – simbol yang digunakan dalam flowchart, yaitu

- Flow Direction Symbols (Simbol penghubung alur)- Processing Symbols (Simbol proses).- Input-output Symbols (Simbol input-output)

FLOWCHART

Page 37: 2   adp penyajian algoritma

Simbol – simbol flowchart

FLOWCHART

Page 38: 2   adp penyajian algoritma

Simbol – simbol flowchart

FLOWCHART

Page 39: 2   adp penyajian algoritma

Pembuatan flowchart- Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.- Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.- Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.- Masing – masing simbol sebaiknya menggunakan suatu kata yang mewakili suatu pekerjaan- Jika flowchart terpotong yang dikarenakan keterbatasan tempat maka gunakan simbol penghubung yang tepat.

FLOWCHART

Page 40: 2   adp penyajian algoritma

Ada 2 macam Flowchart :– System Flowchart, yaitu urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.– Program Flowchart, yaitu urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.

FLOWCHART

Page 41: 2   adp penyajian algoritma

Merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut.

Sistem Flowchart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.

SISTEM FLOWCHART

Page 42: 2   adp penyajian algoritma

Dalam menggambarkan flowchart biasanya digunakan simbol-simbol yang standar, tetapi pemrogram juga dapat membuat simbol-simbol sendiri apabila simbol-simbol yang telah tersedia dirasa masih kurang.

Dalam kasus ini pemrogram harus melengkapi gambar flowchart tersebut dengan kamus simbol untuk menjelaskan arti dari masing-masing simbol yang digunakan agar pemrogram lain dapat mengetahui maksud dari simbol-simbol tersebut.

SISTEM FLOWCHART

Page 43: 2   adp penyajian algoritma

Simbol-simbol standar yang diguanakan untuk menggambarkan sistem flowchart adalah:

SISTEM FLOWCHART

Pita Magnetik Kartu Plong/Keyboard Punched Paper Type On Line Storage/VDU

Input/Output Magnetic Drum Process Magnetic Disc

Off Line Storage Proses Sortir Proses Merge Arus

Page 44: 2   adp penyajian algoritma

CONTOH PENGGUNAAN SISTEM FLOWCHART

Disket

Keyboard

CPU

VDU

Page 45: 2   adp penyajian algoritma

Merupakan diagram alir yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Untuk menggambarkan program flowchart telah tersedia simbol-simbol standar namun demikian seperti halnya pada sistem flowchart, pemrogram dapat menambah simbol-simbol sendiri asalkan pemrogram melengkapinya dengan penggambaran program flowchart dengan kamus simbol .

PROGRAM FLOWCHART

Page 46: 2   adp penyajian algoritma

Simbol-simbol standar yang digunakan untuk menggambarkan program flowchart adalah:

PROGRAM FLOWCHART

Proses Input/Output Keterangan

Pengujian Pemberian Nilai Awal Awal/Akhir Program

Konektor pada satu halaman Konektor pada halaman lain Arah

Page 47: 2   adp penyajian algoritma

Pada penggambaran program flowchart terdapat dua jenis metode, yaitu conceptual flowchart, dan detail flowchart.

Conceptual Flowchart menggambarkan tentang alur dari suatu pemecahan masalah secara global.

Detail Flowchart menggambarkan alur pemecahan masalah secara rinci.

PROGRAM FLOWCHART

Page 48: 2   adp penyajian algoritma

CONCEPTUAL FLOWCHART

START

INPUT

PROSES

OUTPUT

STOP

Page 49: 2   adp penyajian algoritma

DETAIL FLOWCHARTSTART

STOP

INPUT “Berapa data :”; N

Print “Jumlah n”; Jml

Input Bil

For K = 1 to N

Jml = 0

Jml = Jml + Bil

Next K

Page 50: 2   adp penyajian algoritma

Salah satu cara untuk menggambarkan algoritma selain dengan flowchart adalah dengan menggunakan flowchart Nassi-Schneidermen.

Flowchart Nassi-Schneiderman adalah flowchart tersetruktur yang tidak menggunakan anak panah sebagai penunjuk proses.

Pada flowchart Nassi-Schneiderman juga dikenal tiga macam struktur program, yaitu Struktur Urut, Struktur Perulangan, dan Struktur Keputusan.

FLOWCHART NASSI-SCHNEIDERMAN

Page 51: 2   adp penyajian algoritma

Simbol-simbol yang digunakan

FLOWCHART NASSI-SCHNEIDERMAN

Statement 1

Statement 2

Statement 3

While kondisi

Operasi

if

Ya

StatementA

Tidak

StatementB

if

Ya

StatementA

Tidak

TanpaProses

Case Of

1 2 3

StateA

StateB

StateC

Page 52: 2   adp penyajian algoritma

FLOWCHART NASSI-SCHNEIDERMAN Penerapannya

Mulai

Print “Mencari akar persamaan kuadrat”

Print “AX^2+BX+C”

Input “Konstanta A = ”;A

Input “Konstanta B = ”;B

Input “Konstanta C = ”;C

D = B^2-4A*C

Selesai

D<0

Ya Tidak

Print “Akar Imaginer”

D=0

TidakYa

Print “X1=X2”;Print –B/(2*A)

X1=(-B+(sqrD))/2AX2=(-B-(sqrD))/2A

Print “X1= ”; X1Print “X2= “;X2