Top Banner
ALGORITMA & PEMROGRAMAN PERTEMUAN 1 PENGANTAR ALGORITMA DAN PEMROGRAMAN [email protected] http://mardiana4smart.webnode.com
44

ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Nov 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

ALGORITMA & PEMROGRAMAN

PERTEMUAN 1 PENGANTAR ALGORITMA DAN

PEMROGRAMAN

[email protected] http://mardiana4smart.webnode.com

Page 2: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Tujuan

• Mahasiswa memahami tahapan perancangan program.

• Mahasiswa memahami prinsip-prinsip algoritma

• pembuatan algoritma yang baik serta diagram alur (flowchart)

Page 3: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Sub Pokok Bahasan

• Struktur sistem komputer

• Definisi Program/pemrograman

• Definisi Bahasa Pemrograman

• Definisi algoritma

• Kriteria algoritma

• Penerapan algoritma

• Penulisan algoritma

• Desk Checking VS Plan Test

Page 4: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Bagan Sistem Komputer

Page 5: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Definisi Program/Pemrograman

• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.

• Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.

• Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer.

Page 6: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Bahasa Pemrograman

• Bahasa Pemrograman merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.

• Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll. Perbedaan dan persamaan bahasa pemrograman • Perbedaan: cara memberikan instruksi (sintaks) • Persamaan: bertujuan menghasilkan output yang sama

Page 7: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Mengapa Belajar Algoritma dan Pemrograman?

• Untuk melatih logika berpikir

• Untuk menulis kode dalam bahasa yang dimengerti komputer

• Untuk dasar matakuliah lain di Sistem Informasi

Page 8: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Niklaus Wirth

Eidgenossische Technische Hochschule

Zurich, Switzerland

Page 9: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
Page 10: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
Page 11: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
Page 12: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
Page 13: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Definisi Logika

• Logika identik dengan masuk akal dan penalaran.

• Penalaran adalah salah satu bentuk pemikiran. Pemikiran adalah pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran mungkin benar dan mungkin juga tak benar.

• Definisi logika sangat sederhana yaitu ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku

• Pelajaran logika menimbulkan kesadaran untuk menggunakan prinsip-prinsip untuk berfikir secara sistematis.

Page 14: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Asal-usul kata algoritma

• Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi dibaca orang Barat menjadi algorism.

• Kata algorism berarti proses menghitung dengan angka Arab. Seseorang dikatakan algorist jika orang tersebut menggunakan angka Arab.

• Kata algorism lambat laun menjadi algorithm disebabkan kata algorism sering dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata algorithm diserap ke dalam bahasa Indonesia menjadi algoritma.

Page 15: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Definisi Algoritma

• Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

• Kata logis disini berarti benar sesuai dengan logika manusia.

• Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar.

Page 16: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Penerapan Algoritma • Algoritma merupakan jantung ilmu komputer atau informatika.

Tapi penerapan algoritma tidak selalu di identikan dengan ilmu komputer saja,

melainkan sangat luas. Dalam kehidupan sehari-hari kita sering menjumpai

kegiatan penerapan algoritma tapi tanpa di sadari.

• Misal:

* Langkah-langkah membuat kue

* Membuat pakaian

* Membuat alat musik

* Pengambilan uang di ATM dll.

Page 17: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Kriteria algoritma yang baik adalah : 1. Memiliki logika perhitungan/metode yang tepat dalam memecahkan

masalah . 2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat

(output). 3. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga

tidak menimbulkan arti ganda. 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke

dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas. 6. Semua proses harus berakhir setelah sejumlah langkah dilakukan. Suatu Algoritma yg terbaik (The Best) : “ Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan dip’oleh suatu solusi ataupun tdk ada solusinya. “

Page 18: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Penulisan Algoritma Penulisan algoritma dapat di tuangkan dengan bentuk:

• Pseudo code yaitu kode atau intruksi perintah yang menyerupai penjelasan bahasa sehari-hari yang di mengerti oleh manusia.

• Algoritma pemrograman yang penulisan intruksinya lebih mendekati intruksi-intruksi bahasa pemrograman.

• Flowchart program merupakan langkah-langkah (instruksi-instruksi) program yang menceritakan kejadian suatu proses satu dengan proses lainya dalam suatu program secara mendetail yang di wakilkan dalam bentuk simbol-simbol.

Page 19: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Contoh Algoritma 1

Pseudocode

Nilai A adalah 5

Nilai B adalah 4

C diperoleh dari A ditambah dengan B

Cetak nilai C

Selesai

Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susunlah pseudocode/agoritma untuk menjumlahkan bilangan tersebut.

Algoritma

A 5

B 4

C A + B

WRITE(C)

End

Page 20: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

TAHAPAN PERANCANGAN PROGRAM

Tujuh langkah dasar dalam perancangan/ pengembangan program : 1. Definisi Masalah 2. Outline Solusi 3. Pengembangan outline ke dalam algoritma 4. Melakukan test terhadap algoritma 5. Memindahkan algoritma ke dalam bahasa pemrograman 6. Menjalankan program pada komputer 7. Dokumentasi dan pemeliharaan program

20

Page 21: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

1. Definisi Masalah

• Pada tahap ini memerlukan pemahaman terhadap permasalahan dengan

membaca berulang kali sampai dengan mengerti apa yang dibutuhkan.

• Permasalahan dibagi kedalam tiga komponen:

• Input / Masukan

• Output / Keluaran

• Proses

21

Page 22: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Contoh : Menjumlah Tiga Angka

• Input

angka 1

angka 2

angka 3

• Proses

Read

Add

print

• Output

Total

Program diharuskan membaca tiga angka, menjumlahkannya bersamaan, lalu mencetak totalnya

Page 23: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

2. Outline Solusi • Setelah permasalahan didefinisikan, permasalahan dapat di bagi kedalam

tugas tugas atau langkah langkah yang lebih kecil dan menghasilkan outline solusi

• Outline solusi awal dapat terdiri dari:

– Proses utama

– Subtask utama

– Struktur Kontrol

– Variabel dan struktur record

– Logic utama (mainline)

23

Page 24: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

3. Pengembangan Outline Ke Dalam Algoritma

• Outline solusi pada langkah kedua dikembangkan menjadi algoritma yaitu

sebuah set langkah yang menggambarkan tugas yang akan dikerjakan dan

urutan pengerjaannya.

24

Page 25: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Menjumlah Tiga Angka

• Input

angka 1

angka 2

angka 3

• Proses

read

add

print

• Output

Total

Add_Tiga_Angka Read angka1, angka2, angka3

total = angka1 + angka 2 + angka 3 Print total

End

Page 26: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

4. Melakukan Test Terhadap Algoritma

• Tujuan utama dari melakukan test terhadap algoritma adalah adalah untuk menemukan

kesalahan utama logik sejak awal, sehingga akan lebih mudah diperbaiki.

• Data test diperlukan untuk melakukan test terhadap algoritma ini.

26

Page 27: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

5. Memindahkan Algoritma Ke Dalam Bahasa Pemrograman

Setelah ke-empat langkah sebelumnya dilakukan, maka pencodingan dapat dimulai dengan

menggunakan bahasa pemrograman yang dipilih.

Cth :

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<iostream.h>

#define phi 3.14

main(){

int r;

float luas;

cout<<"Masukan Jari-Jari Lingkaran : ";cin>> r;

luas = phi * pow(r,2);

cout<<"Luas Lingkaran = "<<luas;

getch();}

27

Page 28: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

6. Menjalankan Program Pada Komputer

• Setelah pengcodingan, maka program dapat dijalankan pada komputer.

Jika Program sudah didesain dengan baik, maka akan mengurangi tingkat

kesalahan dalam melakukan testing program.

• Langkah ini perlu dilakukan beberapa kali, sehingga program yang

dijalankan dapat berfungsi dengan benar

28

Page 29: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

DESK CHECKING ALGORITMA

Setelah algoritma solusi dibuat, maka algoritma tersebut harus di cek untuk mengetahui apakah algoritma solusi yang dirancang sudah benar atau belum.

Pengecekan ini biasanya disebut dengan desk checking atau tehnik manual untuk memeriksa logika algoritma.

29

Page 30: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Desk Checks vs Test Plans

Desk Check menekankan pada nilai variabel dan logika. Contoh : Berapakah nilai variabel x setelah pernyataan; Apa pernyataan berikutnya yang akan dieksekusi ?

Test Plan fokus pada nilai input dan output yang dibutuhkan untuk menguji program tanpa memperdulikan kinerja internal. Contoh : Apa output yang benar dari sebuah input ?

Page 31: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Tahapan Pengecekan Algoritma

31

1. Pilih data sederhana yang valid. Dua atau tiga data biasanya sudah mencukupi.

2. Tentukan hasil output yang diharapkan untuk setiap set data.

3. Buatlah tabel yang nama variabel yang ada pada algoritma di sebuah kertas

4. Jalankan test satu persatu mengikuti algoritma yang ada, mulai dari perintah / statement pertama sampai dengan selesai

5. Ulangi langkah tersebut menggunakan set data yang lain.

6. Cek apakah hasil dari langkah 5, sesuai dengan hasil yang diharapkan di langkah kedua

Page 32: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Contoh • Algoritma solusi:

program_kalkulator

baca bil_1, bil_2

jumlah = bil_1 + bil_2

selisih = bil_1 – bil_2

kali = bil_1 * bil_2

bagi = bil_1 / bil_2

cetak jumlah, selisih, kali, bagi

END

Page 33: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Contoh

• Plan Test :

• Data input:

Data 1 Data 2

Bil_1 10 20

Bil_2 5 10

Page 34: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Contoh

• Plan Test

• Hasil yang diharapkan:

Data 1 Data 2

Jumlah 15 30

Selisih 5 10

Kali 50 200

Bagi 2 2

Page 35: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Contoh

• Tabel desk checking

cetak bil_1 bil_2 jumlah selisih kali bagi

Data ke - 1

Baca 10 5

jumlah 15

selisih 5

kali 50

bagi 2

cetak ya ya ya ya

Data ke-2

Baca 20 10

jumlah 30

selisih 10

kali 200

bagi 2

cetak ya ya ya ya

Page 36: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

7. Dokumentasi & Pemeliharaan Program

• Dokumentasi melibatkan eksternal dokumentasi (hierarchy chart,

algoritma solusi, dan hasil data test) dan internal dokumentasi (coding

program)

• Pemeliharaan program meliputi perubahan yang dialami oleh program

(perbaikan ataupun penambahan modul, dll)

36

Page 38: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Latihan 2

• Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya menukar isi masing-masing gelas?

teh kopi

Page 39: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Jawaban Latihan 2

Algoritma • Siapkan gelas cadangan X

• Tuangkan gelas yang berisi teh ke gelas cadangan

• Tuangkan gelas yang berisi kopi ke gelas yang awalnya dipakai teh

• Tuangkan isi gelas cadangan ke gelas yang awalnya berisi kopi

teh

kopi teh

X

X

kopi X

Page 40: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Latihan 3

• Buatlah pseudocode/algoritma untuk menghitung luas lingkaran (data masukan diinput)

Page 41: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Latihan 4

• Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.

Page 42: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Latihan 5

Susun algoritma untuk menginput 3 buah bilangan bulat yang masing-masing menyatakan panjang sebuah garis. Kemudian periksa ketiga buah garis tersebut, apakah dapat membentuk sebuah segitiga. Bila ketiga buah garis tersebut dapat membentuk sebuah segitiga, maka cetak perkataan “SEGITIGA”, tapi bila ketiga buah garis tersebut tidak dapat membentuk sebuah segitiga, maka cetak perkataan “BUKAN SEGITIGA”. Pada sebuah segitiga berlaku suatu kepastian bahwa : Total panjang dua buah sisi selalu lebih besar dari panjang satu sisi yang lain.

Page 43: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Tugas Buatlah algoritma :

1. Untuk mengurutkan 3 bilangan acak!. Misal 3 bilangan adalah 35, 12, 27

2. Ada 2 gelas kosong berukuran: 5 liter dan 3 liter

Bagaimana cara kita mendapatkan air berukuran 4 liter?

3. Menentukan apakah tahun yang diinputkan termasuk tahun kabisat/bukan.

4. Menghitung ekivalensi bilangan dalam detik menjadi berapa hari, jam berapa menit dan berapa detik

Page 44: ALGORITMA & PEMROGRAMAN · 4. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. 5. Semua operasi yang dibutuhkan terdefinisi dengan jelas.

Questions?