Anda di halaman 1dari 8

MAKALAH ALGORITMA PEMROGRAMAN

Mata kuliah : Algoritma dan struktur data

Dosen pengajar : Noveriza Yuliasari SSi, MT.

Disusun oleh :

Satriadi

NIM : 1319004

SA01

SISTEM INFORMASI INDUSTRI OTOMOTIF

POLITEKNIK STMI JAKARTA

2020
BAB 1

PENDAHULUAN

1.1 Latar belakang


Pesatnya teknologi pada abad 20 ini tak bisa dipungkiri lagi, hampir semua bidang
kehidupan sudah terkomputerisasii dari bidang pendidikan, pertanian, perniagaan,
pertambangan, peternakan, dan lain-lain. Dalam dunia pemrograman komputer kita
mengenal algoritma. Algoritma pada mulanya dikenalkan pada dunia oleh al khawarizmi
yang merupakan filsuf dari Baghdad, iran. Oleh karena itulah pada makalah ini akan dibahas
apa itu algoritma, karakteristiknya, penyajiannya, analisana, paradigmanya dan manfaatnya
pada jenjang karir.

1.2 Rumusan masalah


1.2.1 apa definisi algoritma?
1.2.2 apa katakteristik dari algoritma?
1.2.3 Bagaimana penyajian algoritma?
1.2.4 Bagaimana menganalisis sebuah algoritma?
1.2.5 Apa paradigma algoritma pemrograman?
1.2.6 apa kegunaan dan manfaat algoritma?
1.2.7 Bagaimana algoritma membantu dalam karir?

1.3 Tujuan
1.3.1 untuk mengetahui definisi algoritma.
1.3.2 Untuk mengetahui karakteristik algoritma.
1.3.3 Dapat memahami penyajian algoritma.
1.3.4 Dapat memahami analisis sebuah algoritma.
1.3.5 Dapat mengetahui paradigma dari algoritma pemrograman.
1.3.6 Dapat mengetahui kegunaan dan manfaat algoritma.
1.3.7 Dapat mengetahui manfaat algoritma dalam karir.
BAB 2

PEMBAHASAN

A. Pengertian algoritma

Kata algoritma berarti “sebuah proses atau sekumpulan aturan untuk diikuti didalam
perhitungan atau operasi operasi pemecah masalah. Oleh karena itu algoritma merujuk pada
sekumpulan aturan atau instruksi langkah demi langkah bagaimana suatu pekerjaan dieksekusi
secara berurutan untuk mendapatkan hasil yang diharapkan. Nama algoritma dinamakan oleh
orang genius dari Baghdad, yaitu alkhawarizmi. Dia adalah orang pertama yang mengenalkan
algoritma pada dunia secara teknis, tepat dan tegas.

B. Karakteristik algoritma

tidak semua instruksi-instruksi program yang tertulis adalah sebuah algitma. Beberapa
instruksi-instruksi untuk menjadi sebuah algoritma harus memiliki karakteristik berikut :

1. Clear and ambiguous


Algoritma harus tegas dan tidak ambigu. Setiap langkah-langkahnya harus tegas
disemua aspek dan harus mengarah pada suatu tujuan.
2. Well-defined inputs
Jika suatu algoritma mengatakan ambil inputnya. Itu seharusnya bisa dibaca input.
3. Well-defined outputs
Algoritma harus dengan jelas menegaskan output apa yang akan dihasilkan dan itu
harus dibaca dengan benar.
4. Finite-ness
Algoritma harus terbatas. Agar tidak berakhir disebuah loops tak terbatas dan
sejenisnya.
5. Feasible
Algoritma harus sederhana, berkaitan dan praktis. Demikian itu bisa mengeksekusi
ketesediaan sumber daya. Tidak harus memuat teknologi masa depan atau apa pun.
6. Language independent
Bentuk algoritma harus language independent, hanya terdiri dari instruksi-instruksi
sederhana yang bisa di implementasikan di berbagai Bahasa. Dan outputnya akan sama
saja sesuai dengan yang diharapkan.

C. Penyajian algoritma

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode
yang mirip dengan kode pemrograman yang sebenarnya. Pseudocode ditulis berbasis pada
bahasa pemrograman tertentu misalnya Pascal, C atau Python, sehingga lebih tepat digunakan
untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Pseudocode
lebih rinci daripada struktur bahasa Inggris, misalnya dalam menyatakan sintaks, tipe data yang
digunakan dan lain-lain. Sedangkan algoritma yang disajikan dengan gambar, misalnya dengan
flowchart.

1. Flowchart
Flowchart (bagan alir) merupakan representasi secara grafik dari suatu algoritma
atau prosedur untuk menyelesaikan suatu masalah. Dengan menggunakan flowchart
akan memudahkan kita untuk melakukan pengecekan apakah ada bagian-bagian yang
terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai
fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Flowchart ada dua macam:
1.1 flowchart system
Yaitu diagram alir yang menggambarkan suatu sistem peralatan komputer yang
digunakan dalam proses pengolahan data dan hubungan antar peralatan tersebut.
Flowchart sistem digunakan untuk menggambarkan urutan langkah untuk
memecahkan masalah tetapi hanya untuk menggambarkan prosedur dalam sistem
yang dibentuk.
1.2 flowchart program
Yaitu bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan
masalah. Simbol yang digunakan adalah American National Standard Inc.

D. Analisa sebuah algoritma

Sebuah algoritma yang standar untuk menjadi lebih baik harus efisien. Karena keefisienan
sebuah algoritma harus dicek dan dipelihata. Maka terbagi menjadi 2 tahap:

1. Priori analysis : priori analysis adalah melakukan pengecekan algoritma sebelum


diimplementasikan. Disini, algoritma dicek ketika ditulis di dalam bentuk langkah-
langkah teoritis. Keefisienan algoritma ini diukur dengan asumsi dari semua factor.
Sebagai contoh, kecepatan prosesor konstan, dan tidak ada efek dari implementasinya.
Ini biasanya diselesaikan oleh perancang algoritma. Dimetode ini kompleksitas algoritma
adalah bergantung.
2. Posterior analysis : posterior analysis adalah pengecekan algoritma setelah
pengimplementasiannya. Disini, algoritma dicek dengan implementasiannya didalam
Bahasa pemrograman dan mengeksekusinya. Analysis ini membantu mendapatkan
laporan analysis yang aktual dan nyata tentang kebenarannya, penyimpanan yang
dibutuhkan, waktu penggunaannya dan lain-lain.

E. Paradigma algoritma pemrograman


1. Greedy algorithms
Algoritma pertama yang akan kita bahas adalah greedy algorithms. Greedy algorithms
bekerja dalam berfase fase. Disetiap fasenya , sebuah keputusan yang dibuat tampak
lebih baik, tanpa memandang konsekuensi yang akan dating. Strategi ini (ambillah apa
yang bisa kamu dapatkan sekarang) adalah asal nama dari algoritma ini.
Contoh : A simple scheduling problem dan coin changing problem
2. Divide and conquer (DnC)
Algoritma lainnya yang merancang suatu algoritma adalah divide and conquer.
Algoritma divide and conquer terdiri dari dua bagian :
Divide: masalah yang kecil di selesaikan dengan rekursif.
Conquer: solusi untuk masalah aslinya kemudian dibentuk dari solusi ke subproblem.
Contoh : mergesort, quicksort dan computational geometry.
3. Dynamic programming
Beberapa rumus matematika rekursif bisa dengan langsung menerjemahkannya ke
algoritma rekursif, tapi pada kenyataannya kompilernya tidak akan meluruskan
algoritma rekursif dan hasil program yang tidak efisien. Kita harus sedikit memberi
bantuan untuk kompilernya dengan menulis ulang lagoritma rekursifnya menjadi
algoritma non-rekursif secara sistematis catatan jawaban-jawabannya ke subproblem
ditabel.
4. Randomized algorithms
Pada algoritma sebuah nomor random digunakan untuk membuat keputusan. Durasi
dari algoritma tidak hanya tergantung pada inputnya, tapi juga nomor random yang ada.
5. Backtracking algorithms
Algoritma terakhir adalah backtracking. Dibanyak kasus, suatu algoritma backtracking
The last algorithm design technique we will examine is backtracking. In many cases, a
backtracking algorithm amounts to a clever implementation of exhaustive search, with
generally unfavorable performance. This is not always the case, however, and even so,
in somecases,the savings overa brute-force exhaustive search can be significant.
Contoh : arranging furniture in a new house dan chess and checkers.

F. Kegunaan dan manfaat algoritma


1. Langkah cerdasnya merepresentasikan solusi pada masalah yang diberikan. Yang
membuatnya mudah untuk dipahami.
2. Algoritma Menggunakan prosedur yang jelas
3. Algoritma adalah Bahasa pemrograman yang independen, maka itu mempermudah
untuk semua orang bahkan tanpa pengetahuan pemrograman.
4. Setiap langkahnya memiliki urutan logis, demikian mempermudah untuk debug
5. Dengan menggunakan algoritma, masalah di pecah menjadi kecil atau langkah demikian.
Itu mempermudah programmer untuk mengkonversinya menjadi program yang
sesungguhnya.

G. Manfaat algoritma dalam karir


Perancangan dan analisis dari suatu algoritma bukan peran spesifik tapi itu bisa menjadi
suatu bagian dari pekerjaan dan bagian ini berperan penting dalam code development. Jika
kamu merancang suatu algoritma yang baik, kamu akan menulis code yang baik dengan
sebuah solusi yang optimal dan nantinya produk akhir kamu akan menghasilkan konsumen
yang unggul. Maka jika kamu merancang dan mengembangkan software, kemudian ilmu
dan pengalaman dengan struktur data dan algoritma sangat penting.
BAB 3

PENUTUP

KESIMPULAN
Demikian dengan perkembangan teknologi didunia ini terus menerus berubah maka kita
harus tetap belajar algoritma, merancangnya maka dengan melihat solusi akhirnya dan
melakukannya dengan hasil yang benar. Entah itu aplikasi komersial, engineering,
operasional research atau artificial intelligence, yang didalamnya terdapat bidang
mengartikulasi masalah, mencari tahu algoritma yang efisien untuk memecahkannya dan
berurusan dengan data struktur akan tetap tak terelakkan selamanya.
Dengan mempelajari algoritma akan berguna bagi software development dan
programmer dalam membangun dan memecahkan suatu permasalah dalam pekrjaannya.
DAFTAR PUSTAKA

- Weiss, M Allen. 2011. Data Structures and Algorithm Analysis in Java. United state of
America: Addison-Wesley
- Educba. …. algorithm in programming
https://www.educba.com/algorithm-in-programming/ (25 januari 2020)
- Educba. …. What is an algorithm?.
https://www.educba.com/what-is-an-algorithm/ (25 januari 2020)
- RishabhPrabhu. 2017. Introduction to algorithms.
https://www.geeksforgeeks.org/introduction-to-algorithms/ (25 januari 2020).
- Pemkot Surakarta. ….. algoritma pemrograman.
http://technopark.surakarta.go.id/id/media-publik/komputer-teknologi-informasi/190-
algoritma-pemrograman (25 januari 2020)

Anda mungkin juga menyukai