Yudha Dwi P. N. S.Kom Pertemuan 3 Aturan Penulisan Teks Algoritma
Aturan Penulisan Teks Algoritma Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apa pun, asalkan mudah dibaca dan dimengeri. agar notasi algoritma mudah ditranslasikan ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman secara umum. Sebagai contoh, perintah: tulis nilai x dan y dalam notasi algoritma menjadi: output(x, y);
Teks algoritma Pada dasarnya teks algoritma selalu disusun oleh tiga bagian (blok): Bagian judul (header) algoritma bagian deklarasi dan bagian deskripsi algoritma. Setiap bagian disertai dengan komentar untuk memperjelas maksud teks yang dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda kurung kurawal ('{'dan'}').
Teks algoritma-countd 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 perubah, nama prosedur dan nama fungsi didefinisikan di sini} DESKRIPSI: {semua langkah/aksi algoritma dituliskan di sini}
Aturan penulisan teks 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);}
Format Syntax Algoritma JUDUL ALGORITMA DEKLARASI {Lokal / Umum} ALGORITMA TUBUH ALGORITMA/ DESKRIPSI URAIAN ALGORITMA Nama Algoritma 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:tip e]) Notasi Assigment Notasi Kondisional/Pemilihan Notasi Pengulangan Notasi Pemanggilan Kumpulan algoritma masing-masing Procedure ataupun Function yang dipanggil dari Tubuh Algoritma
Algoritma untuk menulis Hello world: Algoritma Hello_world { program untuk mencetak Hello world } DEKLARASI {tidak ada} DESKRIPSI Output( Hello world )
Algoritma untuk menghitung luas segiempat: LuasSegi4 {algoritma untuk menghitung luas segiempat dengan diketahui panjang dan lebarnya} DESKLARASI Luas,panjang,lebar :integer DESKRIPSI panjang 10 lebar 5 Luas panjang * lebar write(luas)
Translasi Teks Algoritma ke dalam Teks Program Bahasa C Algoritma C 1 #include <nama_unit> Translasi Notasi Deklarasi 2 CONST namaconst = nilai #define namaconst nilai 3 TYPE namatipe : tipedata Typedef tipedata namatipe; 4 namavar : tipedata namavar : namatipe tipedata namavar; namatipe namavar; Contoh : 1 #include <iostream.h> 2 CONST phi = 3.14 #define phi 3.14 3 TYPE jumlah : integer 4 n : integer n : jumlah Typedef int jumlah; int n; jumlah n;
Lanjutan Translasi Notasi Pengendalian Algoritma C 5 IF<kondisi> THEN aksi1 ELSE aksi2 ENDIF If (kondisi) aksi1; else aksi2; Atau If (kondisi) { aksi1; } else { aksi2; }
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; break; : case nilain: aksi_n; break; default: aksi_lain; }
Lanjutan Translasi Notasi Pengendalian Algoritma 7 [inisialisasi] WHILE <kondisi_ulang> DO daftar aksi {ada aksi thd var kondisi} ENDWHILE [inisialisasi] while (kondisi_ulang) { daftar_aksi; /*ada aksi thd var kondisi*/ } C 7 [inisialisasi] REPEAT daftar aksi {ada aksi thd var kondisi} UNTIL <kondisi_stop> [inisialisasi] Do { daftar_aksi; /*ada aksi thd var kondisi*/ } 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 for(awal;kondisiulang;step) { daftar_aksi; } C
Contoh Algoritma Algoritma Luas_Lingkaran {menghitung luas lingkaran diketahui jari-jarinya} DEKLARASI{ CONST phi = 3.14 r : integer Luas,Keliling : real} DESKRIPSI{ r 5 Luas phi * r * r output( Jari jari =,r); output( Luas lingkaran =,Luas);} output( Keliling lingkaran =,Keliling);}
Contoh program C /* Menghitung Luas dan Keliling Lingkaran */ #include<stdio.h> #define phi 3.14 int r; float luas,keliling; void main() { r=7; luas=phi*r*r; keliling=2*phi*r; printf("jari-jari lingkaran = %d \n",r); printf("luas lingkaran = %f \n",luas); printf("keliling lingkaran = %f \n",keliling); }