20/1/'07Pengantar1 Notasi Algoritmik
20/1/'07Pengantar2 Teks Algoritma Terdiri atas tiga bagian Judul Kamus / deklarasi Algoritma
20/1/'07Pengantar3 Contoh teks algoritma
20/1/'07Pengantar4 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
20/1/'07Pengantar5 NAMA
20/1/'07Pengantar6 Aturan pemberian NAMA 1.Dalam bahasa pemrograman, setiap nama mempunyai aturan penulisan. Pada teks algoritma tidak ada aturan ketat. 2.Pemilihan nama harus interpretatif, tidak menimbulkan kerancuan, jika singkat harus disertai penjelasan. contoh: x-y akan membingungkan sebab mungkin “x minus y”
20/1/'07Pengantar7 3.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) 4.Dimulai dg alphabet 5.Tdk boleh memuat operator matematik 6.Bersifat unik
20/1/'07Pengantar8 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
20/1/'07Pengantar9 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
20/1/'07Pengantar10 KAMUS
20/1/'07Pengantar11 Contoh pendefinisian kamus
20/1/'07Pengantar12 ALGORITMA
20/1/'07Pengantar13 Komponen Algoritma
Tipe Dasar dan Komposisi
23/1/'07Type15 TYPE Definisi: Pola representasi suatu data dalam komputer Kegunaan: Mendefinisikan objek yang akan diprogram
23/1/'07Type16 Mendefinisikan type berarti
23/1/'07Type17 Macam-macam TYPE
23/1/'07Type18 Bilangan logika
23/1/'07Type19 Tabel kebenaran operator boolean
23/1/'07Type20 Bilangan bulat
23/1/'07Type21 Bilangan riil
23/1/'07Type22 Karakter
23/1/'07Type23 String
23/1/'07Type24 Type yang definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan melakukan “enumerasi” atau menyebut satu per satu nilai anggotanya
23/1/'07Type25 Katakunci Pada type enumerasi dikenal cara akses suatu nilai anggota melalui katakunci
23/1/'07Type26 Contoh Type Hari
23/1/'07Type27 Suatu TYPE yang dibentuk (dan diberi nama) dari beberapa komponen bertype tertentu, jadi merupakan kumpulan elemen bertype dasar atau bertype yang sudah dikenal
23/1/'07Type28 Notasi Type Bentukan (Komposisi) Type nama_type < elemen_1 : type_1, elemen_2 : type_2, elemen_3 : type_3, ……………………>
23/1/'07Type29 Contoh 1: Type Point
23/1/'07Type30 Deklarasi variabel
23/1/'07Type31 Domain: Konstanta: 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
23/1/'07Type32 Contoh 2: Type JAM
23/1/'07Type33 Notasi Algoritmik
23/1/'07Type34 Deklarasi variabel
23/1/'07Type35 Domain: Konstanta: 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)
23/1/'07Type36 Contoh 3. Sistem Penjadwalan
23/1/'07Type37 Notasi algoritmik Notasi Algoritmik
23/1/'07Type38 Deklarasi Variabel Jika dideklarasikan sebuah NAMA Jadwal_kuliah Cara mengacu elemen di JADWAL
23/1/'07Type39 Domain: sesuai dengan domain masing-masing komponen Konstanta: Operator: – Untuk jadwal, tidak terdefinisi operator – Tapi kita dapat mengadakan Operasi integer thd Jadwal_kuliah.J Operasi string thd Jadwal_kuliah.D, dst
Komponen Algoritma
29/1/'07Komponen Algoritma41 Harga / Nilai
29/1/'07Komponen Algoritma42 1.Diisikan ke NAMA informasi (nama variabel) yang mempunyai type sesuai dengan harga tersebut dengan instruksi “assignment” 2.Diacu saja dari suatu nama, untuk dipakai dalam perhitungan atau ekspresi 3.Dituliskan ke piranti keluaran (layar, printer, menyalakan signal,...) 4.Dipakai dalam ekspresi, tergantung typenya
29/1/'07Komponen Algoritma43 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
29/1/'07Komponen Algoritma44 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
29/1/'07Komponen Algoritma45 Notasi algoritmik untuk assignment Dengan syarat: bagian kiri dan bagian kanan tanda pemberian harga ( ← ) bertype sama dan (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
29/1/'07Komponen Algoritma46 Pemberian Harga Dari Piranti Masukan Notasi algoritmik suatu harga dapat diisikan ke suatu nama informasi melalui pembacaan harga tersebut dari piranti masukan (keyboard, mouse, scanner, dsb)
29/1/'07Komponen Algoritma47 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)
29/1/'07Komponen Algoritma48 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
29/1/'07Komponen Algoritma49 Notasi algoritmik untuk penulisan harga
29/1/'07Komponen Algoritma50 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
29/1/'07Komponen Algoritma51 Ekspresi Ekspresi suatu “rumus perhitungan", yang terdiri dari operan dan operator Ekspresi uner adalah ekspresi dengan operator uner, yaitu operator yang hanya membutuhkan satu operan
29/1/'07Komponen Algoritma52 Ekspresi (cont’d) Ekspresi biner adalah ekspresi dengan operator biner (membutuhkan dua operan) dapat dituliskan dalam 3 macam notasi, yaitu : Notasi infix: operan1 operator operan2 Notasi prefix: operator operan1 operan2 Notasi postfix/suffix/Polish: operan1 operan2 operator
29/1/'07Komponen Algoritma53 Contoh infix : 13 * 5 ((3 * 5) + (4 div 7) )- (a * b) prefix : * * 3 5 div 4 7 * a b suffix/Polish : 13 5 * 3 5 * 4 7 div + a b * -
29/1/'07Komponen Algoritma54 Contoh type ekspresi untuk type dasar Logik (boolean) Numerik Character dan string
29/1/'07Komponen Algoritma55 Contoh Ekspresi boolean Diberikan sebuah kamus & algoritma untuk mendefinisikan nama variabel
29/1/'07Komponen Algoritma56 Contoh Ekspresi boolean
29/1/'07Komponen Algoritma57 Contoh Ekspresi Numerik Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama variabel
29/1/'07Komponen Algoritma58 Contoh ekspresi numerik dan hasilnya
29/1/'07Komponen Algoritma59 Contoh Ekspresi character dan string Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama
29/1/'07Komponen Algoritma60 Contoh Ekspresi character dan string
29/1/'07Komponen Algoritma61 LATIHAN SOAL Didefinisikan nama dalam kamus sebagai berikut :
29/1/'07Komponen Algoritma62 Berikut ini adalah contoh ekspresi dalam notasi infix untuk kamus dia atas. Periksalah apakah ekspresi yang dituliskan benar. Jika benar tentukan jenis hasilnya, jika salah koreksilah.