Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Semester genap 2011/2012 Algoritma&Pemrograman STRUKTUR DASAR & PERINTAH DASAR Prima Dewi P, AAP Ratna, Dodi Sudiana.

Presentasi serupa


Presentasi berjudul: "Semester genap 2011/2012 Algoritma&Pemrograman STRUKTUR DASAR & PERINTAH DASAR Prima Dewi P, AAP Ratna, Dodi Sudiana."— Transcript presentasi:

1 Semester genap 2011/2012 Algoritma&Pemrograman STRUKTUR DASAR & PERINTAH DASAR Prima Dewi P, AAP Ratna, Dodi Sudiana

2 Algoritma&Pemrograman Outline 2  Introduction  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 3

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

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

6 Algoritma&Pemrograman Pseudocode 6  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 Algoritma&Pemrograman Perintah Dasar  Menyatakan algoritma  Alur pemecahan masalah  Mudah diimplementasi dengan bahasa pemrograman  Singkat, jelas, terstruktur, fleksibel  Konsep pengolahan data berbasis Komputer 7

8 Algoritma&Pemrograman Perintah Dasar dalam pseudocode Perintah-perintah dasar yang dapat digunakan pada pseudocode PerintahLambang penulisantulis/printf/write pembacaanbaca/scanf/read pemuatan (assignment)= pengulanganwhile…(do)-ewhile pencabanganif…(then)-else-eif 8

9 Algoritma&Pemrograman Struktur Dasar  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 9

10 User friendly program 10

11 Algoritma&Pemrograman 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 11

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

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

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

15 Basic selection structure 15

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

17 Algoritma&Pemrograman Struktur seleksi/percabangan (selection structure) 17  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 Algoritma&Pemrograman Struktur seleksi/percabangan (selection structure)  Kondisi/syarat berisi pernyataan Boolean, yang dapat bernilai benar (true) atau salah (false)  Menggunakan perintah:  if  If else  switch 18

19 Algoritma&Pemrograman Pernyataan Seleksi if 19  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 Algoritma&Pemrograman Mengubah pseudocode if menjadi program C 20  Pseudocode: If nilai mahasiswa lebih besar atau sama dengan 60 Print “lulus”  Bahasa C: if ( grade >= 60 ) printf( "Passed\n" ); Kondisi yang diseleksi

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

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

23 Algoritma&Pemrograman Mengubah pseudocode if..else menjadi program C 23  Pseudocode: 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 Algoritma&Pemrograman Flowchart if..else Apakah Nilai >= 60 ? Cetak ‘LULUS’ YATIDAK Cetak ‘Gagal ’ 24

25 Algoritma&Pemrograman Pernyataan if…else bersarang 25  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 Algoritma&Pemrograman 26  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” Pernyataan if…else bersarang

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

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

29 Repetition structure using while 29

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

31 Algoritma&Pemrograman Repetition Essentials 31  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 Algoritma&Pemrograman Counter-Controlled Repetition 32  Counter-controlled repetition requires 1. The name of a control variable (or loop counter) 2. The initial value of the control variable 3. An increment (or decrement) by which the control variable is modified each time through the loop 4. A condition that tests for the final value of the control variable (i.e., whether looping should continue)

33 Algoritma&Pemrograman Contoh 33  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 Algoritma&Pemrograman 34 Fig. 3.5 | Pseudocode algorithm that uses counter-controlled repetition to solve the class average problem.

35 Algoritma&Pemrograman Counter-Controlled Repetition using While 35  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 36 Outline 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 37 Outline fig03_06.c (2 of 2 ) Calculate the average

38 Algoritma&Pemrograman Sentinel-controlled repetition 38  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 Algoritma&Pemrograman 39 Fig. 3.7 | Pseudocode algorithm that uses sentinel-controlled repetition to solve the class average problem.

40 Algoritma&Pemrograman Bagaimana cara menentukan Sentinel? 40  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 41 Outline fig03_08.c (1 of 3 ) float type indicates variable can be a non- integer

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

43 43 Outline fig03_08.c (3 of 3 )

44 More repetition structure 44

45 Algoritma&Pemrograman Counter-Controlled Repetition using For 45  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 Algoritma&Pemrograman Counter-Controlled Repetition using For 46 Fig. 4.3 | for statement header components.

47 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 Algoritma&Pemrograman Fig. 4.4 | Flowcharting a typical for repetition statement. 48

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

50 Algoritma&Pemrograman do … while Repetition Statement 50  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 Algoritma&Pemrograman do … while Repetition Statement 51  Example (letting counter = 1): do { printf( "%d ", counter ); } while (++counter <= 10);  Prints the integers from 1 to 10

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

53 Algoritma&Pemrograman Fig | Flowcharting the do...while repetition statement. 53

54 Algoritma&Pemrograman For vs Do..while vs While 54  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 55

56 Algoritma&Pemrograman Selection statement using switch 56  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': actions break; default: actions }  break; exits from statement

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

58 Algoritma&Pemrograman Switch vs If 58  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 59

60 Algoritma&Pemrograman break and continue Statements 60  break  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 61 Outline fig04_11.c break immediately ends for loop

62 Algoritma&Pemrograman continue Statements 62  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 63 Outline fig04_12.c continue skips to end of for loop and performs next iteration

64 Summary 64

65 Algoritma&Pemrograman Summary 65  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 Algoritma&Pemrograman Latihan 66  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 Dikerjakan berkelompok 1 kelompok terdiri dari 3 orang Menggunakan DevC++ Didemokan pekan depan Assignment 1 67

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

69 Algoritma&Pemrograman bil > 0 mutlak = bil mutlak = - bil tidak ya

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

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

72 Algoritma&Pemrograman  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 Algoritma&Pemrograman  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 Algoritma&Pemrograman Soal 3 “Persamaan Kuadrat”  Tujuan : membuat algoritma program menghitung akar-akar persamaan kuadrat yang koefisiennya dimasukkan melalui keyboard 74

75 Algoritma&Pemrograman  Langkah-langkahnya  menyeleksi kondisi salah dengan memeriksa nilai koefisien  menentukan jenis akar persamaan berdasarkan koefisien

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

77 Algoritma&Pemrograman 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 Algoritma&Pemrograman {akar komplek atau tidak} if d=0 then {hitung akar kembar} x1 = -b/(2*a) x2 = x1

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

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

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

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


Download ppt "Semester genap 2011/2012 Algoritma&Pemrograman STRUKTUR DASAR & PERINTAH DASAR Prima Dewi P, AAP Ratna, Dodi Sudiana."

Presentasi serupa


Iklan oleh Google