ALGORITMA
BY : AGUS RAHMAT P.
10 BDP 1 - 06
KATA PENGANTAR
Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas limpahan
rahmat dan karunia Nya, sehingga kami dapat menyelesaikan buku ini dengan
baik.
Dunia pendidikan saat ini dipengaruhi oleh pesatnya perkembangan zaman.
Peningkatan pelaksanaan pendidikan baik pendidikan formal, nonformal,
maupun informal sangat perlu untuk dilakukan. Khususnya pendidikan formal
yang memberikan peranan besar bagi peserta didik dalam hal mencapai
kemampuan akademis sehingga perlu dilakukan berbagai upaya untuk
meningkatkan kuantitas maupun kualitas pendidikan.
Pendidikan sebagai bagian integral kehidupan masyarakat di era global harus
dapat memberi Dan memfasilitasi bagi tumbuh kembangnya keterampilan
peserta didik melalui kemampuan intelektual, sosial, dan personal. Dalam hal ini
pendidikan memiliki fungsi untuk menumbuhkan berbagai kompetensi peserta
didik.
Untuk itu, buku ini kami sajikan guna membantu peserta didik dalam
mengembangkan pengalaman belajar serta memberikan kesempatan luas bagi
peserta didik untuk mengembangkan potensinya. Dengan penyajian materi yang
runtut dan kegiatan belajar yang menitikberatkan pada aktivitas siswa melalui
kegiatan mengamati, menanya, menalar, mencoba, dan membentuk jejaring
untuk semua mata pelajaran diharapkan dapat melahirkan generasi yang
beriman, produktif, kreatif, dan inovatif.
Kami menyadari masih banyak kekurangan dalam buku ini, untuk itu kritik
dan saran demi perbaikan buku ini sangat kami harapkan. Semoga buku ini
dapat memberikan manfaat dalam dunia pendidikan.
Selamat belajar dan sukses selalu.
i
Algoritma
A. Definisi Algoritma Sumber : https://matamu.net/pengertian-algoritma-dan-
Algoritma adalah suatu urutan dalam beberapa jenis-jenisnya-dalam-pemograman
tahapan yang logis dan juga sistematis agar bisa
menyelesaikan suatu masalah tertentu. Beberapa ahli ada
yang berpendapat bahwa algoritma adalah serangkaian
tahapan yang harus diikuti dalam suatu operasi atau
perhitungan pada berbagai pemecahan masalah lain,
khususnya komputer.
Algoritma sendiri terbentuk dari tiga dasar utama, yaitu:
Algoritma sekuensial adalah suatu perintah yang bisa
tersusun secara sistematis dan berurutan agar nantinya
bisa menampilkan beberapa instruksi tertentu secara
khusus.
Algoritma perulangan atau looping algorithm
merupakan suatu perintah yang bisa digunakan agar
bisa mengulang beberapa banyak perintah dengan cara
memperhitungkan beberapa syarat khusus.
Algoritma percabangan ataupun bersyarat, yakni suatu
perintah yang bisa berguna dalam memilih salah satu
dari beberapa pilihan yang sudah ada.
B. Ciri-Ciri Algoritma :
Algoritma terdiri dari lima ciri utama yang saling berkaitan antara yang satu dengan yang lainnya. Menurut Donald E.
Knuth, kelima ciri-ciri algoritma adalah sebagai berikut:
1.Terdapat input, yakni permasalahan yang dihadapi dan nantinya akan dicarikan solusinya. Algoritma ini mempunyai
nilai nol atau lebih input.
2.Terdapat proses, yakni serangkaian tahapan yang memang harus dikerjakan agar bisa mencapai tujuan akhir
3.Terdapat Output, yakni solusi ataupun tampilan akhir yang bisa diperoleh dari suatu algoritma yang setidaknya
mempunyai satu output.
4.Terdapat berbagai instruksi yang jelas, yakni instruksi jelas dalam suatu algoritma agar nantinya tidak akan terjadi
kesalahan saat sedang menghasilkan output tertentu.
5.Terdapat tujuan akhir yang memang ingin dicapai, yakni akhir dari suatu program yang mana program tersebut
nantinya akan berhenti bila sudah berhasil mencapai tujuan akhir.
1
C. Teknik Penulisan Algoritma
Algoritma harus ditulis dengan jelas agar orang lain dapat memahami algoritma yang dibuat. Oleh karena itu,
penulisan algoritma dapat menggunakan beberapa teknik, yaitu dengan bahasa natural, pseudocode, dan flowchart.
1. Bahasa Natural
Algoritma bahasa natural merupakan cara penyajian suatu algoritma yang paling sederhana dan paling mudah untuk
dimengerti. Algoritma ditulis dengan bahasa yang kita gunakan sehari-hari (bahasa indonesia, inggris), atau bahasa
apapun yang dipahami.
• Cara penulisan algoritma dengan bahasa natural
Ketika menyajikan algoritma dalam bahasa natural, memang tidak ada aturan standar namun sebaiknya
memperhatikan beberapa hal sebagai berikut:
1. Setiap Urutan langkah-langkah sebaiknya menggunakan penomoran dari 1,2 dan seterusnya.
2. Urutan langkah-langkah harus dimulai dengan kata mulai atau Start dan diakhiri dengan kata selesai / stop.
Atau anda juga bisa menggunakan istilah dengan bahasa lainnya yang serupa, Start dituliskan sebagai ‘inisialisasi’ atau
‘Mulai’, sedangkan End sendiri dituliskan sebagai ‘selesai’ dan dituliskan pada akhir algoritma.
3. Langkah-langkah penyelesaian masalah bisa ditulis secara berurutan dari awal sampai akhir.
4. Bisa menggunakan bahasa apapun yang mudah dipahami singkat jelas padat.
Contoh Penulisan algoritma bahasa natural dalam kehidupan sehari-hari :
Kasus 1:
Menukar isi gelas berisi kopi dan gelas berisi teh.
Untuk kasus ini kita misalkan gelas berisi kopi adalah gelas A, sedangkan gelas isi teh adalah gelas B
Penulisan algoritma bahasa natural:
1. Mulai
2. Sediakan satu gelas kosong misal namanya gelas C.
3. Masukan isi gelas A (gelas berisi kopi)kedalam gelas C (Gelas kosong)
4. Masukan isi gelas B (gelas berisi teh) kedalam gelas C( gelas kosong yang sebelumnya berisi kopi)
5. Masukan isi gelas C (gelas kosong yang sudah diisi kopi) kedalam gelas B (gelas kosong yang sebelumnya berisi teh)
6 Selesai.
2
2. Pseudocode
Pseudocode (kode-semu) adalah cara penulisan algoritma yang hampir menyerupai bahasa pemrograman,
namun pseudocode ditulis lebih sederhana dengan menggunakan bahasa baku yang mudah dipahami oleh manusia. Bahasa
yang digunakan bisa menggunakan bahasa Inggris ataupun bahasa Indonesia sesuai dengan kebutuhan dan pemahaman
masing-masing penulis. Karena kita tinggal di Indonesia maka kita akan menuliskan pseudocodenya dengan bahasa
Indonesia yang baik dan benar.
Tujuaan dari penggunaan pseudocode dalam suatu algoritma adalah supaya programer dapat memahami ide/rencana suatu
program dengan jelas, meskipun programmer tersebut belum bisa menentukan bahasa pemrograman apa yang akan
digunakan.
• Struktur Yang Membentuk Sebuah Pseudocode :
1.Judul (berisi judul algoritma)
2.Deskripsi (berisi deklarasi variabel dan konstanta)
3.Implementasi (berisi inti algoritma)
• Fung
si Pseudocode
1.Pseudocode memiliki fungsi sebagai alat dokumentasi.
2.Pseudocode dapat mempemudah penggunanya dalam memahami serta memperjelas cara menyelesaikan masalanya.
3.Pseudocode dapat membantu penggunanya dalam menuliskan sebuah algoritma yang akan dibuatnya.
4.Pseudocode memiliki aspek yang sangat ringkas dan mudah karena pseudocode tidak bergantung pada suatu sistem
tertentu dan itulah yang menjadikannya prinsip utama dari sebuah algoritma.
• Berikut contoh algoritma menggunakan pseudocode :
Sumber : https://shiirefaa.blogspot.com/2015/10/pengertian-dan-pengenalan-pseudocode.html?m=1
3
3. Flowchart
Flowchart adalah sebuah diagram yang Sumber : https://www.goldenfast.net/blog/flowchart-adalah/
menggambarkan suatu proses, sistem, atau algoritma dari
sebuah jaringan dan komputer.
Flowchart banyak digunakan di berbagai bidang untuk
mendokumentasikan, mempelajari, merencanakan, dan
memperbaiki sebuah proses kerja suatu sistem.
Flowchart dapat berbentuk grafik diagram sederhana yang
digambar dengan tangan hingga diagram complex komputer
yang terdiri dari banyak proses, langkah, dan alur kerja.
Diagram flowchart ini juga merupakan salah satu diagram
alur paling umum yang banyak digunakan oleh orang-orang
di berbagai bidang
•
Fungsi Flowchart
Flowchart memiliki fungsi diantaranya adalah untuk menggambarkan, menyederhanakan suatu rangkaian proses atau
prosedur sehingga dapat mudah dipahami dan mudah dilihat berdasarkan urutan langkah dari suatu proses.
• Jenis-Jenis Flowchart
1. Flowchart Sistem (System FLowchart).
Disini digambarkan sebagai sebuah bagan yang berfungsi untuk menunjukkan dimana alur kerja dan proses yang sedang
dikerjakan dalam suatu sistem secara keseluruhan.
2. Flowchart Paperwork
Untuk jenis flowchart yang satu ini memiliki fungsi untuk menelusuri suatu alur dari data yang sebelumnya telah ditulis
melalui sebuah sistem.
3. Flowchart Skematik
Flowchart jenis sepert ini juga berfungsi untuk menggambarkan suatu sistem, hampir sama dengan flowchart sistem.
Yang membuat berbeda adalah digunakannya simbol standar, gambaran komputer, pheriperal, dan peralatan lain.
4. Flowchart Program
Merupakan bagan yang berfungsi untuk menjelaskan keterangan yang lebih rinci tentang langkah-langkah dari proses
suatu program.
5. Flowchart Proses (Proses Flowchart)
Pada bagian ini biasanya digunakan untuk memecah dan menganalisis langkah-langkah yang akan dilakukan selanjutnya
dalam prosedur suatu sistem.
4
• Simbol - Simbol Flowchart
Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda. Berikut adalah simbol-simbol yang sering
digunakan dalam proses pembuatan flowchart.
Dalam flowchart terdapat simbol-simbol yang digunakan antara lain :
Sumber : https://www.kibrispdr.org/dwn-0/lambang-flowchart-dan-artinya.html
5
• Contoh Flowchart :
Flowchart Menentukan Bilangan Ganjil Genap
Sumber : https://qwords.com/blog/cara-membuat-flowchart/
6
D. Struktur Dasar Algoritma
Sumber : https://www.ngopot.com/2020/09/struktur-dasar-algoritma.html?m=1
1. Runtutan (Sequence)
Runtutan adalah struktur yang digunakan untuk mengerjakan jenis program yang pernyataannya sequential atau
berurutan. Pada struktur ini, perintah yang diberikan secara beruntun atau berurutan baris per baris mulai dari awal
hingga akhir. Struktur urutan tidak memuat lompatan atau pengulangan didalamnya.
Intruksi dalam struktur urut memiliki karakteristik seperti:
1. Tiap perintah dikerjakan satu persatu sebanyak sekali
2. Pelaksanaan perintah dilakukan secara berurutan
3. Perintah terakhir merupakan akhir dari algoritma
4. Perubahan urutan dapat menyebabkan hasil yang berbeda
Struktur urut dalam sains biasanya digunakan untuk melakukan perhitungan pada kasus yang melibatkan rumus-rumus
sederhana dengan melibatkan operator penjumlahan, pengurangan, dan perkalian.
2. Pemilihan (Selection)
Pemilihan adalah struktur yang digunakan pada program yang memerlukan proses pengujian kondisi untuk mengambil
suatu keputusan apakah suatu baris perintah akan diproses atau tidak. Pengujian kondisi ini dilakukan untuk memilih
salah satu dari beberapa alternatif yang tersedia.
Tidak semua baris program akan dikerjakan pada struktur ini, melainkan hanya baris yang memenuhi syarat saja. Secara
umum, perintah dalam struktur ini berjalan secara runtun atau berururut mulai dari perintah pertama hingga akhir,
namun perintah dapat dibuat berpindah ke perintah lain atau berhenti jika syarat yang ditentukan terpenuhi.
3. Pengulangan (Repetition)
Pengulangan adalah struktur yang melakukan pengulangan beberapa kali terhadap satu baris atau satu blok baris
program. Pengulangan akan dilakukan sesuai dengan persyaratan yang diberikan.
Dalam kasus kasus tertentu dalam algoritma bisa saja mengandung struktur pengulangan, bisa juga tidak sesuai dengan
kasus yang ingin diselesaikan. Pengulangan dibuat untuk membantu mempermudah penyajian algoritma agar proses
lebih cepat dan penulisan algoritma menjadi sederhana.
7
Uji Kompetensi
1. Urutan logis pengambilan keputusan untuk 6. Pseudocode yang digunakan pada penulisan algoritma
pemecahan masalah merupakan pengertian dari... dapat berupa...
a. Program a. Bahasa Inggris
b. Variable b. Bahasa Puitis
c. Algoritma c. Bahasa pemrograman
d. Kostanta d. Bahasa Asing
e. Tipe data e. Sembarang bahasa asal terstruktur
2. Peulisan Algoritma yang menggunakan sintaks (cara 7. Urutan langkah-langkah logis untuk menyelessaikan
penulisan) menyerupai bahasa pemrograman disebut... masalah yang disusun secara sistematis disebut ….
a. Coding a. Algoritma
b. Pseudocode b. Flowchart
c. Flowchart c. Variabel
d. Data flow d. Tipe data
e. Terminator e. Konstanta
3. Algoritma yang prosesnya sesuai urutan waktu 8. Simbol flowchart yang digunakan sebagai awal dan akhir
dimana setiap proses hanya sekali dikerjakan suatu proses adalah….
dikatakan memiliki struksur... a. Terminal
a. Sequence b. Input
b. Repetition c. Preparation
c. Selection d. Output
d. Processor e. Dec
e. Invarant
4. Algoritma pemograman dapat ditulis dalam bentuk... 9. Di bawah ini yang termasuk struktur dasar algoritma antara
a. Animasi lain …….
b. Kode morse A. Pengulangan
c. Pseudocode B. Perbaikan
d. Barcode C. Pemulihan
e. Digital D. Pemrograman
E. Pengaturan
5. Sebuah prosedur langkah demi langkah yang pasti 10. Symbol yang digunakan untuk menghubungkan antara
untuk menyelesaikan sebuah masalah disebut... symbol yang satu dengan yang lain adalah Symbol…….
a. Proses A. Terminator
b. Program B. Display
c. Algoritma C. Flow Direction
d. Prosesor D. Processing
e. Step E. Input-output
8
Sumber Referensi
1. http://referensisiswa.blogspot.com/2018/07/penulisan-algoritma-bahasa-
natural.html?m=1
2. https://www.ngopot.com/2020/08/penulisan-algoritma-pemrograman.html?m=1
3. https://shiirefaa.blogspot.com/2015/10/pengertian-dan-pengenalan-
pseudocode.html?m=1
4. https://dosenpintar.com/flowchart-adalah/
5. https://www.dicoding.com/blog/flowchart-
adalah/#:~:text=Fungsi%20utama%20dari%20flowchart%20adalah,memudah
kan%20pemahaman%20terhadap%20informasi%20tersebut
6. https://www.ngopot.com/2020/09/struktur-dasar-algoritma.html?m=1
7. https://qwords.com/blog/cara-membuat-flowchart/
8. https://www.kibrispdr.org/dwn-0/lambang-flowchart-dan-artinya.html
9. https://www.goldenfast.net/blog/flowchart-adalah/
10. https://shiirefaa.blogspot.com/2015/10/pengertian-dan-pengenalan-
pseudocode.html?m=1
11. https://matamu.net/pengertian-algoritma-dan-jenis-jenisnya-dalam-
pemograman
12. https://www.kuncijawab.xyz/2021/03/contoh-soal-pilihan-ganda-
algoritma.html?m=1
Al Khawarizmi
Al-Khawarizmi memiliki nama lengkap Abu
Abdullah Muhammad Ibn Musa Al-
Khawarizmi. Ilmuwan ini lahir di sebuah kota
kecil bernama Khawarizm yang amat terkenal
di Uzbekistan tahun 780M. Al-Khawarizmi
lebih dikenal dengan sebutan Algoritm,
Algorismus, atau Algoritma oleh para
ilmuwan Barat dan Eropa.
Algoritma merupakan prosedur langkah-demi-langkah untuk
penghitungan. Disebutkan pula bahwa kata-kata algoritma atau
algoritme merupakan serapan dari bahasa Spanyol dan Portugis
yang berarti digit.