Minggu II
SEKUEN
Overview Tantowi Yahya : “urutkan kegiatan menggosok gigi dengan urutan yang benar : “ A. Ambil sikat gigi B. Berkumur C. Menyikat gigi D. Ambil odol n
Jawaban yang benar : Tantowi Yahya : “urutkan kegiatan menggosok gigi dengan urutan yang benar : “ A. Ambil sikat gigi B. Ambil odol C. Menyikat gigi D. Berkumur n
n
Apa akibatnya apabila urutan langkah tadi terbalik tidak sesuai dengan urutan yang benar ?
Kegiatan Sarapan A. B. C. D. E. F. G.
Ambil piring Ambil nasi Ambil lauk Ambil sayur Makan Minum Selesai
n
Apa perbedaan dari kasus 1 dan kasus 2 ?
SEKUEN n
n
sederetan pernyataan-pernyataan yang urutan dan pelaksanaan eksekusinya runtut, yang lebih dahulu ditemukan (dibaca) akan dikerjakan (dieksekusi) lebih dulu Bila urutan pernyataan dibalik, akan mempunyai makna yang berbeda
Operator Aritmetika Aritmetika + div modulo
Arti penjumlahan pengurangan pembagian integer sisa pembagian
Pascal + div mod
C++ + / %
Pelajari presedensi dan asosiatifitas operator pada mata kuliah Pemrograman C++
Pemrograman Pernyataan Input Output penugasan akhir pernyataan
Algoritmik Bahasa Pascal Read read atau readln Write write atau writeln ß := ; Fungsi Pascal C++ sqr pow sqrt sqrt ln log exp exp
Arti kuadrat akar kuadrat logaritma alami eksponensial
Bahasa C++ cin >> cout << = ;
Kasus 2.1. n n
Hitunglah jumlah dari 3 buah bilangan bulat! Analisis : Ø Ø Ø
Input : misalkan a, b, c semua integer Proses : jumlah ß a + b + c Output : tulis (jumlah)
Algoritma 2.1 Algoritma mencari jumlah 3 bilangan bulat {menghitung jumlah 3 bilangan bulat, algoritma menerima masukan 3 buah bilangan bulat, menjumlahkan, lalu mencetak hasil penjumlahannya} Deklarasi a, b, c : integer {input} jumlah : integer {output} Deskripsi read(a, b, c) jumlah ß a + b + c write(jumlah)
Flowchart 2.1 Start
Input A, B, C
Jumlah = A+B+C
Cetak Jumlah
End
Translasi 2.1 Bahasa C++ #include
class Hitung { friend ostream& operator<<(ostream&, const Hitung&); friend istream& operator>>(istream&, Hitung&); public: Hitung(); void hitung_jumlahnya(){ jumlah = (a + b + c); } private: int a,b,c; int jumlah; }; Hitung::Hitung() { cout << "Program menghitung jumlah 3 integer\n"; } istream& operator>>(istream& in, Hitung& masukan) { cout << "Masukkan nilai a : "; in >> masukan.a; cout << "Masukkan nilai b : "; in >> masukan.b; cout << "Masukkan nilai c : "; in >> masukan.c; return in; } ostream& operator<<(ostream& out, const Hitung& keluaran) { out << "Jumlah 3 integer di atas : " << keluaran.jumlah << endl; return out; }
Kasus 2.2. n n
Buat algoritma dan program untuk mencari hasil kali dari dua buah bilangan ! Analisis : Ø Ø Ø
Input : misalkan a, b semua integer Proses : hasil ß a * b Output : tulis (hasil)
Algoritma 2.2 Algoritma hasil_kali {mencari hasil kali dari dua buah bilangan bulat, algoritma menerima masukan nilai bilangan1 dan bilangan2, lalu mengalikan kedua bilangan tersebut, dan mencetak hasil kalinya} Deklarasi a,b : integer ( input ) hasil : integer ( output ) Deskripsi read(a,b) hasil ß a*b write(hasil)
Translasi 2.2 Bahasa C++ class Perkalian { friend ostream& operator<<(ostream&, const Perkalian&); friend istream& operator>>(istream&, Perkalian&); public: Perkalian(); void hitung_perkaliannya(){ hasil = (a * b); } private: int a,b; int hasil; };
Kasus 2.3. n
n
Buat algoritma dan program untuk menghitung konversi dari m ke cm dan inchi ! Analisis : Ø Ø Ø Ø Ø Ø
Input : misalkan m (mewakili meter) Proses : 1 meter = 100 cm 1 inci = 2.54 cm cm = m *100 inci = m*100/ 2.54 Output : tulis (cm, inci)
Algoritma 2.3 Algoritma konversi jarak {mengkonversi mulai jarak dari meter ke cm dari inchi, masukan m ke cm, lalu masukkan ke inchi} Deklarasi m : real(input) cm : real(output) inci : real(output) Deskripsi read(m) cm ß m *100 inci ß m*100/ 2.54 write(cm) write(inci)
Translasi 2.3 Bahasa C++ class Konversi { public: Konversi(); void konversi_ke_cm(){ cm = (m * 100); } void konversi_ke_inci(){ inci = cm/2.54; } private: float m; float cm, inci; }; istream& operator>>(istream& in, Konversi& masukan) { cout << "Masukkan nilai m : "; in >> masukan.m; masukan.konversi_ke_cm(); masukan.konversi_ke_inci(); return in; }
Kasus 2.6 Setiap bilangan bulat selalu bisa ditulis dalam bentuk : m = q.n + r n dengan n < m, q adalah kuosen dan r adalah residu (sisa). n Buatlah algoritma untuk merepresentasikan m dan dalam bentuk m = q.n + r. Sebagai contoh : n integer m = 73 dan n = 7 dapat ditulis sebagai 73 = 10x7 + 3, yaitu r = 3.
Analisis n
n n
n
Ingat ! Bila perlu buatlah contoh bilangan tertentu sehingga kita memperoleh gambaran bagaimana cara kerja (proses) yang akan dilakukan algoritma. Input : n dan m (n < m), Proses : Kuosen q menggunakan / (asal kedua operan integer), sedangkan r dapat diperoleh dengan menggunakan operator %. Output : q dan r (disusun seperti yang diminta)
Algoritma 2.6 Algoritma Aljabar {membaca masukan nilai n dan m dengan n<m kemudian menuliskan outputnya berbentuk m = q.n + r} Deklarasi m, n : integer {input} q, r : integer {output} Deskripsi read (m, n) q ß m div n r ß m mod n write (q, r)
(n < m) {mendapatkan nilai q} {mendapatkan nilai r}
Translasi 2.6 Bahasa C++ class Aljabar { friend ostream& operator<<(ostream&, const Aljabar&); friend istream& operator>>(istream&, Aljabar&); public: Aljabar(); void hitung(){ q = m / n; // mendapatkan nilai q r = m % n; // mendapatkan nilai r } private: int m,n; // input int q,r; // output };
Ringkasan n
Untuk membuat pernyataan penugasan yang benar, perhatikan urutan pengerjaan operator (presedensi operator) Jenis Operator Perkalian Penjumlahan
Presedensi Operator Lebih tinggi */% Lebih rendah + -
Telah dibahas : n n
n
Dalam merancang algoritma, faktor analisis memegang peranan penting Contoh-contoh program yang menunjukkan urutan perintah merupakan aspek yang penting dalam merancang solusi Akan sulit membuat program bila tidak menguasai algoritma !
Latihan (individu) n
n
Buatlah algoritma dan program untuk memisahkan bilangan integer yang kurang dari 1000 menjadi komponen- komponennya. Sebagai contoh : 127 = 1 ratusan + 2 puluhan + 7 satuan Buatlah algoritma dan program untuk menghitung determinan matriks berordo 2x2
Bahan diskusi n
Adik membeli krupuk Rp 250, permen Rp 325 dan mie instan Rp 750. Ibu memberi uang Rp 5000,-. n n
n
Berapakah uang kembalian yang diterima adik ? Sebutkan berapa susunan uang kembalian berdasarkan pecahan yang ada di Indonesia !
Susunlah algoritma uang kembalian tsb. Spesifikasikan : n n n
Input Proses Output
Bacaan n n n
n
File : [S2] A.2 IOStream Overview [S3] Calculating in C++ : pelajari kasus wallpaper yang digunakan untuk menutupi dinding sebuah ruangan [S5] n n n
16.1 C++ File I/O 16.9 C-Style I/O Routines 16.11 C-Style Binary I/O
Minggu III : KONTROL PROGRAM n
Pernyataan kondisional : if (ekspresi) aksi; if (ekspresi) aksi1; else aksi2;
n n n
Operator Relasional Tabel Kebenaran Operator Or dan AND Gambar Flowchart terkait