Anda di halaman 1dari 8

TUGAS

ALGORITMA DAN PEMROGRAMAN

OLEH
NAMA KELOMPOK:
1. I Gede Pandu Restu Putra (1805511024)
2. Ni Made Yunita Purnama Dewi (1805511025)
3. I Kadek Yudi Permadi (1805511026)
4. I Ketut Widana (1805511027)
5. Ni Wayan Utari Raspati Dewi (1805511055)

PROGRAM STUDI TEKNIK SIPIL


FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2020
ALGORITMA DAN PEMROGRAMAN

1. APA ITU ALGORITMA, UNTUK APA, DAN JENIS ALGORITMA


A. Pengertian Algoritma
Dalam ilmu komputer dan matematika, pengertian algoritma adalah suatu
urutan dari beberapa langkah logis dan sistematis yang digunakan untuk
menyelesaikan masalah tertentu. Pendapat lain mengatakan definisi algoritma
adalah proses atau serangkaian aturan yang harus diikuti dalam perhitungan atau
operasi pemecahan masalah lainnya, terutama oleh komputer. Dengan kata lain,
semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan
digunakan untuk memecahkan suatu masalah dapat disebut dengan algoritma.

Dalam pemrograman, hal yang penting untuk dipahami adalah logika kita
dalam berpikir bagaimana cara untuk memecahkan masalah pemrograman yang
akan dibuat. Sebagai contoh, banyak permasalahan matematika yang mudah jika
diselesaikan secara tertulis, tetapi cukup sulit jika kita terjemahkan ke dalam
pemrograman. Dalam hal ini, algoritma dan logika pemrograman akan sangat
penting dalam pemecahan masalah.

B. Pengertian Algoritma Menurut Para Ahli


Agar lebih memahami apa itu algoritma, maka kita dapat merujuk pada
pendapat para ahli berikut ini:

1. Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi


Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi (ahli
matematika dari Uzbekistan), pengertian algoritma adalah suatu metode khusus
yang digunakan untuk menyelesaikan permasalahan.

2. Donald Ervin Knuth


Menurut Donald Ervin Knuth, definisi algoritma adalah sekumpulan aturan-
aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan
suatu masalah tertentu.

3. S. E. Goodman dan S.T. Hedetniemi


Menurut Goodman dan Hedetniemi, pengertian algoritma adalah urutan
terbatas dari operasi-operasi yang terdefinisi dengan baik, dimana masing-masing
membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu
masalah.

4. Seymour Lipschutz dan Marc Lipson


Menurut Seymour Lipschutz dan Marc Lipson (praktisi matematika dan
komputer), pengertian algoritma adalah suatu daftar langkah demi langkah yang
terhingga dari intruksi-intruksi yang terdefinisikan dengan jelas yang digunakan
untuk memecahkan permasalahan tertentu.

5. Marvin Minsky
Menurut Marvin Minsky (pakar Artificial Intelligence), pengertian
algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu
ke waktu, tepatnya bagaimana untuk bertindak.

6. Andrey Andreyevich Markov


Menurut Andrey Andreyevich Markov (ahli matematika dari Rusia),
pengertian algoritma adalah hal umum untuk dipahami sebagai suatu keputusan
yang tepat untuk mendefinisikan proses komputasi yang mengarahkan dari data
awal hingga hasil yang diinginkan.

C. Tujuan dan Fungsi Algoritma


Pada dasarnya tujuan dan fungsi utama dari algoritma adalah untuk
memecahkan suatu masalah. Lebih jelasnya, adapun tujuan dan fungsi algoritma
adalah sebagai berikut:

a. Untuk membantu menyederhanakan suatu program yang rumit dan besar.


b. Untuk memudahkan dalam membuat sebuah program untuk masalah
tertentu.
c. Algoritma dapat digunakan berkali-kali untuk menyelesaikan suatu
permasalahan.
d. Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
e. Untuk meminimalisir penulisan program secara berulang-ulang.
f. Agar dapat melakukan pendekatan top-down dan divide and conquer.
g. Untuk memudahkan membuat program yang lebih rapih dan terstruktur
sehingga lebih mudah dipahami dan dikembangkan.
h. Memudahkan proses modifikasi pada program karena bisa dilakukan hanya
pada satu modul tanpa harus mengubah modiul lainnya.
i. Ketika terjadi kesalahan, algoritma dapat membantu menemukannya karena
alur kerja yang jelas.
j. Memudahkan proses dokumentasi.

D. Jenis-Jenis Algoritma
Adapaun jenis-jenis algoritma sebagai berikut:
1. Pseudo Code
Pseudo-code merupakan tanda atau kode yang hampir sama (pseudo) atau
merupakan penjabaran mengenai suatu prosedur untuk menyelesaikan masalah.
Pseudo-code ini biasanya digunakan oleh programmer untuk menuliskan algoritma
dari persoalan muncul. Pseudo-code ini berisi prosedur atau langkah-langkah yang
harus dilakukan untuk menyelesaikan suatu permasalahan yang muncul. Bahasa
yang digunakan pada Pseudo-code ini hampir menyerupai bahasa pemrograman
dengan kelebihan mudah dipahami dan lebih ringkas. Pseudo-code ini cukup efisien
untuk menggambarkan algoritma karena bisa menggunakan bahasa Indonesia agar
bisa dimengerti oleh orang awam.
2. Flowchart
Flowchart ialah suatu bentuk gambar atau diagram yang mempunyai aliran
satu atau dua arah yang bekerjasama secara berkesinambungan atau sekuensial.
Flowcahart ini mempunyai fungsi utama yaitu untuk menggambarkan sebuah
desain program dan berguna untuk mempresentasikan sistem yang kita buat
berdasarkan pola pikir yang kita miliki. Sistem flowchart tidak dipergunakan untuk
menggambarkan langkah-langkah memecahkan masalah namun hanya untuk
menggambarkan prosedur dari program yang dibuat. Kelebihan flowchart ini yaitu
lebih ringkas dan sederhana sehingga akan mudah dimengerti bagi yang
membacanya.
3. Dynamic Programming
Dynamic programming sesuai digunakan untuk memecahkan masalah yang
mengadung sub struktur yang optimal dan permasalahan yang tumpang tindih.
Dengan kata lain, dynamic programming ini membagi masalah menjadi sub-sub
masalah sehingga mudah untuk di pecahkan.
4. Metode Serakah
Metode serakah hampir mirip dengan dynamic programming. Perbedaan
keduanya terletak dari jawaban sub masalah yang tidak perlu diketahui setiap tahap
penyelesaiannya.
5. Devide and Conquer
Devide and Conquer membagi permasalahan besar menjadi permasalahan
lebih kecil. Pembagian ini dilakukan secara terus menerus sehingga ditemukan
permasalahan terkecil yang paling mudah untuk diselesaikan.

E. Kriteria Algoritma
Algoritma memiliki lima ciri utama yang saling berhubungan satu dengan
lainnya. Menurut Donald E. Knuth, adapun kriteria algoritma adalah sebagai
berikut:
1. Ada Input, yaitu permasalahan yang dihadapi dan akan dicarikan solusinya.
Algoritma memiliki nol atau lebih input (masukan).
2. Ada Proses, yaitu rencana atau langkah-langkah yang harus dilakukan
untuk mencapai tujuan akhir.
3. Ada Output, yaitu solusi atau tampilan akhir yang didapatkan dari suatu
algoritma. Algoritma memiliki minimal satu output.
4. Ada intruksi-intruksi yang jelas dan tidak ambigu, yaitu instrukti yang
jelas dalam algoritma sehingga tidak terjadi kesalahan dalam menghasilkan
output.
5. Ada tujuan akhir yang dicapai, yaitu akhir dari program dimana program
akan berhenti ketika tujuan akhir telah tercapai.
2. MEMBUAT ALGORITMA UNTUK:
a. Menyusun urutan naik dari suatu data
1. Mulai
2. Input n
3. Input angka sebanyak n
4. Jika nilai data ke-n > nilai data ke-n+1 maka tukar data
5. Ulangi pertukaran data dari awal hingga akhir
6. Jika nilai data ke-n = nilai data n+1 maka letakan data bersebelahan
7. Tuliskan data yang diurutkan (x1, x2, sampai xn)
8. Selesai

b. Menyusun urutan turun dari suatu data


1. Mulai
2. Input n
3. Input angka sebanyak n
4. Jika nilai data ke-n < nilai data ke-n+1 maka tukar data
5. Ulangi pertukaran data dari awal hingga akhir
6. Jika nilai data ke-n = nilai data n+1 maka letakan data bersebelahan
7. Tuliskan data yang diurutkan (x1, x2, sampai xn)
8. Selesai

c. Menjumlahkan 100 angka asli


1. Mulai
2. Input n =100
3. Input angka sebanyak x
4. Baca nilai a, n
5. Hitung nilai b
b = u2 - u1
6. Hitung jumlah suku ke-n
1
Sn = 2 n(2a+(n-1)b)

7. Hitung jumlah suku ke-100


1
S100 = 2 100(2𝑎 + 𝑛 − 1)𝑏)
8. Tuliskan hasilnya
S10 =
9. Selesai
d. Menyelesaikan persamaan kwadrat
1. Mulai
2. Input persamaan
3. Baca nilai a, b, c
4. Hitung nilai D
D = b2-4ac
5. Jika D < 0 tulis akar imajiner
6. Jika D = 0
x1 = -b/(2a)
x2 = x1
7. Jika D > 0
x1 = (-b+√𝐷 )/(2a)
x2 = (-b-√𝐷 )/(2a)
8. Tuliskan x1, x2
9. Selesai

3. PERBEDAAN ANTARA ALGORITMA DAN FLOWCHART

Algoritma dan flowchart adalah dua istilah yang terkait dengan proses
penyelesaian masalah dalam sebuah sistem komputer.
Algoritma merupakan kumpulan langkah yang disusun secara tertulis dan
berurutan untuk untuk menghadirkan solusi dari suatu permasalahan. Sedangkan
flowchart (diagram air) menyajikan metode untuk menggambarkan tahap-tahap
penyelesaian masalah beserta aliran data dengan simbol-simbol yang mudah
dipahami.
Jika algoritma disajikan dengan kode pemrograman, maka flowchart
disajikan dalam bentuk diagram. Masing-masing diagram memiliki makna
tersendiri, seperti input, proses, output, dan lain sebagainya sehingga setiap
informasi yang disajikan dapat dipahami dengan jelas berikut tahapan yang sedang
terjadi
DAFTAR PUSTAKA

Abidin Riswan. 2016. Pengertian Algoritma Pemrograman. Tersedia pada:


https://teknojurnal.com/pengertian-algoritma-pemrograman/.riswan. Diakses
pada: 8 Februari 2020

Anonim. 2017. Perbedaan Algoritma dan Flowchart. Tersedia pada:


https://brainly.co.id/tugas/11916974. Diakses pada: 8 Februari 2020

Anonim. 2020. Pengertian Algoritma: Definisi, Ciri-Ciri, Fungsi, dan Contohnya.


Tersedia pada: https://www.maxmanroe.com/vid/teknologi/pengertian-
algoritma.html. Diakses pada: 8 Februari 2020