Penulisan Teks Algoritma

Slides:



Advertisements
Presentasi serupa
Dosen : Rinci Kembang Hapsari, S.Si
Advertisements

Algoritma dan Flowchart
TEORI ALGORITMA.
STRUKTUR DASAR ALGORITMA
ALGORITMA & PEMROGRAMAN I-A
Teks Algorithma Ery Setiyawan Jullev A.
Pengantar Algoritma.
Algoritma dan Pemrograman
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
Algoritma dan Struktur Data
Oleh Nila Feby Puspitasari
Notasi Algoritma.
Shofia D. Agustina.  Agar dapat dieksekusi oleh komputer, algoritma harus diterjemahkan terlebih dahulu kedalam notasi bahasa pemrograman. Penerjemahan.
DIAGRAM ALUR (FLOWCHART)
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Pertemuan-III Algoritma disajikan gambar
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
1 PERTEMUAN 1 DIAGRAM ALUR (FLOWCHART). 2 Apa itu Flowchart 1.Suatu skema / bagan yang menggambarkan urutan kegiatan dari suatu program dari awal sampai.
NOTASI ALGORITMIK dan BAHASA C++
PENGERTIAN DASAR ALGORITMA & FLOWCHART
Algoritma dan Flowchart
BAB 2 BAHASA PEMROGRAMAN
Materi 9 LOGIKA & ALGORITMA.
Dasar-dasar Pemrograman
ALGORITMA & PEMROGRAMAN I-A
Flowchart (Diagram Alur)
Dasar-dasar Algoritma Dan Representasi Algoritma
Algoritma dan pemrograman (lanjutan)
Algoritma dan Pemrograman I
Notasi Algoritma & Tipe Data
Algoritma Pemrograman I
Notasi Algoritmik.
Algoritma.
STATEMENT PENGULANGAN
STRUKTUR DASAR ALGORITMA
STRUKTUR DASAR ALGORITMA
Ucu Nugraha, ST. Algoritma.
FLOWCHARTING Pertemuan 3 & 4 Muhamad Haikal, S.Kom., MT.
PERTEMUAN 7 STATEMENT PEMILIHAN
penyusunan algoritma (flowchart)
MODUL 2.
PERTEMUAN 9-11 STATEMENT PENGULANGAN
Dasar Pemrograman dan Komputer
Sindy Nova Algoritma dan Pemrograman 1A
PROG.STUDI PEND.FISIKA UIN ALAUDDIN MAKASSAR
Menuliskan Algoritma Algoritma dapat dituliskan dengan berbagai cara:
STRUKTUR DASAR PROGRAM
LOGIKA & ALGORITMA Algoritma & Pengenalan Flow Chart
BAB VI Pengulangan.
Pseudocode – Tipe Data, Variabel, dan Operator
ALGORITMA Anifuddin Azis.
DIAGRAM ALUR (FLOWCHART)
Algoritma dan Pemrograman
Muhammad Riska B. PTIK FT UNM
Pertemuan-III Algoritma disajikan gambar
STATEMENT PENGENDALIAN (PEMILIHAN)
ATURAN PENULISAN TEKS ALGORITMA
Algoritma dan Pemrograman (Pertemuan 04)
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Algoritma dan pemrograman
STATEMENT PENGULANGAN
Matakuliah : Algoritma & Struktur Data Versi Materi
DIAGRAM ALUR (FLOWCHART)
Algoritma Pemrograman
PERTEMUAN 4 DAN 5 DASAR-DASAR ALGORITMA
NOTASI ALGORITMA dan BAHASA C++
Algoritma dan Flowchart
STRUKTUR DASAR ALGORITMA
Konsep Algoritma Pemrograman
Transcript presentasi:

Penulisan Teks Algoritma

Teks Algoritma Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi algoritma.

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

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

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

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.

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.

Contoh Flowcart start read/input condition? Ya stop Tidak process write/print

Luas = phi * radius * radius Contoh Flowcart Start Phi = 3.14 Input (diameter) Radius = diameter/2 Luas = phi * radius * radius Output Luas Stop

3 Struktur Flowcart Sequence/ Sederhana Branching/ Percabangan Looping/ Perulangan Ketiga struktur diatas dapat digunakan secara bersamaan pada satu diagram alur.

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

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.

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

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

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)

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 (* *)

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}

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

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 }

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

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)

Bagian deskripsi Bagian ini adalah bagian inti dari suatu algoritma Bagian ini berisi uraian langkah-langkah penyelesaian masalah

DESKRIPSI Read (r) L ← phi * r * r Write (L)

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

Algoritma untuk menulis Hello world: Algoritma Hello_world { program untuk mencetak “Hello world”} DEKLARASI {tidak ada} DESKRIPSI Write(“Hello world”) Algoritma dan Pemrograman I

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)

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 :

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

Lanjutan Translasi Notasi Pengendalian Algoritma C++ 5 IF <kondisi> THEN aksi1 ELSE aksi2 ENDIF If (kondisi) aksi1; else aksi2; atau { }

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

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

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) { }

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

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

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

Tulislah flowchart dan program memasukkan sebuah bilangan dan kemudian cetaklah nilai satuan, puluhan, dan ratusan dari bilangan tersebut.