algoritma & pemrograman · 4. ditulis dengan format yang mudah dipahami dan diimplementasikan...

Post on 13-Nov-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ALGORITMA & PEMROGRAMAN

PERTEMUAN 1 PENGANTAR ALGORITMA DAN

PEMROGRAMAN

Tati.mardiana@gmail.com http://mardiana4smart.webnode.com

Tujuan

• Mahasiswa memahami tahapan perancangan program.

• Mahasiswa memahami prinsip-prinsip algoritma

• pembuatan algoritma yang baik serta diagram alur (flowchart)

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

Bagan Sistem Komputer

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.

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

Mengapa Belajar Algoritma dan Pemrograman?

• Untuk melatih logika berpikir

• Untuk menulis kode dalam bahasa yang dimengerti komputer

• Untuk dasar matakuliah lain di Sistem Informasi

Niklaus Wirth

Eidgenossische Technische Hochschule

Zurich, Switzerland

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.

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.

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.

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.

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. “

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.

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

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

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

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

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

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

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

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

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

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

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

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 ?

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

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

Contoh

• Plan Test :

• Data input:

Data 1 Data 2

Bil_1 10 20

Bil_2 5 10

Contoh

• Plan Test

• Hasil yang diharapkan:

Data 1 Data 2

Jumlah 15 30

Selisih 5 10

Kali 50 200

Bagi 2 2

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

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

Latihan 2

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

teh kopi

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

Latihan 3

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

Latihan 4

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

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.

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

Questions?

top related