Anda di halaman 1dari 36

DASAR KOMPUTER DAN PEMROGRAMAN Pengantar Algoritma

Pemrograman

Pengertian Algoritma

Algoritma berasal dari kata algoris dan ritmis yang pertama kali diungkapkan oleh Abu Jafar Mohammad Ibn Musa Al Khowarizmi (825M) dalam buku Al-Jabr Wa al-Muqobla. Definisi algoritma : Algoritma adalah urutan langkah-langkah atau instruksi-instruksi penyelesaian suatu masalah yang disusun secara sistematis dan logis

Ciri Algoritma

Finiteness Jumlah langkah dalam algoritma harus terbatas Definiteness Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous) Input Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan Output Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input Effectiveness Setiap algoritma diharapkan miliki sifat efektif

Algoritma yang Baik


1. 2.

3.

4.

5.

6.

Memiliki logika perhitungan / metode yg tepat dalam memecahkan masalah. Menghasilkan output yang benar dan tepat dalam waktu yang singkat. Ditulis dengan bahasa yang standar secara sistematis, sehingga tidak menimbulkan arti ganda. Ditulis dengan format yang mudah dipahami sehingga mudah diimplementasikan ke dalam bahasa pemrograman. Semua operasi yang dibutuhkan terdefinisi dengan jelas. Semua proses dalam algoritma harus berakhir setelah sejumlah langkah dilakukan.

Efisiensi Algoritma
Efisiensi algoritma ditinjau dari 2 hal : 1. Waktu eksekusi yang cepat. Hal-hal yang mempengaruhi waktu eksekusi : Banyaknya langkah Besar dan jenis input data Jenis Operasi Komputer dan kompilator 2. Penggunaan memori yang relatif kecil. Semakin besar memori yang dipakai akan semakin kurang efisien sebuah algoritma.

Tahap Pengembangan Algoritma


MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma

Source Code

Executable Code

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM COMPILE

Sintak Err T
Executable code : => Run

Output Err T
DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM COMPILE

Masalah: Tentukan akar-akar dari suatu persamaan kwadrat.

Sintak Err

Definisi: Persamaan kwadrat : ax^2 + bx + c = 0


Data yg diperlukan : Nilai dari a, b dan c : tipe real

Executable code : => Run

Output Err

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM

COMPILE

Model Matematika :

Sintak Err

Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b sqrt(b^2 - 4ac))/2a
Output Err
Executable code : => Run

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM

Start
Masukkan a,b,c

COMPILE

Sintak Err d = b^2 4ac d<0 T x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Cetak: x1, x2


DOKUMEN TASI

Y Cetak: Akar majiner

Executable code : => Run

Output Err

Stop

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM

COMPILE

Sintak Err

Executable code : => Run

Output Err

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM COMPILE

Sintak Err

Executable code : => Run

Output Err

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM COMPILE

Sintak Err

Executable code : => Run

Output Err

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM COMPILE

Sintak Err

Executable code: => Run

Output Err

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM

COMPILE

Sintak Err

Executable code : => Run

Output Err

DOKUMEN TASI

Tahap Pengembangan Algoritma


DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA
TULIS PROGRAM COMPILE

Sintak Err

Executable code : => Run

Output Err

DOKUMEN TASI

Teks Algoritma

Berdasarkan pemrograman prosedural, suatu teks algoritma disusun dalam tiga bagian, yaitu : 1. Kepala algoritma 2. deklarasi 3. Deskripsi algoritma Setiap bagian disertai dengan penjelasan atau dokumentasi tentang maksud pembuatan teks. Bagian penjelasan diawali dan diakhiri dengan simbol {dan}.

Penyusunan Algoritma
Tiga cara menyusun algoritma algoritma) : 1. Bahasa manusia 2. Pseudocode 3. Flowchart (diagram alir)

(notasi

Dalam belajar algoritma, notasi yang umum digunakan adalah Flowchart dan Pseudocode.

Contoh Penyusunan Algoritma


Contoh : Algoritma lingkaran

untuk

menghitung

luas

Menggunakan bahasa manusia : 1. Inputkan nilai jari-jari lingkaran 2. Hitung luas lingkaran menggunakan rumus : Luas = 3,14 x jari-jari x jarijari

3.

Tampilkan nilai luas lingkaran

Contoh Penyusunan Algoritma

Menggunakan pseudocode :

DEKLARASI r, l : integer DESKRIPSI Read (r) While r 0 do l = 3,14 x r x r Write (l)

Contoh Penyusunan Algoritma

Menggunakan flowchart :
Mulai
Masukkan nilai jari-jari

Luas 3,14 x jari-jari x jari-jari

Tampilkan luas
Selesai

Pengertian Flowchart

Notasi algoritma dengan bahasa manusia memiliki kelemahan dalam penyusunan, dimana sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang sulit dimengerti oleh orang lain. Karena itu dikembangkan notasi algoritma dengan representasi simbol-simbol yang mudah dimengerti, diantaranya dengan flowchart. Flowchart adalah diagram yang menggambarkan susunan logika suatu program.

Simbol-simbol Flowchart
Simbol Proses, satu atau beberapa himpunan penugasan yang akan dilaksanakan secara berurutan. Simbol Input / Output, simbol yang digunakan untuk menunjukkan operasi masukan atau keluaran Terminal, Simbol Terminal, simbol yang digunakan untuk menyatakan awal atau akhir suatu program.
Simbol Keputusan, simbol yang digunakan untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu Simbol persiapan (Preparation), simbol yang digunakan untuk memberikan nilai awal pada suatu variabel atau pencacah

Simbol-simbol Flowchart
Simbol Connector/penghubung ke halaman yang sama, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang sama.
Simbol On page Connector/penghubung ke halaman lain, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang berbeda Simbol Flowline/arah aliran, simbol yang digunakan untuk menunjukkan arah aliran proses Simbol Subroutine, digunakan untuk menjalankan proses, sub program, atau prosedur Simbol Annotation, simbol yang digunakan untuk memberikan keterangan-keterangan untuk memperjelas simbol-simbol lain

Konsep Algoritma
1. ALGORITMA PE-UBAH Adalah Variabel yang nilainya BUKAN konstanta (selalu berubah sesuai dengan kondisi Variabel terKINI) Sintaks : P=Q Algoritma : PQ Arti : Bahwa Nilai P diberi harga Nilai Q, Nilai P akan SAMA DENGAN nilai Q, & Nilai Q TETAP 2. ALGORITMA PERTUKARAN Berfungsi mempertukarkan masing-masing isi Variabel sedemikian sehingga Nilai dari tiap Variabel akan berubah/bertukar

LATIHAN
1.

2.

3.

4.

5.

Diketahui P=0, Q=5 dan R=10. Diberikan Algoritma P=Q,Q=R, berapa nilai P,Q,R sekarang ? Diketahui Algoritma P=10, P=P+1 dan Q = P Berapakan Nilai P dan Q ? Diketahui 2 peubah K = 10 dan L = 20. Buat Algoritma untuk mempertukarkan isi K dan L ! Input dua buah harga yang dihasilkan dari pengukuran Arus (Ampere) dan Tahanan (Ohm). Buatlah algoritma untuk menghitung tegangan yang dihasilkan ! (tuliskan dalam 3 notasi algoritma) Input 3 buah bilangan bulat yang mewakili tiga buah tahanan dalam Ohm : R1, R2 dan R3. buatlah algortma untuk menghitung tahanan total yang dihasilkan jika ketiganya

LATIHAN
6.

7.

Seorang Petani akan berpergian ke kota dengan membawa seekor kambing, serigala dan rumput yang ketiganya memiliki berat yang tidak jauh berbeda. Di tengah jalan petani harus menyebrangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut harus membawa satu persatu bawaannya. Ditanya : berapa kali petani tersebut harus melalui jembatan dengan memperhatikan bahwa kambing makan rumput, serigala makan kambing ? Bagaimana caranya untuk menyeberangkan tiga orang rahib yang sedang dikejar oleh Tiga orang kanibal ke sisi pulau yang ada diseberangnya ? Dengan catatan : Bila misionarisnya Lebih sedikit dari dari kanibal, maka misionaris tersebut akan dimakannya.

Struktur Dasar Algoritma


1.

2.

3.

Struktur urut (sequence) Struktur urut adalah suatu struktur program dimana setiap baris program akan dikerjakan secara urut dari atas ke bawah sesuai dengan urutan penulisannya. Struktur pemilihan (selection) Struktur pemilihan adalah struktur program yang melakukan proses pengujian untuk mengambil suatu keputusan apakah suatu baris atau blok instruksi akan diproses atau tidak. Struktur pengulangan (repetition) Struktur pengulangan merupakan struktur yang melakukan pengulangan terhadap satu baris atau satu blok baris program beberapa kali sesuai dengan

Flowchart Struktur Urut (Sequence)


Contoh : Akan dihitung luas pesegi panjang yang diketahui panjang dan lebarnya, maka algoritmanya sebagai berikut : Algoritma Luas_Pesegi_Panjang Diketahui sebuah pesegi panjang yang memiliki panjang dan lebar. Deskripsi : 1. Mulai 2. Baca panjang 3. Baca lebar 4. Hitung luas = panjang * lebar 5. Tampilkan luas 6. Selesai

Struktur Flowchart Perulangan


3.

Struktur Perulangan (Looping) Contoh :

Struktur Perulangan (Looping)

Struktur perulangan dapat dibentuk dengan pernyataan for dan while. Contoh : Bentuk deret Fibonacci dengan perulangan for dan while pada Matlab !

Struktur Perulangan (Looping)


Jawab : 1) Definisikan n sebagai suku ke-n dari barisan fibonacci 2) Definisikan dua suku pertama, misal sebut sebagi F=[0 1] 3) Untuk i = 3:n 4) Bentuk barisan Fibonacci, yaitu F(i)=F(i1)+F(i-2) 5) Akhiri Step

Struktur Perulangan (Looping)


Jawab :
Mulai Input jumlah suku, n

F = [0 1]

Struktur Flowchart Perulangan


2.

Struktur Perulangan (Looping) Contoh :

Struktur perulangan dapat dibentuk dengan pernyataan for dan while. Contoh :

Struktur Flowchart Percabangan


2.

Struktur Percabangan (Branching) Contoh :

Ya

Tidak

TERIMA KASIH

Anda mungkin juga menyukai