• Tidak ada hasil yang ditemukan

Pengenalan Algoritma

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pengenalan Algoritma"

Copied!
52
0
0

Teks penuh

(1)

PEMROGRAMAN DASAR

Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya

Pengenalan Algoritma

Dr. Eng. Herman Tolle, ST., MT

Sistem Informasi PTIIK UB Semester Ganjil 2015/2016

(2)

ALGORITMA KOMPUTER

“metode yang terdiri dari langkah-langkah

terstuktur untuk mencari solusi suatu

masalah tertentu dengan bantuan

komputer”

(3)

• Pada akhir pertemuan ini, diharapkan

mahasiswa akan mampu memahami dan dapat menjelaskan tentang:

1. Konsep dasar pemrograman komputer,

2. Algoritma, dan

3. Tahapan pembuatan algoritma

pemrograman terstruktur.

(4)

– Konsep Dasar Pemrograman – Definisi Algoritma

– Tahap Pengembangan Algoritma – Penyajian algoritma

– Pseudocode – Flow Chart

– Pemrograman Terstruktur

(5)

5

Penyimpanan Data

PUSAT PENGOLAH DATA

(berbasis Arithmatika dan Logika)

Data yg Diolah (Masukan/Input)

Data hasil pengolahan (Keluaran/Output)

COMPUTER TO – COMPUTE + ER

(Menghitung/Mengolah bilangan) (Mengolah Data)

(6)

• Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah. • Berasal dari kata algoris dan ritmis. Awalnya

diungkapkan oleh Al Khowarizmi.

• Di pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari langkah-langkah

terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer.

(7)

Algoritma Membuat Program

Komputer adalah seperti

(8)

MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma Source

Code

Executable Code

(9)

9 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI Y Y T T

(10)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN SECARA MATEMATIS • Persamaan Kuadrat: aX2 + bX + c = 0 • Contoh: X2 + 5X + 6 = 0  (X+x1)(X+x2) = 0; x1, x2 = ? • Solusi: X2 + 5X + 6 = 0  a = 1, b = 5, c = 6 x1 = (-b + √ (b2–4.a.c)) / 2.a = (-5 + √52 – 4.1.6) / 2 = (-5 + √(25-26)) / 2 = (-5 + 1 ) / 2 = -4 / 2 = -2 x2 = (-b - √ (b2–4.a.c)) / 2.a = (-5 - √52 – 4.1.6) / 2 = = (-5 - 1 ) / 2 = -6 / 2 = - 3

• Akar dari X2 + 5X + 6 = 0 adalah

(11)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN DENGAN KOMPUTER

• Membuat sebuah program komputer yang dapat menghitung secara otomatis akar dari suatu persamaan kuadrat, dimana pengguna hanya menginputkan nilai (a, b, c) dari bentuk persamaan kuadratnya.

• Program komputer adalah bersifat generic dan umum, dibuat untuk menyelesaikan semua kasus persamaan kuadrat dengan nilai a, b, c apapun yang memenuhi aX2 + bX + c = 0

• Programmer memberikan perintah dalam bentuk urutan-urutan langkah yang harus dikerjakan oleh komputer,

perintah-perintah tersebut dalam bentuk Kode Program

• Sekali komputer telah deprogram, maka proses tsb dapat dikerjakan sendiri oleh komputer

(12)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN DENGAN KOMPUTER

• Langkah-langkah yang dilakukan Programmer: 1. Membuat Pemodelan Matematis

2. Membuat Algoritma, urutan langkah penyelesaian 3. Membuat Kode Program

4. Menjalankan / Menguji Program

(13)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN DENGAN KOMPUTER

Langkah 1: Pemodelan Matematis

• Persamaan Kuadrat: aX2 + bX + c = 0

• Langkah Penyelesaian:

1. Tentukan Output: Output: x1, x2

2. Buat Proses untuk menghitung output dengan menggunakan nilai-nilai yang sudah diketahui (input)

Proses: x1 = (-b + √ (b2–4.a.c)) / 2.a

x2 = (-b - √ (b2–4.a.c)) / 2.a

Pastikan bahwa semua nilai yang ada pada bagian sebelah kanan dari tanda = (sama dengan) telah diketahui nilainya. 3. Tentukan Input: Input: a, b, c?

(14)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN DENGAN KOMPUTER

Langkah 2 Membuat Algoritma • Persamaan Kuadrat: aX2 + bX + c = 0 • Langkah Penyelesaian: 1. Input: a, b, c? 2. Proses: x1 = (-b + √ (b2–4.a.c)) / 2.a x2 = (-b - √ (b2–4.a.c)) / 2.a 3. Output: x1, x2

Algoritma secara umum harus dalam urutan IPO

INPUT-PROSES-OUTPUT

Ingat Algoritma Membuat Kopi!

Algoritma Persamaan Kuadrat

Mulai Input a? Input b? Input c? x1 = (-b + √ (b2–4.a.c)) / 2.a x2 = (-b - √ (b2–4.a.c)) / 2.a Cetak hasil x1 Cetak hasil x2 Selesai

(15)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN DENGAN KOMPUTER

Langkah 3 Membuat Program Komputer

class PersamaanKuadrat {

public static void main (String arg[]) { System.out.print(“Nilai A?”); int A = input.nextInt(); System.out.print(“Nilai B?”); int B = input.nextInt(); System.out.print(“Nilai C?”); int C = input.nextInt(); double X1, X2; X1 = (-B + Math.sqrt(B*B-4*A*C))/(2*A); X2 = (-B - Math.sqrt(B*B-4*A*C))/(2*A); System.out.println(“X1 = “ + X1); System.out.println(“X2 = “ + X2); }}

Algoritma Persamaan Kuadrat

Mulai Input a? Input b? Input c? x1 = (-b + √ (b2–4.a.c))/ 2.a x2 = (-b - √ (b2–4.a.c))/ 2.a Cetak hasil x1 Cetak hasil x2 Selesai

(16)

Kasus: Akar Persamaan Kuadrat

PENYELESAIAN DENGAN KOMPUTER

Langkah 4 Menjalankan Program Komputer

class PersamaanKuadrat {

public static void main (String arg[]) { System.out.print(“Nilai A?”); int A = input.nextInt(); System.out.print(“Nilai B?”); int B = input.nextInt(); System.out.print(“Nilai C?”); int C = input.nextInt(); double X1, X2; X1 = (-B + Math.sqrt(B*B-4*A*C))/(2*A); X2 = (-B - Math.sqrt(B*B-4*A*C))/(2*A); System.out.println(“X1 = “ + X1); System.out.println(“X2 = “ + X2); }}

(17)

17 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI Masalah:

Tentukan akar-akar dari suatu persamaan kwadrat.

Definisi:

Persamaan kwadrat : ax^2 + bx + c = 0 Data yg diperlukan :

(18)

18 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI Model Matematika : Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b – sqrt(b^2 - 4ac))/2a

(19)

19 TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA Start d = b^2 – 4ac d < 0 Masukkan a,b,c x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Cetak: x1, x2 Cetak: “Akar majiner”

(20)

20 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

(21)

21 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

(22)

22 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

(23)

23 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

(24)

24 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

(25)

25 DEFINISI MASALAH MEMBUAT MODEL RANCANG

ALGORITMA TULIS PROGRAM

COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI

(26)

• Algoritma bisa dibuat dengan:

– Teknik Tulisan seperti : Structure english dan

Pseudocode.

– Teknik Visual seperti : Flow chart.

(27)

• Outline dari sebuah program komputer

• Ditulis dalam bahasa Inggris atau Indonesia sederhana

• Kata kunci (keyword) digunakan untuk

menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”)

(28)

Tujuh operasi dasar komputer:

1. Membaca data (Input)

2. Menampilkan data (Output)

3. Melakukan perhitungan aritmetika (Compute) 4. Memberikan nilai ke suatu identifier (Store) 5. Membandingkan dan Memilih (Compare) 6. Melakukan pengulangan (Loop)

7. Array

8. Function / Method

(29)

• Digunakan untuk memberikan input kepada komputer (program)

• Input harus disimpan pada variable penampung • statement yang biasa digunakan: “Read”, “Get”,

“Baca” ,”Input” atau “KeyIn” • Contoh:

Read Bilangan Get kode_pajak

Baca nama_mahasiswa

(30)

• Digunakan untuk menampilkan / mengeluarkan data ke media keluaran seperti monitor atau

printer

• Statement yang biasa digunakan: “Print”,

“Write”, “Put”, “Output”, “Display” ataupun “Cetak”

• Contoh:

Print “Universitas Brawijaya”

Cetak “Dasar Pemrograman Komputer” Output Total

(31)

• Untuk melakukan operasi aritmetika digunakan pseudocode berikut:

+ untuk penjumlahan (add)

- Untuk pengurangan (subtract) * Untuk perkalian (multiply)

/ Untuk pembagian (divide) () Untuk kurung

• Statement “Compute”, “Calculate” ataupun “Hitung” juga dapat digunakan.

• Contoh:

Add number to total Total = Total + number

(32)

• Ada tiga cara untuk memberikan nilai ke dalam variabel :

– Memberikan nilai awal, menggunakan statement “Initialize” atau “Set”

– Memberikan nilai sebagai hasil dari suatu proses, maka tanda “=“ digunakan

– Untuk menyimpan suatu nilai maka statement “Save” atau “Store” digunakan

• Contoh:

Set Counter to 0

Total = Harga * Jumlah

(33)

• Salah satu operasi terpenting yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternatif solusi.

• Keyword yang digunakan : “IF”, “THEN” dan “ELSE” • Contoh IF Pilih=‘1’ THEN Discount = 0.1 * harga ELSE Discount = 0.2 * harga ENDIF 33

(34)

• Digunakan untuk memberikan perintah agar sebuah (atau sekumpulan proses) dikerjakan berulang sebanyak jumlah tertentu atau selama suatu kondisi terpenuhi

• Menggunakan keyword: “DOWHILE” dan “ENDDO”. • Contoh Bil = 0 DOWHILE bil < 10 cetak bil bil = bil +1 ENDDO 34

(35)

Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan Kalkulator Ulangi Input harga

Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga

Matikan kalkulator Selesai

(36)

Algoritma Berangkat Kuliah

Mulai

Bangun dari tempat tidur Mandi Pagi

Sarapan Pagi

Pergi Ke Kampus Cari Ruang Kuliah

Masuk kelas untuk Kuliah

Selesai

(37)

Algoritma Sarapan Pagi

Mulai

Ambil piring

Masukkan nasi dan lauk dalam piring Ambil sendok dan garpu

Ulangi

Angkat sendok dan garpu Ambil nasi dan lauk

Suapkan ke dalam mulut Taruh sendok dan garpu Kunyah

Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu

Selesai

(38)

38 Terminator Proses Pemilihan Input/Output Dokumen Pengulangan Arah Konektor antar halaman Konektor Pemanggilan Procedure

(39)

39 Start d = b^2 – 4ac d < 0 x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Masukkan a,b,c Cetak x1,x2 Cetak Pesan “Akar imajiner”

(40)

1. Mempunyai logika yang tepat untuk memecahkan masalah.

2. Menghasilkan output yang benar dalam waktu yang singkat.

3. Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda.

4. Ditulis dengan format baku sehingga mudah

diimplementasikan kedalam bahasa pemrograman.

5. Semua operasi didefinisikan dengan jelas dan berakhir sesudah sejumlah langkah.

(41)

• Pemrograman terstruktur merupakan pola

penyusunan program komputer hanya

dengan menggunakan tiga struktur kontrol

yaitu:

1. Sequence 2. Selection 3. Repetition

(42)

• Sequence merupakan urutan pengerjaan dari perintah/statement pertama sampai dengan perintah/statement terakhir.

• Umumnya bahasa pemrograman mempunyai sequence (urutan pengerjaan dari perintah /

statement ) mulai dari atas ke bawah dan dari kiri

ke kanan.

• Top-down – dari atas ke bawah - mengalir

(43)

• Contoh:

Cetak “Jumlah Mahasiswa” Set Jumlah to 49

Cetak “Tambahan mahasiswa baru” Baca mhs_baru

Jumlah = Jumlah + mhs_baru Cetak “Jumlah Mahasiswa” Cetak jumlah

• Penjelasan

– Urutan pengerjaan adalah mulai dari urutan pertama sampai

dengan urutan terakhir, jika mhs_baru diisi dengan 2, maka jumlah yang tercetak adalah 51

(44)

• Struktur Kontrol Selection adalah penggambaran sebuah kondisi dan pilihan diantara dua aksi.

• Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak maka akan mengerjakan perintah setelah keyword “else” (jika ada).

(45)

Contoh Selection

• Contoh :

IF Hari=1 THEN

Cetak “Senin” ELSE

Cetak “Bukan hari Senin” ENDIF

• Penjelasan

– Tulisan “Senin” akan ditampilkan jika Hari bernilai 1, jika tidak maka tulisan “Bukan hari Senin” yang akan

ditampilkan

(46)

• Beberapa statement / perintah dapat diulang

dengan menggunakan struktur kontrol repetition. • Statement / perintah akan tetap diulang selama

kondisi perulangan memenuhi (jika menggunakan DOWHILE – ENDDO)

(47)

Contoh Repetition

• Contoh: Bintang = 0 DOWHILE bintang < 5 Cetak bintang bintang = bintang + 1 ENDDO • Penjelasan:

– Pertama kali bintang akan diisi dengan 0, setelah itu isi dari bintang akan dicetak sebanyak lima kali, sehingga

tampilannya akan sebagai berikut:

0 1 2 3 4

(48)

1. Buatlah algoritma menggunakan pseudocode

untuk menghitung luas persegi panjang

2. Buatlah algoritma menggunakan pseudocode

untuk mengubah jam dan menit yang diinput ke dalam satuan detik.

3. Buatlah algoritma menggunakan pseudocode

untuk menentukan apakah bilangan yang diinput adalah bilangan ganjil atau bilangan genap.

(49)

4.

Buatlah algoritma menggunakan pseudocode

untuk menghitung luas lingkaran.

5. Buatlah algoritma menggunakan pseudocode

untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil dan rata-ratanya.

(50)

• Ulangi latihan no. 1 s/d no. 5 diatas dengan

menggunakan

Flow Chart

.

(51)

Pseudocode

// Pseudocode Menghitung Luas Persegi Panjang Cetak “Berapa Panjang?”

Baca PANJANG

Cetak “Berapa Lebar?” Baca LEBAR

Hitung LUAS = PANJANG * LEBAR Cetak “Luas Persegi = “ + LUAS

(52)

Kelas Praktikum 1

• Menyelesaikan Latihan Soal No 3, 4 dan 5

• Menyelesaikan Flow Chart 2, 3, 4, 5

Referensi

Dokumen terkait

 Menentukan hasil bagi dan sisa pembagian dari pembagian suku banyak oleh bentuk linear dan kuadrat dengan menggunakan teorema sisa..  Menentukan akar-akar suatu

Menggunakan operasi dan sifat serta manipulasi aljabar dalam pemecahan masalah yang berkaitan dengan bentuk pangkat, akar, dan logaritma; persamaan kuadrat dan fungsi kuadrat;

perlu ditegaskan di sini bahwa cara itu hanya dapat dipakai apabila bentuk akar akarnya simetri, jika akar-akarnya tidak simetri penentuan persamaan kuadrat

soal bentuk kuadrat sempurna menjadi persamaan kuadrat, siswa salah dalam operasi pengurangan, siswa salah dalam memahami tanda ±, siswa salah dalam menghitung,

Menggunakan operasi dan sifat serta manipulasi aljabar dalam pemecahan masalah yang berkaitan dengan bentuk pangkat, akar, dan logaritma; persamaan kuadrat dan fungsi kuadrat;

Menyelesaikan masalah yang berkaitan dengan bilangan bentuk akar dan pangkat pecahan 2 3.2 Menjelaskan persamaan kuadrat dan karakteristiknya berdasarkan akar- akarnya serta cara

Menyelesaikan masalah yang berkaitan dengan sifat-sifat operasi bilangan berpangkat bulat dan bentuk akar 3.2.. Menjelaskan persamaan kuadrat dan karakteristiknya berdasarkan

Pada media bagian kiri difokuskan terkait bentuk persamaan kuadrat baru, sedangkan pada bagian kanan media difokuskan dalam mencari nilai diskriminan, menentukan akar-akar persamaan