660 likes | 791 Views
Introduction. 02. using. to. Algorithm. C / C++. Algoritma. dan. Pengetahuan Terkait. apakah. Algoritma. itu. ?. Soal-5. Menghitung luas segitiga bila diketahui alas dan tinggi segitiga tersebut. Soal-5.
E N D
Introduction 02 using to Algorithm C / C++ Algoritma dan Pengetahuan Terkait
apakah Algoritma itu ?
Soal-5 Menghitung luas segitiga bila diketahui alas dan tinggi segitiga tersebut
Soal-5. Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput alas dan tinggi sebuah segitiga, kemudian mencetak luas segitiga tersebut. 7 5 ? 7 5 ? cin cout A T L A untuk Alas T untuk Tinggi, dan L untuk Luas
Soal-5. Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput alas dan tinggi sebuah segitiga, kemudian mencetak luas segitiga tersebut. 7 5 17.5 7 5 17.5 cin cout A T L A untuk Alas T untuk Tinggi, dan L untuk Luas
harus mengetahui : Rumus menghitung Luas sebuah Segitiga Kadang-kadang : Mencari , memahami dan menggunakan Lebih sulit : Rumus, dibandingkan menulis algoritma
algoritma dapat ditulis setelah persoalannya sudah dipahami dan konsep atau draf secara manual sudah dibuat
Yang harus dipahami dan Dikuasai sebelumnya BUKAN PERSOALAN MATEMATIKA RUMUS menghitung Luas sebuah segitiga : DALAM BEBERAPA HAL (KASUS), RUMUS TIDAK DIBERITAHUKAN LUAS = ALAS * TINGGI / 2 LUAS = (ALAS * TINGGI) / 2 atau PEMBUAT ALGORITMA HARUS MENGETAHUINYA SENDIRI atau LUAS = ALAS * ( TINGGI / 2) atau LUAS = ALAS * TINGGI * 0.5 TIDAK MENGETAHUI RUMUS TIDAK DAPAT MEMBUAT ALGORITMA LUAS = 0.5 * ALAS * TINGGI atau atau dan sebagainya yang valid
Draf KONSEP penyelesaian Alas Tinggi 7 5 Luas = Alas * Tinggi / 2 17.5 Luas
Program Algoritma yangditulis dalam suatu Bahasa Pemrograman disebut PROGRAM menghitung dan mencetak Luas Segitiga
cin A,T C++ Cara-1 Program Flowchart #include <iostream.h> void main() { float A, T, L; cin >> A; cin >> T; L = A * T / 2; cout << L; } START cin A cin T L = A * T / 2 cout L END Dua instruksi ini dapat digabung menjadi satu instruksi : cin >> A >> T;
C++ Cara-1 #include <iostream.h> void main() { float A, T, L; cin >> A; cin >> T; L = A * T / 2; cout << L; } 7 5 17.5 Menulis program, memerlukan pengtahuan mengenai : Karena ada kemungkinan mengandung nilai pecahan, maka digunakan tipe data : BAHASA Pemograman yang digunakan float Floating point Single Precission
C++ Cara-1 #include <iostream.h> void main() { float A, T, L; cin >> A; cin >> T; L = A * T / 2; cout << L; } 12 6 30 Walaupun tipe data : float Tapi tercetak bukan : 30.0
C++ Cara-1 #include <iostream.h> void main() { int A, T, L; cin >> A; cin >> T; L = A * T / 2; cout << L; } 7 5 17 7 * 5 = 35 35 / 2 = 17 Bagaimana bila menggunakan tipe data : int Bukan : 17.5 integer
#include <iostream.h> void main() { float A,T, L; cout << " Alas : " ; cin >> A; cout << " Tinggi : " ; cin >> T; L = A * T / 2; cout << " Luas : " << L; } Alas : 7 Tinggi : 5 Luas : 17.5 Atau : #include <iostream.h> void main() { float A,T, L; cout << " Alas : " ; cin >> A; cout << " Tinggi : " ; cin >> T; L = A * T / 2; cout << " Luas : " << L; }
Soal-6 Meng-konversi derajat Celcius ke derajat Fahrenheit
Soal-6. Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput sebuah nilai integer yang menyatakan temperatur dalam derajat Celcius, kemudian cetak temperatur tersebut dalam derajat Fahrenheit. 40 xx.x 40 xx.x cin cout C F C untuk nilai derajat Celcius F untuk nilai derajat Fahrenheit
harus mengetahui : Rumus konversi derajat Celcius ke derajat Fahrenheit
Draf KONSEP penyelesaian Celcius Fahrenheit F = 9/5 * C + 32 40 104 C F #include <iostream.h> void main() { float C,F; cin >> C; F = 9.0 / 5 * C + 32; cout << F; } 9 / 5 = 1.8 1.8 * 40 = 72 72 + 32 = 104
Program menghitung dan mencetak derajat Fahrenheit
C++ Cara-1 #include <iostream.h> void main() { float C,F; cin >> C; F = 9 / 5 * C + 32; cout << F; } 40 72 SALAH Ceharusnya, untuk C = 40, maka Nilai F = 104 Bila menggunakan suatu Bahasa Pemrograman, harus diketahui sifat / karakteristik Bahasa Pemrograman tersebut.
C++ Cara-1 #include <iostream.h> void main() { float C,F; cin >> C; F = 9 / 5 * C + 32; cout << F; } 40 72 SALAH Ceharusnya, untuk C = 40, maka Nilai F = 104 Bila diinput : 40 untuk nilai C Maka tercetak : 72 sebagai isi F Karena 9 dan 5 kedua-duanya dianggap integer Salah satu saja tipenya float, maka hasilnya float 9 / 5 = 1 1 * 40 = 40 40 + 32 = 72
C++ Cara-1 #include <iostream.h> void main() { float C,F; cin >> C; F = 9.0 / 5 * C + 32; cout << F; } 40 104 Bila diinput : 40 untuk nilai C Maka trcetak : 104 sebagai isi F Salah satu saja tipenya float, maka hasilnya float atau 9 / 5.0 9.0 / 5 = 1.8 1.8 * 40 = 72 72 + 32 = 104
C++ Cara-1 #include <iostream.h> void main() { float C,F; cin >> C; F = 9 / 5.0 * C + 32; cout << F; } 40 104 Bila diinput : 40 untuk nilai C Maka trcetak : 104 sebagai isi F Salah satu saja tipenya float, maka hasilnya float 9 / 5.0 = 1.8 1.8 * 40 = 72 72 + 32 = 104
C++ Cara-1 #include <iostream.h> void main() { int C; float F; cin >> C; F = 9 / 5.0 * C + 32; cout << F; } 40 104 C Dapat saja dibuat bertipe int Bila diinput : 40 untuk nilai C Maka trcetak : 104 sebagai isi F Salah satu saja tipenya float, maka hasilnya float 9 / 5.0 = 1.8 1.8 * 40 = 72 72 + 32 = 104
Soal-7 Meng-konversi waktu dalam Detik menjadi : Jam, MenitdanDetik.
Soal-7. Susun program yang ditulis dalam Bahasa C++, untuk menginput sebuah nilai integer yang menyatakan waktu (durasi) dalam satuan detik, kemudian cetaklah waktu tersebut dalam satuan Jam, Menit, dan Detik. jj xxxx J jj mm dd mm xxxx M cin cout Detik D dd J untuk Jam M untuk Menit, dan D untuk Detik
Bila diinput Tercetak : 15 0 0 15 72 0 1 12 150 0 2 30 1000 0 16 40 3600 1 0 0 3605 1 0 5 7425 ? ? ?
? 7425 J ? ? ? ? 7425 M cin cout Detik D ? J untuk Jam M untuk Menit, dan D untuk Detik
harus mengetahui : 1 Jam = 60 Menit 1 Menit = 60 Detik 1 Jam = 3600 Detik Tidak tahu ini, Tidak bisa membuat draf perhitungannya dan Tidak bisa membuat algoritma
3600 / 7425 \ 2 7200 60 / 225 \ 3 180 45 3600 / 7425 \ 2 2 * 3600 = 7200 60 / 225 \ 3 3 * 60 = 180 45 Draf KONSEP penyelesaian Belum Rinci Harus dijelaskan dari mana mendapatkan nilai 7200 Didapat : 7425 Detik adalah : 2 Jam 3 Menit 45 Detik
Draf Didapat : KONSEP penyelesaian 7425 / 3600 = 2 sisa 225 2 Jam 3 Menit 45 Detik 225 / 60 = 3 sisa 45 LENGKAP dan RINCI Tidak rinci, darimana mendapatkan nilai sisa INI KONSEP BERPIKIR YANG ORSINIL MILIK SEMUA ORANG 7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 INI YANG DITUANGKAN MENJADI ALGORITMA Didapat : 2 Jam 3 Menit 45 Detik
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Inilah langkah-langkah yang diambil dalam menyelesaikan suatu tugas TIDAK BISA MEMBUAT KONSEP INI TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Inilah algoritma atau paling tidak cikal bakal algoritma TIDAK BISA MEMBUAT KONSEP INI TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Orang lain mungkin menggunakan cara yang berbeda untuk mengasilkan hasil yang sama TIDAK BISA MEMBUAT KONSEP INI TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Yang sulit bukan membuat program komputer, tapi membuat draf perhitungan seperti ini TIDAK BISA MEMBUAT KONSEP INI TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Ini tidak diajarkan dalam pelajaran algoritma, Karena pengetahuan ini milik semua orang. TIDAK BISA MEMBUAT KONSEP INI TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Ini bukan pelajaran algoritma, TIDAK BISA MEMBUAT KONSEP INI TIDAK BISA JUGA MEMBUAT PROGRAM
7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 Algoritma
7425 / 3600 7425 2 7425 / 3600 = 2 2 * 3600 = 7200 7425 – 7200 = 225 225 / 60 = 3 3 * 60 = 180 225 – 180 = 45 2 * 3600 7425 - 7200 7200 225 / 60 3 225 3 * 60 180 225 - 180 45 Kerangka berpikir, bila setiap nilai disimpan dalam sebuah variabel Ada 7 variabel, yang diilustrasikan dengan gambar kotak Algoritma
Detik J J = Detik / 3600 7425 2 Algoritma 1 2 X = J * 3600 Y = Detik - X 7200 X Ada 6 langkah 3 1. J = Detik / 3600 2. X = J * 3600 3. Y = Detik – X 4. M = Y / 60 5. Z = M * 60 6. D = Y - Z M = Y / 60 3 225 M Y 4 Z = M * 60 5 180 D = Y - Z Z 6 45 D Sesuai dengan tata cara penulisan algoritma Ada 7 variabel, yang diilustrasikan dengan gambar kotak
Detik Detik J J J = Detik / 3600 J = Detik / 3600 7425 2 7425 2 1 1 X = J * 3600 2 Y = Detik – J * 3600 Y = Detik - X 7200 X 3 2 M M = Y / 60 3 3 M = Y / 60 225 225 M Y Y 4 3 Z = M * 60 5 180 D = Y - Z D = Y – M * 60 Z 6 4 45 45 D D Asli : 6 langkah Dibuat menjadi : 4 langkah 7 variabel 5 variabel
Detik Detik J J J = Detik / 3600 J = Detik / 3600 7425 2 7425 2 1 1 Y = Detik – J * 3600 M = ( Detik – J * 3600 ) / 60 2 2 M 3 M = Y / 60 225 3 M Y 3 D = Y – M * 60 D = ( Detik – J * 3600 ) – M * 60 3 4 45 45 D D Dibuat menjadi : 3 langkah Setelah menjadi : 4 langkah 5 variabel 4 variabel
Program menghitung dan mencetak Jam, Menit, Detik
Detik J J = Detik / 3600 7425 2 1 2 X = J * 3600 Y = Detik - X 7200 X 3 M = Y / 60 3 225 M Y 4 Z = M * 60 5 180 D = Y - Z Z 6 45 D #include<iostream.h> void main() { int Detik, J,M,D, X,Y,Z; cout << "Detik : " ; cin >> Detik; J = Detik / 3600; X = J * 3600; Y = Detik - X; M = Y / 60; Z = M * 60; D = Y - Z; cout << J << " Jam "; cout << M << " Menit "; cout << D << " Detik " ; } 1 2 3 4 5 6 6 langkah 7425 2 Jam 3 Menit 45 Detik Di monitor terlihat : 7 variabel
Detik J J = Detik / 3600 7425 2 #include<iostream.h> void main() { int Detik, J, M, D, Y; cout << "Detik : " ; cin >> Detik; J = Detik / 3600; Y = Detik – J*3600; M = Y / 60; D = Y – M*60; cout << J << " Jam "; cout << M << " Menit "; cout << D << " Detik " ; } 1 Y = Detik – J * 3600 1 2 3 4 2 M 3 M = Y / 60 225 Y 3 D = Y – M * 60 4 45 D 7425 2 Jam 3 Menit 45 Detik 4 langkah Di monitor terlihat : 5 variabel