Anda di halaman 1dari 11

Nama: Nurul

NIM : 1808105043
Smt/kls : 5/B
Matematika Diskrit

KONSEP ALOGARITMA

Pengertian Algoritma
Algoritma adalah logika, metode dan tahapan “urutan” sistematis yang digunakan
untuk memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan
langkag secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di
bidang komputer. Konsep Alogaritma adalah suatu urutan dari beberapa langkah yang logis
guna menyelesaikan masalah, pada saat kita memiliki masalah, maka kita harus dapat untuk
menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Secara
spesifik, pengertian algoritma ialah suatu metode khusus yang tepat dan terdiri dari
serangkaian langkah yang terstruktur dan dituliskan secara matematis yang akan dikerjakan
untuk menyelesaikan suatu masalah dengan bantuan computer.
Jadi berdasarkan definisi diatas, dapat dikatakan algoritma merupakan langkah
penyelesaian suatu masalah yang menghasilkan solusi dalam bentuk program komputer.
Namun penting diketahui bahwa algoritma tidaklah tergantung oleh suatu bahasa
pemrograman tertentu, artinya suatu algoritma harus dapat diwujudkan oleh bahasa
pemrograman komputer apapun.
Algoritma dapat disajikan dalam dua bentuk yaitu dalam bentuk tulisan/bahasa dan
dalam bentuk gambar. Penyajian algoritma dalam bentuk tulisan haruslah menggunakan
bahasa yang dapat dimengerti manusia dalam menyajikan langkah-langkah algoritma.
Penyajian algoritma dalam bentuk tulisan juga dapat dilakukan menggunakan pseudocode.
Pseudocode berasal dari kata pseudo yang berarti “mirip atau menyerupai” dan code yang
berarti “kode program”. Contoh bahasa pemrograman yang digunakan untuk menyatakan
pseudocode ialah BASIC, Pascal, C, dan lain-lain. Sedangkan, penyajian algoritma dalam
bentuk gambar sering disebut flow chart.
Sejarah Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan
Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya
dalam bahasa latin dari abad ke-12 “Algorithmi de numero Indorum”.
Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan
aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab
(sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang
jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui
dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya,
komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman
menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu
membuat gambaran (diagram alur) diatas kertas.

Ciri Algoritma

1. Ada Input
2. Ada proses
3. Ada Output
4. Memiliki Instruksi-Instruksi yang jelas dan tidak Ambigu
5. Harus mempunyai Stoping Role
Sedangkan menurut penulis buku algoritma abad XX Donald E. Knuth, algoritma memiliki
ciri, diantaranya :
1. Algoritma memiliki awal dan akhir dan berhenti setelah melakukan sebuah tugas
2. Algoritma memiliki kondisi awal atau Masukan (Input)
3. Algoritma Tidak memiliki arti ganda atau membingungkan (not ambiguous)
4. Algoritma Memiliki kondisi akhir atau Keluaran penyelesaian masalah(Output)
5. Algoritma Harus menyelesaikan persoalan

Fungsi Algoritma

 Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program yang rumit.
 Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program
yang lebih sederhana.
 Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali penggunaan.
 Memudahkan dalam pembuatan program.
 Bisa mengatasi segala masalah dengan logika dan urut.
 Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga devide
and conguer.
 Meminimalisir penulisan program yang berulang-ulang.
 Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah
untuk dipahami ataupun dikembangkan.
 Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa
mendapatkan alur yang jelas.
 Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul
saja tanpa harus merubah dan mengganggu modul yang lain.
 Dokumentasi yang lebih mudah.

Jenis-Jenis Algoritma
1. Divide and Conquer
Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-
permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus
sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya
menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian
memecahkanpermasalahan-permasalahan kecil yang terbentuk.
2. Dynamic programming
Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu
masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa
bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip
dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi
permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada
perbedaan dari karakter permasalahan yang dihadap
3. Metode serakah
Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik,
bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan
menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
4. Sistem Flowchart

Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem


peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan
antar peralatan tersebut. Sistem flow chart tidak digunakan untuk menggambarkan
urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan
prosedur dalam sistem yang dibentuk.
5. Pseudo Code (Kode Semu)
Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk
menggambarkan suatu algoritma . Pseudo Code dituliskan dengan menggunakan
bahasa yang mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika
yang digambarkan dapat dimengeti oleh orang awam sekalipun.
Flowchart Pseudo Code (kode semu) disusun dengan tujuan untuk
menggambarkan  tahap-tahap penyelesaian suatu masalah  dengan kata-kata (teks).
Metode ini  mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu
sangat  dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kdang sulit
dipahami oleh orang lain. Oleh karena itu kemudian dikembangkan suatu metode lain
yang dapat menggambarkan suatu algoritma program secara lebih mudah dan
sederhana yaitu dengan menggunakan flowchart (diagram alir).

Manfaat Algoritma
Adapun manfaat algoritma sendiri yaitu untuk membantu seseorang dalam menyelesaikan
suatu masalah berdasarkan pada pola pikirnya masing-masing.

Sifat Algoritma

 Tidak menggunakan simbol atau sintaks dari suatu bahasa pemograman.


 Tidak tergantung pada suatu bahasa pemograman.
 Notasi-notasinya dapat digunakan untuk seluruh bahasa pemograman.

Struktur Dasar Algoritma


Struktut algoritma adalah urutan bagaimana pemrosesan instruksi dalam algoritma
dilakukan dan juga bagaimana struktur instruksi algoritma tersebut dibagun. Struktur
Algoritma disusun dari bagian Kepala header berisikan tentang keterangan permasalahan
yang akan diimplementasikan ke dalam algoritma, pendeklarasian adalah tahapan penetapan
variabel atau ikatan objek yang terikat dengan tipe data dari bagian kerangka kepala header
dan tahap akhir deskripsi tahapan rincian penyelesaian masalah yaitu berisikan tentang
langkah-langkah sitematis logis menyelasaikan masalah hingga menghasilkan solusi atau
ouput. Struktur dasar algoritma dibagi menjadi 3 bagian sebagai berikut

1. Runtunan (Sequence)
Sequence atau runtunan dalam struktur algoritma adalah bahwa instruksi
insturksi dalam algoritma diproses secara beruntun langkah demi langkah dari awal
sampai akhir dimulai dari langkah pertama hingga langkah terakhir. Harus selalu
diingat, bahwa Runtunan ini juga berlaku di dalam bahsa pemrograman, ketika instruksi
bahasa pemrograman yang kita tulis di proses oleh komputer, maka komputer akan
memproses dan menterjemahkan bahasa pemrograman tersebut secara beruntun dari
awal hingga akhir dimulai dari instruksi pada baris pertama hingga baris terakhir.
Dengan struktur runtunan ini, akan menentukan bagaimana insturksi harus ditulis,
intruksi mana yang harus didahulukan dan intruksi mana yang harus diakhirkan.
2. Pemilihan (Selection)
Pada umumnya instruksi algoritma setidaknya akan mengandung pemilihan, atau
selection, instruksi ini akan muncul apabila ada kasus yang memiliki 2 atau lebih
alternatif penyelesaian.
Misalkan dalam kehidupan sekali-kali, untuk kasus menyalakan komputer.
Langkah-langkah cara menyalakan komputer sebenarnya sangat mudah, namun pada
prosesnya bisa terjadi 2 atau lebih alternatif penyelesaian.
Contoh:
langkah 1: colokan kabel listrik,
langkah 2: tekan tombol power pada cashing.
langkah 3: jika setelah power ditekan komputer mati, maka periksa listrik atau periksa
kabel dll, jika komputer menyala, lanjutkan ke langkah berikutnya.
….
….
Langkah 3 di atas merupakan salah satu bentuk pemilihan atau selection,
bahwa pada saat proses menyalakan komputer bisa kemungkinan terjadi 2 kondisi,
komputer tatap mati atau hidup, dimana kedua kondisi tersebut akan memiliki
alternatif penyelesaian yang berbeda.
Di dalam struktur algoritma pemilihan atau selection tersebut akan kerap
sekali ditemukan, sehingga struktur algoritma tidak lepas dari pemilihan/ selection.
Pemilihan atau selection dipelajari di bab algoritma Selection / Flow Control).
3. Pengulangan (Repitition)
Struktur dasar algoritma yang ketiga adalah pengulangan atau repitition, artinya
kasus-kasus pemecahan masalah dalam algoritma maupun bahasa pemrograman pada
kenyataannya tidak akan lepas dari kasus-kasus yang membutuhkan pengulangan. Di
algoritma sendiri untuk mengatasi kasus pengulangan data, memiliki intruksi tersendiri,
dengan intruksi tersebut pengulangan akan lebih mudah ditulis secara singkat dan
praktis daripada harus di tulis satu-persatu.
Contoh:
Da kasus di algoritma yang membuat sebuah data harus diulang beberapa kali, missal
untuk kasus mencetak angka 1 sampai 5.
Penyelesaian pengulangan sebenarnya sangat mudah, bisa saja kita tulis satu persatu
misal;
langkah 1: tulis angka 1
langkah 2: tulis angka 2
langkah 3: tulis angka 3


langkah 5: tulis angka 5.
Membuat intruksi pengulangan dengan menuliskannya satu persatu tentunya bukanlah
cara praktis, jika hanya 5 baris mungkin saja bisa dibuat secara manual, ditulis satu-
satu, namun bagaimana jika yang harus diulang sebanyak 1.000 (seribu baris
misalnya), saya yakin anda akan kerepotan menuliskannya.
Oleh karena itu karena kerap sekali pengulangan ditemukan di kasus-kasus pemecahan
masalah terkomputerisasi, maka di algoritma dikenal struktur pengulangan yang akan
lebih memudahkan dan mempercepat penulisan proses pengulangan secara praktis dan
cepat.(pengulangan ini biasanya dipelajari di materi algoritma Looping/
pengulangan).

Contoh Algoritma
Berikut ini terdapat beberapa contoh algoritma, terdiri atas : Contoh sederhana
algoritma dalam kehidupan sehari-hari adalah ketika keitika seseorang dihadapi dengan
permasalahan membuat kopi.
Kepala atau header: Pada bagian ini berisikan tantang statemen membuat kopi.
Deklarasi: Bagian ini berisikan tentang bahan dasar membuat kopi seperti gula, bubuk kopi,
air, kompor, panci, sendok dan gelas.
Deskripsi penyelesaian masalah: Variabel yang telah didapatkan di bagian deklarasi
diproses. Letakan panci pada kompor, isikan air kedalam panci, hidupkan api kompor, tunggu
hingga air mendidih, tuangkan bubuk kopi kedalam panci jika air sudah mendidih, aduk air
didalam panci yang berisikan bubuk kopi tersebut hingga kadar kopi menyatu dengan air,
tuangkan air kopi kedalam gelas, berikan gula secukupnya dan selesai.
1. Menentukan Bilangan Ganjil atau Genap
Bilangan bulat yaitu 0, 1, -1, 2, dst, sedangkan bilangan asli 1, 2, 3, 4, 5, dst. Bilangan
bulat dan bilangan asli sering dipakai dalam berhitung. Himpunan bilangan bulat dalam
buku teks aljabar biasanya dinyatakan dengan lambang “Z” serta himpunan bilangan asli
dinyatakan dengan lambang “N”. Algoritma yang digunakan untuk menentukan apakah
bilangan tersebut ganjil atau genap disajikan dengan flowchart seperti dibawah ini :

Bilangan genap adalah bilangan bulat yang dapat habis jika dibagi 2 (dua). Bilangan
ganjil adalah bilangan bulat yang tidak habis jika dibagi 2 (dua).
2. Menghitung Keliling dan Luas Lingkaran
Lingkaran adalah himpunan dari semua titik-titik yang ada pada bidang dalam jarak
tertentu dan disebut dengan jari-jari dari titik tertentu yang disebut dengan titik pusat.
Lingkaran adalah contoh dari kurva tertutup sederhana, lingkaran membagi bidang
menjadi dua bagian yaitu bagian luar dan dalam. Adapaun algoritma untuk menghitung
keliling dan luas lingkaran disajikan dengan flowchart seperti dibawah ini :
3. Menampilkan Bilangan Ganjil Diantara 10 sampai 30
Bilangan ganjil yang terletak diantara 10 dan 30 adalah bilangan 11,13,15, dan
seterusnya. Namun yang akan ditampilkan kecuali bilangan 21 dan 27. Sehingga
output/keluaran yang diharapkan dari algoritma tersebut yaitu bilangan ganjil antara 10
sampai 30 kecuali bilangan 21 dan 27. Algoritma yang digunakan untuk menampilkan
bilangan ganjil antara 10 hingga 30 kecuali bilangan 21 dan 27 dapat disajikan dengan
flowchart seperti dibawah ini :

4. Algoritma tahun Kabisat


Tahun kabisat adalah tahun yang mempunyai tambahan 1 hari yang bertujuan supaya
kalender dapat sinkron dengan musim tahunan serta keadaan astronomi. Bulan Februari
mempunyai 29 hari saat tahun kabisat. Adapun tahun kabisat adalah tahun yang dapat
dibagi dengan 4. Algoritma yang digunakan untuk menentukan tahun kabisat dapat
disajikan dengan flowchart dibawah ini :

5. Menampilkan Bilangan Genap Mulai Angka 2 sampai n, Kecuali Bilangan Genap


Kelipatan 4
Bilangan genap adalah bilangan bulat dapat habis dibagi 2 (dua). Deret yang akan
ditampilkan dari algoritma ini adalah deret dari bilangan genap dari 2 sampai ke n,
kecuali bilangan genap kelipatan 4. Algoritma tersebut dapat disajikan dengan flowchart
seperti dibawah ini :

Anda mungkin juga menyukai