560 likes | 759 Views
02.1. Hari-2. Kumpulkan PR. Latihan di Kelas. Ambil Kertas Selembar. Tulis N.I.M. dan Nama. kerjakan soal. 5 menit kumpulkan. Soal. 1b.
E N D
02.1 Hari-2
Ambil Kertas Selembar Tulis N.I.M. dan Nama
kerjakan soal 5 menit kumpulkan
Soal 1b Susun algoritma yang ditulis dalam Bahasa C/C++, untuk mencetak Luas sebuah segitiga bila alas dan tinggi segitiga tersebut sudah diketahui yaitu : Alas = 7 dan Tinggi = 5.
Soal-1b Menghitung luas segitiga bila diketahui alas dan tinggi segitiga tersebut
Soal-1b. Susun algoritma yang ditulis dalam Bahasa C/C++, untuk mencetak Luas sebuah segitiga bila diketahui Alas = 7 dan Tinggi = 5. ? printf 7 5 ? cout A T L A untuk Alas T untuk Tinggi, dan L untuk Luas
17.5 7 5 17.5 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
C Cara-1 Program Flowchart #include <stdio.h> void main() { int A, T, L; A = 7; T = 5; L = A * T / 2; printf(“%i”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END Bagaimana bila menggunakan tipe data : int int int 7 5 ? int A T L integer
C Cara-1 Program Flowchart #include <stdio.h> void main() { int A, T, L; A = 7; T = 5; L = A * T / 2; printf(“%i”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END ? Tercetak : int int int 7 5 ? A T L
C Cara-1 Program Flowchart #include <stdio.h> void main() { int A, T, L; A = 7; T = 5; L = A * T / 2; printf(“%i”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END 17 Tercetak : int int int 7 5 17 A T L
Mengapa tercetak : 17 ? Seharusnya tercetak 17.5 Karena (7*5)/2 = 17.5 ?
Karena variabel L tipenya int Tipe int hanya menyimpan nilai integer int 17 17,5 L
Tipe data yang dapat menampung nilai pecahan : float atau double
Tipe Data. Tipe data dasar (primitif) yang digunakan oleh Bahasa C. Jumlah Byte yang diperlukan Bentuk penulisan dalam Bahasa C Jangkauan nilai numerik Sebutan Tipe Data 1. Character 2. Integer 3. Floating point (single precision) 4. Double precision 1 1 2 2 4 4 4 8 10 -128 s.d. 127 0 s.d. 255 -32768 s.d. 32767 0 s.d. 65535 -2147483648 s.d. 2147483647 0 s.d. 4294967295 3.4E-38 s.d. 3.4E38 positip atau negatip 1.7E-308 s.d. 1.7E308 positip atau negatip 3.4E-4932 s.d 1.1E4932 positip atau negatip char atau signed char unsigned char int atau signed int atau signed unsigned int atau unsigned long atau long int atau signed long atau signed long int unsigned long atau unsigned long int float double long double
Kita coba pilih : float
C Program Flowchart #include <stdio.h> void main() { int A, T; float L; A = 7; T = 5; L = A * T / 2; printf(“%f”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END 17.00000 Tercetak : float int int 7 5 17 A T L
Perhatikan : printf(“%f”, L); format untuk data bertipe float
Perhatikan : Tercetak : 17.000000 Dengan format standar, ( %f ) , nilai bertipe float akan dicetak dengan 6 angka dibelakang titik decimal
Mengapa masih tercetak : 17.000000 ? Padahal data ( L ) bertipe float, Seharusnya tercetak : 17.500000 ?
Perhatikan : L = A * T / 2 ; int int int Ketiga-tiganya bertipe int Sehingga hasil perhitungan ini nilainya disimpan dalam bentuk int 17, bukan 17.5 Nilai dalam bentuk integer ini yang disimpan ke L
Perhatikan : L = A * T / 2 ; Salah satu bertipe float, maka hasil perhitungan disimpan dalam bentuk float
ganti L = A * T / 2.0 ; bentuk floating
C Program Flowchart #include <stdio.h> void main() { int A, T; float L; A = 7; T = 5; L = A * T / 2.0; printf(“%f”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END ? Perhatikan : Untuk contoh ini, Algoritmanya sendiri, seperti terlihat dalam Flowchart, tidak terpengaruh oleh tipe data Tercetak : float int int 7 5 ? A T L
Program Flowchart #include <stdio.h> void main() { int A, T; float L; A = 7; T = 5; L = A * T / 2.0; printf(“%f”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END 17.50000 Tercetak : float int int 7 5 17.5 A T L
Perhatikan : Tercetak : 17.500000 ganti printf(“%f”, L ); menjadi : printf(“%5.2f”, L );
dengan printf(“%5.2f”, L ); Tercetak : 17.50 Dua angka dibelakang titik decimal
dengan printf(“%8.2f”, L ); Tercetak : 17.50 Dua angka dibelakang titik decimal ada 3 spasi
Program Flowchart #include <stdio.h> void main() { int A, T; float L; A = 7; T = 5; L = A * T / 2.0; printf(“%f”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END 17.50000 Tercetak : float int int 7 5 17.5 A T L
Program Flowchart #include <stdio.h> void main() { int A, T; float L; A = 7; T = 5; L = A * T / 2.0; printf(“%5.2f”, L ); } START A = 7 T = 5 L = A * T / 2 printf L END 17.50 Tercetak : float int int 7 5 17.5 A T L
Untuk contoh ini, Lebih aman bila semua variabel bertipe float
Program Flowchart #include <stdio.h> void main() { float A, T, L; A = 7; T = 5; L = A * T / 2.0; printf(“%f”, L ); } START A = 7 atau A = 7.0; T = 5 atau T = 5.0; L = A * T / 2 printf L END 17.50000 Tercetak : Perhatikan : Untuk contoh ini, Algoritmanya sendiri, seperti terlihat dalam Flowchart, tidak terpengaruh oleh tipe data float float float 7.0 5.0 17.5 A T L
#include <stdio.h> void main() { float A, T, L; A = 7; T = 5; L = A * T / 2; printf(“%f”, L ); } atau A = 7.0; atau T = 5.0; Bukan 2.0 Tapi Mengapa mau tercetak 17.500000 17.50000 Tercetak : float float float 7.0 5.0 17.5 A T L
C++ Program Flowchart #include <iostream.h> void main() { int A, T; float L; A = 7; T = 5; L = A * T / 2.0; cout << L ; } START A = 7 T = 5 L = A * T / 2 cout L END 17.5 Tercetak : int int int 7 5 17.5 A T L
C++ Program Flowchart #include <iostream.h> void main() { float A, T, L; A = 7; T = 5; L = A * T / 2.0; cout << L ; } START A = 7 T = 5 L = A * T / 2 cout L END 17.5 Tercetak : float float float 7.0 5.0 17.5 A T L
C C++ #include <stdio.h> void main() { float A, T, L; A = 7; T = 5; L = A * T / 2.0; printf(“%f”, L ); } #include <iostream.h> void main() { float A, T, L; A = 7; T = 5; L = A * T / 2.0; cout << L ; } 17.500000 17.5 Tercetak : Tercetak :
Soal-2b. 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-2b. 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
scanf A,T C Cara-1 Program Flowchart #include <stdio.h> void main() { float A, T, L; scanf(“%f”, &A); scanf(“%f”, & T); L = A * T / 2; printf(“%f”, L ); } START scanf A scanf T L = A * T / 2 printf L END Dua instruksi ini dapat digabung menjadi satu instruksi : Scanf(“%i %i”, &A, &B );
scanf A,T C Cara-1 Program Flowchart #include <stdio.h> void main() { int A, T, L; scanf(“%i”, &A); scanf(“%i”, & T); L = A * T / 2; printf(“%i”, L ); } START scanf A scanf T L = A * T / 2 printf L END Dua instruksi ini dapat digabung menjadi satu instruksi : Scanf(“%i %i”, &A, &B );