2 adp penyajian algoritma
TRANSCRIPT
ALGORITMA & DASAR PEMROGRAMAN
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
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
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
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
Dalam penulisan English Structure dan Pseudocode juga dikenal struktur penulisan program seperti Sequence Structure, Selection Structure, dan Looping Structure.
PENULISANNYA
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
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
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
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
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
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
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
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
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
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
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
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
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
Structure Chart memiliki dua model penggambaran sistem, yaitu Transformed-Centered dan Transaction-Centered
MODEL STRUCTURE CHART
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
STRUKTUR TRANSFORMED CENTERED
Sistem
Input A Proses Amenjadi B
Output B
INPUT BRANCH /AFFERENT BRANCH
PROCESS BRANCHTRANSFORM BRANCHCENTRAL TRANSFORM
OUTPUT BRANCH /EFFERENT BRANCH
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
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
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
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)
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
HIPO menggunakan tiga macam diagram untuk masing-masing tingkatannya, yaitu1. Visual table of contents2. Overview diagrams3. Detail diagram
DIAGRAM HIPO
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
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
INPUT PROSES OUTPUT
Data Karyawan
Memasukkan data - Kartu identitas- Daftar karyawan- Slip gaji
OVERVIEW DIAGRAM
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
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
Merupakan bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.
Merupakan salah satu cara penyajian dari suatu algoritma.
FLOWCHART
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
Simbol – simbol yang digunakan dalam flowchart, yaitu
- Flow Direction Symbols (Simbol penghubung alur)- Processing Symbols (Simbol proses).- Input-output Symbols (Simbol input-output)
FLOWCHART
Simbol – simbol flowchart
FLOWCHART
Simbol – simbol flowchart
FLOWCHART
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
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
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
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
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
CONTOH PENGGUNAAN SISTEM FLOWCHART
Disket
Keyboard
CPU
VDU
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
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
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
CONCEPTUAL FLOWCHART
START
INPUT
PROSES
OUTPUT
STOP
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
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
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
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