Anda di halaman 1dari 42

Learning

Algorithms is
Fun

Fun Algorithm Zen Munawar


M AT R I K U L A S I 2 0 2 0 E M A I L : Z E N M U N AWA R . L P 3 I @ G M A I L .
COM
POLITEKNIK LP3I
WA : 0 8 1 8 0 2 0 5 7 7 3 6
FUN ALGORITHM

PENDAHULUAN ALGORITMA MENYAJIKAN ALGORITMA SEJARAH


DAN DENGAN DAN
CONTOH ALGORITMA TULISAN DAN GAMBAR KARAKTERISTIK
ALGORITMA
Definisi
Algoritma
Definisi Algoritma

“Algoritma adalah urutan atau langkah-langkah untuk perhitungan


atau untuk menyelesaikan suatu masalah yang ditulis secara
berurutan sistematis dan logis. (Rinaldi Munir, 2016)”
Sejarah Singkat Algoritma

 Menurut para ahli matematika, kata algoritma berasal dari kata


algorism.
 Kata algorism berasal dari nama penulis buku Arab yang terkenal,
yaitu Abu Ja’far Muhammad Ibnu Musa al-Khuwarizmi (al-
Khuwarizmi dibaca orang barat menjadi algorism).
 Perubahan dari kata algorism menjadi algorithm muncul karena
kata algorism sering dikeluarkan dengan arithmetic, akhirnya
akhiran –sm menjadi –thm.
Contoh
Algoritma
Contoh Algoritma membuat mie
instan
1. Siapkan 1 bungkus mie instan, 400 ml air + 2 gelas, panci, mangkok, sendok dan garpu
2. Masukkan 400 ml air ke dalam panci
3. Masak air
4. Tunggu hingga air mendidih
5. Masukkan mie ke dalam panci yang sudah berisi air mendidih
6. Tunggu dan aduk hingga 3 menit
7. Jika sudah matang masukkan bumbu-bumbu
8. Aduk hingga merata
9. Sajikan mie
Algoritma dapat disajikan dalam dua cara yaitu tulisan dan gambar.
Algoritma dalam bentuk tulisan biasanya menggunakan Bahasa sehari-hari seperti pada
contoh Algoritma membuat mie atau pseudocode.
Pseudocode adalah cara penulisan Algoritma yang dimana penulisan algoritmanya
hampir seperti kode programannya sperti Bahasa Pascal, C atau Phyton dll.
Pseudocode digunakan untuk menambahkan dari algoritma kedalam kode Bahasa
pemrograman yang ditulis oleh pemrogram.
Contoh Pseudocode membuat mie
instan
1. Siapkan 1 bungkus mie instan, 400 ml air + 2 gelas, panci, mangkok, sendok dan garpu
2. Input 400 ml air ke dalam panci
3. Masak air
4. Tunggu hingga air mendidih
5. Input mie ke dalam panci yang sudah berisi air mendidih
6. Tunggu dan aduk hingga 3 menit
7. If mie = matang then input bumbu-bumbu
8. Aduk hingga merata
9. Output mie
Perhatikan perbandingan Algoritma yang ditulis dalam
Bahasa sehari-hari dengan Algoritma yang ditulis dalam
Psedocode.
Algoritma yang ditulis dalam Bahasa sehari-hari Algoritma yang ditulis dalam Psedocode.

1. Siapkan 1 bungkus mie instan, 400 ml air + 2 gelas, 1. Siapkan 1 bungkus mie instan, 400 ml air + 2
panci, mangkok, sendok dan garpu gelas, panci, mangkok, sendok dan garpu
2. Masukkan 400 ml air ke dalam panci 2. Input 400 ml air ke dalam panci
3. Masak air 3. Masak air
4. Tunggu hingga air mendidih 4. Tunggu hingga air mendidih
5. Masukkan mi ke dalam panci yang sudah berisi air 5. Input mie ke dalam panci yang sudah berisi air
mendidih mendidih
6. Tunggu dan aduk hingga 3 menit 6. Tunggu dan aduk hingga 3 menit
7. Jika sudah matang masukkan bumbu-bumbu 7. If mie = matang then input bumbu-bumbu
8. Aduk hingga merata
8. Aduk hingga merata
9. Output mie
9. Sajikan mie
 
Penyajian Algoritma dengan Flow
Chart
Penyajian Algoritma dalam bentuk gambar dengan Flow Chart.
Flow Chart adalah sebuah bagan yang dimana berisi alir atau flow sebuah
program atau prosedur logika yang ada pada sebuah program.
Flow Chart digunakan untuk alat bantu dalam komunikasi dan dokumentasi
Simbol Flow Chart
Contoh Flow Chart membuat mie instan A C
Mulai
Tidak
Mendidih B

Siapkan 1 bungkus mie instan, Aduk hingga


Ya
400 ml air + 2 gelas, panci, merata
mangkok, sendok dan garpu Masukkan
mie

Tidak
Merata
Masukkan 400 ml Tunggu dan aduk
air ke dalam panci hingga 3 menit
Ya

Tidak Mie siap


Masak air Matang disajikan

Ya

Masukkan
B Tunggu hingga air mendidih bumbu- Selesai
bumbu

A C
Selanjutnya akan dilakukan analisis program dalam Bahasa Pascal yaitu
program IF atau pencabangan
Program Diskon_Belanja;
Uses Crt;
Var
Belanja : Longint;
Begin
Clrscr;
Write(‘Masukkan total belanja !’);Readln(Belanja);
If Belanja > 100000 then
Writeln(‘Bonus anda adalah perlengkapan sekolah’)
Else
Writeln(‘Anda tidak mendapatkan bonus’);
Readln;
End.
Program diketikkan dengan Compiler FreePascal
Tampilan Hasil Program
Contoh Masalah Mengurutkan sebuah List :
Permasalahan

Urutkan List berikut :


 
S : [7,4,6,1,3]
Permasalahan tersebut bisa diselesaikan oleh manusia maupun
komputer, bagi manusia sangat mudah bukan yaitu dengan
meletakkan angka yang lebih kecil sebelah kiri kemudian angka yang
lebih besar di sebelah kanannya sebagai berikut :
Permasalahan :
Sebelum terurut S : [7,4,6,1,3]
Setelah terurut S : [1,3,4,6,7]
Mudah Bukan menyelesaikan permasalahan tersebut
Tapi bagaimana kalau jumlah angka dalam List tersebut sangat banyak puluhan
ratusan, ribuan, bahkan jutaan tentu sangat merepotkan dan melelahkan untuk
menyelesaikannya. Nah hal ini bisa dilakukan dengan bantuan komputer yang
tentunya sudah diberikan algoritma untuk menyelesaikan permasalahan tersebut.
Contoh Permasalahan :
Bagaimanakah cara menukarkan isi gelas A dengan gelas
B?
1. Siapkan gelas C untuk menyimpan nilai dari
Algoritma gelas A
Algoritma 2. Tuangkan isi gelas A ke dalam gelas C
Algoritma 3. Tuangkan isi gelas B ke dalam gelas A
Algoritma 4. Pindahkan isi dari gelas C ke dalam gelas B

5. Isi dari gelas A tertukar dengan gelas B


Untuk memahami algoritma lebih lanjut mari kita mulai
dengan contoh berikutnya :
  Contoh :
Bagaimana mengambil air dari ember sebesar 400 ml ?
 

Permasalahannya :
Hanya terdapat satu buah gelas berukuran 500 ml dan satu buah gelas
berukuran 300 ml
 

Bagaimana caranya mari kita lanjutkan :


Penyelesaian
Bagaimana mengambil air dari ember sebesar 400 ml
Gelas
500 ml Gelas
300 ml
Ember
Berisi Air
Algoritma 1. Isi penuh gelas 300 ml dengan air
2. Tuangkan air dari gelas 300 ml ke dalam gelas
Algoritma 500 ml
Algoritma 3. Isi penuh gelas 300 ml dengan air
4. Tuangkan air dari gelas 300 ml ke dalam gelas 500
Algoritma ml hingga penuh. (gelas 300 ml sekarang tersisa 100
ml air).
Tuangkan air dari gelas 300 ml ke Gelas 300 ml sekarang tersisa
dalam gelas 500 ml hingga penuh 100 ml air Tersisa
100 ml
Algoritma 5. Buang semua isi air dalam gelas 500 ml
Algoritma 6. Tuangkan air dari gelas 300 ml ke dalam gelas 500
ml. (gelas 500 ml sekarang berisi 100 ml)

Setelah
dituang
Berisi air
100 ml
Algoritma 7. Isi penuh gelas 300 ml dengan air
8. Tuangkan air dari gelas 300 ml ke dalam gelas 500
Algoritma ml
9. Sekarang didapatkan air 400 ml dalam gelas 500
Algoritma ml.
Karakteristik
Algoritma
1 Karakteristik Algoritma

“Algoritma harus berhenti setelah mengerjakan


sejumlah langkah terbatas”
Catatan : Perhatikan Algoritma mempertukarkan gelas, algoritma berhenti
setelah isi gelas tertukar.
2 Karakteristik Algoritma
“Setiap langkah harus didefinisikan dengan tepat
dan tidak boleh mempunyai arti-dua (Ambigu)”

Misal terdapat setumpuk kartu, perintahnya tumpuklah kartu menjadi beberapa tumpukan. Nah kata beberapa
tumpukan tersebut tidak jelas karena kata tumpukan sudah berarti banyak dan kata beberapa juga berarti banyak.

Berbeda jika perintahnya sbb: Tumpuklah kartu dengan lambing love menjadi lima tumpukan, sehingga perintahnya
jelas. Apa jenis kartu nya dan berapa tumpukkan nya.
3 Karakteristik Algoritma

“Algoritma memiliki nol atau lebih


masukkan (input)”

Pada contoh algoritma mempertukarkan isi gelas masukkannya adalah


gelas A dan gelas B.
4 Karakteristik Algoritma

“Algoritma mempunyai nol atau


lebih luaran (output)”

Contohnya : Coba bayangkan sebuah box yang berfungsi untuk mengurutkan angka terus box
tersebut di isi dengan beberapa kumpulan angka missal 1, 3, 5, 7 terus box tsb tiba-tiba bisa
mengeluarkan urutan angka tadi yang dengan terurut jadi terurut dari kecil sampai besar.
5 Karakteristik Algoritma
“Algoritma harus efektif”

Yaitu setiap langkah harus sederhana sehingga bisa dikerjakan dalam sejumlah waktu yang masuk akal.

Contoh : Misal algoritma mengurutkan angka, kalua hanya mengurutkan lima angka saja, sepuluh atau
seratus masih cepat, lalu bagaimana kalau angkanya seribu atau satu juta, pasti jika algorma tidak
bagus maka akan memerlukan waktu yang lama sehingga algoritma tersebut harus efektif agar waktu
pengerjaannya itu masih tergolong pada waktu yang masuk akal.

Anda mungkin juga menyukai