Bab 1 - Pengantar dan SDA Algoritma

TATA LAKSANA
PERKULIAHAN

Rezania A. Azdy
Email : rezaazdy@yahoo.com

Peraturan Perkuliahan









Datang tepat waktu (terlambat maksimal 30 menit).
Ijin melalui telp/sms tidak diterima.
Ketidak-hadiran tanpa disertai keterangan tertulis
dianggap alpha.
Tugas susulan/dititipkan tidak dilayani.

Kehadiran minimal 80% untuk syarat mengikuti UAS.
Tidak ada ujian susulan (kecuali ada keterangan
khusus).
Berpakaian rapi, sopan, dan wajar, serta tidak
bersandal.
No Facebook

Sistem Penilaian


Nilai mahasiswa merupakan kolaborasi
dari nilai tugas, UTS, dan UAS, dengan
bobot :
Tugas
UTS
UAS





40%
25%
35%

Penilaian akhir merupakan hak dosen.
Nilai di worksheet merupakan nilai akhir
dan tidak data diubah.

ALGORITMA DAN
PEMROGRAMAN
Referensi :
•Algoritma

dan Pemrograman
oleh Rinaldi Munir
•Dasar Pemrograman Java
oleh Abdul Kadir
•Pemrograman Pascal
oleh Abdul Kadir


Sekilas Tentang Algoritma dan
Pemrograman


Mengajarkan tentang konsep dan logika
berpikir komputer, cara perancangan
dan analisis masalah, yang kemudian
dipecahkan dengan menggunakan
komputer menggunakan algoritma dan
pemrograman terstruktur.

Tujuan Perkuliahan


Mampu memahami logika berpikir
komputer, memahami prinsip kerja
program, dan mampu menggambarkan
logika jalannya program secara tertulis
dengan algoritma (pseudo code) dan
dilengkapi dengan diagram alir (flow

chart) menggunakan suatu bahasa
pemrograman tertentu.

Silabus Perkuliahan










Pengantar Algoritma
Dasar Algoritma
Notasi Algoritmik
Tipe, operator, dan ekspresi
Runtunan
Pemilihan / percabangan

Pengulangan
Prosedur dan Fungsi
Larik / Array

Pendahuluan


Komponen utama Sistem Komputer :
1. Hardware
2. Software
3. Brainware

Pendahuluan


Contoh permasalahan :
Pengurutan data




Langkah penyelesaiannya ??
1. Cari data dengan nomor terbesar
2. Tempatkan data pada urutan terakhir
3. Ulangi langkah 1 untuk N-1 data yang lain,

hingga N=0

Algoritma




Program komputer berisi urutan
langkah-langkah yang ditulis secara
sistematis dan ditulis dalam bahasa
pemrograman tertentu.
Urutan langkah penyelesaian masalah
inilah yang disebut algoritma.

Algoritma

Algoritma adalah urutan logis
langkah-langkah penyelesaian
masalah yang disusun secara
sistematis

Algoritma


Program komputer merupakan perwujudan
realisasi teknis dari algoritma, karena
algoritma dikodekan ke dalam bahasa
pemrograman tertentu.



Algoritma pengurutan data :

Sejarah Algoritma



Algorism  proses menghitung dengan angka
Arab



Algorism  Abu Ja’far Muhammad ibnu Musa alKhuwarizmi



Al-Khuwarizmi menulis buku Kitab al jabar walmuqabala (Buku Pemugaran dan Pengurangan)

Contoh Algoritma
Permasalahan 1
Mempertukarkan isi dua buah ember.
Misal ember A berisi air berwarna merah,
dan ember B berisi air berwarna biru. Ingin
ditukar isi kedua ember tersebut sehingga
ember A berisi air berwarna biru, dan
ember B berisi air berwarna merah.
Bagaimana penyelesaiannya?


Contoh Algoritma
Permasalahan 2
Misalkan seorang pemuda tiba ditepi sungai.
Pemuda tersebut membawa seekor kambing,
seekor serigala, dan sekeranjang sayur. Pemuda
itu menemukan perahu kecil yang hanya dapat
memuat satu bawaannya setiap kali menyebrang.
Situasi dipersulit dengan kenyataan bahwa
serigala tidak dapat ditinggal dengan kambing,
dan kambing tidak dapat ditinggal dengan
keranjang sayuran.
bagaimana penyelesaian permasalahan tersebut?

Contoh Algoritma
Penyelesaian Masalah 1

Contoh Algoritma
Penyelesaian Masalah 2


Contoh Algoritma

Tahukah anda apa itu
Algoritma Euclidean ??

Ciri-Ciri Algoritma
1.
2.
3.
4.
5.

Algoritma harus berhenti setelah
mengerjakan sejumlah langkah terbatas.
Setiap langkah harus didefinisikan dengan
tepat dan tidak berarti-dua (ambigu).
Algoritma memiliki nol atau lebih masukan
(input).
Algoritma memiliki nol atau lebih keluaran
(output).

Algoritma harus efektif.

Mekanisme Pelaksanaan Program
oleh Komputer


Komputer tersusun atas empat komponen
utama, yaitu : piranti masukan, piranti keluaran,
unit pemroses utama (CPU), dan memori.
Piranti
Masukan

CPU

Memori

Piranti
Keluaran

Belajar Pemrograman
??
Belajar memprogram





Belajar bahasa
pemrograman

Belajar memprogram = belajar metodologi pemecahan
masalah, kemudian menuangkan algoritma
pemecahan masalah dalam suatu notasi tertentu.
Belajar bahasa pemrograman = belajar memakai suatu
bahasa, aturan tata bahasanya, intruksi-intruksinya,
tata cara pengoperasian compiler-nya, ...

Notasi Algoritmik




Kalimat Deskriptif
Flowchart
Pseudo Code

Jenis Bahasa Pemrograman


Berdasarkan aplikasi kegunaannya :
1. BP bertujuan khusus (spesific purpose p.l.)

Contoh : Cobol, Fortran, assembly, Prolog.
2. BP bertujuan umum (general purpose p.l.)
Contoh : Pascal, Basic, C, C++, Java.

Jenis Bahasa Pemrograman


Berdasarkan “kedekatan” BP (dalam artian
lebih condong ke bahasa mesin atau ke
bahasa manusia), yaitu :
1. Bahasa tingkat rendah, yaitu bahasa yang

dirancang agar setiap instruksinya langsung
dikerjakan oleh komputer, tanpa harus
melalui translator.
2. Bahasa tingkat tinggi, yaitu bahasa yang
membuat program menjadi lebih mudah
dipahami, lebih “manusiawi”, dan lebih dekat
ke bahasa manusia.

Jenis Bahasa Pemrograman
Algoritma



Tahapan
pelaksanaan
program oleh
komputer :

Translasi
Program dalam
Bahasa Tingkat Tinggi
Kompilasi
Program dalam
Bahasa Mesin
Interpretasi oleh CPU
Operasi

DASAR-DASAR
ALGORITMA

Pernyataan dan Aksi


Algoritma merupakan deskripsi langkahlangkah pelaksanaan suatu proses. Setiap
langkah penyelesaian dinyatakan dengan
pernyataan (statement), sebuah pernyataan
menggambarkan aksi (action) algoritmik
yang dapat dieksekusi.

Struktur Dasar Algoritma


Sebuah algoritma dapat dibangun dari
tiga buah struktur dasar, yaitu :
1. Runtunan
2. Pemilihan
3. Pengulangan

Runtunan





Sebuah runtunan terdiri dari satu
pernyataan atau lebih
Tiap pernyataan dikerjakan secara
berurutan sesuai dengan urutan
penulisannya.
Urutan instruksi menentukan keadaan
akhir algoritma. S1
S2
S3
S4
S5

Pemilihan


Adakalanya sebuah aksi dikerjakan jika kondisi tertentu
dipenuhi.
if kondisi then
aksi

atau
if kondisi then
aksi 1
else
aksi 2

Pemilihan


Apabila pilihan aksi yang dilakukan lebih dari dua buah,
maka struktur pemilihannya menjadi lebih rumit 
pemilihan bersarang / nested-if

if kondisi 1 then
if kondisi 2 then
aksi 2a
else
aksi 2b
else
aksi

Pengulangan




Salah satu kelebihan komputer adalah
kemampuannya untuk mengulang
sebuah intruksi berulang kali.
Didalam pengulangan atau looping
dapat dilakukan sejumlah kali atau
sampai kondisi berhenti pengulangan
tercapai.

Struktur Pengulangan


Struktur pengulangan secara umum
terdiri atas dua bagian :
1. Kondisi pengulangan, yaitu ekspresi

boolean yang harus dipenuhi untuk
melaksanakan pengulangan yang
dinyatakan secara eksplisit oleh user atau
secara implisit oleh komputer.
2. Badan (body) pengulangan, yaitu bagian
algoritma yang diulang.

Struktur Pengulangan


Struktur pengulangan biasanya disertai
dengan bagian :
1. Inisialisasi, yaitu aksi yang dilakukan

sebelum pengulangan dilakukan pertama
kali.
2. Terminasi, yaitu aksi yang dilakukan
setelah pengulangan selesai
dilaksanakan.

Struktur Pengulangan


Notasi kontruksi pengulangan :
1. For
2. While ... Do
3. Repeat ... Until

Pengulangan FOR

for pencacah pengulangan dari a sampai b do
aksi



aksi dilakukan sebanyak hitungan pencacah
pengulangan, yaitu sebanyak b – a + 1 kali.

Pengulangan FOR

for pencacah pengulangan dari a sampai b do
aksi



aksi dilakukan sebanyak hitungan pencacah
pengulangan, yaitu sebanyak b – a + 1 kali.

Pengulangan repeat ..
until
repeat
aksi
until kondisi

• Pengulangan aksi dilakukan hingga kondisi (persyaratan)
berhenti terpenuhi.

Pengulangan while .. do

while kondisi do
aksi

• Selama kondisi (persyaratan) pengulangan masih benar, maka
aksi dikerjakan.

Latihan


Dua buah algoritma berikut menjelaskan sikap yang harus
dilakukan jika menemui lampu traffic light :
a. If traffic light menyala then

if lampu merah then
berhenti
else
jalan
b. If traffic light menyala then
if lampu merah then
berhenti
else
jalan
Apa perbedaan kedua algoritma diatas? Algoritma manakah yang
lebih baik?

Tugas
1.

Tulislah algoritma (dalam notasi kalimat
deskriptif) untuk memperoleh nomor
telpon berdasarkan data alamat (nama
jalan dan nomornya) dari nomor
penerangan lokal PT Telkom (108).
Algoritma harus menjelaskan proses bila
:
a. Nomor 108 sibuk
b. Alamat yang diberikan penelepon belum

memiliki sambungan telpon.

Tugas
2.

Sebuah tabel terdiri atas NIM, nama,
alamat, dan nomor telepon. Tabel tersebut
sudah berisi data utama sekumpulan
mahasiswa di Perguruan Tinggi. Misalkan
seorang mahasiswa pindah kos sehingga
alamat dan nomor telponnya harus
diubah. Tuliskan algoritma (dalam notasi
kalimat deskriptif) untuk mengubah kolom
alamat dan nomor telpon dari mahasiswa
dengan NIM tertentu.