Anda di halaman 1dari 11

Modul :1

Materi : Pengenalan Algoritma Pemrograman


Pengajar : I Gusti Nyoman Anton Surya Diputra

1. Algoritma
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk
memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan
mempunyai efek tertentu. Algoritma merupakan logika, metode dan tahapan (urutan) sistematis yang
digunakan untuk memecahkan suatu permasalahan. Dalam ilmu matematika dan komputer,
pengertian algoritma merupakan prosedur dari beberapa langkah demi langkah untuk penghitungan.
Algoritma dipakai untuk penghitungan, penalaran otomatis, dan pemrosesan data. Pengertian
algoritma ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas dari
beberapa instruksi yang telah dijelaskan dengan baik guna menghitung sebuah fungsi. Susunan
algoritma dimulai dari kondisi awal dan input awal, instruksi tersebut mendeskripsikan komputasi
yang apabila itu dieksekusi serta diproses dengan melewati urutan-urutan kondisi terbatas yang
terdefinisi dengan baik, sehingga dapat menghasilkan output atau keluaran dan berhenti di kondisi
akhir yang telah ditentukan.

Program = struktur data + algoritma

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program mejadi kurang
baik, demikian juga sebaliknya. Sturktur data disini berupa list, tree, graph, dsb.

2. Struktur Algoritma
Inti dari algoritma adalah menemukan solusi dari suatu permasalahan. Untuk menyelesaikan
masalah, algoritma membutuhkan spesifikasi input (masukan) sesuai yang diperlukan,
memprosesnya melalui serangkaian langkah-langkah dan menghasilkan output sebagai solusi dari
permasalahan.

Secara umum struktur Algoritma terdiri dari 3 bagian, yaitu::


1. Nama/judul Algoritma
Nama Algoritma memberikan gambaran secara singkat apa tujuan dari Algoritma, misalkan
nama resep masakan, petunjuk melakukan sesuatu, jadwal kegiatan, langkah-langkah
penyelesaian sebuah masalah, dan sebagainya. Pemberian nama Algoritma disarankan
singkat dan jelas, namun sudah mewakili maksud dari algoritma. Dalam Algoritma komputer
biasanya nama algoritma dituliskan tanpa menggunakan spasi, misalkan
Algoritma VolumeBalok atau Algoritma Volume_Balok.
2. Bagian Deklarasi
Bagian deklarasi merupakan tahap persiapan dari algoritma. Pada bagian ini dijelaskan
kebutuhan agar algoritma dapat berjalan. Istilah lainnya di sinilah alat dan bahan
didefinisikan. Dalam algoritma pemrograman, bagian deklarasi menjelaskan input (masukan)
apa saja yang akan diproses oleh algoritma termasuk jenis data input (tipe data), juga output
apa yang akan dihasilkan serta semua hal yang akan dipakai dalam algoritma. Yang
didefiniskan dalam algoritma ini termasuk variabel, tipe data, konstanta, nama prosedur, tipe,
dan fungsi, yang akan kita pelajari pada Bab 2.
3. Bagian Deskripsi
Pada bagian ini dijelaskan serangkaian langkah-langkah (instruksi) atau pernyataan
(statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output
sesuai yang diharapkan. Langkah-langkah dalam algoritma dituliskan dari atas ke bawah.
Urutan penulisan menentukan urutan perintah.

Berikut adalah gambaran struktur sebuah algoritma


3. Penyajian Algoritma
Menurut Donald Ervin Knuth, tang dikenal dengan Bapak "Analisis Algoritma", algoritma yang
baik dan benar harus memiliki kriteria-kriteria berikut ini:
• Input
• Output
• Finite
• Definite
• Efisien

a. Input
Algoritma memiliki nol input atau lebih dari pengguna. Setiap algoritma pasti memiliki input.
Yang dimaksud dengan nol input dari pengguna adalah bahwa algoritma tidak mendapatkan
masukan dari pengguna, tapi semua data inputan yang digunakan algoritma tidak dari pengguna
secara langsung, namun semua data yang akan diproses sudah dideklarasikan oleh algoritma
terlebih dahulu. Sebagai contoh sebuah algoritma menghitung 100 bilangan genap yang
pertama tidak memerluakan input dari pengguna karena sudah diketahui bahwa banyaknya
bilangan genap adalah 100. Berbeda jika algoritm tersebut digunakan untuk menghitung n
bilangan genap pertama, dengan nilai n dari pengguna. Berarti ada masukan dari pengguna
yaitu n.
b. Output
Algoritma minimal harus memiliki 1 output. Tujuan dari algoritma adalah memberikan
penyelesaian dari suatu permasalahan dengan langkah-langkah tertentu. Penyelesaian itulah
output dari algoritma yang dimaksud. Output dapat berupa apa saja, teks, file, video, suara, dan
lain-lain atau suatu nilai yang disimpan untuk digunakan algoritma lain atau disimpan di basis
data.
c. Finite(Terbatas)
Algoritma yang baik haruslah mempunyai langkah-langkah terbatas, yang berakhir pada
suatu titik di mana algoritma itu akan berhenti dan menghasilkan suatu output. Algoritma tidak
boleh berjalan terus –menerus tanpa titik henti, hingga menyebabkan hang atau not responding
jika diterapkan pada komputer. Ketika sebuah algoritma berjalan terus menerus (infinite), maka
ini mengindikasikan ada kesalahan yang dibuat oleh programmer dalam mengembangkan
algoritma.
d. Definite
Makna dari langkah logis pada definisi algoritma terdahulu tercermin dari langkah-langkah
yang pasti, tidak ambigu atau bermakna ganda. Suatu program harus mempunyai arah dan
tujuan yang jelas ,kapan mulai dan kapan berakhir. Dalam menyusun langkah-langkah dalam
algoritma perlu dihindari kata-kata seperti secukupnya, beberapa, sesuatu, sebentar, lama, atau
kata lain yang tidak terukur dengan pasti. Pemberian nomor pada algoritma dapat membantu
pengguna mengikuti setiap langkah dengan pasti hingga mencapai akhir dari algoritma, yaitu
solusi dari permasalahan.
e. Efisien
Program menghasilkan output yang benar, itu wajib. Tapi bagaimna jika output yang benar
itu dilakukan dengan waktu yang lama padahal ada algoritma lain yang lebih cepat? Hal ini
menunjukkan bahwa setiap algoritma, khususnya jika sudah diterapkan pada pemrograman,
mempunyai waktu eksekusi (running time). Algoritma disebut efisien jika untuk mendapatkan
suatu solusi tidak memerlukan memori yang banyak, proses yang berbelit-belit dan tidak perlu.
Jika algoritma terlalu banyak melakukan hal-hal yang tidak perlu akan menyebabkan waktu
eksekusi menjadi lebih lama.

Mengenai metode penyampaian Algoritma dibedakan menjadi dua, yaitu berbentuk tulisan
dan bebentuk gambar. Algoritma yang disajikan dengan bentuk tulisan dapat menggunakan
aturan bahasa natural (alami) dan pseudocode. Bahasa natural menggunakan struktur bahasa
tertentu (misalnya struktur bahasa Indonesia atau bahasa Inggris). Pseudocode adalah kode-
kode tertentu yang mendekati kode dalam bahasa pemrograman (misal bahasa Pascal, C, C++,
Java, Python, dan sebagainya), sehingga bermanfaat menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram (programmer). Algoritma yang disajikan dengan gambar
dapat berbentuk diagram alur (flowchart) atau struktogram.

a. Penyajian Algoritma Menggunakan Bahasa Natural (Alami)


Penyajian algoritma menggunakan bahasa natural (notasi alami) merupakan penyajian
algoritma dengan menggunakan bahasa deskriptif yang jelas dan mudah dipahami manusia.
Dasar dari penyajian bahasa deskriptif tersebut adalah bahasa Inggris, namun dapat
dimodifikasi dengan bahasa sehari-hari termasuk bahasa Indonesia (karena tidak ada aturan
baku). Hal ini dapat dibedakan karena teks algoritma tidak sama dengan teks program.
Program merupakan implementasi algoritma dalam notasi bahasa pemrograman tertentu.
Representasi kalimat deskriptif yang digunakan salah satunya adalah kata kerja, seperti tulis,
baca, hitung, tampilkan, ulangi, bandingkan, dan lain-lain.
Pada dasarnya teks algoritma dengan bahasa deskriptif disusun dari tiga bagian utama,
yaitu bagian judul (header), bagian deklarasi (kamus), dan bagian deskripsi. Bagian tersebut
harus saling berkolerasi agar menjadi suatu teks algoritma yang runtut, jelas, dan logis. Setiap
bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar
tersebut adalah kalimat yang diapit oleh pasangan tanda kurung kurawal (‘{’ dan ‘}’).
• Judul Algoritma
Judul Algoritma merupakan bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut. Bagian ini juga digunakan untuk menentukan
apakah teks algoritma yang dibuat tersebut adalah program, prosedur, atau fungsi. Judul
algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh
algoritma tersebut.

• Bagian Deklarasi
Di dalam algoritma, deklarasi atau kamus adalah bagian untuk mendefinisikan
(menuliskan) semua nama yang akan dipakai di dalam algoritma. Nama tersebut dapat
berupa nama variabel, nama konstanta, nama tipe, nama prosedur, dan nama fungsi.
Penulisan pendefinisian deklarasi ini penting dilakukan karena semua proses yang
dilakukan oleh algoritma akan merujuk pada nilai yang disebutkan pada bagian ini.
Pendefinisian dalam bagian deklarasi sebaiknya dikelompokkan menurut jenis dan
nilainya masing-masing.
• Bagian Deskripsi
Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian langkah-
langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim
dalam penulisan algoritma. Setiap langkah algoritma dibaca secara urut dari langkah
paling atas hingga langkah paling bawah. Suatu algoritma dapat terdiri dari tiga struktur
dasar, yaitu runtunan, pemilihan, dan pengulangan.

b. Penyajian Algoritma menggunakan Pseudocode


Pseudocode merupakan cara penyajian algoritma yang menyerupai bahasa pemrograman
tingkat tinggi (bahasa pemrograman yang mudah dimengerti oleh manusia). Pseudocode
menggunakan bahasa yang mudah dipahami secara umum dan lebih sederhana
dibandingkan dengan algoritma. Pseudocode berisi urutan dari algoritma pemrograman
komputer yang menggunakan struktur sederhana dari bahasa pemrograman, tetapi bahasa
tersebut hanya ditujukan agar dapat dibaca manusia (tidak diprogramkan langsung pada
komputer). Supaya notasi pseudocode dapat dipahami oleh komputer maka harus
diterjemahkan terlebih dahulu menjadi sintaks bahasa pemrograman komputer tertentu.
Pseudocode tidak memiliki sintaks standar yang resmi, namun disarankan untuk
menggunakan kata kunci yang umum digunakan dalam bahasa pemrograman seperti: if, then,
else, else if, while, do...while, repeat, go, for, dan sebagainya.

Struktur penulisan pseudocode secara umum sama dengan struktur penulisan algoritma
yang menggunakan kalimat deskriptif yaitu dimulai dari judul/header, deklarasi/kamus dan
diakhiri dengan deskripsi.

c. Penyajian Algoritma menggunakan Diagram Alur (Flowchart)


Flowchart adalah cara penulisan algoritma dengan menggunakan notasi grafis/ gambar/bagan.
Hal tersebut merepresentasikan urutan langkah dari suatu program yang memiliki hubungan
antara proses satu dengan proses yang lain. Gambar/ bagan flowchart ini dinyatakan dengan
simbol yang menggambarkan suatu proses tertentu (simbolik) dan dihubungkan dengan suatu
garis penghubung. Flowchart dapat membantu analis dan programmer untuk memecahkan
masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam proses menganalisis
alternatif solusi yang dapat digunakan. Selain itu, penggunaan flowchart bagi programmer
bertujuan untuk menggambarkan runtutan instruksi yang diberikan kepada komputer,
sedangkan bagi analis sistem flowchart digunakan untuk menggambarkan urutan
tugas/pekerjaan dalam suatu prosedur atau operasi.
Pada dasarnya terdapat berbagai macam diagram alur (flowchart), di antaranya flowchart
sistem (system flowchart), flowchart paperwork/flowchart dokumen (document flowchart),
flowchart skematik (schematic flowchart), flowchart program (program flowchart), flowchart
proses. Dalam kasus pembuatan program maka flowchart yang digunakan adalah flowchart
program. Flowchart program menggambarkan urutan instruksi yang digambarkan dengan
simbol tertentu untuk memecahkan masalah dalam suatu program.

Flowchart struktur urut dilakukan untuk menyajikan suatu urutan instruksi yang harus
dilakukan dalam memecahkan masalah tertentu secara berurutan. Proses pembacaan
instruksi pasti dilakukan secara berurutan dan sesuai dengan urutan dan penulisannya
(proses pembacaan dari atas ke bawah dan dari kiri ke kanan), dalam artian akan melakukan
langkah 1 sebelum melakukan langkah 2. Kesalahan penulisan dalam struktur urutan dapat
mengakibatkan kurang tepatnya output yang dihasilkan. Sebagai contoh perhatikan operasi
aritmatika berikut ini, (5+3)*7=45, tetapi bila urutan aksinya diubah maka hasil outputnya akan
berbeda menjadi 5+(3*7) =26.
4. Bahasa Pemrograman
Bahasa atau dalam bahasa inggris language adalah suatu sistem untuk berkomunikasi.
Bahasa tertulis menggunakan simbol (yaitu huruf) untuk membentuk kata. Dalam ilmu
komputer,bahasa manusia disebut bahasa alamiah (natural languages), dimana komputer tidak bisa
memahaminya, sehingga diperlukan suatu bahasa komputer. Komputer mengerjakan transformasi
data berdasarkan kumpulan perintah - program - yang telah dibuat oleh pemrogram. Kumpulan
perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna.
Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program komputer
Berbeda dengan bahasa alamiah, mis. Bahasa Indonesia, Inggris dsb. yang merupakan bahasa
alamiah(natural language), sintaks dan semantik bahasa pemrograman (komputer) ditentukan
secara kaku, sehingga bahasa pemrograman juga disebut sebagai bahasa formal (formal language).
Jadi, dalam bahasa pemrograman yang digunakan sebagai alat komunikasi untuk memberikan
perintah kepada komputer tidak berlaku kebebasan berekspresi seperti laiknya dalam bahasa
alamiah.
Pemrograman dalam pengertian luas meliputi seluruh kegiatan yang tercakup dalam
pembuatan program, termasuk (requirement's keseluruhan perencanaan analisis kebutuhan
analysis) dan tahapan dalam (planning) perancangan (design) dan pewujudannya (implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan pengkodean (coding atau program
writing = penulisan program) dan pengujiannya (testing) berdasarkan rancangan tertentu.
Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan program-program terapan
komersial yang membedakan antara system analyst yang bertanggung jawab dalam menganalisa
kebutuhan, perencanaan dan perancangan program dengan pemrogram (programmer) yang
bertugas membuat kode program dan menguji kebenaran program.
Generasi bahasa pemrograman:
• Generasi I: machine language
• Generasi II: assembly language : Asssembler
• Generasi III: high-level programming language: C, PASCAL, dan sebagainya.
• Generasi IV: 4 GL (fourth- generation language): SQL

Perbedaan Algoritma dan Program


Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam
program adalah algoritma. Program ditulis dengan menggunakanbahasa pemrograman. Jadi bisa
disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

Program = Algoritma + Bahasa (Struktur Data)


Refleksi

Perhatikan Algoritma berikut.


a. Tunjukkan manakah Nama Algoritma, bagian Deklarasi dan Deskripsi? Apakah semua bagian
sudah lengkap?
b. Perbaiki algoritma tersebut agar memiliki bagian algoritma yang lengkap!
Referensi
Maryono, D., & Pambudhi, D. (2014). Pemrograman Dasar untuk SMK/MAK. Jakarta:
Kementerian Pendidikan dan Kebudayaan.
Firliana, R., & Kasih, P. (2018). Algoritma & Pemrograman C++. Nganjuk: Adjie Media
Nusantara.

Anda mungkin juga menyukai