Notasi Algoritmik 20107 Pengantar 1 Teks Algoritma Terdiri
- Slides: 98
Notasi Algoritmik 20/1/'07 Pengantar 1
Teks Algoritma Terdiri atas tiga bagian • Judul • Kamus / deklarasi • Algoritma 20/1/'07 Pengantar 2
Contoh teks algoritma 20/1/'07 Pengantar 3
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/'07 Pengantar 4
NAMA 20/1/'07 Pengantar 5
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/'07 Pengantar 6
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/'07 Pengantar 7
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/'07 Pengantar 8
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/'07 Pengantar 9
KAMUS 20/1/'07 Pengantar 10
Contoh pendefinisian kamus 20/1/'07 Pengantar 11
ALGORITMA 20/1/'07 Pengantar 12
Komponen Algoritma 20/1/'07 Pengantar 13
Tipe Dasar dan Komposisi
TYPE Definisi: Pola representasi suatu data dalam komputer Kegunaan: Mendefinisikan objek yang akan diprogram 23/1/'07 Type 15
Mendefinisikan type berarti 23/1/'07 Type 16
Macam-macam TYPE 23/1/'07 Type 17
Bilangan logika 23/1/'07 Type 18
Tabel kebenaran operator boolean 23/1/'07 Type 19
Bilangan bulat 23/1/'07 Type 20
Bilangan riil 23/1/'07 Type 21
Karakter 23/1/'07 Type 22
String 23/1/'07 Type 23
Type yang definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan melakukan “enumerasi” atau menyebut satu per satu nilai anggotanya 23/1/'07 Type 24
Katakunci Pada type enumerasi dikenal cara akses suatu nilai anggota melalui katakunci 23/1/'07 Type 25
Contoh Type Hari 23/1/'07 Type 26
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/'07 Type 27
Notasi Type Bentukan (Komposisi) Type nama_type < 23/1/'07 elemen_1 : type_1, elemen_2 : type_2, elemen_3 : type_3, …………> Type 28
Contoh 1: Type Point 23/1/'07 Type 29
Deklarasi variabel 23/1/'07 Type 30
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 (Is. Origin, Is. On. Sb. X, dll) • Operasi real terhadap P. x dan P. y 23/1/'07 Type 31
Contoh 2: Type JAM 23/1/'07 Type 32
Notasi Algoritmik 23/1/'07 Type 33
Deklarasi variabel 23/1/'07 Type 34
Domain: < 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 (J 1=J 2, J 1≠J 2, J 1<J 2, dll) 23/1/'07 Type 35
Contoh 3. Sistem Penjadwalan 23/1/'07 Type 36
Notasi algoritmik Notasi Algoritmik 23/1/'07 Type 37
Deklarasi Variabel Jika dideklarasikan sebuah NAMA Jadwal_kuliah Cara mengacu elemen di JADWAL 23/1/'07 Type 38
• Domain: sesuai dengan domain masing-masing komponen • Konstanta: <7, ’RMB’, ’CS 3024’, ’IF 2803’> <9, ’ADR’, ’CS 1023’, ’TI 3003’> • Operator: – Untuk jadwal, tidak terdefinisi operator – Tapi kita dapat mengadakan • Operasi integer thd Jadwal_kuliah. J • Operasi string thd Jadwal_kuliah. D, dst 23/1/'07 Type 39
Komponen Algoritma
Harga / Nilai 29/1/'07 Komponen Algoritma 41
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/'07 Komponen Algoritma 42
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/'07 Komponen Algoritma 43
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/'07 Komponen Algoritma 44
Notasi algoritmik untuk assignment Dengan syarat: • bagian kiri dan bagian kanan tanda pemberian harga (← ) bertype sama • <nama> dan <nama 1> (bagian kiri tanda ← ) harus merupakan nama informasi, tidak boleh nama konstanta, type, fungsi atau prosedur • nama yang tertulis di bagian kanan tanda ← (misalnya nama 2 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/'07 Komponen Algoritma 45
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 29/1/'07 Komponen Algoritma 46
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/'07 Komponen Algoritma 47
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/'07 Komponen Algoritma 48
Notasi algoritmik untuk penulisan harga 29/1/'07 Komponen Algoritma 49
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/'07 Komponen Algoritma 50
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/'07 Komponen Algoritma 51
Ekspresi (cont’d) Ekspresi biner adalah ekspresi dengan operator biner (membutuhkan dua operan) dapat dituliskan dalam 3 macam notasi, yaitu : • Notasi infix: operan 1 operator operan 2 • Notasi prefix: operator operan 1 operan 2 • Notasi postfix/suffix/Polish: operan 1 operan 2 operator 29/1/'07 Komponen Algoritma 52
Contoh • infix : 13 * 5 ((3 * 5) + (4 div 7) )- (a * b) • prefix : * 13 5 - +* 3 5 div 4 7 * a b • suffix/Polish : 13 5 * 4 7 div + a b * - 29/1/'07 Komponen Algoritma 53
Contoh type ekspresi untuk type dasar • Logik (boolean) • Numerik • Character dan string 29/1/'07 Komponen Algoritma 54
Contoh Ekspresi boolean Diberikan sebuah kamus & algoritma untuk mendefinisikan nama variabel 29/1/'07 Komponen Algoritma 55
Contoh Ekspresi boolean 29/1/'07 Komponen Algoritma 56
Contoh Ekspresi Numerik Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama variabel 29/1/'07 Komponen Algoritma 57
Contoh ekspresi numerik dan hasilnya 29/1/'07 Komponen Algoritma 58
Contoh Ekspresi character dan string Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama 29/1/'07 Komponen Algoritma 59
Contoh Ekspresi character dan string 29/1/'07 Komponen Algoritma 60
LATIHAN SOAL • Didefinisikan nama dalam kamus sebagai berikut : 29/1/'07 Komponen Algoritma 61
• 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. 29/1/'07 Komponen Algoritma 62
Urutan Prioritas Operator Deskripsi Asosiativitas Level Urutan () Grouping Operator 1 ! Logical Negation 2 * multiplication DIV, / division MOD Modulo + additiom - substraction < Less than <= Less than or equal to >= Greater than or equal to > Greater than = equal to <> Not equal to AND Used to perform a logical conjunction on two Left to right 3 Left to right 4 Left to right 5 Left to right 6 Left to right 7 Left to right 8 expressions OR Used to perform a logical
SEQUENCE Sequence adalah sederetan instruksi primitif dan/atau aksi yang akan dilaksanakan (dieksekusi) oleh komputer berdasarkan urutan penulisannya. Initial State dari sequence adalah state awal yang harus dipenuhi dan Final state dari sequence adalah final state setelah instruksi/aksi terakhir. 29/1/'07 Komponen Algoritma 64
Notasi algoritmik untuk sequence Sequence dapat dituliskan menjadi satu baris program dengan cara memisahkan penulisan setiap instruksi/aksi dengan tanda “titik koma”. 29/1/'07 Komponen Algoritma 65
Notasi algoritmik (cont’d) 29/1/'07 Komponen Algoritma 66
Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program 29/1/'07 Komponen Algoritma 67
Ada sequence yang jika diubah urutan instruksi/aksinya akan mempengaruhi eksekusi program. 29/1/'07 Komponen Algoritma 68
29/1/'07 Komponen Algoritma 69
Ada sequence yang jika diubah urutan instruksi/aksinya akan menghasilkan efek neto yang sama (tidak berpengaruh). 29/1/'07 Komponen Algoritma 70
29/1/'07 Komponen Algoritma 71
Pada bagian ini akan diberikan beberapa contoh program yang hanya mengandung sequence, dan hanya mempergunakan instruksi yang pernah dipelajari sebelumnya yaitu manipulasi nama dan harga. 29/1/'07 Komponen Algoritma 72
Contoh 1: HELLO Pernyataan Tuliskanlah algoritma untuk menulis "HELLO" ke piranti keluaran yang disediakan. Berikut ini diberikan 2 solusi. Pikirkanlah, mana yang lebih "baik". Spesifikasi Input : Output : 'HELLO' Proses : menulis 'HELLO' 29/1/'07 Komponen Algoritma 73
29/1/'07 Komponen Algoritma 74
Contoh 2: HELLOX Pernyataan: Tuliskanlah algoritma untuk membaca sebuah nama, dan menulis "HELLO“ yang diikuti dengan nama yang diketikkan. Contoh : jika dibaca 'ALI', maka keluaran adalah : 'HELLO ALI' jika dibaca 'SINTA', maka keluaran adalah : 'HELLO SINTA' Spesifikasi Input : nama Output : 'HELLO nama' Proses : menulis 'HELLO' diikuti nama yang dibaca 29/1/'07 Komponen Algoritma 75
29/1/'07 Komponen Algoritma 76
Contoh 3: JARAK Pernyataan : Dibaca dua buah harga v (kecepatan, m/detik) dan t (waktu, detik), yang mewakili koefisien persamaan gerak lurus beraturan. Harus dihitung dan dituliskan hasilnya, jarak yang ditempuh benda yang bergerak lurus beraturan dengan kecepatan v tersebut dalam waktu t. Spesifikasi: Input : v (kecepatan, m/detik), integer dan t (waktu, detik), integer Proses : menghitung S = v * t Output : S (jarak yang ditempuh dalam meter ), integer 29/1/'07 Komponen Algoritma 77
29/1/'07 Komponen Algoritma 78
29/1/'07 Komponen Algoritma 79
29/1/'07 Komponen Algoritma 80
Contoh 4: JAMMENITDETIK Pernyataan : Dibaca sebuah harga berupa bilangan bulat, positif dan lebih kecil dari 1 juta, yang mewakili besaran dalam detik. Harus dihitung ekivalensinya, berapa hari, jam berapa menit dan berapa detik. Contoh : data 309639 akan menghasilkan 3, 14, 0, 39, yang artinya 3 hari, 14 jam, 0 menit dan 39 detik 29/1/'07 Komponen Algoritma 81
Contoh 4 (cont’d) Spesifikasi: Input : n (detik), integer Proses : menghitung hari, jam, menit, detik ekivalen dengan n Output : HARI, JAM, MENIT, DETIK Analisis : nama-nama informasi yang akan dibutuhkan adalah : n : bilangan yang dibaca sebagai data, integer antara 0 dan 999999 H : HARI, bilangan bulat positif, HARI J : JAM, bilangan bulat positif antara 0 - 23 M : MENIT, bilangan bulat antara 0 -59 D : DETIK, bilangan bulat antara 0 - 59 Rumus : 1 hari = 86400 detik; 1 jam = 3600 detik dan 1 menit = 60 detik. 29/1/'07 Komponen Algoritma 82
29/1/'07 Komponen Algoritma 83
Contoh 5: KALKULASI TYPE TERSTRUKTUR PECAHAN Pernyataan: Tuliskanlah algoritma untuk membaca dua buah besaran bertype pecahan, dan menuliskan hasil kali kedua pecahan tersebut. Pecahan harus direpresentasi sebagai dua buah bilangan integer yang menyatakan pembilang dan penyebut. Untuk penyederhanaan, penyebut selalu tidak pernah sama dengan nol. Pecahan negatif ditandai dengan pembilang berupa integer negatif 29/1/'07 Komponen Algoritma 84
Contoh : Pecahan <1, 2> merepresentasi 1/2 Pecahan <-4, 2> merepresentasi -4/2 Pecahan <1, 1> merepresentasi 1/1 Pecahan <0, 2> merepresentasi 0/2 Pecahan <1, 0> BUKAN PECAHAN! ( DI LUAR DEFINISI) 29/1/'07 Komponen Algoritma 85
29/1/'07 Komponen Algoritma 86
29/1/'07 Komponen Algoritma 87
Contoh 6: Kalkulasi Type Terstruktur Jam Pernyataan: Tuliskanlah algoritma untuk membaca dua buah besaran bertype Jam yang mewakili awal dan akhir suatu percakapan telpon dan menuliskan durasi waktu dalam detik yang dihitung dari kedua jam yang dibaca. Type Jam terdiri dari Jam, menit dan detik dan dipakai sistem jam dengan jam 00: 00 sampai dengan 24. 60: 60 29/1/'07 Komponen Algoritma 88
Contoh : Jam <12: 00> mewakili jam 12 siang Jam <00: 00> mewakili jam 12 malam Jam <23: 10: 00> mewakili jam 11: 10: 00 malam Jam <12: 60: 00> BUKAN JAM ! Jam <25: 00> BUKAN JAM ! 29/1/'07 Komponen Algoritma 89
29/1/'07 Komponen Algoritma 90
Latihan soal 1. Apa komentar anda mengenai pemilihan NAMA pada algoritma JAMMENITDETIK di atas ? 2. Seorang programmer menuliskan pernyataan sebagai berikut, setelah mendefinisikan semua nama yang dipakai sebagai real: DUA=TUJUH + LIMA Cinta = Toto + Tita Apa komentar anda ? 29/1/'07 Komponen Algoritma 91
Latihan soal 3. Jika type jam diubah sehingga aturan penulisannya bukan lagi dalam domain 00: 00 sampai dengan 23: 59 melainkan menjadi dari 00: 00 am sampai dengan 11: 59 pm, apa yang harus dilakukan dengan program DURASI ? 4. Tuliskanlah minimal 20 rumus dalam bidang fisika dan matematika yang dapat diprogram dengan program JARAK sebagai “pola” program. 29/1/'07 Komponen Algoritma 92
Buatlah spesifikasi dan algoritma untuk persoalan berikut : 1. Dibaca dua buah harga yang dihasilkan dari pengukuran Arus (Ampere) dan Tahanan (Ohm), harus dihitung tegangan yang dihasilkan. 2. Dibaca sebuah bilangan bulat (rupiah) yang positif, harus dihitung ekivalensinya dalam dollar ($) dan dituliskan hasilnya. Bagaimana dengan perubahan kurs yang sering terjadi ? 29/1/'07 Komponen Algoritma 93
3. Apa yang harus diubah jika misalnya selain menghitung ekivalensi dalam $ juga harus dihitung ekivalensi dalam Yen, DM dan FF ? 4. Dibaca sebuah besaran riil, yang mewakili hasil pengukuran temperatur dalam derajat Celcius. Hitung ekivalensinya dalam derajat Fahrenheit, Rheamur dan Kelvin. 29/1/'07 Komponen Algoritma 94
5. Dibaca nama dan jam kerja pegawai, harus dihitung honor pegawai tersebut jika upahnya perjam adalah Rp. 5000, - Perhatikan bahwa upah perjam setiap pegawai tidak sama, dan perubahan upah tidak sesering perubahan kurs. 29/1/'07 Komponen Algoritma 95
6. Dibaca 3 buah bilangan bulat yang mewakili tiga buah tahanan dalam Ohm : R 1, R 2 dan R 3, harus dihitung dan dituliskan tahanan total yang dihasilkan jika ketiganya dipasang seri dan paralel. 29/1/'07 Komponen Algoritma 96
7. Dibaca 5 buah bilangan bulat A 1, A 2, A 3, A 4 dan A 5, harus dihitung jumlahnya dan dituliskan hasilnya. Bagaimana jika yang dibaca adalah 1000 buah bilangan ? 29/1/'07 Komponen Algoritma 97
Referensi • Liem, Inggriani. Diktat kuliah Algoritma & Pemrograman. ITB. 2003 29/1/'07 Komponen Algoritma 98
- Notasi
- Notasi algoritmik adalah
- Contoh notasi algoritmik
- Notasi yang menyerupai notasi bahasa
- 4 contoh notasi vektor
- Notasi
- Buatlah algoritma menulis dan mengirimkan surat
- Asimptotik adalah
- Notasi algoritma
- Notasi asimtotik algoritma
- Contoh algoritma prosedur
- Setiap algoritma akan selalu terdiri dari
- Algoritma berasal dari kata.
- Setiap algoritma akan selalu terdiri dari
- Teks algoritma berisi
- Tahap awal menulis laporan hasil observasi adalah...... *
- Membangun konteks teks proposal
- Ubahlah kutipan teks cerpen tersebut ke dalam teks drama
- Kang kalebu struktur teks lapuran asil observasi yaiku…
- Perangkat output adalah
- Pengantar metabolisme
- Pertanyaan tentang aspek pasar
- Mata kuliah pengantar arsitektur
- Pengantar teknik mesin
- Soal uas pengantar teknik kompilasi gunadarma
- Pengantar sistem cerdas
- Cara menangani surat masuk
- Pengantar geografi
- Pengantar togaf
- Rps pengantar ilmu hukum
- Mata kuliah pip
- Pengantar teknologi sim 2 gunadarma
- Pdgk 4407 modul 7
- Busur jangka in english
- Simbol kawat penghubung
- Contoh rangkaian digital
- Pengertian matematika diskrit
- Silabus pengantar bisnis
- Dasar digital
- Pengantar jaringan komputer
- Modul pengantar manajemen
- Mata kuliah aplikasi komputer statistik
- Pengantar analisis rangkaian
- Pengertian pengantar teknologi informasi
- Pengantar bisnis terintegrasi
- Contoh soal piutang dagang pengantar akuntansi 2
- Kata pengantar makalah bahasa inggris
- Pengantar teori permainan
- Buku pengantar akuntansi 1 adaptasi indonesia edisi 4
- Pengantar surat disebut
- Pengantar multimedia
- Ibm asci white adalah contoh
- Pengantar metodologi penelitian ppt
- Bagan arsitektur komputer
- Pola segitiga narasi
- Soal pengantar teknologi informasi
- Psikometri adalah
- Pengantar jaringan komputer
- Silabus pengantar bisnis
- Pengantar struktur data
- Kurva frekuensi adalah
- Rangkaian buffer
- Obat parasit tubuh manusia
- Pengertian game theory
- Pengantar alat bukti
- Misce fac lege artis
- Pengantar teknologi informasi semester 1
- Intro logo
- Silabus pengantar bisnis
- Jaringan komputer
- Pengantar analisis rangkaian
- Kata pengantar bahasa arab document
- Materi pengantar aplikasi komputer
- Pengantar sistem digital
- Contoh lembar pengesahan ktsp paud
- Akuntansi pengantar 2
- Pengantar aplikasi komputer ppt
- Cover ppt kelompok kuliah
- Pengantar teknik informatika
- Pengantar sains sosial
- Hka101-pengantar-kesusasteraan_classof2021_vhghtxqwdhteckoc
- Silabus pengantar ilmu hukum
- Ungkapan pengantar
- Lingkungan msdm (mondy 2008)
- Anjab pengantar kerja
- Pengantar bisnis dan manajemen
- Pengantar agroindustri
- Pengantar akuntansi 1 berbasis ifrs
- Modul pengantar akuntansi 1
- Silabus ilmu politik
- Pengantar komputer dan teknologi informasi
- Definisi dari sistem operasi
- Pengantar aplikasi komputer
- Mata kuliah pengantar arsitektur
- Distribusi frekuensi data kualitatif
- Quiz pengantar manajemen
- Kontrak kuliah pengantar ekonomi mikro
- Bab 1 pengantar akuntansi dan perusahaan
- Modul pengantar akuntansi 2