1
Ir. Roedi Goernida, MT.
(roedig@yahoo.com)PENGANTAR
ALGORITMA PEMROGRAMAN
(IS1313)
Program Studi Sistem Informasi – Fakultas Rekayasa Industri Institut Teknologi Telkom
Bandung
2011
2
Sistem Komputer terdiri dari:
.
Brainware
user
Hardware
monitor, keyboard, motherboard, memory,
processor, harddisk, add. peripheral etc
Software
O/S, programming language, database,
application program etc
Product Life Cycle:
Analysis Design Development Testing Implementation Maintenance EOL
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 1 / 25
Struktur Sistem Komputer
- Scooping
- Identifikasi - Blue print - SpekTek
- Unit - Functional - Flow graph - Performance - Security - Integration
- Instalasi - Pelatihan
3
Pengertian Algoritma
(1/3)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
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 2 / 25
4
Pengertian Algoritma
(2/3)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
5
Pengertian Algoritma
(3/3)Jenis proses algoritma.
Sequence process.
Selection process.
Iteration process.
Concurrent process.
Ciri algoritma.
●
Algoritma memiliki nol atau lebih masukan.
●
Algoritma memiliki nol atau lebih keluaran.
●
Setiap langkah harus didefinisikan dengan tepat & tidak
berarti-dua (Ambiguitas)
Definiteness / kepastian.
●
Algoritma harus berhenti setelah mengerjakan sejumlah
langkah terbatas
Finiteness / ada batas.
●
Algoritma harus efektif
sederhana
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 4 / 25
6
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
7
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.
Aturan penulisan Algoritma
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 6 / 25
8
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
Contoh penulisan Algoritma + Pseudo-code
(1/3)9
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)
Contoh penulisan Algoritma + Pseudo-code
(2/3)Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 8 / 25
2. Luas & keliling lingkaran
10
3. Komisi Salesman
Contoh penulisan Algoritma + Pseudo-code
(3/3)Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 9 / 25
Algoritma Komisi_Salesmen
{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:
11
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.
Pengertian Pemrograman
(1/3)Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 10 / 25
12
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
Pengertian Pemrograman
(2/3)13
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
Pengertian Pemrograman
(3/3)Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 12 / 25
14
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.
Bahasa Pemrograman & Translator
(1/3)15
Program yang ditulis dalam bahasa pemrograman
akan diterjemahkan ke dalam bahasa mesin
biner
digit dengan menggunakan penterjemah.
Translator:
●
Interpreter
menterjemahkan baris per baris instruksi.
Contoh: Basic
●
Compiler
menterjemahkan setelah seluruh instruksi
ditulis. Contoh: Java, Pascal, Cobol
Bahasa Pemrograman & Translator
(2/3)Source code
- Target code - Object code - Object program Translator
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 14 / 25
16
Bahasa Pemrograman & Translator
(3/3)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
Source code
Input data
Interpreter Result
Source
code Compiler Linker
Object
code Exe Result
Input data
Libraries Preprocessor
- INTERPRETER
- COMPILER
17
Flowchart (1/3)
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
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 16 / 25
18
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.
Flowchart (2/3)
19
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
Flowchart (3/3)
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 18 / 25
20
Pembuatan Flowcart
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 19 / 25
●
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.
21
Simbol-simbol Flowcart
Proses Proses Dokumen Keputusan Data
Altenatif Input/Output
Persiapan Operasi Masukan Disk storage Sub-program/
nilai awal manual manual Sub-proses
Konektor Terminator I/O Display Aliran
Manual Disket data
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 20 / 25
Operasi Perpindahan / Inspeksi Penundaan Penyimpanan /
transportasi File
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 21 / 25
23
Contoh Flowcart (2/3)
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 22 / 25
24
Contoh Flowcart (3/3)
25
Flowcart vs Java
Rata =
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 24 / 25
int Total = 0; N = s.nextInt();
Total:=Total+ X X = s.nextInt();
I = I + 1
Rata = Total / N
26
Contoh-contoh
Hand-out: Algoritma Pemrograman IS1313 - 01 Hal. 25 / 25
Mulai
Tulis Nama, Keterangan
Keterangan = “Tidak Lulus
Nilai >= 56
27