Implementasi Algortima Komponen Algoritma Implementasi Algortima
Komponen Algoritma Harga/Nilai: Suatu besaran bertipe yang telah dikenal. Harga diperoleh dari: Isi suatu nama/tempat (variabel atau konstanta) Hasil perhitungan suatu ekspresi Hasil yang dikirim dari suatu fungsi
Manipulasi Harga Diisikan ke variabel yang mempunyai tipe sesuai (assignment). NIM 613120001 Diacu dari suatu nama/tempat untuk digunakan dalam ekspresi. hasil 100 * bil + 3 Dituliskan ke piranti keluaran. Output (hasil)
Assignment Adalah instruksi primitif algoritmik untuk menyimpan harga pada suatu nama/tempat yang isinya boleh bervariasi. Contoh: bil1 bil2 kampus “IT Telkom” zakat 0.25 * penghasilan { bil1 & bil2 bertipe sama, bil2 disalin ke bil1 }
Input & Output (1) Input : Pemberian suatu harga ke suatu nama / tempat melalui piranti masukan (keyboard, mouse,dsb) Contoh : input (usia) { user memasukan angka 17 melalui keyboard / piranti masukan ,kemudian disimpan dalam tempat “usia” }
Input & Output (2) Output : Mengkomunikasikan harga ke dunia luar melalui piranti keluaran (layar, printer, dsb) Contoh : Output (usia) Output (“IT Telkom”) Output (1945+2013) Output (“Dirgahayu Indonesia ke”, 2013-1945) { menampilkan isi harga dari tempat yang bernama “usia” } { menampilkan tulisan didalam tanda petik } { menampilkan hasil perhitungan }
Ekspresi (1) Ekspresi Uner adalah ekspresi dengan operator uner, yaitu operator yang hanya membutuhkan satu operan Ekspresi Biner adalah ekspresi dengan operator biner, yaitu operator yang membutuhkan 2 operan.
Ekspresi (2) 3 macam notasi : Infix operan1 operator operan2 Prefix operator operan1 operan2 Sufix operan1 operan2 operator Contoh : Infix : ( ( 3 * 5 ) + ( 4 div 7 ) ) - ( a * b ) Prefix : - + * 3 5 div 4 7 * a b Sufix : 3 5 * 4 7 div a b * + -
Sequence Adalah sederetan Instruksi primitif dan/atau aksi yang akan dilaksanakan oleh komputer berdasarkan urutan penulisannya. Inisial state (IS) : state awal yang harus dipenuhi Final state (FS) : state akhir setelah instruksi/ aksi terakhir
Notasi Algoritmik untuk Sequence Sequence dapat ditulis menjadi satu baris program dengan cara memisahkan instruksi dengan tanda “Titik-Koma”
Notasi Algoritmik untuk Sequence Contoh: Judul MissWorld2013 {contoh penulisan sequence dengan titik-koma} Kamus Type Body : <tinggi : integer, berat : real> Type MissWorld : <nama : string, badan: Body> data : MissWorld
Notasi Algoritmik untuk Sequence Algoritma Input(data.nama) ; input(data.Badan.tinggi) input(data.badan.berat) ; output(data.nama) output(data.badan.tinggi) output(data.badan.berat)
Catatan! Perhatikan urutan penulisan program Penulisan sequence dengan titik-koma dilakukan untuk sequence yang jika urutan penulisannya diubah tidak berpengaruh kepada program Ada sequence yang jika diubah urutan instruksinya akan menghasilkan efek neto yang sama / tidak berpengaruh
Contoh-1 Pernyataan : Dibaca 2 buah harga a (alas) dan t (tinggi), yang akan digunakan untuk perhitungan luas segitiga. Harus dihitung & dituliskan hasilnya. Spesifikasi : Input : alas integer , tinggi integer Proses : menghitung Luas = ½ alas.tinggi Output : Luas
Contoh-1 Judul Luas_Segitiga_1 Kamus alas , tinggi : integer {dibaca alas & tinggi, menghitung luas & menampilkan hasilnya} Kamus alas , tinggi : integer luas : integer Algoritma input(alas,tinggi) luas 0.5 * alas * tinggi output(luas)
Contoh-1 Judul Luas_Segitiga_2 Kamus alas,tinggi : integer Algoritma {dibaca alas & tinggi, menghitung luas & menampilkan hasilnya} Kamus alas,tinggi : integer Algoritma input(alas,tinggi) output(0.5*alas*tinggi)
Contoh-2 Penyataan : Tuliskan algoritma untuk membaca 2 buah besaran bertipe pecahan & menuliskna hasil kali kedua pecahan tersebut. Pecahan harus direpresentasikan sebagai 2 bilangan integer yang menyatakan pembilang penyebut. Untuk penyederhanaan, penyebut selalu tidak pernah sama dengan nol. Pecahan negatif ditandai dengan pembilang berupa integer negatif.
Contoh-2 Ilustrasi : Pecahan <1,2> , merepsentasikan ½ Pecahan<-4,2> , merepresentasikan −𝟒 𝟐 Pecahan<0,2> , merepsentasikan 𝟎 𝟐 Pecahan<1,0> , bukanpecahan
Contoh-2 Judul pecahan_1 { input : p1,p2 bertipe pecahan, output : hasil kali p1 dan p2 } Kamus Type pecahan : <pembiang,penyebut : integer > p1,p2 : pecahan Algoritma input(p1,p2) output(p1.pembilang * p2.pembilang , p1.penyebut * p2.penyebut)
Latihan Soal Tuliskanlah minimal 10 rumus dari bidang Fisika & Matematika, kemudian tuangkan algoritmanya (seperti pola “Luas”) Tuliskanlah algoritma untuk membaca 2 buah besaran bertipe”JAM” yang mewakili awal & akhir suatu percakapan telepon & menuliskan durasi waktu dalam detik, yang dihitung dari kedua jam yang dibaca. format JAM : MENIT : DETIK contoh : 23 : 10 : 05
Latihan Soal Dibaca sebuah bilangan real yang mewakili hasil pengukuran temperature dalam derajat Celcius. Hitung ekivalensinya dalam derajat Fahrenheit, Rheamur, dan Kelvin !
Referensi Liem, Inggriani. Diktat kuliah Algoritma & Pemrograman. ITB. 2003
See you… Thank you!