Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur dasar & Perintah dasar

Presentasi serupa


Presentasi berjudul: "Struktur dasar & Perintah dasar"— Transcript presentasi:

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

2 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

3 Introduction

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

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

6 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

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

8 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

9 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

10 User friendly program

11 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

12 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

13 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

14 /*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)

15 Basic selection structure

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

17 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

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

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

20 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

21 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

22 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

23 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“ );

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

25 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

26 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 Print “B” else If student’s grade is greater than or equal to Print “C” else If student’s grade is greater than or equal to Print “D” else Print “F”

27 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

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

29 Repetition structure using while

30 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)

31 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

32 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)

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

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

35 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 }

36 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

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

38 Sentinel-controlled repetition
Contoh: User (dosen) akan diminta memasukkan nilai yang didapat oleh seluruh mahasiswa. Range nilai yang diberikan adalah 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

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

40 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 Sehingga dapat dipilih nilai -1 yang berada diluar range nilai mahasiswa

41 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

42 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

43 Outline fig03_08.c (3 of 3 )

44 More repetition structure

45 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

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

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

48 Fig. 4.4 | Flowcharting a typical for repetition statement.

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

50 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 );

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

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

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

54 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

55 Selection statement using switch

56 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

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

58 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)

59 Break and continue statement

60 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

61 Outline fig04_11.c break immediately ends for loop

62 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

63 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

64 Summary

65 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

66 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

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

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

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

70 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}

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

72 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

73 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

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

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

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

77 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

78 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

79 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)

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

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

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


Download ppt "Struktur dasar & Perintah dasar"

Presentasi serupa


Iklan oleh Google