Anda di halaman 1dari 13

Departemen Matematika

Universitas Mataram

Algoritma & Pemrograman (1)


Irwansyah
Outline Materi Kuliah

Dalam kuliah ini, secara garis besar, akan dipelajari :


• Algoritma dan Representasi Algoritma
• Dasar-Dasar Pemrograman
Menggunakan bahasa pemrograman pascal dan
(hopefully) C++

Referensi :
Juan Soulie, C++ language tutorial, http://www.cplusplus.com/doc/tutorial/

Pascal tutorial, www.tutorialspoint.com/pascal/pascal_tutorial.pdf


Algoritma

Algoritma (Eng: algorithm) berasal dari bahasa latin Algorism

Kata Algorism berasal dari nama Muhammad ibn Musa Al-


Khawarizmi , seorang matematikawan, ahli astronomi, dan ahli
geografi asal Persia.

Al-Khawarizmi merupakan orang pertama yang mencetuskan


ide berikut :

Untuk menyelesaikan suatu masalah, masalah tersebut


dipecah menjadi submasalah-submasalah, untuk kemudian
submasalah-submasalah tersebut diselesaikan.
Ide Al-Khawarizmi tersebut diaplikasikan di bidang aritmetika.

Ide tersebut merupakan dasar dari Algoritma secara umum.

An algorithm is a well-ordered collection of unambiguous and


effectively computable operations that when
executed produces a result and halts in a finite amount of time

Karakteristik dari algoritma :


1. Operasi-operasinya terurut dengan benar;
2. Operasi-operasinya tidak ambigu;
3. Operasi-operasinya komputabel dan efektif;
4. Menghasilkan suatu output;
5. Berhenti dalam waktu yang berhingga;
Contoh algoritma
1)
Lanjutan…

2) Langkah-langkah untuk mengurutkan bilangan


4,2,5,1,3,7,6 dari yang paling kecil ke yang paling besar.

1. Tukarkan 1 dengan 4, diperoleh : 1,2,5,4,3,7,6.


2. Tukarkan 5 dengan 3, diperoleh : 1,2,3,4,5,7,6.

3. Tukarkan 7 dengan 6, diperoleh : 1,2,3,4,5,6,7.


Flow chart / Diagram Alir

Flow chart merupakan salah satu cara untuk menggambarkan


atau merepresentasikan suatu algoritma.

Komponen-komponen dasar dari suatu flow chart :

Terminator : Simbol untuk Start atau End

Input/Output : Simbol untuk menerima atau


mengeluarkan data
Proses : Simbol untuk proses atau operasi

Conditional/Decision : Simbol untuk proses


mengambil keputusan, contohnya Ya atau
Tidak

Preparation : Simbol untuk pemberian nilai


awal
Arrow : Simbol penunjuk arah proses
selanjutnya

Connector (on-page) : Simbol untuk


menyatukan beberapa arrow

Connector (off-page) : Simbol untuk


menyambungkan flow chart di halaman
berikutnya

Display: Simbol untuk cetak hasil


Contoh flow chart algoritma

Diberikan algoritma untuk mengecek apakah suatu bilangan n


merupakan bilangan genap atau ganjil berikut :

1. Diberikan bilangan bulat n;

2. Hitung sisa pembagian n oleh 2;

3. Jika sisa pembagiannya adalah 0, maka n genap;

4. Jika sisa pembagiannya adalah 1, maka n ganjil;


Contoh.

Diberikan n = 7;

Perhatikan, 7 = (2 x 3) + 1; berarti sisa pembagian 7 oleh 2


adalah 1;

Sehingga, 7 adalah bilangan ganjil;


Flow-chart dari algoritma ganjil/genap di belakang…
start

Input
bilangan
bulat n

Hitung sisa
pembagian n
oleh 2

Sisa = 0 Sisa = 1
Sisa
bagi

n genap n ganjil

end
Tugas I (Kelompok)

Carilah satu contoh algoritma dan buatlah flow-chartnya !!!


Aturan :
Tugas ditulis tangan dan dikumpulkan di meja saya hari ini.

Tidak boleh ada dua atau lebih kelompok dengan contoh


algoritma yang sama.

Anda mungkin juga menyukai