1.08k likes | 1.66k Views
Notasi Algoritmik. Teks Algoritma. Terdiri atas tiga bagian Judul Kamus / deklarasi Algoritma. Contoh teks algoritma. Pada setiap bagian akan didefinisikan & dituliskan NAMA atau komentar Komentar dituliskan diantara tanda kurung kurawal.
E N D
NotasiAlgoritmik Pengantar
Teks Algoritma Terdiri atas tiga bagian • Judul • Kamus / deklarasi • Algoritma Pengantar
Contoh teks algoritma Pengantar
Pada setiap bagian akan didefinisikan & dituliskan NAMA atau komentar Komentar dituliskan diantara tanda kurung kurawal. Teks yang dituliskan diluar tanda kurung kurawal adalah teks algoritma Pengantar
NAMA Pengantar
Aturan pemberian NAMA • Dalam bahasa pemrograman, setiap nama mempunyai aturan penulisan. Pada teks algoritma tidak ada aturan ketat. • Pemilihan nama harus interpretatif, tidak menimbulkan kerancuan, jika singkat harus disertai penjelasan. contoh: x-y akan membingungkan sebab mungkin “x minus y” Pengantar
Nama merupakan satu kesatuan leksikal, maka sebuah nama harus dituliskan secara utuh (tidak dipisah blank) supaya satu nama dapat dibedakan dengan nama lainnya (besaran leksikal lain) • Dimulai dg alphabet • Tdk boleh memuat operator matematik • Bersifat unik Pengantar
Semua nama dalam program harus unik, artinya suatu nama hanya didefinisikan satu kali saja Semua nama yang dipakai dalam teks algoritma harus sudah didefinisikan pada salah satu bagian teks algoritma Pengantar
JUDUL Bagian teks algoritma tempat mendefinisikan apakah teks tsb adalah program, prosedur, fungsi, atau modul Setelah judul tuliskan spesifikasi singkat dari teks algoritma. Bagian judul identik dengan judul buku dan intisari pada suatu teks ilmiah dalam suatu makalah berbahasa Indonesia Pengantar
KAMUS Pengantar
Contoh pendefinisian kamus Pengantar
ALGORITMA Pengantar
Komponen Algoritma Pengantar
TYPE Definisi: Pola representasi suatu data dalam komputer Kegunaan: Mendefinisikan objek yang akan diprogram Type
Macam-macam TYPE Type
Bilangan logika Type
Bilangan bulat Type
Bilangan riil Type
Karakter Type
String Type
Type yang definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan melakukan “enumerasi” atau menyebut satu per satu nilai anggotanya Type
Katakunci Pada type enumerasi dikenal cara akses suatu nilai anggota melalui katakunci Type
Contoh Type Hari Type
Suatu TYPE yang dibentuk (dandiberinama) daribeberapakomponenbertypetertentu, jadimerupakankumpulanelemenbertypedasarataubertype yang sudahdikenal Type
Notasi Type Bentukan (Komposisi) Type nama_type < elemen_1 : type_1, elemen_2 : type_2, elemen_3 : type_3, ……………………> Type
Contoh 1: Type Point Type
Deklarasi variabel Type
Domain: <real,real> Konstanta: <5.0,6.0> <6.0,100.0> Operator: • Operator terhadap point harus dibuat: • Operator aritmatika (+,-,dot product, cross product) • Operator relasional (EQ, NEQ) • Operator lain (IsOrigin, IsOnSbX, dll) • Operasi real terhadap P.x dan P.y Type
Contoh 2: Type JAM Type
Notasi Algoritmik Type
Deklarasi variabel Type
Domain: < integer, integer, integer > Konstanta: <0,0,0> <15,20,30> Operator: • Operator terhadap JAM harus dibuat (konversi jamtodetik, detiktojam, operasi aritmatika, dll) • Operasi integer terhadap komponen HH,MM,SS (J1=J2, J1≠J2,J1<J2, dll) Type
Notasi algoritmik Notasi Algoritmik Type
Deklarasi Variabel Jika dideklarasikan sebuah NAMA Jadwal_kuliah Cara mengacu elemen di JADWAL Type
Domain: sesuai dengan domain masing-masing komponen • Konstanta: <7,’RMB’,’CS3024’,’IF2803’> <9,’ADR’,’CS1023’,’TI3003’> • Operator: • Untuk jadwal, tidak terdefinisi operator • Tapi kita dapat mengadakan • Operasi integer thd Jadwal_kuliah.J • Operasi string thd Jadwal_kuliah.D, dst Type
Harga / Nilai Komponen Algoritma
Diisikan ke NAMA informasi (nama variabel) yang mempunyai type sesuai dengan harga tersebut dengan instruksi “assignment” • Diacu saja dari suatu nama, untuk dipakai dalam perhitungan atau ekspresi • Dituliskan ke piranti keluaran (layar, printer, menyalakan signal, ...) • Dipakai dalam ekspresi , tergantung typenya Komponen Algoritma
Pengisian nama informasi Suatu nama informasi dapat dipakai dalam ekspresi jika harganya telah terdefinisi Ada dua cara untuk mengisi suatu nama informasi dengan harga, yaitu dengan: • assignment, atau • dibaca dari suatu piranti masukan Komponen Algoritma
Assignment adalah instruksi primitif algoritmik untuk menyimpan harga pada suatu nama informasi yang isinya boleh bervariasi (“variabel”) dengan perkataan lain adalah memberikan harga pada suatu nama variabel Dengan pemberian harga ini, harga lama yang disimpan tidak lagi berlaku, yang berlaku adalah harga paling akhir yang diberikan Komponen Algoritma
Notasi algoritmik untuk assignment Dengan syarat: • bagian kiri dan bagian kanan tanda pemberian harga (← ) bertype sama • <nama> dan <nama1> (bagian kiri tanda ← ) harus merupakan nama informasi, tidak boleh nama konstanta, type, fungsi atau prosedur • nama yang tertulis di bagian kanan tanda ← (misalnya nama2 atau nama konstanta atau nama yang dipakai dalam ekspresi) boleh berupa nama informasi, nama fungsi, nama konstanta • semua nama yang dipakai dalam assignment tidak boleh berupa nama type atau nama prosedur Komponen Algoritma
Pemberian Harga Dari Piranti Masukan suatu harga dapat diisikan ke suatu nama informasi melalui pembacaan harga tersebut dari piranti masukan (keyboard, mouse, scanner, dsb) Notasi algoritmik Komponen Algoritma
Notasi algoritmik Syarat • list nama adalah satu atau lebih nama informasi • nama yang muncul pada list-nama hanya boleh berupa nama informasi, dan tidak boleh nama lain (nama konstanta, type, fungsi atau prosedur) Komponen Algoritma
Penulisan Nama Informasi Suatu harga yang disimpan dalam memori komputer harus dapat dikomunikasikan ke dunia luar untuk diinterpretasikan oleh pemakai program Dalam hal ini, harga harus dapat dituliskan ke suatu piranti keluaran, misalnya layar, printer Instruksi algortimik untuk menuliskan nama informasi adalah instruksi penulisan atau output Komponen Algoritma
Notasi algoritmik untuk penulisan harga Komponen Algoritma
Syarat • list nama adalah satu atau lebih nama : boleh nama INFORMASI, nama KONSTANTA.atau nama FUNGSI berikut parameternya. Khusus untuk nama Fungsi, lihat pemakaian fungsi • nama-nama dalam list-nama tidak boleh berupa nama TYPE atau PROSEDUR • nama yang akan dituliskan sudah terdefinisi harganya. Jika suatu nama informasi, didefinisikan dengan assignment atau instruksi input Komponen Algoritma