Anda di halaman 1dari 30

ALGORITMA

Blok Pemodelan Sistem dan Komputasi


KELOMPOK 2
Muhammad Nuruzzaman 201111108
Arju SiroOdja Wahhaja 201111109
Afan Welman Al Amri 201111110
Risa Khanya Dessy Nabilla 201111112
Mijasnia Okatrina 201111113
KELOMPOK 2 INFORMATIKA
01
ALGORITMA
SECARA UMUM
Arju SiroOdja Wahhaja

PENGERTIAN AlGORITMA
Dalam matematika dan ilmu komputer, algoritma adalah prosedur langkah-
demi-langkah VCXVC untuk penghitungan. Algoritma digunakan untuk
penghitungan, pemrosesan data, dan penalaran otomatis. Algoritma adalah
metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi
yang telah didefinisikan dengan baik untuk menghitung sebuah fungsi. Dimulai
dari sebuah kondisi awal dan input awal (mungkin kosong), instruksi-instruksi
tersebut menjelaskan sebuah komputasi yang bila dieksekusi, diproses lewat
sejumlah urutan kondisi terbatas yang terdefinisi dengan baik, yang pada
akhirnya menghasilkan keluaran dan berhenti di kondisi akhir. Algoritma dapat
digambarkan dengan banyak notasi termasuk bahasa alamiah pseudokode
diagram alur bagan dakron bahasa pemrograman atau tabel kontrol (diproses
oleh penerjemah) ekspresi bahasa alamiah terhadap algoritma condong lebih
banyak dan rancu dan jarang digunakan untuk algoritma yang kompleks dan
teknis.
Arju SiroOdja Wahhaja

DEFINISI AlGORITMA
Definisi Algoritma secara umum:
BBC Bitesize algoritma adalah sederet aturan atau tata cara. Aturan
dan panduan ini digunakan untuk memecahkan sebuah masalah.
Selain itu, ia juga harus dilakukan secara urut. Jika tidak, masalah tidak
akan terpecahkan.Misalnya, kamu harus pergi ke luar rumah. Nah,
kamu tentu menggunakan kaus dulu, baru memakai jaket.Apabila
kamu mengacak urutan ini, hasil akhirnya akan berbeda. Tujuan akhir
juga takkan tercapai.Misalnya, menggunakan jaket dulu baru kaus.
Kamu takkan siap pergi jika mengenakan baju seperti itu.Contoh lain
dari algoritma adalah resep makanan. Di sana, ada cara membuat yang
wajib diikuti urutannya.Dalam bahasa Inggris, istilah ini disebut dengan
algorithm. Ia juga kerap disebut dengan algoritme.
Arju SiroOdja Wahhaja

DEFINISI AlGORITMA
Definisi Algoritma dalam konteks teknologi:
Think Automation Algoritma tetaplah sebuah panduan urutan. Akan tetapi,
panduan ini dibuat untuk menjalankan suatu aksi atau tugas komputer.The
National memberikan algoritme mesin pencari sebagai contoh. Misalnya, kamu
mengetik “cara jadi programmer” di sana.Nah, mesin pencari itu akan bekerja
sesuai dengan algoritmanya. Apakah suatu artikel punya kata kunci yang
tepat? Berapa usia artikel itu? Pertanyaan-pertanyaan tadi akan dikumpulkan
jawabannya. Setelah itu, mesin pencari memilih, artikel mana yang layak ada di
urutan pertama. Bagaimana dengan urutan kedua dan seterusnya?Langkah
pertanyaan dan pengambilan keputusan mesin pencari ini disebut dengan
algoritme. Apa saja yang harus ia lakukan sebelum menemukan “solusi” dari
“masalah”-mu?Contoh lainnya ada di bawah ini. Misalnya, kamu meminta
komputer menghitung jumlah angka A dan B.
Arju SiroOdja Wahhaja

SEJARAH AlGORITMA
• Ahli Sejarah Matematika menemukan asal kata algoritma tersebut
yang berasal dari nama penulis buku arab (Kitab Al Jabar Wal-
Muqabala) yang terkenal yaitu Abu Ja‘far Muhammad Ibnu Musa Al-
Khuwarizmi.
• Al-Khuwarizmi dibaca orang barat menjadi Algorism dari judul buku itulah
diperoleh akar kata "Aljabar" (Algebra).
• Perubahan kata dari algorism menjadi algorithm muncul karena kata
algorism sering dikelirukan dengan arithmetic sehingga akhiran usm
berubah menjadi uthm lambat laun kata algorithm berangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum dalam
bahasa Indonesia kata algorithm diserap menjadi algoritma.
• Ternyata, algoritma bukan barang baru. Menurut Mashable Algoritma
sudah muncul sejak era Babilonia.Namun, penggunaannya bukan pada
dunia komputer. Saat itu, algoritme digunakan sebagai alat bantu
pertanian.
Arju SiroOdja Wahhaja

SEJARAH AlGORITMA
• Ahli Sejarah Matematika menemukan asal kata algoritma tersebut
yang berasal dari nama penulis buku arab (Kitab Al Jabar Wal-
Muqabala) yang terkenal yaitu Abu Ja‘far Muhammad Ibnu Musa Al-
Khuwarizmi.
• Al-Khuwarizmi dibaca orang barat menjadi Algorism dari judul buku itulah
diperoleh akar kata "Aljabar" (Algebra).
• Perubahan kata dari algorism menjadi algorithm muncul karena kata
algorism sering dikelirukan dengan arithmetic sehingga akhiran usm
berubah menjadi uthm lambat laun kata algorithm berangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum dalam
bahasa Indonesia kata algorithm diserap menjadi algoritma.
• Ternyata, algoritma bukan barang baru. Menurut Mashable Algoritma
sudah muncul sejak era Babilonia.Namun, penggunaannya bukan pada
dunia komputer. Saat itu, algoritme digunakan sebagai alat bantu
pertanian.
Arju SiroOdja Wahhaja

SEJARAH AlGORITMA
• Pertengahan Abad ke-20 Algoritma digunakan di komputer. Persisnya
adalah dunia militer. Saat itu, digunakan untuk memikirkan cara menembak
pesawat yang sedang bergerak.
• Masuknya algoritma ke komputer modernAlgoritme baru masuk ke
komputer modern lewat Google. Saat itu, Larry Page dan Sergey Brin
menuliskan Google PageRank Algorithm.Di sana, tertulis bagaimana Google
menentukan urutan hasil pencarian. Mereka tak sekadar mencari informasi
dasar dari artikel, lho.Google juga dilatih untuk membaca sinyal-sinyal
penting lainnya. Ternyata, trik pemanfaatan algoritme ini meningkatkan
kualitas hasil pencarian.
• Sebagai sistem kemudi otomatis Melansir Vox, sistem kemudi otomatis
sebuah mobil bisa diminta belok di tempat yang tidak seharusnya. Ini tentu
membahayakan keselamatan kita di jalanan.
• Meskipun demikian, algoritme terus-menerus disempurnakan. Oleh karena
itu, meski punya banyak kekurangan, ia diprediksi akan terus digunakan.
TUJUAN AlGORITMA
Afan Welman Al Amri

1. Memecahkan masalah rumit; Dengan menggunakan fungsi algoritma, maka akan


lebih mudah untuk memecahkan masalah yang rumit..
2. Menjadikan masalah menjadi lebih sederhana; Dengan menggunakan fungsi
algoritma, maka kita dapat menjadikan masalah yang besar menjadi Masalah yang
lebih sederhana..
3. Algoritma dapat digunakan berulang kali; Tujuan dan fungsi algoritma juga dapat
digunakan untuk penggunaan secara berulang atau lebih dari satu kali..
4. Memudahkan dalam pembuatan program; Algoritma dapat memudahkan kita
untuk membuat program, salah satu cara untuk mempermudahnya yaitu dengan
membuat flow chart terlebih dahulu sebelum membuat program..
5. Mengatasi masalah dengan logika; Dengan algoritma, maka kita dapat mengatasi
segala masalah dengan logika..
6. Meminimalisir penulisan program yang berulang-ulang; Algoritma dapat
digunakan untuk memudahkan kita menulis program yang berulang-ulang
7. Memecahkan program yang sulit. Membuat program besar menjadi lebih
sederhana. Dapat digunakan berkali-kali untuk memecahkan suatu permasalahan.
Memudahkan programmer untuk membuat program.. Meminimalisir kesalahan.
FUNGSI AlGORITMA
Muhammad Nuruzzaman

1. Membantu Menangani Permasalahan yang Pelik/sulit dan menemukan


solusinya dengan cepat dan lebih efisien
2. Menyederhanakan Program yang Nampak Rumit agar tidak memakan
banyak ruang dan dapat lebih mudah dimengerti
3. Dapat Difungsikan Secara Berulang sehingga pekerjaan akan lebih cepat
diselesaikan
4. Membantu Merapikan Program agar dapat lebih mudah dimengerti dan
program menjadi lebih tertata
5. Pendokumentasian Jauh Lebih Mudah: algoritma dapat membuat proses
pendokumentasian lebih mudah dan praktis sehingga tidak memakan
waktu yang lama
6. Mengatasi Masalah Secara Sistematis: Ketika mendapati sebuah kendala,
algoritma menyelesaikannya satu per satu dan membaginya menjadi
beberapa bagian. Pembagian tersebut dilakukan secara berurutan agar
pengguna dapat melihatnya sebagai hal yang bisa ditaklukan dengan
mudah.
FUNGSI AlGORITMA
Muhammad Nuruzzaman

7. Menghindari Penulisan Program Berulang: Pengembang IT umumnya harus


menuliskan program saat ingin menciptakan sebuah aplikasi. Sayangnya, terkadang
penulisannya dobel hingga akhirnya membuat pengguna kebingungan. Permasalahan
tersebut dapat diselesaikan dengan mudah oleh algoritma. Algoritma mencegah
pengguna menuliskan program secara berulang. Terkadang, pengembang bisa
menuliskan perintah secara berulang. Kesalahan tersebut wajar karena dapat saja
dituliskannya ketika kelelahan atau mengantuk.
8. Pendekatan Top Down Algoritma ini dapat difungsikan dengan baik yakni
menggunakan pendekatan top down. Segala permasalahannya akan diselesaikan
menggunakan sistem tersebut, yakni pembagian ke unik-unit kecil. Hal itu dilakukan
agar solusinya lebih mudah dan efisien.Selain itu, bahasa pemrogamannya mayoritas
menggunakan procedural yakni menginformasikan instruksi untuk penyelesaian
masalah. Pengguna harus paham bagaimana cara melakukannya sehingga kendala
pada aplikasi dapat diselesaikan dengan baik.Pendekatan top down pada algoritma itu
juga berfungsi dalam pembuatan dokumentasi. Tiap aplikasi diharuskan memilikinya
untuk berbagai kepentingan. Dengan adanya fitur ini, pengguna dapat merasa
terbantukan. Akhirnya, penulisan berbagai keterangan bisa dibantu oleh sistem itu.
FUNGSI AlGORITMA
Muhammad Nuruzzaman

7. Menghindari Penulisan Program Berulang: Pengembang IT umumnya harus


menuliskan program saat ingin menciptakan sebuah aplikasi. Sayangnya, terkadang
penulisannya dobel hingga akhirnya membuat pengguna kebingungan. Permasalahan
tersebut dapat diselesaikan dengan mudah oleh algoritma. Algoritma mencegah
pengguna menuliskan program secara berulang. Terkadang, pengembang bisa
menuliskan perintah secara berulang. Kesalahan tersebut wajar karena dapat saja
dituliskannya ketika kelelahan atau mengantuk.
8. Pendekatan Top Down Algoritma ini dapat difungsikan dengan baik yakni
menggunakan pendekatan top down. Segala permasalahannya akan diselesaikan
menggunakan sistem tersebut, yakni pembagian ke unik-unit kecil. Hal itu dilakukan
agar solusinya lebih mudah dan efisien.Selain itu, bahasa pemrogamannya mayoritas
menggunakan procedural yakni menginformasikan instruksi untuk penyelesaian
masalah. Pengguna harus paham bagaimana cara melakukannya sehingga kendala
pada aplikasi dapat diselesaikan dengan baik.Pendekatan top down pada algoritma itu
juga berfungsi dalam pembuatan dokumentasi. Tiap aplikasi diharuskan memilikinya
untuk berbagai kepentingan. Dengan adanya fitur ini, pengguna dapat merasa
terbantukan. Akhirnya, penulisan berbagai keterangan bisa dibantu oleh sistem itu.
FUNGSI AlGORITMA
Muhammad Nuruzzaman

9. Membantu Pembuatan Program: Fungsi algoritma lainnya adalah


membantu ketika pembuatan program. Di saat pengguna menginput bahasa
pemrogaman dan mengalami kesalahan, dengan sigap sistem ini akan
menyelesaikannya. Akhirnya, aplikasi yang dikembangkan oleh pengembang
IT pun dapat terselesaikan dengan baik. Tanpa memahami tentang algoritma,
pembuatan aplikasi mungkin tidak semulus biasanya. Kebanyakan
pengembang menggunakannya untuk memaksimalkan performa aplikasi
yang sedang dibangun.
10. Mendeteksi Masalah dengan Mudah: Salah satu fungsi algoritma adalah
mudahnya mendeteksi suatu program yang salah atau rusak. Ketika
pengembang memiliki kesalahan pada aplikasinya, maka ini bisa dicek secara
akurat. Pendeteksian ini cukup cepat sehingga waktunya akan efisien.
Program yang ditemukan kesalahannya dapat diselesaikan karena algoritma
membantu mencarikan masalah sekaligus membantu menanganinya. Untuk
mengatasinya, terkadang sistem tersebut menggunakan tools khusus demi
mempercepat penemuan hal eror.
CARA MEMBUAT AlGORITMA
Mijasnia Okatrina

1. Mulailah dengan menuliskan tujuan prosesnya.


2. Tulis langkah awal pseudocode yang mengatur bagian fungsi.
3. Tulis pseudocode fungsional.
4. Tambahkan komentar, jika perlu.
5. Baca dan cek kembali.
6. Tinjau pseudocode.
7. Menerjemahkan Pseudocode ke Bahasa Pemrograman.
a. Melacak pseudocode dan mengerti cara kerjanya.
b. Gunakan elemen pengkodean yang sesuai dengan bahasa
pemrograman.
c. Terapkan pseudocode.
d. Bandingkan kode aktual dengan pseudocode.
02
ALGORITMA
PEMOGRAMAN
You could enter a subtitle
here if you need it
Arju SiroOdja Wahhaja

ALGORITMA NARASI
Contoh: Algoritma Kelulusan_ mhs
Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika
nilai mahasiswa lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus. Sedangkan jika nilainya
lebih kecil dari 60, maka mahasiswa tersebut dinyatakan tidak
lulus.
Algoritmanya akan seperti berikut:
baca nama dan nilai mahasiswa.
jika nilai >= 60 makaketerangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan
Arju SiroOdja Wahhaja

ALGORITMA PSEUDO CODE


Contoh; Algoritma Kelulusan_ mhs
Persoalan: Diberikan data berupa nama dan nilai mahasiswa. Jika nilai
mahasiswa lebih besar atau sama dengan 60 maka mahasiswa tersebut
dinyatakan lulus. Sedangkan jika nilainya lebih kecil dari 60, maka
mahasiswa tersebut dinyatakan tidak lulus.
Deklarasi dari tipe datanya akan seperti berikut:
Nama = string
Nilai = integer
Keterangan = string
Algoritmanya akan seperti berikut:
read (nama, nilai)if nilai >= 60 then
keterangan = ‘lulus’else
keterangan = ‘tidak lulus’write(nama, keterangan)
Risa Khanya Dessy Nabilla

ALGORITMA PSEUDO CODE


Arju SiroOdja Wahhaja

ALGORITMA FLOWCHART
Menentukan bilangan ganjil atau genap
Terdapat bilangan yang bernama “bilangan bulat” yaitu 0, 1, -1, 2, dan
seterusnya serta bilangan asli 1, 2, 3, 4, 5, dst. Kedua jenis bilangan
tersebut sering digunakan dalam perhitungan. Algoritma di bawha ini
akan menentukan apakah bilangan tersebut ganjil atau genap> Berikut ini
adalah flowchart dari algoritma tersebut:
Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
Dari flowchart di atas, penjelasannya adalah sebagai berikut:
Bilangan genap adalah sebuah bilangan bulat yang akan habis atau tidak
memiliki sisa jika dibagi 2 (dua). Sedangkan bilangan ganjil adalah sebuah
bilangan bulat yang tidak akan habis apabila dibagi 2 (dua) atau ada sisa
pembagian.
03
ALGORITMA
MATEMATIKA
You could enter a subtitle
here if you need it
Risa Khanya Dessy Nabilla

KOMPLEKSITAS ALGORITMA
• Sebuah algoritma tidak saja harus benar (sesuai spesifikasi persoalan),
tetapi juga harus mangkus (efisien).
• Algoritma yang bagus adalah algoritma yang mangkus (efficient).
• Kemangkusan algoritma diukur dari waktu (time) yang diperlukan
untuk menjalankan algoritma dan ruang (space) memori yang
dibutuhkan oleh algoritma tersebut.
• Algoritma yang mangkus ialah algoritma yang meminimumkan
kebutuhan waktu dan ruang memori.
• Kebutuhan waktu dan ruang memori suatu algoritma bergantung
pada ukuran masukan (n), yang menyatakan ukuran data yang
diproses oleh algoritma.
• Kemangkusan algoritma dapat digunakan untuk menilai algoritma
yang bagus dari sejumlah algoritma penyelesaian persoalan.
Risa Khanya Dessy Nabilla

KOMPLEKSITAS ALGORITMA
• Sebab, sebuah persoalan dapat memiliki banyak algoritma
penyelesaian. Contoh: persoalan pengurutan (sort), ada puluhan
algoritma pengurutan (selection sort, insertion sort, bubble sort, dll).
• Mengapa kita memerlukan algoritma yang mangkus? Lihat grafik di
bawah ini.
Risa Khanya Dessy Nabilla

Model Perhitungan Kebutuhan Waktu


• Menghitung kebutuhan waktu algoritma dengan mengukur waktu
eksekusi riil nya (dalam satuan detik) ketika program (yang
merepresentasikan sebuah algoritma) dijalankan oleh komputer
bukanlah cara yang tepat.
• Alasan:
1. Setiap komputer dengan arsitektur berbeda memiliki bahasa mesin
yang berbeda → waktu setiap operasi antara satu komputer dengan
komputer lain tidak sama.
2. Compiler bahasa pemrograman yang berbeda menghasilkan kode
Bahasa mesin yang berbeda → waktu setiap operasi antara compiler
dengan compiler lain tidak sama.
• Model abstrak pengukuran waktu/ruang memori algoritma harus
independen dari pertimbangan mesin (computer) dan compiler
apapun.
Risa Khanya Dessy Nabilla

Model Perhitungan Kebutuhan Waktu


• Besaran yang dipakai untuk menerangkan model abstrak pengukuran
waktu/ruang ini adalah kompleksitas algoritma.
• Ada dua macam kompleksitas algoritma, yaitu: kompleksitas waktu
(time complexity) dan kompleksitas ruang (space complexity).
• Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang
dilakukan di dalam algoritma sebagai fungsi dari ukuran masukan n. •
Kompleksitas ruang, S(n), diukur dari memori yang digunakan oleh
struktur data yang terdapat di dalam algoritma sebagai fungsi dari
ukuran masukan n.
• Dengan menggunakan besaran kompleksitas waktu/ruang algoritma,
kita dapat menentukan laju peningkatan waktu (ruang) yang
diperlukan algoritma dengan meningkatnya ukuran masukan n.
Risa Khanya Dessy Nabilla

Model Perhitungan Kebutuhan Waktu


• Ukuran masukan (n) menyatakan banyaknya data yang diproses oleh
sebuah algoritma.

• Contoh:
1. algoritma pengurutan 10 elemen larik (array), maka n = 10.
2. algoritma pencarian pada 500 elemen larik, maka n = 500
3. algoritma TSP pada sebuah graf lengkap dengan 100 simpul, maka n
= 100.
4. algoritma perkalian 2 buah matriks berukuran 50 x 50, maka n = 50. 5.
algoritma menghitung polinom dengan derajat 100, maka n = 100
• Dalam perhitungan kompleksitas waktu, ukuran masukan dinyatakan
sebagai variabel n saja (bukan instans suatu nilai)
Risa Khanya Dessy Nabilla

Kompleksitas Waktu
• Pekerjaan utama di dalam kompleksitas waktu adalah menghitung
(counting) jumlah tahapan komputasi di dalam algoritma.
• Jumlah tahapan komputasi dihitung dari berapa kali suatu operasi
dilakukan sebagai fungsi ukuran masukan (n).
• Di dalam sebuah algoritma terdapat banyak jenis operasi:
• Operasi baca/tulis (input a, print a)
• Operasi aritmetika (+, -, *, /) ( a + b, M * N)
• Operasi pengisian nilai (assignment) ( a 10)
• Operasi perbandingan ( a < b, k >= 10
• Operasi pengaksesan elemen larik, pemanggilan prosedur/fungsi, dll
• Untuk menyederhanakan perhitungan, kita tidak menghitung semua
jenis operasi, tetapi kita hanya menghitung jumlah operasi khas (tipikal)
yang mendasari suatu
Risa Khanya Dessy Nabilla

Kompleksitas Waktu
Kompleksitas waktu dibedakan atas tiga macam :
1. Tmax(n) : kompleksitas waktu untuk kasus terburuk
(worst case), → kebutuhan waktu maksimum.
2. Tmin(n) : kompleksitas waktu untuk kasus terbaik
(best case), → kebutuhan waktu minimum.
3. Tavg(n): kompleksitas waktu untuk kasus rata-rata
(average case) → kebutuhan waktu secara rata-
rata
Risa Khanya Dessy Nabilla
TERIMA
KASIH
CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, and infographics &
images by Freepik.

Anda mungkin juga menyukai