Anda di halaman 1dari 8

STRUKTUR TEKS ALGORITMA

Pada dasarnya, algoritma disusun oleh tiga bagian (blok), yaitu : 1. Bagian judul (Header) 2. Bagian deklarasi (Declaration) 3. Bagian definisi (Definition) 1. Bagian Judul (Header) Merupakan bagian yang terdiri dari nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama program sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma. Di bawah nama algoritma disertai dengan penjelasan (spesifikasi) dari apa yang akan dilakukan oleh algoritma. Sebagai contoh : a. Algoritma Luas_Lingkaran {Menghitung luas lingkaran berdasarkan nilai jari-jari lingkaran tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luas lingkaran, dan menampilkan ke piranti keluaran} b. Algoritma Fahreinheit_Celcius {Menghitung nilai konversi dari derajat fahreinheit menjadi celcius. Algoritma menerima masukan derajat fahreinheit dan menghitung nilai konversi menjadi celcius} 2. Bagian Deklarasi (Declaration) Merupakan bagian yang mendefinisikan segala nama yang akan digunakan oleh algoritma serta propertinya (misalnya tipe). Nama tersebut dapat berupa nama konstanta, nama variabel, nama function, nama procedure dan sebagainya. Sebagai contoh : a. Pada algoritma Luas_Lingkaran, bagian deklarasinya adalah : DEKLARASI : r L DEKLARASI : F C 3. : real : real {derajat fahreinheit} {derajat celcius} : real : real {jari-jari lingkaran} {luas lingkaran}

b. Pada algoritma Fahreinheit_Celcius, bagian deklarasinya adalah :

Bagian Definisi (Definition)

Merupakan bagian inti dari algoritma. Bagian ini berisi deskripsi langkah-langkah penyelesaian masalah dalam bentuk pernyataan. Sebagai contoh : a. Pada algoritma Luas_Lingkaran, bagian definisinya adalah : DEFINISI : Read (r) L 3.14 * r * r Write (L) b. Pada algoritma Fahreinheit_Celcius, bagian definisinya adalah : DEFINISI : Read (F) C 5 / 9 * (F - 32) Secara keseluruhan, dua algoritma di atas, dapat ditulis seperti berikut. Algoritma Luas_Lingkaran {Menghitung luas lingkaran berdasarkan nilai jari-jari lingkaran tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luas lingkaran, dan menampilkan ke piranti keluaran} DEKLARASI : r L DEFINISI : Read (r) L 3.14 * r * r Write (L) End Algoritma : real : real {jari-jari lingkaran} {luas lingkaran}

Algoritma Fahreinheit_Celcius {Menghitung nilai konversi dari derajat fahreinheit menjadi celcius. Algoritma menerima masukan derajat fahreinheit dan menghitung nilai konversi menjadi celcius}

DEKLARASI : F C DEFINISI : Read (F) C 5 / 9 * (F - 32) End Algoritma : real : real {derajat fahreinheit} {derajat celcius}

TIPE, NAMA, dan EKSPRESI

1.

Tipe

Tipe sebuah objek menentukan himpunan nilai yang dapat dimilikinya dan operasi yang dapat dilakukan pada objek tersebut. Nilai-nilai yang dicakup oleh objek tersebut dinyatakan dengan ranah (domain). Terdapat dua jenis tipe data, yaitu : a. Tipe dasar Merupakan tipe data yang dapat langsung digunakan. b. Tipe bentukan Merupakan tipe data yang dibentuk dari tipe data dasar atau tipe bentukan lain yang telah didefinisikan sebelumnya. 1.1 Tipe Dasar Dalam dunia pemrograman, yang termasuk sebagai tipe dasar adalah bilangan lojik (bilangan logika), bilangan bulat, bilangan riil, karakter dan string. Bilangan Lojik Nama tipe Ranah nilai Konstanta Operasi Operator A True True False False : boolean (diambil dari nama matematikawan Inggris, George Boole) : true (benar) atau false (salah) : true dan false : operasi logika (operasi boolean) : and, or, xor, not B True False True False A and B True False False False A or B True True True False A xor B False True True False not A False False True True not B False True False True

Bilangan Bulat Nama tipe Ranah nilai : integer : byte (0..255) shortint (-128..127) word (0..65535) integer (- 2768..32767) longint (-2147483648.. 2147483647) Konstanta Operasi Operator : ditulis tanpa mengandung titik desimal : operasi aritmatika dan operasi perbandingan : operasi aritmatika + (tambah), - (kurang), * (kali), div (bagi), mod (sisa hasil bagi) operasi perbandingan <, , >, , =, Bilangan Riil

Nama tipe Ranah nilai Konstanta Operasi Operator

: real (floating-point) : minus tak hingga sampai plus tak hingga : ditulis dengan tanda titik desimal : operasi aritmatika dan operasi perbandingan : operasi aritmatika + (tambah), - (kurang), * (kali), / (bagi) operasi perbandingan <, , >, ,

Karakter Nama tipe Ranah nilai Konstanta Operasi Operator : char : semua huruf abjad, semua tanda baca, angka (0, .., 9), karakter khusus seperti &, %, #, @, dan sebagainya : diapit oleh tanda petik tunggal : operasi perbandingan : operasi perbandingan <, , >, , =,

String (Untaian karakter dengan panjang tertentu) Nama tipe Ranah nilai Konstanta Operasi Operator : string : deretan karakter yang telah didefinisikan pada ranah karakter : diapit oleh tanda petik tunggal : operasi penyambungan (concatenation) dan operasi perbandingan : operasi concatenation + operasi perbandingan <, , >, , =,

1.2

Tipe Bentukan Merupakan tipe data yang didefinisikan sendiri oleh pemrogram (user-defined data

type). Yang termasuk tipe bentukan adalah tipe dasar yang diberi nama tipe baru dan tipe terstruktur/record/ rekaman. Tipe Dasar Yang Diberi Nama Tipe Baru Pemberian nama baru untuk sebuah tipe dasar didahului dengan kata type. Ranah nilai, konstanta, dan lain sebagainya tetap tidak berubah, sesuai dengan tipe dasar aslinya. Sebagai contoh : type BilanganBulat : integer

Tipe Terstruktur Tipe yang berbentuk rekaman (record). Rekaman disusun oleh satu atau lebih field. Setiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang telah didefinisikan sebelumnya. Contoh mendefinisikan tipe terstruktur : a. Titik dalam bidang kartesian dinyatakan sebagai (x, y). Maka, titik dapat dinyatakan dengan sebagai tipe bentukan dengan x dan y sebagai fieldnya. type Titik P : record <x : real, y : real> : Titik

P adalah peubah bertipe Titik, sehingga untuk mengacu tiap field pada P adalah : P.x atau P.y b. Pendefinisian tanggal dalam kalendar Masehi menyebabkan hari akan dinyatakan dalam tanggal (dd), bulan (mm), dan tahun (yy). Tipe bentukan untuk tanggal adalah : type Tanggal D : record < dd : integer, mm : integer, yy : integer> : Tanggal D adalah peubah bertipe Tanggal. Untuk mengacu tiap field pada D adalah : D.dd atau D.mm atau D.yy 2. Nama Nama digunakan sebagai pengidentifikasi sesuatu dan pemrogram mengacu sesuatu itu melalui namanya. Adapun aturan penulisan nama dalam algoritma : a. Nama harus dimulai dengan huruf alfabet. b. Huruf besar atau huruf kecil tidak dibedakan. c. Karakter penyusun nama hanya boleh huruf, angka, dan karakter _. d. Tidak boleh mengandung operator aritmatika, operator relasional, karakter khusus, dan tanda baca. e. Karakter karakter di dalam nama tidak boleh dipisah menggunakan spasi. Spasi dapat diganti dengan karakter _. f. Panjang nama tidak dibatasi. Di dalam algoritma, objek yang diberi nama dapat berupa : a. Peubah (variable) b. Konstanta (constant) c. Tipe bentukan d. Nama fungsi atau procedure 3. Nilai

Nilai dapat berupa isi yang disimpan oleh nama peubah atau nama konstanta, nilai dari hasil penghitungan, atau nilai yang dikirim oleh fungsi. Peubah menyimpan nilai dari tipe tertentu. Nilai dapat dimasukkan ke dalam nama peubah melalui beberapa cara, yakni : a. Pengisian secara langsung (assignment) Yaitu pengisian nilai ke dalam nama peubah langsung di dalam algoritma. Syaratnya tipe nilai yang dimasukkan harus sama dengan tipe peubahnya. Notasi pengisian secara langsung adalah . Sebagai contoh : S 10 AB {nilai berupa konstanta} {nilai dari peubah lain} {nilai dari ekspresi}

Nilai_akhir (uts +uas ) / 2 b. Pembacaan

Nilai peubah dapat diisi dari piranti masukan, misalnya dari keyboard. Dalam algoritma pernyataan pembacaan menggunakan notasi read. Sebagai contoh : read(nama_mahasiswa) read(no_telepon) 4. Ekspresi Cara penghitungan (komputasi) dalam algoritma yang menghasilkan sebuah nilai disebut dengan ekspresi. Ekspresi terdiri dari operand dan operator. Operand adalah elemen (nilai) yang dioperasikan dengan operator tertentu. Terdapat 3 jenis ekspresi, yaitu : a. Ekspresi numerik, ekspresi yang baik operand, operator dan hasilnya bertipe numerik. Contoh : 3 + 2, 12 div 4, dan sebagainya b. Ekspresi relasional (ekspresi boolean), ekspresi yang operatornya terdiri dari operator perbandingan dan logika. Hasil ekspresi ini merupakan bilangan logika (true atau false). Contoh : not true, x < 10, dan sebagainya c. Ekspresi string, ekspresi yang operatornya adalah + (operator penyambungan). Contoh : Teknik + Informatika 5. Menuliskan Nilai Ke Piranti Keluaran

Untuk menuliskan nilai ke piranti keluaran digunakan pernyataan write. Sebagai contoh : write(nama_mahasiswa) write(no_telepon)