Disusun Oleh:
Revo ( 2307113137 )
Tri Afrizal ( 2307111528 )
FAKULTAS TEKNIK
UNIVERSITAS RIAU
2023
KATA PENGANTAR
Puji syukur kehadirat tuhan yang telah memberikan hidayah sehingga kami sekelompok
dapat menyelesaikan tugas makalah yang berjudul Pengantar dan Dasar Algoritma ini tepat pada
waktunya.
Adapun tujuan dari penulisan makalah ini ialah untuk memenuhi tugas pak Dian Yayan
Sukma, ST., MT selaku dosen pada mata kuliah Dasar Komputer dan Pemrograman. Selain itu
pembuatan makalah ini juga bertujuan guna menambah wawasan mengenai apa saja yang ada
dalam komponen-komponen komputer bagi pembaca maupun penulis.
Kami mengucapkan terima kasih kepada semua pihak yang telah bekerja sama dengan
membagikan ilmunya kepada kami di penulisan makalah ini hingga kami dapat dengan rampung
menyelesaikan makalah ini.
Kami juga menyadari bahwa makalah yang kami buat ini masih jauh dari sempurna. Oleh
karena itu, kami menantikan kritik dan saran yang nantinya akan membangun kesempurnaan di
makalah ini.
Komputer awalnya diciptakan untuk menjadi mesin yang mampu memecahkan soal
matematika atau perhitungan. Seiring perkembangan zaman dan generasi komputer, komputer
yang sekarang memiliki berbagai fungsi dan jenis baik komputer khusus atau pun komputer
umum yang bisasa digunakan orang-orang. Komputer biasa digunakan untuk melakukan
pekerjaan, mencari informasi, hingga bermain game. Siapa yang akan menyangka komputer yang
awalnya diciptakan untuk menghitung sekarang mampu melakukan berbagai perkerjaan.
Komputer memiliki tiga unsur penting yaitu hardware, software dan brainware. Setiap
unsrur memiliki tugas dan fungsi masing masing dan dihubungkan dengan memnggunakan
bahasa pemrograman. Bahasa pemrogaman memiliki banyak jenis salah satunya adalah
algoritma, algoritma digunakan sebagai spesifikasi untuk melakukan perhitungan dan
pemrosesan data. Karena masih banyak orang yang belum atau sama sekali tidak mengetahui apa
itu algoritma, defenisi algoritma, masalah dalam algoritma, penyelesaian dala algoritma,
perbedaan algoritma dan program, bagian-bagian algoritma, strukturdasar algoritma dan notasi
algoritma maka kami sebagai mahasiswa berinisiatif untuk membuat maklah dengan judul
“pengantar dan dasar algoritma”.
1. 2. RUMUSAN MASALAH
Berdasarkan latar belakang yang telah dikemukakan pada bagian sebelumnya, maka
terciptalah rumusan masalah sebagai berikut:
Software dari Perspektif Algoritma Software dalam algoritma diartikan sebagai sistem
yang menjalankan perintah algoritma. Contohnya microsoft office, dan aplikasi yang ditemukan
pada handphone,laptop ataupun PC.C.
Brainware dari Perspektif Algoritma Brainware adalah seseorang yang membuat kode
atau perintah algoritma untuk membuat sebuah program. Dimana brainware ini adalah awal
terbentuknya sistem algoritma yang akan digunakan dalam pemrograman
Salah satu permasalahan algoritma adalah pencarian urutan sejumlah kartu dari tumpukan
kartu yang disusun secara acak merupakan salah satu permasalahn kombinatorial. Permasalahan
ini dapat diselesaikan dengan mencoba semua kemungkinan yang ada. Sayangnya, proses ini
membutuhkan waktu yang lama untuk dapat menemukan urutan kartu yang diinginkan.
Berdasarkan permasalahan tersebut, dilakukan penelitian untuk menyelesaikan permasalahan
pencarian urutan kartu dengan menggunakan algoritma genetika. Algoritma genetika dalam
penelitian ini dilakukan dalam serangkaian proses yaitu: pengkodean, penentuan representasi
individu, inisialisasi populasi awal, evaluasi fitness, seleksi, crossover, dan mutasi. Dari
penelitian ini, pencarian target urutan kartu As Sekop, 2 Keriting, 3 Hati, dan 4 Wajik dengan
kode [0,14,28,42] berhasil dilakukan kurang dari 1000 iterasi dengan nilai fitness terbaik adalah
208. Algoritma genetika dapat mengoptimasi pencarian kartu dari kemungkinan sebanyak
6.497.400 urutan.
2. 2. DEFENISI ALGORITMA
2. 2. 1. Terminologi Algoritma
Istilah algoritma berasal dari kata“ algorism” yang merujuk pada seseorang pakar
matematika muslim yang hidup di abad ke- 19 bernama Ibnu Al- Khwarizmi. Pada
perkembangannya, konsep pemikiran ia dalam menguraikan serta memecahkan perkara
secara logis serta matematis diterapkan sebagai suatu prosedur algoritma dalam proses
suatu kerja komputer. Algoritma merupakan urutan langkah- langkah yang logis dalam
penyelesaian permasalahan yang disusun secara sistematis. Referensi lain juga mengatakan
algoritma merupakan sesuatu prosedur yang menggambarkan urutan langkah- langkah
yang berintegrasi, ataupun sesuatu prosedur khusus yang digunakan dalam menyelesaikan
sesuatu permasalahan yang nyata.
2. 2. 3. Kriteria Algoritma
1. Input (Masukan)
Sebuah Algoritma harus memiliki nol input atau inputan dari pengguna (user).
Apa yang dimaksud dengan nol input? Nol input dapat diartikan algoritma atau
program tidak mendapat inputan data dari pengguna. Bukan berarti algoritma
tidak memiliki masukan sama sekali, tetapi inputan pada algoritma sudah di
deklarasikan diawal program.
2. Output (Keluaran)
Dalam penyusunan kriteria algoritma yang baik dan benar minimal harus
memiliki satu output. Ini karena algoritma mengusung teori IPO (Input-Proses-
Output) dimana setiap ada masukan pasti ada proses dan keluarannya.Output
yang dikeluarkan oleh program dapat berbentuk File, Video, teks, audio dan lain
sebagainya. Dapat juga output nya sebagai sebuah data yang disimpan di
database.
3. Finiteness (Terbatas)
Terbatas disini bukan artinya mempunyai keterbatasan dalam pengembangan
algoritma tetapi algoritma yang dijalankan harus mempunyai batas. Atau bisa
diartikan juga suatu program yang dirancang dan dieksekusi haruslah berhenti
dan selesai pada output. Program yang buruk adalah program yang mengalami
infinite, yaitu semacam program berjalan terus menerus sampai not responding
atau bahasa kerennya nge-Hang.
4. Definiteness (Pasti)
Dalam perancangan, program harus memiliki algoritma yang pasti dimana arah
dan tujuan yang jelas. Program yang baik adalah program yang memiliki
algoritma dengan pernyataan yang jelas seperti kapan mulai dan kapan
berakhirnya sebuah progam, tujuan dari program dan output yang jelas. Pada hal
ini cukup diperlukan tingkat ke peka an dalam membangun program (software)
guna memperkecil persentasi hasil yang tidak diinginkan.
5. Efisien
Program yang efisien adalah program yang tidak memakan banyak memori dan
tidah melakukan hal-hal yang tidak diperlukan selama proses. Lalu kenapa
efisien masuk dalam kriteria algoritma yang baik? Karena setiap program akan
memakan waktu dalam setiap proses eksekusinya. Jika program mengerjakan
hal-hal yang tidak perlu dilakukan, maka bisa dipastikan program tersebut akan
berjalan lambat.
2. 3. 2. Persyaratan algoritma
1. Tingkat kepercayaannya tinggi (realibility). Oleh karena itu, hasil yang
diperoleh dari proses harus berakurasi tinggi dan benar.
2. Pemrosesan yang efisien (cost rendah).
3. Proses harus diselesaikan secepat mungkin dengan frekuensi kalkulasi yang
sependek mungkin.
4. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk
kasus lain yang lebih kompleks.
5. Bisa dikembangkan (expandable)
6. Haruslah sesuatu yang dapat dikembangkan lebih jauh berdasarkan perubahan
requirement yang ada.
7. Siapa pun yang melihat, dia akan bisa memahami algoritma tersebut. Kesulitan
memahami suatu program akan membuat kesukaran maintenance
(pengelolaan).
8. Portabilitas yang tinggi (portability).
9. Bisa dengan mudah diimplementasikan di berbagai platform komputer.
10. Jalannya algoritma harus ada kriteria berhenti.
11. Output yang dihasilkan tepat.
2. 4. 1. Defenisi Algoritma
Dalam ilmu komputer, pengertian algoritma adalah prosedur khusus untuk
memecahkan masalah komputasi yang terdefinisi dengan baik. Pengembangan dan analisis
algoritma sangat penting untuk semua aspek ilmu komputer: kecerdasan buatan, basis data,
grafik, jaringan, sistem operasi, keamanan, dan sebagainya.
Program Adalah suatu rancangan struktur, desain, kode skema, maupun bentuk
yang lainnya dengan yang disusun sesuai alur Algoritma dengan tujuan mempermudah
suatu permasalahan. sebuah program biasanya disebut juga dengan istilah Aplikasi,
tujuannya adalah mempermudah suatu hal agar pekerjaan bisa lebih produktif dan lebih
efisien. Adapun istilah programmer yaitu seseorang yang membuat atau merancang suatu
program tersebut.
2. 4. 3. Bahasa Pemrograman
1. Bahasa tingkat tinggi
Sunting
Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati
bahasa manusia.[2] Contohnya bahasa Basic, Visual Basic, Pascal, Java, PHP.
2. Bahasa tingkat menengah
Sunting
Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi
maupun rendah. Contohnya bahasa C.
3. Bahasa tingkat rendah
Sunting
Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari
bahasa manusia. Contohnya bahasa Assembly.
2. 5. BAGIAN – BAGIAN ALGORITMA
Sebuah algoritma merupakan deskripsi langkah-langkah pelaksanaan dalam suatu proses.
Setiap langkah dalam algoritma dinyatakan dalam sebuah pernyataan atau instruksi. Sebuah
pernyataan berisikan aksi yang dilakukan. Jika semua pernyataan dieksekusi oleh pemroses,
maka aksi yang bersesuaian dengan pernyataan itu dikerjakan.
2. 5. 1. Definisi Pernyataan
Pernyataan adalah betuk instruksi yang diberikan kepada pemroses yang berisikan
aksi. Secara umum pada pemrograman, pernyataan dapat dibedaan menjadi:
1. Assignment
Assignment atau assign yang berarti mengasosiasikansecara simbolis informasi
tertentu dengan nama. Operasi apa pun yang diterapkan ke”nama” harus benar
untuk setuap kemungkinan nilai.
2. Branching
Branching adalah ketika algoritma membuat pilihan untuk mengerjakan satu
dari banyak hal. Yang paling umum digunakan untuk pernyataan ini adalah
“IF”.
3. Looping
Looping adalah kode blok tertentu yang digunakan untuk melakukan
pengulangan. Looping terbagi menjadi dua jenis yaitu “WHILE” loop dan
“FOR” loop.
2. 5. 3. Definisi Aksi
Suatu aksi adalah kejadian yang terjadi pada suatu selang waktu terbatas dan
menghasilkan efek neto yang telah terdefinisi dengan baik dan memang direncanakan. Pada
deskripsi tersebut, ditekankan benar efek tersebut harus “direncanakan”, maka berarti
dititikberatkan pada kegunaannya. Jika seseorang tertarik pada suatu aksi, maka jelas
bahwa minatnya adalah pada efek netonya. Suatu aksi harus terjadi pada selang waktu yang
terbatas, dimulai pada saat T0 dan berakhir pada saat T1. Maka efek neto dari aksi dapat
dijelaskan dengan membandingkan keadaan pada saat T0 dan keadaan pada saat T1.
1. Initial state (I.S. keadaan awal), T0, adalah kentang sudah ada di kantong
kentang, yang ditaruh di rak di dapur, di mana ibu Tati akan mengupasnya
2. Final state (F.S. keadaan akhir), T1, kentang dalan keadaan terkupas di panci,
siap untuk dimasak dan kantong kentangnya harus dikembalikan ke rak lagi
Pengandaian yang lain adalah bahwa persediaan kentang di ibu selalu cukup untuk
makan malam. Penambahan kentang ke dapur di luar tinjauan masalah ini. Ini adalah
contoh bagaimana kita menentukan batasan dari persoalan yang akan diprogram.
2. 5. 5. Defnisi Kejadian
Suatu kejadian dapat dipandang sebagai urut-urutan dari beberapa kejadian, berarti
dapat diuraikan dalan beberapa (sub) aksi yang terjadi secara sekuensial. Dengan sudut
pandang ini makan efek kumulatifnya sama dengan efek neto dari seluruh kejadian.
Dikatakan bahwa kejadian tersebut dianggap sebagai sequential process atau disingkat
proses. Penggolongan suatu kejadian sebagai proses atau aksi adalah relatif. Kejadian yang
sama dapat dianggap sebagai aksi ataupun sebagai proses. Kalau lebih dititik beratkan efek
netonya, yaitu keadaan “ sebelum dan sesudah” maka kejadian tersebut dianggap sebagai
berarti kejadian tersebut dianggap sebagai proses. Dengan anggapan kejadian tersebut
suatu proses, maka T0 adalah awal dari sebuah sub-aksi dan setiap akhir dari suatu sub-aksi
akan merupakan awal dari sub-aksi berikutnya, dengan suatu keistimewaan, akhir dari sub-
aksi yang terakhir adalah T1 yaitu akhir dari seluruh kejadian. Penggolongan suatu
kejadian menjadi proses atau aksi tidak ada hubungannya dengan sifat dari kejadian itu
sendiri melainkan tergantung dari cara peninjauan. Jika cara peninjauan dilakukan dari
sudut pandang yang berbeda, maka biasanya hasil antara yang ingin diperhatikan juga
berbeda.
Pada contoh tersebut, kejadian dijelaskan sebagai urutan dari empat sub-aksi yang
diungkapkan berdasarkan suatu pengamatan. Jika dari hasil pengamatan tidak dipandang
perlu untuk menjelaskan bahwa kantong kentang diambil dari rak sebelum panci diambil
dari lemari, maka cukup dituliskan :
1. Ambil kantong kentang dari rak dan panci dari almari
2. Kupas kentang
3. Kembalikan kantong kentang ke rak
Ada kejadian yang mempunyai suatu pola tingkah laku, atau disingkat pola.
Kejadian tersebut akan terjadi jika pola ini diikuti. Efek neto dari kejadian ditentukan
sepenuhnya oleh pola tersebut dan (mungkin) oleh keadaan awal (yaitu keadaan pada saat
T0). Kejadian yang lain mungkin mengikuti pola yang sama. Jika dua kejadian dengan pola
yang sama menghasilkan efek neto yang berbeda, maka efek neto tersebut pasti tergantung
pada keadaan awal, dan dapat dipastikan pula bahwa keadaan awal dari keduanya berbeda.
Bagaimana cara mengamati pola yang sama dari berbagai kejadian, tidak dapat dijelaskan
disini. Jika kita berjumpa dengan seorang teman, kita pasti segera dapat mengenalinya,
apapun ekspresi yang sedang ditampilkannya. Mungkin ia sedang gembira, tertawa,
menangis, atau bahkan ekspresi lain yang belum pernak ditampilkannya.
Kita dapat mengenali teman tersebut karena kita kenal akan pola nya. Demikian
juga dengan kejadian yang berbeda, dapat pula dikenal pola-pola yang sama, walaupun
disarikan dari keadaan awal dan efek neto yang mungkin berbeda. Mengenali pola ini sama
halnya nanti dengan mengenali polapola solusi algoritmik untuk kelas persoalan tertentu
yang akan dipelajari, menjadi bagian dari belajar memprogam. Kembali ke contoh ibu Tati
yang mengupas kentang. pada suatu hari ibu Tati mengupas kentang untuk malam dan
kejadian tersebut kita amati. Keesokan harinya, ia mengupas kentang lagi untuk makan
malam juga. Pada pengamatan yang kedua, kita amati hal-hal yang sama dengan hari
sebelumnya. Dapatlah kita katakan: “Jelas, pengamatan tentang kedua kejadian akan sama
karena ibu itu mengerjakan hal-hal sama?” Pernyataan terakhir tersebut dapat benar atau
salah, tergantung pada apa yang dimaksud dengan “mengerjakan hal yang sama”.
Untuk menyatakan “hal yang sama” harus hati-hati. Tinjaulah murid-murid sekolah
dasar yang berpakaian sama, karena mereka memakai seragam. Apa yang ingin dinyatakan
sebagai “sama” adalah bahwa baju dari setiap murid terbuat dari bahan yang sama dan
modelnya sama pula; tanpa memperhitungkan kemungkinan adanya perbedaan ukuran
tergantung dari perawakan setiap murid. Demikian pula bahwa seorang murid dapat
mempunyai lebih dari satu stel seragam yang sama. Kedua dari aksi ibu Tati mengupas
kentang pada dua hari yang berlainan tersebut juga dapat dipandang berbeda, seperti halnya
baju murid sekolah dasar tersebut.
Kejadian yang satu terjadi pada hari Sabtu dan yang lain pada hari Minggu. Karena
setiap kentang hanya dapat dikupas satu kali, maka kentang yang terlibat pada kedua
kejadian tersebut “berbeda” pula. Pada hari Minggu, mungkin kantong kentangnya berisi
lebih sedikit dari kemarinnya, dan sebagainya. Tetapi, kedua kejadian mengupas kentang
pada hari Sabtu dan Minggu dapat pula dikatakan sama karena kemiripannya, dan sepakati
untuk memberi nama yang sama untuk kedua aksi tersebut, misalnya “MENGUPAS
KENTANG UNTUK MAKAN MALAM”.
Struktur urut dalam sains biasanya digunakan untuk melakukan perhitungan pada
kasus yang melibatkan rumus-rumus sederhana dengan melibatkan operator penjumlahan,
pengurangan, dan perkalian. Beberapa contoh kasus yang dapat menerapkan logika dengan
struktur urut adalah perhitungan suatu besaran dengan rumus sederhana seperti jarak
tempuh, luas persegi panjang, luas lingkaran, perhitungan upah pegawai, dan sejenisnya.
2. 6. 2. Contoh Runtutan
1. if..then..end
2. if..then..else..end
3. if..then..elseif..else..end
4. switch..case..otherwise
Perintah-perintah ini digunakan sesuai dengan jenis struktur pemilihan yang akan
dibuat.
Beberapa intruksi atau perintah yang dapat digunakan untuk membuat program
dengan struktur pengulangan, antara lain perintah for,while atau do,while. Perintah ini
digunakan sesuai dengan jenis struktur pengulangan yang akan dibuat.
Pada flowchart ini dijelaskan bahwa perintah 1, perintah 2, dan perintah 3 akan
dikerjakan secara berulang dimulai dari nilai_awal dan berakhir pada nilai akhir
yang diberikan. Pengulangan akan berhenti apabila pengulangan sudah sampai
pada kondisi nilai_akhir yang diberikan.
.
2. 7. NOTASI ALGORITMA
Notasi algoritma adalah desain berisi urutan langkah-langkah pencapaian solusi yang tidak
tergolong bahasa pemrograman apapun.
Sehingga notasi algoritma merupakan dasar dibuatnya suatu program komputer dan dapat
diterjemahkan ke dalam berbagai bahasa pemrograman. Notasi algoritma dapat diterjemahkan ke
dalam berbagai bahasa pemrograman.
1. Judul (Header)
2. Kamus
3. Algoritma
Nama/identifier dalam sebuah teks algoritmik adalah sesuatu yang dipakai sebagai
identifikasi:type, tempat penyimpanan, konstanta, fungsi, prosedur, modul algoritma
harus unik.
Secara umum notasi algoritma terdiri dari tiga jenis, yaitu kalimat deskriptif, pseudocode,
dan flowchart. Berikut adalah ketiga penjelasan dari tiga notasi pemrograman tersebut:
2. 7. 1. Kalimat Deskriptif
Notasi algoritma kalimat deskriptif adalah notasi algoritma yang menggunakan
bahasa Inggris atau bahasa Indonesia dalam menjabarkan desain langkah pemrograman
yang akan dibuat.
Dalam notasi kalimat deskriptif akan dijumpai berbagai kata kerja dalam bahasa
manusia seperti mulai, tulis, baca, tampilkan, maka, ulangi, read, print, if, dan end.
Notasi kalimat deskriptif ditulis dengan kerangka utama berupa judul, deklarasi,
dan deskripsi.
Deklarasi adalah bagian yang mendefinisikan variabel, fungsi, dan juga konstanta
yang akan digunakan dalam pemrograman. Adapaun deskripsi berisi uraian langkah atau
inti dari algoritma untuk suatu program komputer.
Algoritma menghitung luas dan keliling lingkaran {menghitung luas dan keliling lingkaran
berdasarkan jari-jarinya. Algoritma menerima masukan berupa jari-jari lingkaran berupa
bilangan bulat positif, melakukan pemrosesan berupa penghitungan luas lalu penghitungan
keliling, dan yang terakhir mencetak hasil perhitungan sebagai keluaran}
Deklarasi: Jari_jari = real {tipe data bilangan termasuk bilangan desimal maupun pecahan}
1. Algoritma
Baca Nilai
Jika 100 > nilai > 90 maka tampilkan “A : memuaskan”
Jika 90 > nilai > 80 maka tampilkan “B: baik”
Jika 80 > nilai > 70 maka tampilkan “C: cukup”
Jika 70 > nilai > 60 maka tampilkan “D: kurang”
Jika 60 > nilai maka tampilkan “E: sangat kurang”
Selesai
2. Flowchart Flowchart
3. Pseudocode Peseudocode
Pseudocode Peseudocode adalah jenis notasi algoritma yang sangat ringkas dan
cocok digunakan untuk membuat alogirtma pemrograman yang panjang
Pseudocode menggunakan beberapa sintaks yang harus dipahami. Misalnya read
yang berarti baca atau memasukkan input, if yang berati jika, print dan write yang
berarti menampilkan pada layar, juga end yang berarti selesai.
Algoritma adalah suatu urutan atau alur yang dipakai dalam perhitungan atau pemecahan
masalah secara sistematis. Dan dalam aktivitas pemrograman algoritma seringkali dianggap
sebagai logika dalam penentuan program yang akan dibuat. Algoritma juga memiliki beberapa
ciri penting, tujuanya agar dapat digunakan untuk menyelesaikan seuatu permasalahan,
diantaranya seperti:
Pengertian program adalah himpunan atau kumpulan instruksi tertulis yang dibuat oleh
programmer atau suatu bagian executable dari suatu software.
Pernyataan adalah betuk instruksi yang diberikan kepada pemroses yang berisikan aksi.
Secara umum pada pemrograman, pernyataan dapat dibedaan menjadi: assignment
(mengasosiasikan informasi tertentu dengan nama), branching (ketika algoritma membuat
pilihan), looping (pengulangan).
Algoritma sekuensial: langkah-langkahnya tersusun urut dari awal sampai akhir, langkah
demi langkah yang dijalankan dari atas sampai bawah.
3. 2. SARAN
Pada era perkembangan zaman ini perkembangan teknologi sangat cepat, oleh karena itu
kita juga harus menyeleksi mana teknologi yang baik dan tidak baik untuk kita.
Kita juga harus paham bagaimana cara kerja dan cara menggunakannya. Agar kita dapat
memanfaatkannya dengan bijak karena selain dampak positif yang diberikan teknologi juga
memberikan dampak negatif
Oleh karena itu, kita sebagai mahasiswa tidak boleh anti terhadap teknologi. Sebagai dasar
perkembangan teknologi komputer juga harus kita pelajari karna dapat mempermudah pekerjaan
kita, maka kita harus mempelajari teknologi dan memanfaatkannya semaksimal mungkin.
DAFTAR ISI
https://www.kompas.com/skola/read/2021/06/21/153019769/apa-itu-notasi-algoritma
https://www.detik.com/edu/detikpedia/d-6260104/algoritma-pengertian-ciri-ciri-dan-
jenis-jenisnya
https://m.kumparan.com/amp/kabar-harian/algoritma-pemrograman-komputer-
pengertian-kriteria-hingga-jenis-jenisnya
https://mamikos.com/info/struktur-dasar-algoritma-pljr/
https://id.m.wikipedia.org/wiki/Bahasa_pemrograman
https://unida.ac.id/teknologi/artikel/pengertian-program-dan-tujuannya.html