Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Penulisan Teks Algoritma
2
Teks Algoritma Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi algoritma.
3
Penulisan Teks Algoritma
Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris) Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami. Menggunakan Flowchart Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma panjang Menggunakan Pseudocode Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman
4
Flowchart Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output. bagan yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. suatu diagram yang menggambarkan susunan logika suatu program
5
Simbol-simbol Flowchart
Terminal Permulaan (start) / akhir (stop) program Flowline Arah aliran program Preparation, Proses inisialisasi/pemberian nilai/harga awal. Proses/prosessing Proses perhitungan/proses pengolahan data
6
Simbol-simbol Flowchart
Input/Output Data Proses input/output data, parameter, informasi. Decision (kotak keputusan) Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya. On Page Connector Penghubung bagian-bagian flowchart yang berada pada satu halaman. Off Page Connector Penghubung bagian-bagian flowchart yang berada pada halaman berbeda.
7
Pembuatan Flowchart Tidak ada kaidah yang baku.
Flowchart = gambaran hasil analisa suatu masalah Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Secara garis besar ada 3 bagian utama: Input Proses Output Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
8
Contoh Flowcart start read/input condition? Ya stop Tidak process
write/print
9
Luas = phi * radius * radius
Contoh Flowcart Start Phi = 3.14 Input (diameter) Radius = diameter/2 Luas = phi * radius * radius Output Luas Stop
10
3 Struktur Flowcart Sequence/ Sederhana Branching/ Percabangan
Looping/ Perulangan Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.
11
Psudocode Suatu cara penulisan teks algoritma dengan menggunakan notasi algoritma notasi algoritma sebaiknya berkoresponden notasi bahasa pemrograman secara umum agar mudah ditranslasikan dalam bahasa pemrograman
12
Kita menuliskan perintah
Tulis Nilai X dan Y Dalam notasi algoritma manjadi : Write (X, Y) Notasi write berarti nilai X dicetak ke piranti keluaran. Tidak penting apakah X dan Y ditulis ke layar atau ke printer atau ke piranti yang lain.
13
Notasi write berkoresponden dengan :
Write atau writeln (bahasa pascal) Printf (bahasa C) WRITE (bahasa C++) Write (bahasa FORTRAN) Writeln(X,Y); (bahasa pascal) Printf (“%d %d”, X,Y); (bahasa C) cout << x << y ; (bahasa C++) WRITE ( *, *) X, Y (bahasa FORTRAN) Translasi dalam bahasa pemrograman Setiap bahasa mempunyai aturan sendiri dalam menggunakan perintah penulisan
14
Kita menuliskan perintah
Isikan nilai X ke dalam min Dalam notasi algoritma manjadi : min X Notasi write berarti mengisi (assign) peubah (variable) min dengan nilai peubah X
15
Notasi write berkoresponden dengan :
:= (bahasa pascal) = (bahasa C) = (bahasa C++) = (bahasa FORTRAN) Translasi dalam bahasa pemrograman min := X; (bahasa pascal) min = X; (bahasa C) min = X (bahasa C++) min = X (bahasa FORTRAN)
16
Teks Algoritma Teks algoritma tersusun atas 3 bagian(blok)
Bagian Kepala (header) Bagian deklarasi Bagian deskripsi Setiap bagian dapat disertai komentar untuk memperjelas maksud teks yang ditulis. Komentar adalah kalimat yang diapit oleh tanda kurung kurawal { } atau (* *)
17
Algoritma Nama_Algoritma { Penjelasan tentang algoritma yang berisi uraian singkat mengenai apa yang dilakukan oleh algoritma} DEKLARASI { semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur, dan nama fungsi didefinisikan disini} DESKRIPSI { semua langkah aksi algoritma ditulis disini}
18
Kepala Algoritma Kepala Algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan(spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut Spesifikasi algoritma berisi penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma
19
Algoritma LUAS_LINGKARAN
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu mencetak luas lingkaran ke piranti keluaran }
20
DEKLARASI Bagian Deklarasi adalah bagian untuk mendeklarasikan / mendefinisikan semua nama yang dipakai dalam algoritma. Nama dapat berupa nama tetapan, nama peubah, nama Tipe, nama prosedur dan nama fungsi. Dalam resep makanan bagian deklarasi dianalogikan dengan bagian yang menjelaskan tentang bahan-bahan yang digunakan
21
DEKLARASI {nama tetapan} Cont phi = 3.14 {Nama tipe}
Type titik : record < x :integer, y : integer > {nama peubah } r : integer { variabel dengan tipe data bilangan bulat) L : real { variabel dengan tipe data bilangan real)
22
Bagian deskripsi Bagian ini adalah bagian inti dari suatu algoritma
Bagian ini berisi uraian langkah-langkah penyelesaian masalah
23
DESKRIPSI Read (r) L ← phi * r * r Write (L)
24
Format Syntax Algoritma
Nama Algoritma JUDUL ALGORITMA DEKLARASI/ KAMUS {Lokal / Umum} ALGORITMA TUBUH ALGORITMA/ DESKRIPSI Type namatipe : tipe [subrange] Type namatipe : array [min..maks] of tipe Namavar : tipe Namavar : array [ min..maks] of tipe Const nama = nilai Procedure namaproc (Input/Output[daftar_nama_parameter:tipe]) Notasi Assigment Notasi Kondisional/Pemilihan Notasi Pengulangan Notasi Pemanggilan
25
Algoritma untuk menulis Hello world:
Algoritma Hello_world { program untuk mencetak “Hello world”} DEKLARASI {tidak ada} DESKRIPSI Write(“Hello world”) Algoritma dan Pemrograman I
26
Algoritma untuk menghitung luas segiempat :
PROGRAM LuasSegi4 {program untuk menghitung luas segiempat dengan diketahui panjang dan lebarnya} DEKLARASI Luas,panjang,lebar :integer ALGORITMA panjang 10 lebar 5 Luas panjang * lebar write(Luas)
27
Translasi Teks Algoritma ke dalam Teks Program Bahasa C++
Notasi Kamus Algoritma C++ 1 #include <nama_unit> 2 CONST namaconst = nilai #define namaconst nilai 3 TYPE namatipe : tipedata Typedef tipedata namatipe; 4 namavar : tipedata namavar : namatipe tipedata namavar; namatipe namavar; 1 #include <iostream.h> 2 CONST phi = 3.14 #define phi 3.14 3 TYPE jumlah : integer Typedef int jumlah; 4 n : integer n : jumlah int n; jumlah n; Contoh :
28
Translasi Notasi Pengendalian
Wilis-K Translasi Notasi Pengendalian Algoritma C++ 1 namavaribel harga namavar = harga; 2 INPUT(daftarvariabel) atau read (daftarvariabel) cin >> var; scanf(); cin.get(); gets(); cin.getline(); 3 OUTPUT(daftar_item) atau write(daftar_item) cout << var; printf(); cout << konstanta; puts(); 4 IF <kondisi> THEN aksi ENDIF if (kondisi) aksi; if (kondisi) { aksi; }
29
Lanjutan Translasi Notasi Pengendalian
Algoritma C++ 5 IF <kondisi> THEN aksi1 ELSE aksi2 ENDIF If (kondisi) aksi1; else aksi2; atau { }
30
Lanjutan Translasi Notasi Pengendalian
Algoritma C++ 6 DEPEND ON <ekspresi> <ekspresi 1> : aksi_1 <ekspresi 2> : aksi_2 : <ekspresi n> : aksi_n atau CASE namavarcase OF expkonstan 1 : aksi_1 expkonstan 2 : aksi_2 expkonstan n : aksi_n ELSE aksi_lain ENDCASE Switch (ekspresi) { case nilai1: aksi_1; break; case nilai2: aksi_2; case nilain: aksi_n; default: aksi_lain; }
31
Lanjutan Translasi Notasi Pengendalian
Algoritma C++ 7 [inisialisasi] WHILE <kondisi_ulang> DO daftar_aksi {ada aksi thd var kondisi} ENDWHILE while (kondisi_ulang) { daftar_aksi; /*ada aksi thd var kondisi*/ } 8 REPEAT UNTIL <kondisi_stop> do while (kondisi_ulang);
32
Lanjutan Translasi Notasi Pengendalian
Algoritma 9 namavar TRAVERSAL [awal..akhir] daftar_aksi; atau FOR var awal TO/DOWNTO akhir STEP counter DO daftar_aksi ENDFOR C++ for(awal;kondisiulang;step) { }
33
Contoh Algoritma Algoritma Luas_Lingkaran
{menghitung luas lingkaran diketahui jari-jarinya} DEKLARASI CONST phi = 3.14 r : integer Luas : real DESKRIPSI r 5 Luas phi * r * r output(”Jari –jari = ”,r); output(”Luas lingkaran = ”,Luas);
34
Contoh program C++ #include <iostream.h> #define phi 3.14
main () { int r; float Luas; r = 5; Luas = phi * r * r; cout << ”Jari-jari : ” << r; cout << ”\nLuas lingkaran : ” << Luas; }
35
LATIHAN Tulislah flowchart dan program untuk menghitung dan mencetak keliling (k) dan luas (l) dari sebuah bujur sangkar. Nilai real single precision untuk sisi (s) diisikan melalui keyboard. Tulislah flowchart dan program untuk mengisikan nilai jari-jari sebuah lingkaran, dan kemudian mencetak keliling dan luas lingkaran tersebut
36
Tulislah flowchart dan program memasukkan sebuah bilangan dan kemudian cetaklah nilai satuan, puluhan, dan ratusan dari bilangan tersebut.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.