Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

20/1/'07Pengantar1 Notasi Algoritmik. 20/1/'07Pengantar2 Teks Algoritma Terdiri atas tiga bagian Judul Kamus / deklarasi Algoritma.

Presentasi serupa


Presentasi berjudul: "20/1/'07Pengantar1 Notasi Algoritmik. 20/1/'07Pengantar2 Teks Algoritma Terdiri atas tiga bagian Judul Kamus / deklarasi Algoritma."— Transcript presentasi:

1 20/1/'07Pengantar1 Notasi Algoritmik

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

3 20/1/'07Pengantar3 Contoh teks algoritma

4 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

5 20/1/'07Pengantar5 NAMA

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

7 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

8 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

9 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

10 20/1/'07Pengantar10 KAMUS

11 20/1/'07Pengantar11 Contoh pendefinisian kamus

12 20/1/'07Pengantar12 ALGORITMA

13 20/1/'07Pengantar13 Komponen Algoritma

14 Tipe Dasar dan Komposisi

15 23/1/'07Type15 TYPE Definisi: Pola representasi suatu data dalam komputer Kegunaan: Mendefinisikan objek yang akan diprogram

16 23/1/'07Type16 Mendefinisikan type berarti

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

18 23/1/'07Type18 Bilangan logika

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

20 23/1/'07Type20 Bilangan bulat

21 23/1/'07Type21 Bilangan riil

22 23/1/'07Type22 Karakter

23 23/1/'07Type23 String

24 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

25 23/1/'07Type25 Katakunci Pada type enumerasi dikenal cara akses suatu nilai anggota melalui katakunci

26 23/1/'07Type26 Contoh Type Hari

27 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

28 23/1/'07Type28 Notasi Type Bentukan (Komposisi) Type nama_type < elemen_1 : type_1, elemen_2 : type_2, elemen_3 : type_3, ……………………>

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

30 23/1/'07Type30 Deklarasi variabel

31 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

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

33 23/1/'07Type33 Notasi Algoritmik

34 23/1/'07Type34 Deklarasi variabel

35 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

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

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

38 23/1/'07Type38 Deklarasi Variabel Jika dideklarasikan sebuah NAMA Jadwal_kuliah Cara mengacu elemen di JADWAL

39 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

40 Komponen Algoritma

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

42 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

43 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

44 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

45 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

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

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

48 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

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

50 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

51 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

52 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

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

54 29/1/'07Komponen Algoritma54 Contoh type ekspresi untuk type dasar Logik (boolean) Numerik Character dan string

55 29/1/'07Komponen Algoritma55 Contoh Ekspresi boolean Diberikan sebuah kamus & algoritma untuk mendefinisikan nama variabel

56 29/1/'07Komponen Algoritma56 Contoh Ekspresi boolean

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

58 29/1/'07Komponen Algoritma58 Contoh ekspresi numerik dan hasilnya

59 29/1/'07Komponen Algoritma59 Contoh Ekspresi character dan string Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama

60 29/1/'07Komponen Algoritma60 Contoh Ekspresi character dan string

61 29/1/'07Komponen Algoritma61 LATIHAN SOAL Didefinisikan nama dalam kamus sebagai berikut :

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

63 Urutan Prioritas Operator OperatorDeskripsiAsosiativitasLevel Urutan () Grouping Operator 1 ! Logical Negation 2 * multiplication Left to right3 DIV, / division MOD Modulo + additiom Left to right4 - substraction < Less than Left to right5 <= Less than or equal to >= Greater than or equal to > Greater than = equal to Left to right6 <> Not equal to AND Used to perform a logical conjunction on two expressions Left to right7 OR Used to perform a logical disjunction on two expressions. Left to right8

64 29/1/'07Komponen Algoritma64 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.

65 29/1/'07Komponen Algoritma65 Notasi algoritmik untuk sequence Sequence dapat dituliskan menjadi satu baris program dengan cara memisahkan penulisan setiap instruksi/aksi dengan tanda “titik koma”.

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

67 29/1/'07Komponen Algoritma67 Penulisan sequence dengan dipisahkan titik koma sebaiknya hanya dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program

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

69 29/1/'07Komponen Algoritma69

70 29/1/'07Komponen Algoritma70 Ada sequence yang jika diubah urutan instruksi/aksinya akan menghasilkan efek neto yang sama (tidak berpengaruh).

71 29/1/'07Komponen Algoritma71

72 29/1/'07Komponen Algoritma72 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.

73 29/1/'07Komponen Algoritma73 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'

74 29/1/'07Komponen Algoritma74

75 29/1/'07Komponen Algoritma75 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

76 29/1/'07Komponen Algoritma76

77 29/1/'07Komponen Algoritma77 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

78 29/1/'07Komponen Algoritma78

79 29/1/'07Komponen Algoritma79

80 29/1/'07Komponen Algoritma80

81 29/1/'07Komponen Algoritma81 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 akan menghasilkan 3, 14, 0, 39, yang artinya 3 hari, 14 jam, 0 menit dan 39 detik

82 29/1/'07Komponen Algoritma82 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 H : HARI, bilangan bulat positif, HARI J : JAM, bilangan bulat positif antara M : MENIT, bilangan bulat antara D : DETIK, bilangan bulat antara Rumus : 1 hari = detik; 1 jam = 3600 detik dan 1 menit = 60 detik.

83 29/1/'07Komponen Algoritma83

84 29/1/'07Komponen Algoritma84 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

85 29/1/'07Komponen Algoritma85 Contoh : Pecahan merepresentasi 1/2 Pecahan merepresentasi -4/2 Pecahan merepresentasi 1/1 Pecahan merepresentasi 0/2 Pecahan BUKAN PECAHAN! ( DI LUAR DEFINISI)

86 29/1/'07Komponen Algoritma86

87 29/1/'07Komponen Algoritma87

88 29/1/'07Komponen Algoritma88 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:00 sampai dengan 24.60:60

89 29/1/'07Komponen Algoritma89 Contoh : Jam mewakili jam 12 siang Jam mewakili jam 12 malam Jam mewakili jam 11:10:00 malam Jam BUKAN JAM !

90 29/1/'07Komponen Algoritma90

91 29/1/'07Komponen Algoritma91 Latihan soal 1.Apa komentar anda mengenai pemilihan NAMA 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 ?

92 29/1/'07Komponen Algoritma92 Latihan soal 3.Jika type jam diubah sehingga aturan penulisannya bukan lagi dalam domain 00:00:00 sampai dengan 23:59:59 melainkan menjadi dari 00:00:00 am sampai dengan 11:59: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.

93 29/1/'07Komponen Algoritma93 Buatlah spesifikasi dan algoritma untuk persoalan- 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 ?

94 29/1/'07Komponen Algoritma94 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.

95 29/1/'07Komponen Algoritma95 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.

96 29/1/'07Komponen Algoritma96 6.Dibaca 3 buah bilangan bulat yang mewakili tiga buah tahanan dalam Ohm : R1, R2 dan R3, harus dihitung dan dituliskan tahanan total yang dihasilkan jika ketiganya dipasang seri dan paralel.

97 29/1/'07Komponen Algoritma97 7.Dibaca 5 buah bilangan bulat A1, A2, A3, A4 dan A5, harus dihitung jumlahnya dan dituliskan hasilnya. Bagaimana jika yang dibaca adalah 1000 buah bilangan ?

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


Download ppt "20/1/'07Pengantar1 Notasi Algoritmik. 20/1/'07Pengantar2 Teks Algoritma Terdiri atas tiga bagian Judul Kamus / deklarasi Algoritma."

Presentasi serupa


Iklan oleh Google