PEMROGRAMAN DASAR PENULISAN ALGORITMA DAN FLOWCHART Tri Afirianto

  • Slides: 44
Download presentation
PEMROGRAMAN DASAR PENULISAN ALGORITMA DAN FLOWCHART Tri Afirianto, S. T. , M. T. tri.

PEMROGRAMAN DASAR PENULISAN ALGORITMA DAN FLOWCHART Tri Afirianto, S. T. , M. T. tri. afirianto@ub. ac. id Universitas Brawijaya

Tujuan Istruksional Khusus • Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Memahami

Tujuan Istruksional Khusus • Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Memahami simbol dan fungsinya • Menggambarkan flowchart dan membuat pseudocode yang benar tentang kasus sederhana

Outline Materi • Konsep Dasar Pemrograman • Definisi Algoritma • Tahap Pengembangan Algoritma •

Outline Materi • Konsep Dasar Pemrograman • Definisi Algoritma • Tahap Pengembangan Algoritma • Penyajian Algoritma • Pseudocode • Flowchart • Pemrograman Terstruktur

Konsep Dasar Pemrograman Komputer TO – COMPUTE + ER COMPUTER (menghitung/mengolah bilangan) (mengolah data)

Konsep Dasar Pemrograman Komputer TO – COMPUTE + ER COMPUTER (menghitung/mengolah bilangan) (mengolah data) nila ta a d i a l ni data yang diolah masukan/input i da PUSAT PENGOLAH DATA (berbasis Aritmetika dan Logika) Penyimpanan Data ta data hasil pengolahan keluaran/output

Definisi Algoritma • Sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah • Awalnya diungkapkan

Definisi Algoritma • Sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah • Awalnya diungkapkan oleh Al Khowarizmi (825 M) Algoris + Ritmis • Pada pemrograman: Metode yang terdiri dari langkah-langkah terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer

Tahap Pengembangan Algoritma MASALAH/IDEA Algoritma PEMECAHAN Source Code SOLUSI/HASIL Execute Code

Tahap Pengembangan Algoritma MASALAH/IDEA Algoritma PEMECAHAN Source Code SOLUSI/HASIL Execute Code

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Masalah: Tentukan

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Masalah: Tentukan akar-akar dari suatu persamaan kuadrat Y T Definisi: Persamaan kuadrat: ax^2 + bx + c = 0 Data yang diperlukan: Nilai dari a, b, dan c: tipe real Sintaks Error Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Model Matematika:

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Model Matematika: Rumus ABC x 1 = (-b + sqrt(b^2 – 4 ac)) / 2 a x 2 = (-b - sqrt(b^2 – 4 ac)) / 2 a Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma MEMBUAT MODEL DEFINISI MASALAH RANCANG ALGORITMA TULIS PROGRAM Start COMPILE Masukkan

Tahap Pengembangan Algoritma MEMBUAT MODEL DEFINISI MASALAH RANCANG ALGORITMA TULIS PROGRAM Start COMPILE Masukkan a, b, c Y d = b^2 – 4 ac d<0 x 1 = (-b + sqrt(d)) / 2 a x 2 = (-b - sqrt(d)) / 2 a Cetak: x 1, x 2 Stop T Y T Sintaks Error Cetak: “Akar imajiner” Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Dokumentasi Program

Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Dokumentasi Program Mencari Akar Persamaan Kuadrat Daftar Isi: 1. Definisi Masalah 2. Model Perhitungan/Matematika 3. Flowchart/Rancangan Algoritma 4. Source Code Y Sintaks Error T Executable code: => Run Y Output Error T DOKUMENTASI

Penyajian Algoritma • Algoritma dapat dibuat dengan: • Teknik tulisan • Struktur English dan

Penyajian Algoritma • Algoritma dapat dibuat dengan: • Teknik tulisan • Struktur English dan Pseudocode • Teknik visual • Flowchart

Pseudocode • Outline dari sebuah program computer • Ditulis dalam bahasa Inggris atau Indonesia

Pseudocode • Outline dari sebuah program computer • Ditulis dalam bahasa Inggris atau Indonesia sederhana • Kata kunci (keyword) digunakan untuk menjelaskan sturktur kendali • Mis: “jika”, “ulangi”, “sampai”, “if”, “repeat”, “until”

Pseudocode • Tujuh operari dasar komputer 1. 2. 3. 4. 5. 6. 7. Membaca

Pseudocode • Tujuh operari dasar komputer 1. 2. 3. 4. 5. 6. 7. Membaca data (Input) Menampilkan data (Output) Melakukan perhitungan aritmetika (Compute) Memberikan nilai ke suatu identifier (Store) Membandingkan dan Memilih (Compare) Melakukan pengulangan (Loop) Procedure dan atau Function

1. Membaca Data • Sewaktu komputer menerima informasi atau input, maka statement yang biasa

1. Membaca Data • Sewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah • • • “Read” “Get” “Baca” “Input”, atau “Key. In” • Contoh: • Read Bilangan • Get kode_pajak • Baca nama_mahasiswa

2. Menampilkan Data • Sewaktu komputer menampilkan informasi atau output, maka statement yang biasa

2. Menampilkan Data • Sewaktu komputer menampilkan informasi atau output, maka statement yang biasa digunakan adalah • • • “Print” “Write” “Put” “Output” “Display”, atau “Cetak” • Contoh: • Print “Universitas Brawijaya” • Cetak “Dasar Pemrograman Komputer” • Output Total

3. Perhitungan Aritmetika • Untuk melakukan operasi aritmetika digunakan pseudocode berikut: • • •

3. Perhitungan Aritmetika • Untuk melakukan operasi aritmetika digunakan pseudocode berikut: • • • + * / () : penjumlahan (Add) : pengurangan (Subtract) : perkalian (Multiply) : pembagian (Divide) : kurung • Statement “Compute”, “Calculate”, ataupun “Hitung” juga dapat digunakan • Contoh: • Add number to total • Total = Total + number

4. Memberikan Nilai ke Identifier • Ada tiga cara untuk memberikan nilai ke dalam

4. Memberikan Nilai ke Identifier • 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

5. Membandingkan dan Memilih • Salah satu operasi terpenting yang dapat dilakukan komputer adalah

5. Membandingkan dan Memilih • Salah satu operasi terpenting yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternatif solusi • Keyword yang digunakan: • “IF” • “THEN” • “ELSE” • Contoh: IF Pilih=‘ 1’ THEN Discount = 0. 1 * harga ELSE Discount = 0. 2 * harga ENDIF

6. Pengulangan • Jika ada beberapa perintah yang harus diulang, maka dapat digunakan keyword

6. Pengulangan • Jika ada beberapa perintah yang harus diulang, maka dapat digunakan keyword • “DOWHILE” • “ENDDO” • Contoh: Bil = 0 DOWHILE Bil < 10 Cetak Bil = Bil + 1 ENDDO

Contoh Algoritma dengan Pseudocode • Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan kalkulator Ulangi

Contoh Algoritma dengan Pseudocode • Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan kalkulator Ulangi Input harga Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga Matikan kalkulator Selesai

Contoh Algoritma dengan Pseudocode • Algoritma Berangkat Kuliah Mulai Bangun dari tempat tidur Mandi

Contoh Algoritma dengan Pseudocode • Algoritma Berangkat Kuliah Mulai Bangun dari tempat tidur Mandi pagi Sarapan pagi Pergi ke kampus Cari ruang kuliah Masuk kelas untuk kuliah Selesai

Contoh Algoritma dengan Pseudocode • Algoritma Sarapan Pagi Mulai Ambil piring Masukkan nasi dan

Contoh Algoritma dengan Pseudocode • 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 kekeyangan Bereskan piring, sendok, dan garpu Selesai

Flowchart Terminal Arah Proses Konektor Input/Output Konektor antar halaman Dokumen Pemilihan Pengulangan Pemanggil Procedure

Flowchart Terminal Arah Proses Konektor Input/Output Konektor antar halaman Dokumen Pemilihan Pengulangan Pemanggil Procedure

Contoh Flowchart Start Masukkan a, b, c d = b^2 – 4 ac d<0

Contoh Flowchart Start Masukkan a, b, c d = b^2 – 4 ac d<0 Y T x 1 = (-b + sqrt(d)) / 2 a x 2 = (-b - sqrt(d)) / 2 a Cetak: x 1, x 2 Stop Cetak: “Akar imajiner”

Kriteria Algoritma yang Baik • Mempunyai algoritma yang tepat untuk memecahkan masalah • Menghasilkan

Kriteria Algoritma yang Baik • Mempunyai algoritma yang tepat untuk memecahkan masalah • Menghasilkan output yang benar dalam waktu yang singkat • Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda • Ditulis dengan format baku sehingga mudah diimplementasikan ke dalam bahasa pemrograman • Semua operasi didefinisikan dengan jelas dan berakhir sesudah sejumlah langkah

Pemrograman Terstruktur • Pemrograman terstruktur merupakan pola penyusunan program komputer hanya dengan menggunakan tiga

Pemrograman Terstruktur • Pemrograman terstruktur merupakan pola penyusunan program komputer hanya dengan menggunakan tiga struktur kontrol: 1. Sequence 2. Selection 3. Repetition

1. Sequence • Urutan pengerjaan dari perintah/statement pertama sampai dengan perintah/statement terakhir • Umumnya

1. Sequence • 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

Contoh Sequence • Contoh: Cetak “Jumlah Mahasiswa” Set Jumlah to 49 Cetak “Tambahan mahasiswa

Contoh Sequence • 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 mulai dari urutan pertama sampai dengan urutan terakhir, jika mhs_baru diisi dengan 2, maka Jumlah yang tercetak adalah 51

2. Selection • Penggambaran sebuah kondisi dan pilihan diantara dua aksi • Statement pertama

2. Selection • 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)

Contoh Selection • Contoh: IF Hari=1 THEN Cetak “Senin” ELSE Cetak “Bukan hari Senin”

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

3. Repetition • Beberapa perintah/statement dapat diulang • Perintah/statement akan tetap diulang selama kondisi

3. Repetition • Beberapa perintah/statement dapat diulang • Perintah/statement akan tetap diulang selama kondisi perulangan memenuhi (jika menggunakan DOWHILE – ENDDO)

Contoh Repetition • Contoh: Bintang = 0 DOWHILE Bintang < 5 Cetak Bintang =

Contoh Repetition • Contoh: Bintang = 0 DOWHILE Bintang < 5 Cetak 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: 01234

LATIHAN 1. Buatlah algoritma menggunakan pseudocode untuk menghitung luas persegi panjang! 2. Buatlah algoritma

LATIHAN 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! 4. Buatlah algoritma menggunakan pseudocode untuk menentukan apakah nilai angka yang diperoleh mahasiswa jika dikonfersi menjadi A, B+, B, C+, C, D+, D, atau E! (sesuai dengan buku pedoman PTIIK) 5. Buatlah algoritma menggunakan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil, dan rata-ratanya!

LATIHAN • Ulangi langkah no. 1 s/d no. 5 pada latihan sebelumnya dengan menggunakan

LATIHAN • Ulangi langkah no. 1 s/d no. 5 pada latihan sebelumnya dengan menggunakan Flowchart!

Filosofi Pemrograman “Good programmer write code for machine…. . Great Programmer write code for

Filosofi Pemrograman “Good programmer write code for machine…. . Great Programmer write code for other programmer…. . ”