Imam Fahrur Rozi
Algoritma dan Pemrograman
DASAR PEMROGRAMAN & ALGORITMA
KOMPETENSI Setelah menempuh materi ini, mahasiswa hendaknya mampu: • Memahami tentang konsep dasar pemrograman komputer • Memahami tentang dasar algoritma dan tahap pengembangannya • Memahami cara memodelkan algoritma dengan menggunakan PSEUDOCODE dan FLOWCHART
POKOK BAHASAN – – – – –
Konsep Dasar Pemrograman Definisi Algoritma Tahap Pengembangan Algoritma Penyajian algoritma Pseudocode
– Flow Chart
KONSEP DASAR PEMROGRAMAN KOMP. COMPUTER
TO – COMPUTE + ER (Menghitung/Mengolah bilangan) (Mengolah Data)
Data yg Diolah (Masukan/Input)
PUSAT PENGOLAH DATA (berbasis Arithma8ka dan Logika)
Data hasil pengolahan (Keluaran/Output)
Penyimpanan Data 4
DASAR ALGORITMA
Algoritma dan Pemrograman
DEFINISI ALGORITMA • Algoritma merupakan sekumpulan langkah-‐langkah terbatas untuk mencari solusi suatu masalah. • Dalam bidang pemrograman komputer, algoritma didefinisikan sebagai metode yang terdiri dari langkah-‐langkah terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer.
DI MANA POSISI ALGORITMA ?
MASALAH / IDEA
Algoritma
PEMECAHAN
SOLUSI / HASIL
Source Code
Executable Code
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM COMPILE
Y
Sintak Err T Executable code: => Run
Y
Output Err T DOKUMEN TASI
8
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM COMPILE
Masalah: Tentukan akar-akar dari suatu persamaan kwadrat. Definisi: Persamaan kwadrat : ax^2 + bx + c = 0 Data yg diperlukan : Nilai dari a, b dan c : tipe float
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 9
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Model Matematika :
Sintak Err
Rumus ABC x1 = (-b + sqrt(b*b - 4ac))/2a
Executable code: => Run
x2 = (-b – sqrt(b*b - 4ac))/2a Output Err DOKUMEN TASI 10
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Start Masukkan a,b,c
Sintak Err d = b^2 – 4ac d<0 T x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a
Executable code: => Run
Y Cetak: “Akar majiner”
Output Err
Cetak: x1, x2 DOKUMEN TASI
Stop
11
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 12
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 13
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 14
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 15
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 16
TAHAP PENGEMBANGAN ALGO. KOMP.
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Sintak Err Executable code: => Run
Output Err DOKUMEN TASI 17
KOMPONEN DASAR PEMROGRAMAN
Algoritma dan Pemrograman
KOMPONEN DASAR PEMROGRAMAN Tujuh komponen dasar komputer: 1. Membaca data (Input) 2. Menampilkan data (Output) 3. Melakukan perhitungan aritmeaka (Compute) 4. Memberikan nilai ke suatu idenafier / variabel 5. Melakukan seleksi kondisi / pemilihan 6. Melakukan pengulangan (Loop) 7. Array 8. Funcaon
Penyajian Algoritma
Algoritma dan Pemrograman
JENIS PENYAJIAN ALGORITMA
² Algoritma yang dirancang, bisa disajikan menggunakan 2 model: ² PSEUDOCODE ² FLOWCHART
² Outline dari sebuah program komputer
PSEUDOCODE
² Ditulis dalam bahasa Inggris atau Indonesia sederhana ² Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “unal”)
PSEUDOCODE 1. MEMBACA DATA
Sewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah “Read”, “Get”, “Baca” ,”Input” Contoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa
PSEUDOCODE 2. MENAMPILKAN DATA
Sewaktu komputer menampilkan informasi ataupun output, maka statement yang biasa digunakan adalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak” Contoh: Print “Belajar” Cetak “Algoritma dan Pemrograman Komputer” Output jumlah
PSEUDOCODE 3. PERHITUNGAN ARITMATIKA
Untuk melakukan operasi aritmeaka digunakan pseudocode berikut: + untuk penjumlahan (add) -‐ Untuk pengurangan (subtract) * Untuk perkalian (mulaply) / Untuk pembagian (divide) () Untuk kurung
Statement “Compute”, “Calculate” ataupun “Hitung” juga dapat digunakan. Contoh:
Add number to total Total = Total + number
PSEUDOCODE 4. MEMBERIKAN NILAI KE VARIABEL
Ada aga cara untuk memberikan nilai ke dalam variabel :
Memberikan nilai awal, menggunakan statement “Iniaalize” 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
PSEUDOCODE 5. SELEKSI KONDISI
Salah satu operasi terpenang yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternaaf solusi. Keyword yang digunakan : “IF”, “THEN” dan “ELSE” Contoh IF harga>100 THEN harga = harga-‐(0.5*harga) ELSE harga = harga-‐(0.1*harga) ENDIF PRINT harga
Jika ada beberapa perintah yang harus diulang, maka dapat digunakan keyword “DOWHILE” dan “ENDDO”.
PSEUDOCODE 6. PERULANGAN
Contoh Bil = 0 DOWHILE bil < 10 cetak bil bil = bil +1 ENDDO
PSEUDOCODE CONTOH PSEUDOCODE
INPUT harga IF harga>100 THEN diskon = 0.5*harga ELSE diskon = 0.1*harga ENDIF harga = harga -‐ diskon PRINT harga
PSEUDOCODE CONTOH PSEUDOCODE
INPUT a, b, c d = b*b – 4*a*c IF d<0 THEN PRINT “Akar Imajiner” ELSE x1 =( -‐b+sqrt(d))/2*a x2 =( -‐b-‐sqrt(d))/2*a PRINT x1, x2 ENDIF
FLOWCHART
Terminator
Arah
Proses
Konektor
Input/Output
Konektor antar halaman
Dokumen Pemilihan Pengulangan
Pemanggilan Procedure
Start Masukkan a,b,c d = b^2 – 4ac Y
FLOWCHART CONTOH
d<0 T x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a
Cetak Pesan “Akar imajiner”
Cetak x1,x2
Stop
32
SELAMAT BERLAJAR DAN BERLATIH Algoritma dan Pemrograman