Dokumen tersebut membahas tentang algoritma dan pengembangan perangkat lunak secara sistematis, meliputi pendefinisian masalah, desain logika algoritma, pengkodean, pengujian, implementasi, dan dokumentasi program. Dibahas pula jenis-jenis algoritma seperti flowchart, pseudocode, dan hierarchy chart untuk merancang logika program.
2. Pengembangan Software
Jika kita ingin mengembangkan software sendiri menurut
kebutuhan kita, maka harus didisain secara sistematik dan
ilmiah atau sesuai dengan siklus pengembangan software
Siklus tersebut memiliki tahapan sbb:
– Kembangkan spesifikasi program
– Disain logika yang digunakan dalam program
algoritma
– Berilah kode program itu dan terjemahkan ke bahasa mesin
– Ujilah program itu hingga mencapai debugging penuh
– Install atau terapkan program itu
– Jagalah program itu
– Dokumentasikan program tersebut
3. Software
Komputer
Software
Aplikasi
Program Aplikasi
untuk Tujuan
Umum
-Software Suites
-Web Browser
-Electronic Mail
-Pengolah Kata
-Lembar Kerja
-Database Managers
-Presentasi Grafis
-Personal
Information
Manager
-GroupWare
Software
Sistem
Melakukan tugas
Mengolah Informasi untuk
End-user
Program untuk
Aplikasi Khusus
- Bisnis – Akuntansi,
pengolah transaksi,
Perencanaan sumber
daya perusahaan,
perdagangan elektronik,
dll
- Ilmu pengetahuan dan
teknik
-Pendidikan,
Entertainment, dll
Struktur Software Komputer
Program untuk
Manajemen
Sistem
-Sistem Operasi
-Program pengelola
jaringan
-DBMS (database
management system)
-Sistem Utilitas
-Monitoring Unjuk kerja
Sistem
-Monitoring Keamanan
Mengelola dan
mendukung
operasi sistem
komputer dan
jaringan
Program untuk
Pengembangan
Sistem
-Bahasa Program
Translator (compiler)
-Pemrograman Editor dan
Tools
-Paket CASE (Computer
Aided Software
Engineering)
4. Disain Logika Program
Sekali problem didefinisikan dengan jelas oleh user dan analis
sistem, dan digambarkan sebagai sekumpulan spesifikasi
program, maka programer atau pengembang software dapat
memulai mendisain sebuah program.
Pertama sekali, programer harus membuat sebuah algoritma.
ALGORITMA berasal dari seorang ilmuwan Muslim
bernama Al-Khowarizmi
Algoritma secara bahasa berarti resep, metode, teknik atau
prosedur
Algoritma: prosedur yang digunakan untuk memecahkan
masalah tahap demi tahap
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17. Sifat dan Jenis Algoritma
Sifat algoritma:
– Harus sederhana
– Tahapan harus tidak bermakna ganda (ambigu)
sehingga komputer bisa memahaminya secara baik
– Efektif dalam memecahkan masalah
– Universal dan mengarah ke solusi yang unik
– Memiliki kapabilitas untuk menangani situasi yang
tidak diinginkan, misalnya devide by zero
Jenis algoritma:
– Flowchart
– Pseudocode
– Hierarchy chart
18. Flowchart
Flowchart: gambaran aliran logika yang digunakan
dalam sebuah program
Flowchart menggambarkan unsur-unsur utama dari
program dan bagaimana unsur-unsur itu akan
mengintegrasikan secara logis
Flowchart untuk sebuah program bagi programer
setara dengan blueprint untuk sebuah bangunan
bagi arsitek
Garis aliran dalam flowchart menyatakan aliran
logika dari instruksi-instruksi dalam sebuah
program
19. Contoh: Penyiapan Faktur
1. Baca account number, harga satuan dari
barang yang dibeli dan jumlah yang dibeli
2. Hitung tagihannya dengan mengalikan
harga satuan dengan jumlah yang dibeli
3. Cetak account number dan tagihan total
4. Ulangi prosesnya untuk semua faktur
langganan
20. Simbol-simbol Flowchart
SIMBOL
ARTI
Input/Output (I/O)
Pemrosesan
Sederatan pemindahan data atau operasi aritmatika
CONTOH
Read(Data);
Write(Report)
Total := X + Y;
Keputusan (Penyeleksian Kondisi) Perbandingan
logika; digunakan ketika kita ingin komputer
minta sebuah pertanyaan
If NilaiUjian > 60
Then Ket := ‘Lukus’;
Terminal
Titik mulai atau akhir program
Begin
End.
Proses yang didefinisikan sebelumnya
Subprogram atau modul yang dieksekusidi titik
ini. Instruksi nyatanya diisikan di modul ini yang
ditunjukkan di tempat lain di dalam flowchart
Pembacaan data/input dengan punch card
Konektor satu halaman
Titik rujukan lain yang biasanya diberi nomor
Konektor beda halaman
Garis aliran
Arah aliran logika
Procedure Faktorial();
Faktorial(N,F);
21. Flowchart Penyiapan Faktur
Main Program
Mulai
Baca
nama pekerja,
jam kerja,
laju per jam
Lakukan
subpogram
untuk menghitung
upah kotor
Cetak
“Akhir Kerja”
Selesai
Subprogram
(untuk menghitung upah kotor)
Mulai
Upah kotor =
laju per jam x
jam kerja
Cetak
nama,
upah kotor
Baca
nama pekerja,
jam kerja,
laju per jam
Kembali ke
Main program
22. Macam-macam Instruksi
b. Instruksi bersyarat
(conditional flow)
a. Instruksi tanpa syarat
(sequential flow)
Proses A
Salah
Kondisi
Benar
Proses B
Proses A
Proses B
Proses C
c. Instruksi Pengulangan
(repetitive flow)
Kondisi
Proses A
Proses B
23. Contoh Lain
1. Bagan arus untuk membeli kue dengan kupon
Mulai
Siapkan uang
Antri di tempat
jual karcis
Beli kupon
Pilih kue
Tukar kue
dengan kupon
Selesai
24. 2. Bagan arus untuk belajar
Mulai
Siapkan alat-alat
Baca diktat
Cernakan isi diktat
Coba kerjakan soal
Cocokkan dgn kunci
Ya
Cocok?
Istirahat
Selesai
Tidak
25. Pseudocode
Penggunaan flowchart sebagai alat perencanaan mengalami
kemunduran belakangan ini karena
– flowchart untuk program yang besar dan kompleks sering tidak
praktis untuk digambar dan sulit untuk dipahami
– sulit membuat modifikasi flowchart tanpa menggambar kembali
secara penuh
– sering sangat panjang, struktur logikanya bisa sulit diikuti
Alternatifnya: PSEUDOCODE (secara harfiah berarti “kode
salah”) yang terdiri dari pernyataan seperti dengan bahasa
Inggris (sebagai lawan dari simbol) untuk merencanakan
logika program
Pseudocode tidak perlu menyatakan semua rincian-rincian
proses, tetapi menggambarkan secara hati-hati keseluruhan
aliran logika program
26. Pseudocode (2)
Pseudocode populer karena
– dapat merepresentasikan secara mudah semua struktur
pemrograman yang dibutuhkan oleh programer
– istilah-istilah menggunakan bahasa seperti bahasa Inggris
adalah mudah untuk dipelajari dan dipahami
Contoh pseudocode untuk penyiapan faktur
MULAI
BACA Nama, Jam, Rate
LAKUKAN subprogram untuk kalkulasi upah
CETAK Nama, Upah
SELESAI
27. Hierarchy Chart
Flowchart dan pseudocode adalah alat untuk
mendisain logika program
Hierarchy chart (structure chart) menggambarkan
bagaimana program disegmentasi ke sub-subprogram
atau modul-modul dan bagaimana modul-modul itu
secara nyata berhubungan satu dengan lainnya
Contoh:
A c c o u n t in g
s y s te m
A c c o u n ts
r e c e iv a b le
P ro c e s s
in v o ic e s
P r in t
re p o rts
A c c o u n ts
p a y a b le
U p d a te
c o s tu m e r
d a ta b a s e
P ay
b ills
P r in t
re p o rts
U p d a te
ven d or
d a ta b a s e
28. Umpan balik
1. Berikut ini adalah sifat algoritma, kecuali
a. sederhana
b. tidak bermakna ganda
c. simbolis
d. efektif
2. Algoritma adalah….
a. bagian tak terpisahkan dari program
b. prosedur untuk memecahkan masalah tahap demi tahap
c. rumus-rumus sederhana
d. simbol-simbol program
29. 3. Yang bukan termasuk jenis algoritma
a. problem hierarchy
b. pseudocode
c. flowchart
d. hierarchy chart
4. Untuk mendisain logika program yang besar dan kompleks
lebih efektif menggunakan….
a. pseudocode
b. hierarchy chart
c. flowchart
d. problem hierarchy
5. Simbol untuk pembacaan data/input yang menggunakan
punch card dalam pembuatan flow chart adalah
a.
b.
c.
d.