1. Pengertian Algoritma
Algoritma.
Urutan atau rentetan langkah-langkah logis tertentu untuk menyelesaikan
atau memecahkan suatu masalah yang disusun secara sistematis & logis.
→ Mengoperasikan perangkat komputer, menjalankan motor/mobil,
membuat kue, dll
Algoritma merupakan cetak-biru dari suatu program & sebaiknya disusun
sebelum program dibuat.
Kriteria suatu algoritma:
► Memiliki masukan & keluaran
► Efektifitas & efisien
► Terstruktur
2. Pengertian Algoritma (lanjutan)
Sifat suatu algoritma :
Tidak menggunakan simbol-simbol (sintax) dari suatu bahasa
pemrograman
Tidak tergantung pada suatu bahasa pemrograman.
Notasi dapat dipergunakan pada seluruh bahasa pemrograman.
Contoh:
Algoritma menghitung luas persegi panjang :
Masukan panjang (P)
Masukan lebar (L)
Luas ← P x L
Tulis Luas
3. Ciri algoritma
Input: algoritma dapat memiliki nol atau lebih inputan
dari luar.
Output: algoritma harus memiliki minimal satu buah
output keluaran.
Definiteness (pasti): algoritma memiliki instruksi-
instruksi yang jelas dan tidak ambigu.
Finiteness (ada batas): algoritma harus memiliki titik
berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritma sebisa
mungkin harus dapat dilaksanakan dan efektif.
Contoh instruksi yang tidak efektif adalah: A = A + 0 ;
atau A = A* 1
Pengertian Algoritma (lanjutan)
4. Jenis-jenis Proses Algoritma
Sequence Process: instruksi dikerjakan secara
sekuensial, berurutan.
Selection Process: instruksi dikerjakan jika
memenuhi kriteria tertentu.
Iteration Process: instruksi dikerjakan selama
memenuhi suatu kondisi tertentu.
Concurrent Process: beberapa instruksi
dikerjakan secara bersama
Pengertian Algoritma (lanjutan)
5. Pseudo-code
Kode atau tanda yang menyerupai (pseudo) program atau merupakan
penjelasan cara menyelesaikan suatu masalah.
Contoh: mencari bilangan terbesar dari dua bilangan yang diinputkan.
Algoritma Pseudo-code
1. Masukkan bilangan pertama 1. Input a
2. Masukkan bilangan kedua 2. Input b
3. Jika bilangan pertama > bilangan kedua
maka kerjakan langkah 4, jika tidak,
kerjakan langkah 5.
3. If a > b then kerjakan langkah 4
4. Tampilkan bilangan pertama 4. print a
5.Tampilkan bilangan kedua 5. print b
Nilai A ditambah dengan 5 A ← A + 5
Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari bilangan yang
terbesar IF A > B THEN PRINT A ELSE PRINT B
6. Aturan penulisan Algoritma
Judul Algoritma.
Bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut.
Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut
Deklarasi.
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program.
Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
Deskripsi.
Merupakan kumpulan instruksi yang berisi uraian langkah- langkah penyelesaian masalah yang
ditulis dengan menggunakan suatu notasi.
7. Contoh penulisan Algoritma + Pseudo-code
1. Kelulusan Mahasiswa
Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 56,
maka mahasiswa tersebut dinyatakan lulus, jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 56 then keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write (nama, keterangan)
endif
8. Contoh penulisan Algoritma + Pseudo-code (lanjutan)
2. Luas & keliling lingkaran
Algoritma Luas_Kell_Lingkaran {judul algoritma}
{menghitung luas dan keliling lingkaran untuk ukuran jari-jari tertentu. Algoritma
menerima input jari-jari lingkaran, menghitung luas dan kelilingnya serta mencetak
luas lingkaran ke piranti keluaran –- spesifikasi algoritma}
DEKLARASI :
Const phi = 3.14 {nilai}
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
DESKRIPSI :
read(R)
luas ← phi*R*R
keliling ← 2*phi*R
write(luas, keliling)
9. Contoh penulisan Algoritma + Pseudo-code (lanjutan)
3. Komisi Salesman
Algoritma Komisi_Salesman
{baca nama dan hasil penjualan salesman, kemudian hitung besarnya komisi
sebesar 15% dari hasil penjualan dan tampilkan nama dan komisinya ke
layar}
DEKLARASI :
Nama : string
NilaiPenjualan : real
Komisi : real
DESKRIPSI :
read(Nama, NilaiPenjualan)
Komisi ← 0.15 * NilaiPenjualan
write(Nama, Komisi)
10. Pengertian Pemrograman
Program komputer.
Sekumpulan instruksi (statement) yang
dimengerti oleh komputer.
Bagian Program
Suatu program pada dasarnya terdiri dari 3
bagian:
Masukan : bisa ada, bisa tidak
Proses
Keluaran : min. satu ouput.
11. Pengertian Pemrograman (lanjutan)
Pemrograman.
Suatu kumpulan instruksi-instruksi atau source code yang
dibuat oleh seorang programmer.
◊ Pemrograman Prosedural/Terstruktur --> Pascal, C
◊ Pemrograman Fungsional → fungsi matematika.
◊ Pemrograman Modular,
◊ Pemrograman Object-oriented → C++, Java
◊ Pemrograman Functional-oriented → SQL, HTML
◊ Pemrograman Declaratif
12. Pengertian Pemrograman (lanjutan)
Bahasa pemrograman.
Alat atau tools yang dipergunakan untuk membuat suatu
program.
Contoh: Basic, Pascal, Cobol, C, C++, PHP, Java etc
Langkah dalam pemrograman
Pendefinisian permasalahan.
Menemukan solusi
Memilih algoritma Menulis program Menguji program
Dokumentasi
Pemeliharaan program
13. Bahasa Pemrograman
Bahasa tingkat rendah (low level language).
◊ Bahasa mesin
◊ Berisi kode-kode mesin yang hanya dapat diinterpretasikan
langsung oleh mesin komputer berupa kode numerik 0 dan 1.
Bahasa tingkat tinggi (high level language).
◊ Merupakan Bahasa Pemrograman Generasi ke-3.
◊ Bahasa manusia
◊ Banyak ragam → Java, Pascal, C, C++, Cobol dll.
◊ Memberi banyak fasilitas kemudahan dalam programming →
variabel, tipe data, konstanta, loop, struktur kontrol,
prosedur, dll.
14. Bahasa Pemrograman (lanjutan)
Source code
Input data
Source code
Input data
Source Code
- Target Code
- Object Code
- Object Program
Translator
Program yang ditulis dalam bahasa pemrograman akan
diterjemahkan ke dalam bahasa mesin -> biner digit
dengan menggunakan penterjemah (translator).
Ada 2 jenis translator:
1. Intepreter
2. Compiler
15. Bahasa Pemrograman (lanjutan)
Interpreter Compiler
Input – source code - Basic, PHP, ASP dll
- Program dari user
Pascal, C, C++, Cobol
Output - Tidak ada object code
- Translasi dilakukan internal
- Bahasa Assembly
- Exe
- INTERPRETER
Source code
Input data
Source code
Input data
INPUT
DATA
INTERPRETER RESULT
SOURCE
CODE
- COMPILER
SOURCE
CODE
COMPILER
OBJECT
CODE
LINKER EXE RESULT
INPUT
DATAPreprocessor Libraries
16. Flowchart
Definisi :
● Merupakan bagan yang menggunakan simbol-simbol tertentu dalam
menunjukkan alir di dalam suatu program atau prosedur sistem secara
logika.
● Bagan yang mempunyai alir yang menggambarkan langkah-langkah
penyelesaian suatu masalah yang juga merupakan cara penyajian dari
suatu algoritma.
Macam-macam flowchart :
● System flowchart
● Document / Paperwork / Form flowchart
● Schematic flowchart
● Program flowchart
● Process flowchart
17. Flowchart (lanjutan)
System flowchart.
Bagan alir yang menggambarkan arus / alur pekerjaan secara
keseluruhan dari suatu sistem dengan menjelaskan urut-urutan
dari prosedur yang terdapat di dalam sistem tersebut.
Deskripsi dilakukan secara grafik dari urutan prosedur-
prosedur yang terkombinasi yang membentuk suatu sistem
Document / Paperwork / Form flowchart.
Digunakan untuk menelusuri alur form dan laporan sistem dari
satu bagian ke bagian lain baik bagaimana alur form dan
laporan diproses, dicatat dan disimpan
18. Flowchart (lanjutan)
Schematic flowchart.
Menggambarkan suatu sistem atau prosedur dengan menggunakan
gambar-gambar komputer, peripheral, form-form atau peralatan lain
yang digunakan dalam menggunakan suatu sistem selain simbol-simbol
flowchart standar.
Program flowchart.
Flowchart yang dihasil dari System Flowchart yang akan memberikan
keterangan yang lebih rinci pada setiap langkah program atau prosedur
yang sesungguhnya dilaksanakan dalam urutan yang tepat saat terjadi.
Process flowchart.
Teknik penggambaran rekayasa industrial yang memecah dan
menganalisis langkah-langkah dalam suatu prosedur atau sistem
19. Pembuatan Flowcart
Merupakan gambaran hasil analisa suatu permasalahan
Tidak ada kaidah yang baku
Bervariasi antara satu pemrogram dengan pemrogram
lainnya
Terdiri dari bagian utama : input → proses → output
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.
Sebuah flowchart diawali dari satu titik START/MULAI
dan diakhiri dengan END/SELESAI.