• Tidak ada hasil yang ditemukan

NOTASI ALGORITMIK

2. Bilangan Bulat

Nama : integer

Domain : Z (hati-hati dengan representasi komputer)

Konstanta :

0 3 123 -89 56 999

Bilangan integer mempunyai keterurutan. Keterurutan ini didefinisikan dengan : • suksesor x adalah x + 1

• predesesor x adalah x - 1 Contoh:

suksesor 0 adalah 1 predesesor -1 adalah -2 suksesor -1 adalah 0 predesesor 3 adalah 2 suksesor 5 adalah 6

Operator

KELOMPOK Op ARTI Hasil

Operator * Kali integer

aritmatika + Tambah integer

- Kurang integer

/ Bagi real

div Bagi integer

mod Sisa pembagian bulat integer

KELOMPOK Op ARTI Hasil

^ Pangkat integer

Operator < Lebih kecil boolean

relasional/ ≤ Lebih kecil atau sama dengan boolean

perbandingan > Lebih besar boolean ≥ Lebih besar atau sama dengan boolean

= Sama dengan boolean

≠ Tidak sama dengan boolean

3. Bilangan Riil

Nama : real

Domain : R (hati-hati dengan representasi komputer)

Konstanta : angka mengandung '.'. Dapat dituliskan dengan notasi E yang berarti pangkat sepuluh.

Contoh konstanta :

0. 0.2 3.233 123. -89.0 56. 999. 12.E-2 1.5E1

KELOMPOK Op ARTI Hasil

Operator * Kali real

aritmatika + Tambah real

- Kurang real

/ Bagi real

^ Pangkat real

Operator < Lebih kecil boolean

relasional/ ≤ Lebih kecil atau sama dengan boolean

perbandingan > Lebih besar boolean ≥ Lebih besar atau sama dengan boolean ≠ Tidak Sama dengan boolean Catatan :

1. Bilangan riil yang mengandung E berati pangkat sepuluh. Contoh: 1.5E2 berarti 1.5 * 102

2. Dalam notasi algoritmik, operator relasional kesamaan tidak berlaku untuk bilangan riil, untuk harga riil harus didefinisikan suatu bilangan kecil ε yang menyatakan ketelitian perhitungan, termasuk yang disebut dengan "kesamaan".

3. Pada bahasa pemrograman yang nyata, operator kesamaan bilangan riil mungkin dapat dipakai dengan “baik”, namun harus hati-hati dan sangat spesifik untuk implementasi bahasa tertentu. Dengan alasan ini, pada notasi algoritmik operator kesamaan bilangan riil dianggap tidak ada.

4. Karakter

Nama : character

Domain : Himpunan yang terdefinisi oleh suatu enumerasi, misalnya : ['0'..'9','a'..'z','A'..'Z',, RETURN, SPACE, EOL]

Ada karakter yang kelihatan dan tidak kelihatan (maka dituliskan dengan “nama” seperti pada contoh (RETURN, SPACE, EOL),

Ada keterurutan (suksesor dan predesesor), yang ditentukan oleh representasi di dalam komputer, misalnya pengkodean ASCII.

Konstanta : dituliskan di antara tanda petik atau suatu nama

'A' 'P' 'K' RETURN 'M'

Operator:

KELOMPOK Op ARTI Hasil

Operator = Sama dengan boolean

perbandingan ≠ Tidak sama dengan boolean

String

Ada sebuah type yang sangat diperlukan di hampir semua sistem, yang pada akhirnya dapat dianggap “setengah” type dasar karena sudah tersedia, yaitu String. Untuk selanjutnya, type string dapat dianggap type primitif.

Untuk membedakan string dengan karakter, sebagai pembatas digunakan tanda petik ganda (“)

Contoh : Type: string

Domain : untaian karakter yang didefinisikan pada Domaincharacter

Konstanta :

“KU” “Anak hilang” “Pisang” “K” ””

Operator:

KELOMPOK Op ARTI Hasil

Operator = Sama dengan boolean

perbandingan ≠ Tidak sama dengan boolean

Konstruksi • Tambah satu karakter di akhir string

string x character → string

string

o Tambah satu karakter di awal string

character x string → string

string

& konkatenasi string x string → string

string

Type Enumerasi

TYPE enumerasi adalah type yang tidak definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan melakukan “enumerasi” atau menyebutkan satu per satu nilai anggotanya. Type enumerasi mewakili himpunan nilai yang diberi nama.

Karena disebutkan satu per satu, maka dalam suatu type enumerasi biasanya dikenal cara akses suatu nilai anggota enumerasi lewat katakunci sebagai berikut :

- First, yaitu anggota nilai yang pertama

- Last, yaitu anggota nilai yang terakhir

- Predesesor(elemen), yaitu anggota nilai yang sebelumnya dari elemen

Type ini seringkali tersedia dalam bahasa tingkat tinggi, gunanya untuk mendefinisikan dengan lebih jelas suatu himpunan nilai yang pasti, misalnya :

type hari : (senin, selasa, rabu, kamis, jumat, sabtu, minggu) type warna : (merah,kuning, hijau, biru, nila, ungu)

Contoh : Type hari

{Type hari menyatakan enumerasi nama hari dalam minggu }

type hari : (senin, selasa, rabu, kamis, jumat, sabtu, minggu) Jika dideklarasi NAMA variabel H sebagai berikut :

H : hari { artinya : H adalah nama bertype “hari” }

Maka cara mengacu/mengakses nilai elemen yang tersimpan pada P yang telah terdefinisi adalah:

First (H) {menghasilkan nilai: senin}

Last (H) {menghasilkan nilai: minggu}

Succ (selasa) {menghasilkan nilai: rabu}

Prec (selasa) {menghasilkan nilai: senin}

Domain : nilai yang dienumerasi yaitu (senin, selasa, rabu, kamis, jumat, sabtu, minggu)

Konstanta : senin sabtu

Type Bentukan

Type bentukan adalah suatu TYPE yang dirancang/dibentuk (dan diberi nama) dari beberapa komponen bertype tertentu, jadi merupakan sekumpulan elemen bertype dasar atau bertype yang sudah dikenal. Type bentukan dibuat/didefinisikan karena perancang program memutuskan bahwa keseluruhan (hasil komposisi) komponen type tersebut mempunyai sebuah makna semantik Ada relasi yang persis antara satu elemen dengan yang lain. Operasi terhadap komponen (elemen) bertipe dasar dilakukan seperti yang didefinisikan pada tipe dasar. Operasi terhadap keseluruhan tipe mungkin didefinisikan atau tidak.

Type bentukan seringkali disebut sebagai type komposisi, agregat. Implementasinya dalam suatu bahasa sangat bervariasi satu sama lain. Dalam notasi algoritmik, sebuah type bentukan berupa agregasi elemen dituliskan dengan notasi :

type nama type < elemen1: type1, elemen2: type2,

elemen2: type2, …….>

Perhatikan dalam pengertian sebagai type bentukan, maka ada kesleuruhan type yang harus dibentuk menurut pembentuk tertentu yaitu Konstruktor pada perkuliahan terkait), atau adanya komponen type yang harus dapat diacu oleh Selektor. Operator

terhadap type tersebut harus dibuat. Hal ini akan dibahas lebih mendalam dan terstruktur dalam kuliah Struktur Data karena pada hakekatnya, membentuk sebuah type berarti menentukan Struktur Data.

Pada bagian ini, hanya diberikan contoh-contoh dan yang diutamakan adalah notasi tentang bagaimana mengakses elemen type oleh notasi akses yang tersedia.

Contoh-1: Type Point

{Type point menyatakan absis dan koordinat real pada sumbu kartesian}

type Point : < X:real, { absis}

Y:real { ordinat } >

Jika dideklarasi NAMA variabel P sebagai berikut :

P : Point { artinya : P adalah sebuah Point}

Maka cara mengacu/mengakses nilai elemen yang tersimpan pada P yang telah terdefinisi adalah: