1 / 42

Algoritma : CONTROL STRUCTURES

Algoritma : CONTROL STRUCTURES. Ardian Maretta Prastiawan, Ssi Software Development UPT. Puskom UNS http://wa2n.staff.uns.ac.id http://wa2n.web.id wa2n@uns.ac.id Y!m:w4ww4n. CONTROL STRUCTURES. SEQUENTIAL/ URUTAN

kirra
Télécharger la présentation

Algoritma : CONTROL STRUCTURES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma :CONTROL STRUCTURES Ardian Maretta Prastiawan, Ssi Software Development UPT. Puskom UNS http://wa2n.staff.uns.ac.idhttp://wa2n.web.id wa2n@uns.ac.id Y!m:w4ww4n

  2. CONTROL STRUCTURES • SEQUENTIAL/ URUTAN Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial. • BRANCHING/ PERCABANGAN Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnya • LOOPING/ PERULANGAN Mengulangi proses selama syarat/ kondisi tertentu terpenuhi

  3. Entry Action 1 Action 2 Action 3 Exit SEQUENTIAL/ URUTAN

  4. Entry Condition 1 TRUE FALSE Condition 2 Action 1 FALSE TRUE Action 2 Action 3 Exit BRANCHING/ PERCABANGAN

  5. Entry Action 1 Action 2 Looping 1 Y Y if 1 T if 2 Looping 2 T Action 3 Exit LOOPING/ PERULANGAN

  6. IF - ELSE • Biasa digunakan untuk seleksi nilai/ data • Kondisi jamak  ((kondisi_1) &&/ || (kondisi_2)) • if (kondisi=TRUE) jalankan_statement_ini • if (kondisi=TRUE) statement_1 else statement_2 // if kondisi=FALSE • if (kondisi=TRUE) statement_1 else if (kondisi=TRUE) statement_2 else statement_3 // if kondisi=FALSE • if (kondisi=TRUE) if (kondisi=TRUE) nested_statement

  7. SWITCH - CASE • Biasa digunakan untuk membuat menu dalam program switch (variabel_pilihan) { case nilai_1 : statemen_1; break; case nilai_2 : statemen_2; break; case nilai_3 : statemen_3; break; … default: statemen_default; } • Bisa berbentuk nested/ bersarang

  8. LOOP FOR • Syntax source code lebih ringkas • Biasa dipakai untuk perulangan yang sudah jelas jumlah perulangannya for(nilai_awal; syarat_ulang; inc/dec) { statemen_yang_akan_diulang2; }

  9. LOOP WHILE & DO-WHILE • Biasa dipakai untuk perulangan dengan kondisi bersyarat/ logika • while (kondisi=TRUE) { jalankan_statemen_ini; } • do { jalankan_statemen_ini; } while (kondisi=TRUE)

  10. NESTED LOOP • Perulangan bersarang (terjadi di dalam perulangan) • Yang biasa dipakai adalah loop FOR karena lebih mudah & ringkas • Contoh kasus yang sering dipakai adalah pengolahan tampilan, angka dan matrik for(int i=1; i<=5; i++) { for(int j=1; j<=i; j++) print(“%d “, j); // milik loop for dalam print(“\n”); // milik loop for luar }

  11. FUNGSI • Adalah subrutin/ subprogram/ potongan program • Mempunyai tugas tertentu • Mempunyai bagian RETURN VALUE dan PARAMETER/ ARGUMEN • Ada istilah deklarasi & prototype fungsi tipe_return_valuenama_fungsi (parameter) { statemen2; // badan fungsi return (return_value/ variabel); }

  12. true false print “Passed” grade >= 60 Selection Control [1] (if) • Statementif: • Digunakan untuk seleksi suatu kondisi • Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” • Contoh Flowchart:

  13. Selection Control [2] (if) • Jika kondisi true • Statement Print dieksekusi dan program dilanjutkan ke statement berikutnya • Jika kondisi false • Statement Print diabaikan dan program dilanjutkan ke statement berikutnya • Dalambahasa C: if ( grade >= 60 ) printf( "Passed\n" );

  14. false true print “Passed” print “Failed” grade >= 60 Selection Control [3] (if…else) • Statementif…else: • Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi false • Contoh pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed” • Contoh Flowchart:

  15. Selection Control [4] (if…else) • Dalam C : if ( grade >= 60 ) printf( "Passed\n"); else printf( "Failed\n"); • Ternary conditional operator (?:) • Memerlukan tiga argumen (kondisi, nilai jika true, nilai jika false) • Contoh di atas dapat ditulis sbb: printf( "%s\n", grade >= 60 ? "Passed" : "Failed" ); • Atau dapat ditulis sbb: grade >= 60 ? printf( “Passed\n” ) : printf( “Failed\n” );

  16. Selection Control [5] (if…else) • Statementif…else bertingkat/bersarang: • Digunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if…else di dalam statementif…else • Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan • Contoh 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”

  17. Selection Control [6] (if…else) • Compound statement • Ada lebih dari satu statement/aksi yang harus dieksekusi setelah suatu kondisi dipenuhi • Sering disebut juga blok karena ditandai dengan pasangan { dan } • Contoh: if ( grade >= 60 ) printf( "Passed.\n" ); else { printf( "Failed.\n" ); printf( "You must take this course again.\n" );} • Tanpa tanda kurung kurawal, statement printf( "You must take this course again.\n" ); Akan dieksekusi secara otomatis.

  18. Selection Control [7] (switch) • Multiple-Selection Statementswitch: • Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua nilai yang mungkin dan masing-masing mengambil aksi yang berbeda • Format penulisan: • Sederetan label case dan opsional default case switch ( value ){ case '1': actions case '2': actions default: actions } • break; keluar dari statement

  19. true false true false . . . true false case a action(s) case z action(s) case b action(s) break break break default action(s) case b case a case z Selection Control [8] (switch) • Flowchart statementswitch:

  20. Repetition Control [1] (while) • Struktur pengulangan structure • Programmer menentukan aksi yang akan diulang selama kondisi tetap true • Psuedocode: While there are more items on my shopping list Purchase next item and cross it off my list • while loop diulang hingga kondisi menjadi false • Contoh: product = 2; while ( product <= 1000 ) product = 2 * product;

  21. true product <= 1000 product = 2 * product false Repetition Control [2] (while) • Flowchart:

  22. Repetition Control [3] (while) • Pengulangan yang dikontrol sebuah counter • Loop diulang hingga counter mencapai angka tertentu • Disebut juga definite repetition karena jumlah pengulangan dapat kita ketahui • Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti kuis. Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis tersebut. • Pseudocode: Set total to zeroSet grade counter to one While grade counter is less than or equal to tenInput the next gradeAdd the grade into the totalAdd one to the grade counter Set the class average to the total divided by tenPrint the class average

  23. Repetition Control [4] (while) • Pengulangan yang dikontrol sebuah sentinel • Sentinel: tanda berhenti untuk keluar dari suatu loop, biasanya berupa karakter, angka, atau tombol di keyboard sebagai tanda. Misalnya ‘Q’ untuk exit. • Loop diulang hingga mencapai sentinel tersebut • Jumlah pengulangan belum dapat kita ketahui secara pasti

  24. Contoh • Requirement • Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan • Nantinya ini bisa digeneralisir menjadi n buah bilangan

  25. Algoritma Dalam Bahasa Natural • Ambil bilangan pertama dan set maks sama dengan bilangan pertama • Ambil bilangan kedua dan bandingkan dengan maks • Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua • Ambil blangan ketiga dan bandingan dengan maks • Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga • Variabel maks berisi bilangan terbesar. Tayangkan hasilnya

  26. Contoh :Algoritmadengan Flowchart

  27. Contoh Algoritma dengan pseudo-code Begin Read bilangan pertama Read bilangan kedua Read bilangan ketiga maks ← bilangan pertama if (maks < bilangan kedua) maks ← bilangan kedua if (maks < bilangan ketiga) maks ← bilangan ketiga Print maks end

  28. Pseudocode • Mendapatkannilaimaksimaldarisejumlahnilaiujian • fori = 1  10 • input nilai[i] • endfor • max  nilai[1] • for j = 2  10 • if (nilai[j] > max) • max = nilai[j] • endif • endfor • print max

  29. Pseudocode • Contoh: menentukan bilangan terbesar dari dua bilangan • input bilangan1 • input bilangan2 • if (bilangan1 > bilangan2) do step 4 otherwise do step 5 • print bilangan1 • print bilangan2

  30. Flowchart Start input b1 input b2 If(b1>b2) do step 4 otherwise do step 5 print b1 print b2 input b1 input b2 Y b1 > b2 ? print b2 N print b1 End

  31. Contoh Algoritma 2 Mencari akar bulat positif dari bilangan bulat (integer) positif a: Masukkan bilangan bulat positif a Berikan harga awal x sama dengan 1 Hitung y sebesar x * x Jika y sama dengan a maka cetak x sebagai akar dari a. Selesai Tambah nilai x dengan 1 Pergi ke langkah 3.

  32. Flowchart Start input a x=1 Y=x*x x=x+1 N Y If y<=a If y=a N Y print a tidak punya akar bulat print akar dari a=x End

  33. Tugas Dikumpulkan • Jelaskan apa yang dimaksud dengan: algoritma, pemrograman, program,bahasa pemrograman, programmer,flowchart,pseudocode. • Buat pseudecode & flowchart untuk kasus berikut: • Menghitung nilai terkecil,terbesar,rata-rata,median dari 5 bilangan • jumlah bilangan dibawah 1000 yang habis dibagi 3 dan 5 • Buatlah algoritma untuk menentukan apakah 3 bilangan (a, b dan c) merupakan triplet phytagoras (a2 = b2 + c2) Tugas dikirim email ke wa2n@uns.ac.id dalam format msword/doc beri nim dan nama, dikumpulkan paling lambat pertemuan berikutnya Materi bisa di download di http://wa2n.staff.uns.ac.id Y!M: w4ww4n@yahoo.com

  34. Variabel • Digunakan untuk menyimpan data • Variabel harus diisi dengan nilai persiapan terlebih dahulu • Nama variabel • Harus diawali dengan huruf • Hanya terdiri dari 1 kata • Sebaiknya yang mudah di ingat • Contoh: • Panjang, lebar, luas merupakan variabel yang kita butuhkan untuk mencari luas persegi panjang

  35. Bagaimana Implementasi ke Program • Implementasi ke program bergantung kepada bahasa pemrograman yang digunakan • Memahami sintaks bahasa yang akan digunakan • Menerjemahkan sesuai aturan dalam bahasa pemrograman

  36. Jenis Jenis Bahasa Pemrograman • Bahasa Pemrograman berbasis teks adalah bahasa pemrograman dimana dalam pemberian instruksi menggunakan teks. Contoh: Quick Basic, Pascal, C, C++ • Bahasa pemrograman berbasis Visual adalah bahasa pemrograman dimana dalam pendisainan dibantu komponen /objek yang dapat langsung digunakan

  37. Bahasa Pemrograman Berbasis Visual • Pendekatan Disain menggunakan objek/komponen dan konsep yang dikembangkan terdiri dari : • Event • Methode • Properties

  38. Event • Event adalah kejadian yang diinginkan terhadap objek tersebut. Contoh event seperti : • Menjalankan objek icon di desktop anda harus klik 2 kali • Membuka objek menu start di window anda klik satu kali • Membuka menu di objek desktop atau lokasi lain menggunakan klik kanan

  39. Properties • Properties berfungsi untuk menentukan sifat dari suatu objek. Arti sifat seperti warna, jenis huruf, ukuran huruf, gambar latar belakang, menghidupkan atau mematikan menu. • Contoh : • Latar belakang desktop dapat diganti gambar melalui menu properties desktop • Warna dari window dapat juga anda atur melalui desktop • Bentuk tampilan di window dapat anda ubah melalui template(cetakan) yang disediakan

  40. Methode • Methode adalah susunan perintah yang dikerjakan bila event dijalankan misal • Bila event klik satu kali di menu start dijalankan maka program (susunan perintah) untuk menampilkan menu start dijalankan. • Bila icon di desktop dklik dua kali maka akan dijalankan program(susunan perintah) memanggil file sesuai dengan file yang telah didaftarkan

  41. <kondisi> <jika kondisi terpenuhi> <jika kondisi tidak terpenuhi> <jika kondisi 1 terpenuhi> <jika kondisi 1 terpenuhi> <jika kondisi 1 terpenuhi> <jika kondisi 2 terpenuhi> <jika kondisi tidak terpenuhi> Fungsi IF • Prinsip Fungsi IF digambarkan notasi flowchart sebagai berikut : If <kondisi> Then <jika kondisi terpenuhi> Proses 1 If <kondisi> Then <jika kondisi terpenuhi> Else <jika kondisi tidak terpenuhi> End if <kondisi> <jika kondisi terpenuhi> Proses 1 If <Kondisi 1> then <jika kondisi 1 terpenuhi> Elseif <kondisi 2> then <jika kondisi 2 terpenuhi> Else <jika kondisi 1 & 2 tidk terpenuhi> End if <kondisi 1> <kondisi 2>

More Related