Struktur dasar & Perintah dasar

Slides:



Advertisements
Presentasi serupa
TUGAS Buatlah program menghitung luas persegi panjang!
Advertisements

Bab 2 Struktur Dasar.
Dasar Pemrograman Komputer
TEORI ALGORITMA.
STRUKTUR DASAR ALGORITMA
Algoritma : CONTROL STRUCTURES
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
Struktur Kontrol.
Control Structures in Java Risanuri Hidayat, Ir., M.Sc.
KONTROL ALUR EKSEKUSI PROGRAM
MINGGU 2 Java Programming (MKB614C)
LOGIKA ALGORITMA Pertemuan 6.
Oleh Nila Feby Puspitasari
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
Materi-Materi Pengantar Algoritma Konsep Bahasa Pemrograman Flowchart
2. Introduction to Algorithm and Programming
III. STRUKTUR KONTROL.
Bab 2 – b PERINTAH 2 B Percabangan. PERCABANGAN Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat terdiri dari operand-operand,
2 JAM TEORI dan 1 jam praktek
Struktur Kendali dan Repetisi
Struktur Kontrol Pemilihan
Pertemuan Operasi Seleksi
REPETITION CONTROL STRUCTURES
Algoritma dan Pemrograman
Struktur kontrol.
PERNYATAAN PERULANGAN
Algoritma dan Struktur Data
Pengulangan.
Object-oriented Programming (OOP) with JAVA 2011/2012
Pertemuan 9-10 Operasi Looping (Pengulangan)
Percabangan Dosen Pengampu: M. Zidny Naf’an, M.Kom.
While … do … Repeat … until … For … to … do …
Struktur Kontrol Struktur kontrol if Struktur kontrol if-else
STRUKTUR DASAR ALGORITMA
Penulisan Algoritma dan Flowchart
Transfer of control (pemindahan langkah)
STRUKTUR PERULANGAN STMIK AMIKOM PURWOKERTO.
Buatlah flowchart untuk pembagian 3 buah bilangan
PERNYATAAN PERULANGAN
KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma
Algoritma.
Konsep pemrograman LOOP
Pertemuan 4 PROGRAMMING LANGUAGE.
Struktur Seleksi (Percabangan)
Algoritma Pemrograman
penyusunan algoritma (flowchart)
BAB 4 Flow Control & Looping
Aliran Kendali (Flow Control)
Pemrograman Web Lanjut “Pertemuan ke-3”
Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.
Pseudocode – Tipe Data, Variabel, dan Operator
Bab 2B Struktur Dasar 2 Pengulangan
Pengulangan.
JAVA FUNDAMENTAL.
Structure Theorem Rahmat D.R. Dako, ST, M.Eng.
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Flow Control & Exception Handling
BAB 3 PERINTAH 2 C 7/23/2018 ABR team presentation.
Bab 2 Struktur Dasar.
STRUKTUR DATA.
Teknik Pengujian Software
Konsep Bahasa Pemrograman I Operator
Kuliah ke-4 Program Studi Ekstensi DTE FTUI Slides©2008
Struktur Kontrol Pemilihan
STRUKTUR DASAR ALGORITMA
Algoritma & Pemrograman 1 Achmad Fitro The Power of PowerPoint – thepopp.com Chapter 3.
Algoritma & Pemrograman 1 Achmad Fitro The Power of PowerPoint – thepopp.com Chapter 4.
Perulangan (Loop) Oleh : Tim Teaching
Struktur Kontrol Pemilihan Struktur kontrol pemilihan adalah pernyataan dari Java yang mengijinkan user untukmemilih dan mengeksekusi blok kode spesifik.
Transcript presentasi:

Struktur dasar & Perintah dasar Prima Dewi P, AAP Ratna, Dodi Sudiana

Outline Introduction User friendly program Algoritma, pseudocode Basic program structure User friendly program Basic selection structure using IF Repetition structure using while using for and do..while Selection structure using switch Break and continue statement

Introduction

Pendahuluan Sebelum membuat program: Harus memahami masalah yang dihadapi  definisi dan deskripsi masalah Membuat perencanaan yang baik (Algoritma) untuk menyelesaikannya.

Algoritma Permasalahan komputasi Dapat diselesaikan dengan mejalankan sekumpulan kegiatan dalam urutan tertentu. Dengan cara Pengendalian Program

Pseudocode Pseudocode Bahasa buatan yang tidak formal dimana dapat membantu untuk mengembangkan algoritma Dapat menggunakan bahasa sehari-hari Tidak dapat dijalankan dengan komputer Membantu ‘membuat’ program sebelum membuat codingnya. Mudah untuk diterjemahkan ke dalam bentuk bahasa pemrograman

Perintah Dasar Menyatakan algoritma Alur pemecahan masalah Mudah diimplementasi dengan bahasa pemrograman Singkat, jelas, terstruktur, fleksibel Konsep pengolahan data berbasis Komputer

Perintah Dasar dalam pseudocode Perintah-perintah dasar yang dapat digunakan pada pseudocode Perintah Lambang penulisan tulis/printf/write pembacaan baca/scanf/read pemuatan (assignment) = pengulangan while…(do)-ewhile pencabangan if…(then)-else-eif

Struktur Dasar Struktur berurut (sequence structure) Bohm dan Jacopini  Seluruh program dapat ditulis dalam 3 struktur pengendali: Struktur berurut (sequence structure) Struktur seleksi/percabangan (selection structure): if, if…else, and switch Struktur pengulangan (repetition structure): while, do…while and for

User friendly program

Program yang akrab (User friendly) Komunikatif Mudah digunakan (memberikan Fasilitas Kemudahan bagi pemakai) Petunjuk singkat penggunaan program Pernyataan error Cara mengatasi kesalahan Fasilitas Help Singkat, jelas, terstruktur dan fleksibel

Hal-hal penting yang dapat membuat program User friendly Tujuan/Judul program Petunjuk pengoperasian program Pesan kesalahan Keterangan Siap Panggil Tataletak peragaan Hemat kegiatan Fleksibel

Contoh program yang user friendly /*Peragakan petunjuk pengoperasian*/ Write (‘Menghitung rata-rata bilangan positif \n ======================================= \n - Masukkan sembarang bil. Positif atau \n negatif diakhiri dengan <enter> \n - Masukkan nol untuk menandakan bilangan\n terakhir \n ----------------------------------------\n’) /*Inisialisasi*/ n = 0 jumlah = 0

/*Penjumlahan bilangan positif*/ read (bil) while (bil<> 0) do if (bil > 0) then jumlah = jumlah + bil n = n + 1 eif Ewhile /*Penulisan hasil perhitungan*/ If (n <>) 0 then write (n, jumlah, jumlah/n)

Basic selection structure

Struktur berurut (sequence structure) Eksekusi urutan/pernyataan tidak bersyarat Proses A Proses B Proses C

Struktur seleksi/percabangan (selection structure) Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat/kondisi terdiri dari operand-operand yang dihubungkan dengan operator relasi dan operator logika Pengalihan pengendalian Bila perintah yang dijalankan adalah bukan perintah berikutnya dalam urutan program Hindari perintah ‘goto’  menimbulkan banyak masalah

Struktur seleksi/percabangan (selection structure) Kondisi/syarat berisi pernyataan Boolean, yang dapat bernilai benar (true) atau salah (false) Menggunakan perintah: if If else switch

Pernyataan Seleksi if Digunakan untuk memilih alur alternatif Contoh Pseudocode: If nilai mahasiswa lebih besar atau sama dengan 60 Print “lulus” Jika kondisi true (benar) Pernyataan Print dijalankan dan program akan meneruskan ke perintah berikutnya. Jika false, pernyataan print diabaikan dan menjalankan perintah berikutnya.

Mengubah pseudocode if menjadi program C If nilai mahasiswa lebih besar atau sama dengan 60 Print “lulus” Bahasa C: if ( grade >= 60 ) printf( "Passed\n" ); Kondisi yang diseleksi

Flowchart if Simbol Berlian (decision symbol) Digunakan untuk seleksi Apakah Nilai >= 60 ? Digunakan untuk seleksi Hasilnya: benar atau salah Menguji kondisi dan mengikuti jalur yang tepat. Cetak ‘LULUS’ YA TIDAK

Seleksi dengan if…else Hanya melaksanakan aksi bila kondisinya adalah benar/true if…else Melaksanakan suatu aksi untuk kedua kondisi, baik benar/true atau salah/false

Mengubah pseudocode if..else menjadi program C If nilai siswa lebih besar atau sama dengan 60 Print “Lulus” else Print “Gagal” Code C: if ( nilai >= 60 ) printf( “Lulus\n“ ); else printf( “Gagal\n“ );

Flowchart if..else Apakah Nilai >= 60 ? Cetak ‘Gagal’ Cetak ‘LULUS’ TIDAK YA Cetak ‘LULUS’

Pernyataan if…else bersarang Pernyataan if…else di dalam pernyataan if…else Struktur ini digunakan apabila ada banyak kemungkinan kondisi yang diseleksi Satu kondisi terpenuhi, yang lain di-skip

Pernyataan if…else bersarang Pseudocode If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

Jenis kesalahan Syntax errors Logic errors: Caught by compiler Have their effect at execution time Non-fatal: program runs, but has incorrect output Fatal: program exits prematurely

What we have learned so far.. Selection Structure using if if Only performs an action if the condition is true if…else Specifies an action to be performed both when the condition is true and when it is false Nested if..else Test for multiple cases by placing if…else selection statements inside if…else selection statement Once condition is met, rest of statements skipped What we have learned so far..

Repetition structure using while

Struktur perulangan (Repetition structure) Sejumlah aksi harus dilaksanakan berulang kali selama kondisi bernilai benar (true) Dapat dibuat dengan while for do…while (equal to repeat…until)

Repetition Essentials Counter-controlled repetition Definite repetition: jumlah perulangan diketahui Control variable digunakan untuk menghitung jumlah perulangan Sentinel-controlled repetition Indefinite repetition: jumlah perulangan tidak diketahui Sentinel value digunakan untuk menyatakan akhir data

Counter-Controlled Repetition Counter-controlled repetition requires The name of a control variable (or loop counter) The initial value of the control variable An increment (or decrement) by which the control variable is modified each time through the loop A condition that tests for the final value of the control variable (i.e., whether looping should continue)

Contoh Sepuluh orang mahasiswa mengikuti kuis. Range nilai yang diberikan adalah 0-100. User (dosen) akan diminta memasukkan nilai yang didapat oleh seluruh mahasiswa. Program akan menentukan rata-rata nilai kuis yang diperoleh

Fig. 3.5 | Pseudocode algorithm that uses counter-controlled repetition to solve the class average problem.

Counter-Controlled Repetition using While Format for while repetition initialization; while ( loopContinuationTest ) { statement; increment; } Example: int counter = 1; // control variable & initialization while ( counter <= 10 ) { // repetition condition printf( "%d\n", counter ); ++counter; // increment }

Outline (1 of 2 ) Counter to control while loop fig03_06.c (1 of 2 ) Counter to control while loop Initialize counter to 1 while loop iterates as long as counter <= 10 Increment the counter

Outline Calculate the average fig03_06.c (2 of 2 )

Sentinel-controlled repetition Contoh: User (dosen) akan diminta memasukkan nilai yang didapat oleh seluruh mahasiswa. Range nilai yang diberikan adalah 0-100. Jumlah mahasiswa belum diketahuti (tidak terbatas). Program akan menentukan rata-rata nilai kuis yang diperoleh. Soal ini mirip dengan contoh sebelumnya. Bedanya hanyalah perulangan tidak diketahui (indefinite loop). Oleh karena itu dibutuhkan sentinel value

Fig. 3.7 | Pseudocode algorithm that uses sentinel-controlled repetition to solve the class average problem.

Bagaimana cara menentukan Sentinel? Nilai sentinel yang ditentukan harus memiliki tipe yang sama dengan input yang dimasukkan, namun berada diluar range nilai yang benar Nilai input yang dimasukkan berupa angka integer 0-100. Sehingga dapat dipilih nilai -1 yang berada diluar range nilai mahasiswa

Outline (1 of 3 ) float type indicates variable can be a non-integer fig03_08.c (1 of 3 ) float type indicates variable can be a non-integer

Outline while loop repeats until user enters a value of -1 (2 of 3 ) fig03_08.c (2 of 3 ) Ensures the user entered at least one grade Converts total to float type Prints result with 2 digits after decimal point

Outline fig03_08.c (3 of 3 )

More repetition structure

Counter-Controlled Repetition using For Hanya bisa digunakan untuk jumlah perulangan yang diketahui (definite repetition) Format: for ( initialization; loopContinuationTest; increment or decrement ) statement Example: for( int counter = 1; counter <= 10; counter++ ) printf( "%d\n", counter ); Prints the integers from one to ten

Counter-Controlled Repetition using For Fig. 4.3 | for statement header components.

Outline fig04_02.c for loop begins by setting counter to 1 and repeats while counter <= 10. Each time the end of the loop is reached, counter is incremented by 1.

Fig. 4.4 | Flowcharting a typical for repetition statement.

Outline fig04_05.c Note that number has a different value each time this statement is executed

do…while Repetition Statement The do…while repetition statement Similar to the while structure Condition for repetition only tested after the body of the loop is performed All actions are performed at least once Format: do { statement; } while ( condition );

do…while Repetition Statement Example (letting counter = 1): do { printf( "%d ", counter ); } while (++counter <= 10); Prints the integers from 1 to 10

Outline fig04_09.c increments counter then checks if it is less than or equal to 10

Fig. 4.10 | Flowcharting the do...while repetition statement.

For vs Do..while vs While For hanya dapat digunakan untuk proses pengulangan berdasarkan harga satu variabel. Do…while Pengulangan ditempatkan diakhir simpai. Perintah didalam simpai pasti dikerjakan 1X  kondisi awal pengulangan harus benar Penggunaan simpai while lebih ‘aman’ karena penyeleksian kondisi dilakukan diawal

Selection statement using switch

Selection statement using switch Useful when a variable or expression is tested for all the values it can assume and different actions are taken Format Series of case labels and an optional default case switch ( value ){ case '1': actions break; case '2': default: } break; exits from statement

Fig. 4.8 | switch multiple-selection statement with breaks.

Switch vs If prinsip sama dengan if (lebih umum) hanya digunakan untuk pemeriksaan berdasarkan 1 variabel (if sembarang) digunakan untuk memeriksa harga variabel terhadap sekumpulan nilai (kalau sedikit  if)

Break and continue statement

break and continue Statements Causes immediate exit from a while, for, do…while or switch statement Program execution continues with the first statement after the structure Common uses of the break statement Escape early from a loop Skip the remainder of a switch statement

Outline fig04_11.c break immediately ends for loop

continue Statements continue Skips the remaining statements in the body of a while, for or do…while statement Proceeds with the next iteration of the loop while and do…while Loop-continuation test is evaluated immediately after the continue statement is executed for Increment expression is executed, then the loop- continuation test is evaluated

Outline continue skips to end of for loop and performs next iteration fig04_12.c continue skips to end of for loop and performs next iteration

Summary

Summary Structured programming Easier than unstructured programs to understand, test, debug and, modify programs All programs can be broken down into 3 controls Sequence – handled automatically by compiler Selection – if, if…else or switch Repetition – while, do…while or for Can only be combined in two ways Nesting Stacking Any selection can be rewritten as an if statement, and any repetition can be rewritten as a while statement

Latihan Buatlah pseudocode untuk mengkonversi suhu dengan pengulangan dan pencabangan Pengulangan sampai 5 kali Pencabangan untuk input dalam C, R, K, F Pseudocode harus sudah memasukkan unsur user friendly

Assignment 1 Dikerjakan berkelompok 1 kelompok terdiri dari 3 orang Menggunakan DevC++ Didemokan pekan depan

Soal 1 “Harga Mutlak Bilangan“ Tujuan : menentukan harga mutlak setiap bilangan yang dimasukkan lewat keyboard (akhirdata = 0)

tidak bil > 0 ya mutlak = - bil mutlak = bil

Algoritmanya tulis (mutlak) {peragakan harga mutlak tersebut} baca(bil) if bil > 0 then mutlak = bil else mutlak = -bil eif tulis (mutlak) {peragakan harga mutlak tersebut}

Soal 2 “Bilangan genap dan ganjil” Tujuan : membuat algoritma yang dapat menyatakan suatu bilangan adalah genap atau ganjil Akhir data dinyatakan dengan nilai “0”

Sisa pembagian nol  bilangan genap jika tidak nol  bilangan ganjil Langkah-langkahnya menentukan suatu bilangan genap atau ganjil dengan membagi bilangan dengan bilangan 2 (mod) Sisa pembagian nol  bilangan genap jika tidak nol  bilangan ganjil

Algoritmanya akhirData = 0 Baca (bil) while bil <> akhirData do sisa =bil mod 2 if sisa == 0 then write (‘genap’) else write (‘ganjil’) eif baca (bil) ewhile

Soal 3 “Persamaan Kuadrat” Tujuan : membuat algoritma program menghitung akar-akar persamaan kuadrat yang koefisiennya dimasukkan melalui keyboard

Langkah-langkahnya menyeleksi kondisi salah dengan memeriksa nilai koefisien menentukan jenis akar persamaan berdasarkan koefisien

Algoritma: baca (a) while a<>0 do baca (b,c) d=b^2-4*a*c continue

if d<0 then {hitung akar kompleks} p= -b/(2*a) q = abs (sqr(-d)/((2*a)) tulis (‘x1=‘, p, ‘+’, q, ‘i’) tulis (‘x2=‘, p, ‘-’, q, ‘i’) else continue

if d=0 then {hitung akar kembar} x1 = -b/(2*a) x2 = x1 {akar komplek atau tidak} if d=0 then {hitung akar kembar} x1 = -b/(2*a) x2 = x1

else {hitung akar tidak kembar} x1 = (-b+sqr(d))/(2*a) x2 = (-b-sqr(d))/(2*a) eif tulis (‘x1=‘, x1) tulis (‘x2=‘,x2) Baca (a)

Soal 4 “Relasi bilangan” Tujuan: Menentukan apakah kedua buah bilangan yang diinput sama, lebih kecil atau lebih besar

Tugas Kelompok  C program (DevC++) Kel 1 – 4  soal 1 Kel 5 – 8  soal 2 Kel 8 – 13  soal 3 Kel 14 - 17 soal 4

Dev C++ Jangan lupa save program dalam .C Supaya window bisa freeze dan terlihat hasilnya sebelum tertutup otomatis, tambahkan: System(“pause”); Sebelum Return 0; }