Dokumen tersebut memberikan penjelasan mengenai algoritma dan logika, mulai dari pengertian algoritma, unsur-unsur algoritma, contoh algoritma, hingga cara menuliskan algoritma secara formal.
1. 04/03/2013
1
By: Vilia Eka Meyana, M.Kom
Institute Bisnis dan Informatika Indonesia
Email: vilia.meyana@ftumj.ac.id
Website:
http://viliaekameyana.blogspot.com
• Absensi : 10%
• UTS : 30%
• UAS : 40%
• Tugas & Kuis : 20%
2. 04/03/2013
2
Selama kuliah….
• Ajukan pertanyaan dan berikan
feedback
• Jika Anda merasa saya terlalu cepat,
silakan interupsi
• There’s no point in giving classes if
nobody understands me
• Do Exercise!
– You’re deluding yourself if you think you
can learn the material without doing the
exercises
Pendahuluan
LOGIKA DAN ALGORITMA
Diperkenalkan Oleh Ahli Matematika : Abu Ja’far
Muhammad Ibnu Musa Al Khawarizmi.
Definisi Algoritma
1. Langkah- langkah yg dilakukan agar solusi masalah dapat
diperoleh.
2. Suatu prosedur yg merupakan urutan langkah-langkah yg
berintegrasi.
3. Suatu metode khusus yg digunakan untuk menyelesaikan
suatu masalah yg nyata.(Webster Dictionary)
4. Urutan langkah atau kegiatan untuk memecahkan masalah
TAHAP PENYELESAIAN MASALAH
Masalah
Model
Algoritma
Program
Eksekusi
Hasil
Data
Analisis
Analisis
Analisis
3. 04/03/2013
3
Kriteria Pemilihan Algoritma
1. Ada Output,
2. Efektifitas dan Efesiensi,
3. Jumlah Langkahnya Berhingga,
4. Berakhir, ( SEMI ALGORITMA )
5. Terstruktur,
Suatu Algoritma yg terbaik (The Best) : “ Suatu
algoritma harus menghasilkan output yg tepat guna
(efektif) dlm waktu yg relatif singkat & penggunaan
memori yg relatif sedikit (efesien) dgn langkah yg
berhingga & prosedurnya berakhir baik dlm keadaan
dip’oleh suatu solusi ataupun tdk ada solusinya. “
Kriteria Algoritma (Donald E. Knuth)
• 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
Pernyataan dan Aksi
langkah penyelesaian
pernyataan (Statement)
aksi (action) dieksekusi
operasi dikerjakan oleh pemroses
Algoritma dan Pemrograman I
4. 04/03/2013
4
Contoh Pernyataan dan Aksi :
• Pernyataan pada algoritma :
Tulis “Hello, world”
• menggambarkan aksi menuliskan “Hello, world”
ke piranti keluaran (layar).
• efek dari aksi ini, dilayar akan tertera tulisan
Hello, world
Algoritma dan Pemrograman I
Struktur Dasar Algoritma
1. Runtunan (Sequence)
instruksi dikerjakan secara sekuensial,
berurutan.
2. Pemilihan (Selection)
instruksi dikerjakan jika memenuhi
kriteria tertentu
3. Pengulangan (Repetition)
instruksi dikerjakan selama memenuhi
suatu kondisi tertentu.
Algoritma dan Pemrograman I
Runtunan (Sequence)
• Algoritma merupakan runtunan
(sequence) satu atau lebih
instruksi/pernyataan,
• setiap pernyataan dikerjakan secara
berurutan sesuai dengan urutan
penulisannya. Sebuah instruksi
dilaksanakan setelah instruksi
sebelumnya selesai dilaksanakan.
• Urutan instruksi menentukan keadaan
akhir algoritma
Algoritma dan Pemrograman I
5. 04/03/2013
5
Contoh 1 (Runtunan) :
Diberikan 2 buah gelas, A dan B;
gelas A berisi air berwarna merah, gelas B berisi air
berwarna biru. Pertukarkan isi kedua gelas itu
sedemikian sehingga
gelas A berisi air berwarna biru dan gelas B berisi
air berwarna merah.
A B A B
Algoritma dan Pemrograman I
ALGORITMA:
Tuangkan air dari gelas A kedalam gelas B
Tuangkan air dari gelas B kedalam gelas A
Caranya :
Kita siapkan satu buah gelas C untuk
menampung sementara air dari gelas A
sebelum dipindah ke gelas B
Algoritma dan Pemrograman I
ilustrasi
A C
A
C
B
A
B A
Algoritma dan Pemrograman I
6. 04/03/2013
6
ilustrasi
C
B
A B
C
Algoritma dan Pemrograman I
Program Tukar_isi
Diberikan 2 buah gelas, A dan B; gelas A berisi air
berwarna merah, gelas B berisi air berwarna biru. Isi
kedua gelas A dan B ditukar sedemikian sehingga gelas A
berisi air berwarna biru dan gelas B berisi air berwarna
merah.
KAMUS :
gelas A,gelas B, gelas C : air
ALGORITMA:
Tuangkan air dari gelas A kedalam gelas C
Tuangkan air dari gelas B kedalam gelas A
Tuangkan air dari gelas C kedalam gelas B
Hasil akhir algoritma adalah:
gelas A berisi air dari gelas B, dan
gelas B berisi air dari gelas A semula
Contoh 2 (runtunan):
Misal nilai A=8, B=5. Tukarkan nilai A dan B,
sehingga menjadi A=5, B=8.
Algoritma :
B A
A B
Algoritma :
C A
A B
B C Algoritma dan Pemrograman I
7. 04/03/2013
7
Pemilihan (Selection)
If kondisi then
aksi
endIf
If kondisi then
aksi1
else
aksi2
endIf Algoritma dan Pemrograman I
Contoh (Pemilihan) :
If A>B then Max A endIf
If B>A then Max B endIf
If A>B then Max A
Else Max B
endIf
Algoritma dan Pemrograman I
Pengulangan (Repetition)
for var awal to akhir do
aksi
Endfor
repeat
aksi
until kondisi_stop
while kondisi_ulang do
aksi
endwhile
Algoritma dan Pemrograman I
8. 04/03/2013
8
Contoh (Pengulangan) :
For i 1 to 5 do
output(“MAAF”)
EndFor
i1
Repeat
output(“MAAF”)
ii+1
Until (i>5)
i1
While (i<=5) do
output(“MAAF”)
ii+1
endwhile
Algoritma dan Pemrograman I
ATURAN PENULISAN TEKS
ALGORITMA
1. KEPALA ALGORITMA
Kepala algoritma adalah bagian yang
terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang
algoritma tersebut.
2. DEKLARASI
bagian untuk mendefinisikan semua
nama yang dipakai didalam algoritma.
3. DESKRIPSI
Bagian ini berisi uraian langkah-langkah
penyelesaian masalah.
Flowchart
• Bentuk gambar/diagram yang mempunyai
aliran satu atau dua arah secara sekuensial
• Simbol-simbol dalam flowchart
9. 04/03/2013
9
Lanjutan Flowchart
Pseudo Code
• Adalah Kode atau tanda yang
menyerupai (pseudo) program atau
merupakan pejelasan cara
menyelesaikan suatu masalah.
Contoh Algortima
• Problem: mencari bilangan terbesar dari dua
bilangan yang diinputkan
• Contoh Algoritma:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka
kerjakan langkah 4, jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
10. 04/03/2013
10
Contoh Pseudo-code
• Contoh Pseudo-code:
Input a
Input b
If a > b then kerjakan langkah 4
print a
print b
TAHAPAN ANALISA ALGORITMA
1. Bagaimana merencana kan suatu algoritma.
2. Bagaimana menyatakan suatu algoritma
Dengan bahasa semu (pseudocode),
Contoh :
Hitung konversi jam
Deklarasi
jam, mnt, dtk, jum_dtk;
Deskripsi
1. input jam, mnt, dtk
2. Jum_dtk (jam * 3600) + (mnt * 60) + dtk
3. Cetak jum_dtk
Dengan diagram alur atau flowchart
scanf ( “%d %d %d”,&jam, &mnt, &dtk);
Jum_dtk := (jam* 3600) +(mnt * 60) + dtk
Printf (“%d”, jum_dtk)
start
input
Jam,mnt,dtk
Jum_dtk =(jam * 3600) +(mnt* 60) +
detik
write
jum_dtk
end
11. 04/03/2013
11
1. Buatlah Algoritma untuk mencari luas
persegi panjang disertai flowchart
dan pseudocodenya
2. Buatlah Algoritma untuk
menampilkan NIM dan Nama Anda
disertai flowchart dan Psudocodenya