Anda di halaman 1dari 24

MAKALAH

ALGORITMA PEMROGRAMAN
ALGORITMA, PENCABANGAN, PENGULANGAN

Disusun Oleh :

Nama : Laras Wiranti

NIM : H1D015026

Shift : B

Asisten : 1. M. Fakhrurrozi Bimo A

2. Aji Sulistiyo Nugroho

KEMENTERIAN RISET, TEKNOLOGI, DAN PENDIDIKAN TINGGI

UNIVERSITAS JENDERAL SOEDIRMAN

FAKULTAS TEKNIK

JURUSAN TEKNIK INFORMATIKA

PURWOKERTO

2015
KATA PENGANTAR

Dengan mengucapkan syukur kepada Allah SWT yang telah memberikan rahmat dan

hidayahNya sehingga penulis dapat menyelesaikan makalah ini dengan judul “Makalah Algoritma

dan Pemrograman dengan subtema pengertian algoritma, pencabangan, dan pengulangan”

Makalah ini ditulis sebagai tambahan nilai dalam responsi pertama serta persyaratan mengikuti

responsi yang kedua.

Kami menyadari bahwa makalah ini masih jauh dari kekurangan karena penulis juga

manusia biasa yang pasti banyak kesalahannya. Maka dari itu, penulis mengharapkan saran dan

kritik dari segenap pembaca yang budiman.

Terima kasih kami ucapkan kepada segenap pembaca yang telah menyempatkan waktunya

untuk membaca makalah ini. Penulis berharap semoga makalah ini bermanfaat. Amiin.

Purbalingga, 8 Desember 2015


BAB 1

PENDAHULUAN

1. Latar Belakang

Pengertian Algoritma, Pseudocode dan Program

Algoritma adalah sejumlah terhingga langkah-langkah detil untuk menyelesaikan

suatu masalah. Untuk membuat sebuah algoritma dapat digunakan bahasa umum yang biasa

digunakan sehari-hari. Sebagai contoh, kita dapat membuat algoritma untuk menentukan

apakah sebuah bilangan merupakan bilangan genap atau ganjil sebagai berikut:

(1) Tentukan sebuah bilangan.


(2) Bagilah bilangan tersebut dengan bilangan 2.
(3) Jika sisa pembagian sama dengan 0 maka bilangan tersebut genap, jika sisa pembagian
tidak sama dengan 0 maka bilangan tersebut ganjil.
Pada kenyataannya, penggunaan bahasa sehari-hari untuk menuliskan algoritma

adalah kurang praktis dan efisien, oleh karena itu diciptakanlah pseudocode yaitu notasi-

notasi ringkas yang digunakan untuk menyederhanakan kalimat bahasa sehari-hari.

Algoritma untuk menentukan apakah sebuah bilangan merupakan bilangan genap atau ganjil

pada contoh terdahulu dapat dinyatakan secara lebih ringkas dan praktis dengan

menggunakan pseudocode sebagai berikut:

(1) input(x)
(2) 𝑟 ← 𝑥 𝐦𝐨𝐝 2
(3) if (𝑟 = 0) then write(“Genap”) else write(“Ganjil”)

Apabila kita bandingkan algoritma yang ditulis menggunakan bahasa sehari-hari

dengan yang dituliskan dengan menggunakan pseudocode maka kita dapat simpulkan bahwa

algoritma yang dituliskan dengan menggunakan pseudocode mempunyai bentuk yang lebih

ringkas dan lebih cepat dan mudah dipahami. Selain lebih ringkas dan mudah dipahami,

algoritma yang ditulis dengan menggunakan pseudocode juga akan lebih mudah untuk

diubah ke dalam suatu bahasa pemrograman karena notasi dalam pseudocode sangat mirip

dengan pernyataan-pernyataan yang ada dalam bahasa pemrograman. Tanda mempunyai


arti bahwa sisa pembagian x dan 2 disimpan dalam variabel r. Operasi mod menghasilkan

sisa pembagian x dan 2.

Kita juga dapat merepresentasikan sebuah algoritma dengan menggunakan diagram

alir (flowchart), karena sebuah algoritma merupakan sekumpulan proses-proses elementer

yang dilaksanakan dengan urutan tertentu. Diagram alir dari contoh algoritma yang telah

disajikan pada bagian terdahulu adalah sebagai berikut:

start

input(x)

Yes
write(“Gena

No ppppp”)

write(“Ganjil

”)

stop

Sebuah diagram alir tersusun dari beberapa bentuk geometris dua dimensi yang di dalamnya

berisi tulisan yang menerangkan tentang suatu proses dasar. Masing-masing bentuk tersebut

merupakan simbol standard yang digunakan untuk menyusun diagram alir. Beberapa simbol

standard dan penggunaannya dalam penyusunan diagram alir adalah sebagaimana yang

disajikan berikut ini:


(1) Terminal: tanda mulai/start atau selesai/stop. Setiap diagram alir harus diawali dan

diakhiri dengan simbol ini.

(2) Input atau output: tanda masukan/input atau keluaran/output. Simbol ini menunjukkan

adanya proses masukan atau keluaran.

(3) Proses komputasi: tanda komputasi atau proses. Suatu proses komputasi yang terjadi

harus dituliskan di dalam simbol ini.

(4) Keputusan atau decision: tanda pengambilan keputusan atau pencabangan. Di dalam

simbol ini dituliskan kondisi atau kriteria yang dijadikan dasar dalam pengambilan

keputusan.

(5) Prosedur atau fungsi: tanda prosedur atau fungsi. Di dalam simbol ini dituliskan nama

prosedur atau fungsi.

(6) Koneksi: tanda penghubung. Di dalam tanda ini dituliskan angka atau huruf, dua titik

yang terkoneksi akan berisi angka atau huruf yang sama.

1
Agar suatu tugas yang sudah dideskripsikan dalam sebuah algoritma dapat

dilaksanakan oleh komputer maka algoritma tersebut perlu diimplementasikan atau

dituliskan dalam suatu bahasa pemrograman. Ada banyak bahasa pemrograman yang dapat

digunakan seperti C++, Java, Pascal, Ada, dan sebagainya. Algoritma yang dituliskan

dengan menggunakan pseudocode akan lebih mudah untuk dikonversi ke dalam suatu

bahasa pemrograman karena format penulisan algoritma dengan pseudocode sangat mirip

dengan format penulisan bahasa pemrograman. Sebagai contoh, algoritma untuk

menentukan bilangan ganjil atau genap yang telah disajikan pada bagian terdahulu apabila

diimplementasikan dalam bahasa pemrograman C++ adalah:

#include <iostream.h>
void main()

int bilangan;

cout<<”Masukkan sebuah bilangan bulat: “;

cin>>bilangan;

if (bilangan mod 2 = 0) cout<<”Genap”;

else cout<<”Ganjil”;

Agar bisa dilaksanakan oleh komputer, program tersebut terlebih dahulu harus

diterjemahkan ke dalam bahasa mesin oleh compiler, karena bahasa yang dimengerti oleh

komputer hanyalah bahasa mesin.

Menyelesaikan Masalah Menggunakan Komputer

Ada tiga tahapan langkah yang harus dilakukan pada saat kita ingin menyelesaikan

masalah menggunakan komputer, ketiga langkah tersebut adalah sebagai berikut:

(1) Melakukan analisis terhadap masalah nyata yang akan diselesaikan

(2) Membuat desain solusi untuk masalah yang ada, desain ini berupa model dan algoritma

(3) Mengimplementasikan algoritma ke dalam program dan menguji program.


Analisis Masalah

Aktifitas yang dilakukan pada tahapan analisis masalah adalah memahami masalah dan

apabila masalah yang akan diselesaikan cukup kompleks maka masalah perlu dipecah

menjadi beberapa masalah yang lebih kecil atau sub masalah. Setiap sub masalah akan

diselesaikan dan solusi dari setiap sub masalah akan saling dikaitkan sehingga akan

diperoleh solusi untuk masalah secara keseluruhan. Tahapan ini merupakan tahapan yang

sangat penting karena akan sangat berpengaruh terhadap tahapan selanjutnya oleh karena itu

harus dilakukan dengan cermat. Apabila terjadi suatu kesalahan pada tahapan analisis maka

akan menimbulkan masalah pada program yang dibuat dan program tidak akan bekerja

sesuai dengan yang diinginkan.

Ada beberapa pendekatan yang dapat digunakan dalam analisis masalah, yang paling sering

digunakan adalah pendekatan tradisional dan pendekatan berorientasi objek (object oriented

analysis/OOA) yang merupakan pendekatan baru sebagai pengganti pendekatan tradisional

yang dinilai memiliki beberapa kelemahan.

Desain Model dan Algoritma

Model merupakan representasi dari masalah nyata. Model merupakan

penyederhanaan masalah nyata, model hanya menyajikan aspek-aspek tertentu yang

berkaitan dengan masalah yang akan diselesaikan. Model digunakan untuk mengkaji dan

memahami perilaku dari sistem nyata. Berdasarkan hasil pengkajian sistem menggunakan

model yang dibuat dapat ditentukan solusi untuk masalah yang ada. Solusi untuk

permasalahan berupa algoritma.

Implementasi Algoritma kedalam Program

Algoritma yang telah dibuat pada tahapan sebelumnya harus dituliskan kedalam

bentuk program komputer agar dapat dilaksanakan oleh komputer. Setelah selesai ditulis

program perlu diuji untuk menemukan kesaalahan-kesalahan yang ada pada program dan

untuk mengetahui apakah program yang dibuat benar-benar dapat bekerja sesuai dengan
yang diinginkan. Jika program yang dibuat belum sesuai dengan yang diinginkan maka

dilakukan penyempurnaan terhadap program. Apabila penyebab ketidaksempurnaan

program disebabkan oleh hal-hal yang sifatnya mendasar misalnya kekeliruan dalam analsis

maka penyelidikan harus dimulai dari tahapan awal yaitu analisis.

Struktur Dasar Algoritma

Ada tiga jenis struktur dasar yang dapat digunakan untuk menyusun sebuah algoritma, yaitu:
(1) Struktur sekuensial
(2) Struktur Pencabangan
(3) Struktur Pengulangan
Semua algoritma mulai dari yang sederhana sampai dengan yang kompleks dapat

disusun dari ketiga struktur dasar tersebut.

Struktur Sekuensial
Pada struktur sekuensial, langkah-langkah yang ada dilaksanakan secara berurutan mulai

dari langkah pertama dilanjutkan langkah kedua, ketiga dan seterusnya sampai dengan

langkah terakhir.

Pada Contoh 2.1 berikut ini disajikan sebuah algoritma yang hanya tersusun dari struktur

sekuensial: Contoh 2.1 Algoritma yang hanya Terdiri dari Struktur Sekuensial.

(1) input(x)

(2) 𝑦 ← 𝑥 ∗ 𝑥

(3) write(y)

start

input(x)

write(y)

stop
2.2 Struktur Pencabangan
Struktur pencabangan menyatakan pemilihan sebuah atau sekelompok langkah diantara dua

langkah atau dua kelompok langkah yang mungkin dilaksanakan berdasarkan pemeriksaan suatu

kondisi. Pelaksanaan sebuah atau sekelompok langkah akan meniadakan kemungkinan pelaksanaan

sebuah langkah atau sekelompok langkah yang lain.

Pada Contoh 2.2 berikut ini disajikan sebuah algoritma yang memiliki struktur

pencabangan:

Contoh 2.2 Algoritma yang Memiliki Struktur Pencabangan.

(1) input(a, b)

(2) if (𝑎 > 𝑏) then write(a)

(3) else write(b)

Flowchart untuk algoritma pada Contoh 2.2 adalah sebagai berikut

start

input(a,

b)
Yes

write(a)
No
No

write(b)

stop

Struktur Pengulangan

Struktur pengulangan menyatakan pelaksanaan sebuah langkah atau sekelompok langkah

yang dilaksanakan lebih dari satu kali. Misalkan kita ingin melaksanakan sebuah langkah atau
sekelompok langkah lebih dari satu kali sebenarnya kita bisa menuliskan langkah atau sekelompok

langkah tersebut sebanyak yang diinginkan tetapi cara ini tidak efisien. Tugas ini dapat kita

lakukan dengan cara yang lebih efisien yaitu dengan menggunakan pengulangan.

Pada Contoh 2.3 berikut ini disajikan sebuah algoritma yang memiliki struktur pengulangan:

Contoh 2.3 Algoritma yang Memiliki Struktur Pengulangan.

(1) input(n)

(2) while (𝑛 > 0)

𝑠 ←𝑠+𝑛

𝑛 ←𝑛−1

(3) write(s)

Flowchart untuk algoritma pada Contoh 2.3 adalah sebagai berikut:

start

input(n)

Yes

No
write(s)

stop

2.4 Struktur Kombinasi

Struktur kombinasi tersusun dari tiga struktur dasar yang ada. Dalam prakteknya,

kebanyakan algoritma mempunyai struktur kombinasi, karena masalah nyata yang akan
diselesaikan menggunakan bantuan komputer biasanya bukan merupakan masalah yang sederhana

sehingga algoritma yang merupakan soulsi bagi permasalahan tersebut juga tidak sederhana

sehingga algoritmanya akan merupakan kombinasi dari struktur dasar yang ada.

Pada Contoh 2.4 berikut ini disajikan sebuah algoritma yang memiliki kombinasi struktur

sekuensial, pencabangan dan pengulangan:

Contoh 2.4 Algoritma yang Memiliki Kombinasi Struktur Sekuensial, Pencabangan dan

Pengulangan.

(1) input(n) //𝑛 ≥ 0

(2) 𝑓 ← 1

(3) if (𝑛 = 0) then write(f)

else

while (𝑛 > 0)

𝑓 ←𝑓∗𝑛

𝑛 ←𝑛−1

write(f)

Flowchart untuk algoritma pada Contoh 2.4 adalah sebagai berikut:

start

input(n)

Yes

No

write(f) Yes

stop
2. Rumusan masalah

1. Apa pengertian dari algoritma?

2. Jelaskan mengenai pencabangan (sebutkan apa saja, contoh program dan

penjelasannya)!

3. Jelaskan mengenai pengulangan (sebutkan apa saja, contoh program dan penjelasannya)!

3. Tujuan

Setelah membaca makalah ini diharapkan pembaca dapat mengetahui :

a. Arti dari algoritma.

b. Pemahaman mengenai makna pencabangan, jenis pencabangan, dan dapat

menerapkannya dalam bentuk program.

c. Pemahaman mengenai makna pengulangan, jenis pengulangan, dan dapat

menerapkannya dalam bentuk program.


BAB II

PEMBAHASAN

Pengertian Algoritma

Algoritma adalah urutan langkah – langkah logika yang menyatakan suatu tugas dalam

menyelesaikan suatu masalah.

Percabangan

1. Pengertian

Percabangan yaitu pemilihan sebuah atau sekelompok langkah diantara dua langkah atau

dua kelompok langkah yang mungkin dilaksanakan berdasarkan pemeriksaan suatu kondisi.

Pelaksanaan sebuah atau sekelompok langkah akan meniadakan kemungkinan pelaksanaan

sebuah langkah atau sekelompok langkah yang lain.

2. Jenis

a. If-else

Jika kondisi benar, maka pernyataan-1 dijalankan

Jika kondisi salah, maka pernyataan-2 yang dijalankan

Bentuk dari pernyataan if-else

If (kondisi){

Statement1;

Statement2;

.....

Contoh :

1. Menentukan bilangan ganjil atau genap

Source code
Screen shoot

Penjelasan :

Program percabangan di atas menggunakan variabel local dengan pernyataan if-else

yang diawali dengan header #include <iostream>. Menggunakan using namespace std;

yang berguna dalam penulisan std secara langsung. Mendeklarasikan fungsi main

dengan tipe data integer. Di dalam fungsi main, dideklarasikan variabel bil dengan tipe

data integer. Lalu, menampilkan string masukkan sebuah bilangan bulat dengan cout dan

cin untuk menginputkan bilangan. Selanjutnya, kita mendeklarasikan pernyataan if-else

dengan if bil dibagi 2 sisanya 0, maka termasuk bilangan genap. Tapi jika pernyataan 1

tidak terpenuhi, maka termasuk bilangan ganjil.

b. Switch

Merupakan pernyataan yang dirancang untuk menangani keputusan yang melibatkan

sejumlah alternatif, misalnya untuk pernyataan if bertingkat.


Bentuk umum pernyataan switch

Switch(ekspresi)

Case konstanta-1;

Pernyataan -1;

....

Break;

Case konstanta-2;

....

Case konstanta-n;

Pernyataan-n;

....

Break;

Default;

....

....

Break;

Contoh

1. Memilih warna yang disukai

Source code
Screen shoot

Penjelasan

Program di atas merupakan percabangan dengan menggunakan switch. Diawali

dengan header #include<iostream>. Using namespace std; sebagai penulisan std:: secara

langsung. Dilanjutkan dengan fungsi main bertipe integer.Di dalam fungsi main terdapat

variabel nama bertipe char dengan panjang karakter 20 untuk menginputkan nama.

Selanjutnya, deklarasikan variabel pilih bertipe integer. Dengan menampilkan warna pilihan,

inputkan angka dengan rentang 1-5. Lalu deklarasikan pencabangan switch dengan case 1:

Merah , case 2: Biru, case 3: Kuning, case 4: Hijau, case 5: Putih. Kesemua case diakhiri
dengan break sebagai arahan akhir eksekusi dari switch. Jika pengujian case sampai akhir

tidak ada kecocokan, maka kata kunci default akan dieksekusi. Dan tanda kurung kurawal

tutup (}) menandakan akhir dari penyeleksian kondisi case.

c. Nested If ( If dalam If)

Bentuk pernyataan

If(kondisi-1)

If(kondisi-2)

If(kondisi-n)

Pernyataan ;

Else

Pernyataan;

Else

Pernyataan;

Pernyataan;

Contoh

1. Mengubah nilai huruf ke angka

Source code
Screen shoot
Penjelasan

Program di atas adalah pencabangan if dalam if atau nested if. Menggunakan

variabel local yang terdiri dari

Pengulangan

1. Pengertian

pelaksanaan sebuah langkah atau sekelompok langkah yang dilaksanakan lebih dari satu

kali.

2. Jenis

a. For

Bentuk pernyataan

For(initialization; condition; increment) statement;

Contoh

1. Angka ganjil

Source code
Screen shoot

Penjelasan

Program di atas guna menampilkan bilangan ganjil sebanyak yang diinputkan.

Menggunakan variabel local. Program berjalan dengan mula-mula mendeklarasikan

#include<iostream> using namespace std; int main() { sebagai awal program. Di dalam

fungsi main deklarasikan variabel nama dengan tipe data char dengan panjang karakter

30 dan nim dengan panjang karakter 15. Selanjutnya, deklarasikan 3 buah variabel,

yakni variable n,a,b. Inisialisasi variabel a= -1. Inputkan nilai n. Buat perulangan for

dengan variable b=1 kondisi b<=n dan increment b++. Kemudian, proses a=a+2. Cout a,

tampilkan variable a. Dimana a=-1+2. Jadi, angka yang muncul pertama kali a=1

selanjutnya kembali ke pengulangan dengan kondisi b<=n benar. Maka jalankan

increment b++. Dan jalankan pemrosesan a=a+2, jadi angka yang keluar selanjutnya

a=3, begitu seterusnya sampai kondisi b<=n salah. Maka, program akan kembali ke
fungsi sama dengan 0 atau return 0; dengan diakhiri tanda } sebagai tanda akhir dari

program.

b. while

Bentuk umum dari while adalah seperti berikut :

while (kondisi)
{
perintah;
perintah;
}

Cara kerja dari perulangan while mirip dengan perulangan for. Tetapi dalam perulangan

while ini, tidak ada jaminan bahwa program akan masuk ke dalam perulangan. Ini

dikarenakan pemeriksaan kondisinya dilakukan di awal perulangan.

Contoh

1. Angka ganjil

Source code

Screen shoot
Penjelasan

c. Do While

Bentuk umum dari do while adalah seperti berikut :

do
{
perintah;
perintah;
} while (kondisi);

Cara kerja dari perulangan do while mirip dengan perulangan while. Tetapi dalam

perulangan do while ini, pengecekan kondisi dilakukan di akhir loop. Sehingga program

pasti dapat masuk ke perulangan ini minimal 1 kali.

Contoh

1. Perulangan angka

Source code

Screen shoot
Penjelasan

BAB III

KESIMPULAN

Berdasarkan pembahasan sebelumnya, dapat disimpulkan bahwa :

1. Pengertian algoritma

Langkah- langkah untuk menyelesaikan suatu masalah

2. Pencabangan
- Arti

- Jenis

1. If

2. If- else

3. Switch

4. Nested if (if dalam if)

- Bentuk pernyataan

- Contoh

3. Pengulangan

- Arti

- Jenis

1. For loop

2. While

3. Do while

- Bentuk pernyataan

- Contoh

Anda mungkin juga menyukai