Notasi Algoritmik 20107 Pengantar 1 Teks Algoritma Terdiri

  • Slides: 98
Download presentation
Notasi Algoritmik 20/1/'07 Pengantar 1

Notasi Algoritmik 20/1/'07 Pengantar 1

Teks Algoritma Terdiri atas tiga bagian • Judul • Kamus / deklarasi • Algoritma

Teks Algoritma Terdiri atas tiga bagian • Judul • Kamus / deklarasi • Algoritma 20/1/'07 Pengantar 2

Contoh teks algoritma 20/1/'07 Pengantar 3

Contoh teks algoritma 20/1/'07 Pengantar 3

Pada setiap bagian akan didefinisikan & dituliskan NAMA atau komentar Komentar dituliskan diantara tanda

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

NAMA 20/1/'07 Pengantar 5

Aturan pemberian NAMA 1. Dalam bahasa pemrograman, setiap nama mempunyai aturan penulisan. Pada teks

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

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 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

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

KAMUS 20/1/'07 Pengantar 10

Contoh pendefinisian kamus 20/1/'07 Pengantar 11

Contoh pendefinisian kamus 20/1/'07 Pengantar 11

ALGORITMA 20/1/'07 Pengantar 12

ALGORITMA 20/1/'07 Pengantar 12

Komponen Algoritma 20/1/'07 Pengantar 13

Komponen Algoritma 20/1/'07 Pengantar 13

Tipe Dasar dan Komposisi

Tipe Dasar dan Komposisi

TYPE Definisi: Pola representasi suatu data dalam komputer Kegunaan: Mendefinisikan objek yang akan diprogram

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

Mendefinisikan type berarti 23/1/'07 Type 16

Macam-macam TYPE 23/1/'07 Type 17

Macam-macam TYPE 23/1/'07 Type 17

Bilangan logika 23/1/'07 Type 18

Bilangan logika 23/1/'07 Type 18

Tabel kebenaran operator boolean 23/1/'07 Type 19

Tabel kebenaran operator boolean 23/1/'07 Type 19

Bilangan bulat 23/1/'07 Type 20

Bilangan bulat 23/1/'07 Type 20

Bilangan riil 23/1/'07 Type 21

Bilangan riil 23/1/'07 Type 21

Karakter 23/1/'07 Type 22

Karakter 23/1/'07 Type 22

String 23/1/'07 Type 23

String 23/1/'07 Type 23

Type yang definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan melakukan

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

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

Contoh Type Hari 23/1/'07 Type 26

Suatu TYPE yang dibentuk (dan diberi nama) dari beberapa komponen bertype tertentu, jadi merupakan

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,

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

Contoh 1: Type Point 23/1/'07 Type 29

Deklarasi variabel 23/1/'07 Type 30

Deklarasi variabel 23/1/'07 Type 30

Domain: <real, real> Konstanta: <5. 0, 6. 0> <6. 0, 100. 0> Operator: •

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

Contoh 2: Type JAM 23/1/'07 Type 32

Notasi Algoritmik 23/1/'07 Type 33

Notasi Algoritmik 23/1/'07 Type 33

Deklarasi variabel 23/1/'07 Type 34

Deklarasi variabel 23/1/'07 Type 34

Domain: < integer, integer > Konstanta: <0, 0, 0> <15, 20, 30> Operator: •

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

Contoh 3. Sistem Penjadwalan 23/1/'07 Type 36

Notasi algoritmik Notasi Algoritmik 23/1/'07 Type 37

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

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’,

• 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

Komponen Algoritma

Harga / Nilai 29/1/'07 Komponen Algoritma 41

Harga / Nilai 29/1/'07 Komponen Algoritma 41

1. Diisikan ke NAMA informasi (nama variabel) yang mempunyai type sesuai dengan harga tersebut

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

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

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

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

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

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

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

Notasi algoritmik untuk penulisan harga 29/1/'07 Komponen Algoritma 49

Syarat • list nama adalah satu atau lebih nama : boleh nama INFORMASI, nama

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

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

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)

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

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

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 boolean 29/1/'07 Komponen Algoritma 56

Contoh Ekspresi Numerik Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama variabel 29/1/'07 Komponen

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 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

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

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

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.

• 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

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

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

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

Notasi algoritmik (cont’d) 29/1/'07 Komponen Algoritma 66

Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan

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

Ada sequence yang jika diubah urutan instruksi/aksinya akan mempengaruhi eksekusi program. 29/1/'07 Komponen Algoritma 68

29/1/'07 Komponen Algoritma 69

29/1/'07 Komponen Algoritma 69

Ada sequence yang jika diubah urutan instruksi/aksinya akan menghasilkan efek neto yang sama (tidak

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

29/1/'07 Komponen Algoritma 71

Pada bagian ini akan diberikan beberapa contoh program yang hanya mengandung sequence, dan hanya

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.

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

29/1/'07 Komponen Algoritma 74

Contoh 2: HELLOX Pernyataan: Tuliskanlah algoritma untuk membaca sebuah nama, dan menulis "HELLO“ yang

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

29/1/'07 Komponen Algoritma 76

Contoh 3: JARAK Pernyataan : Dibaca dua buah harga v (kecepatan, m/detik) dan t

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 78

29/1/'07 Komponen Algoritma 79

29/1/'07 Komponen Algoritma 79

29/1/'07 Komponen Algoritma 80

29/1/'07 Komponen Algoritma 80

Contoh 4: JAMMENITDETIK Pernyataan : Dibaca sebuah harga berupa bilangan bulat, positif dan lebih

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,

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

29/1/'07 Komponen Algoritma 83

Contoh 5: KALKULASI TYPE TERSTRUKTUR PECAHAN Pernyataan: Tuliskanlah algoritma untuk membaca dua buah besaran

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,

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 86

29/1/'07 Komponen Algoritma 87

29/1/'07 Komponen Algoritma 87

Contoh 6: Kalkulasi Type Terstruktur Jam Pernyataan: Tuliskanlah algoritma untuk membaca dua buah besaran

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

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

29/1/'07 Komponen Algoritma 90

Latihan soal 1. Apa komentar anda mengenai pemilihan NAMA pada algoritma JAMMENITDETIK di atas

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

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

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

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

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 :

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

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

Referensi • Liem, Inggriani. Diktat kuliah Algoritma & Pemrograman. ITB. 2003 29/1/'07 Komponen Algoritma 98