02.1 Hari-2
Kumpulkan PR
Latihan di Kelas
Ambil Kertas Selembar Tulis N.I.M. dan Nama
kerjakan soal 5 menit kumpulkan
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
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
mengetahui : Rumus menghitung Luas sebuah Segitiga harus mengetahui : Rumus menghitung Luas sebuah Segitiga Kadang-kadang : Lebih sulit : Mencari , memahami dan menggunakan Rumus, dibandingkan menulis algoritma
dan konsep atau draf secara manual sudah dibuat algoritma dapat ditulis setelah persoalannya sudah dipahami dan konsep atau draf secara manual sudah dibuat
Yang harus BUKAN dipahami dan Dikuasai PERSOALAN sebelumnya MATEMATIKA RUMUS menghitung Luas sebuah segitiga : DALAM BEBERAPA HAL (KASUS), RUMUS TIDAK DIBERITAHUKAN LUAS = ALAS * TINGGI / 2 atau LUAS = (ALAS * TINGGI) / 2 PEMBUAT ALGORITMA HARUS MENGETAHUINYA SENDIRI atau LUAS = ALAS * ( TINGGI / 2) atau LUAS = ALAS * TINGGI * 0.5 TIDAK MENGETAHUI RUMUS TIDAK DAPAT MEMBUAT ALGORITMA atau LUAS = 0.5 * ALAS * TINGGI atau dan sebagainya yang valid
Draf KONSEP penyelesaian Alas Tinggi 7 5 Luas = Alas * Tinggi / 2 17.5
Program menghitung dan mencetak Luas Segitiga Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM menghitung dan mencetak Luas Segitiga
int C ? Cara-1 #include <stdio.h> void main() { int A, T, L; 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 Tercetak : ? Cara-1 #include <stdio.h> void main() 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
17 C Tercetak : 17 Cara-1 #include <stdio.h> void main() 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
17 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. Sebutan Tipe Data Bentuk penulisan dalam Bahasa C Jumlah Byte yang diperlukan Jangkauan nilai numerik 1. Character 2. Integer 3. Floating point (single precision) 4. Double precision 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 1 2 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 3.4E-4932 s.d 1.1E4932
Kita coba pilih : float
17.00000 C Tercetak : #include <stdio.h> void main() { int A, T; 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 Tercetak : 17.00000 int int float 7 5 17 A T L
Perhatikan : printf(“%f”, L); format untuk data bertipe float
Tercetak : 17.000000 Perhatikan : 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 ?
L = A * T / 2 ; Perhatikan : 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
L = A * T / 2 ; Perhatikan : Salah satu bertipe float, maka hasil perhitungan disimpan dalam bentuk float
ganti L = A * T / 2.0 ; bentuk floating
? C Tercetak : ? #include <stdio.h> void main() { int A, T; 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 : int int float 7 5 ? A T L
17.50000 Tercetak : #include <stdio.h> void main() { int A, T; 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 Tercetak : 17.50000 int int float 7 5 17.5 A T L
Tercetak : 17.500000 printf(“%f”, L ); printf(“%5.2f”, L ); Perhatikan : Tercetak : 17.500000 ganti printf(“%f”, L ); menjadi : printf(“%5.2f”, L );
Tercetak : 17.50 printf(“%5.2f”, L ); dengan Dua angka dibelakang titik decimal
Tercetak : 17.50 printf(“%8.2f”, L ); dengan Dua angka dibelakang titik decimal ada 3 spasi
17.50000 Tercetak : #include <stdio.h> void main() { int A, T; 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 Tercetak : 17.50000 int int float 7 5 17.5 A T L
17.50 Tercetak : #include <stdio.h> void main() { int A, T; 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 Tercetak : 17.50 int int float 7 5 17.5 A T L
Untuk contoh ini, Lebih aman bila semua variabel bertipe float
17.50000 Tercetak : #include <stdio.h> void main() 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 Tercetak : 17.50000 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
17.50000 Tercetak : #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 Tercetak : 17.50000 float float float 7.0 5.0 17.5 A T L
Dengan C++
17.5 C++ Tercetak : #include <iostream.h> void main() 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 Tercetak : 17.5 int int int 7 5 17.5 A T L
17.5 C++ Tercetak : #include <iostream.h> void main() 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 Tercetak : 17.5 float float float 7.0 5.0 17.5 A T L
17.500000 17.5 C C++ Tercetak : Tercetak : #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 ; } Tercetak : 17.500000 Tercetak : 17.5
Soal-2b. Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput alas dan tinggi sebuah segitiga, kemudian mencetak luas segitiga tersebut. 7 5 ? cin 7 5 ? 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 cin 7 5 17.5 cout A T L A untuk Alas T untuk Tinggi, dan L untuk Luas
C Cara-1 #include <stdio.h> void main() { float A, T, L; 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 #include <stdio.h> void main() { int A, T, L; 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 ); scanf A,T
C++ Cara-1 #include <iostream.h> void main() { float A, T, L; 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; cin A,T
float 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
#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; }
menginput suhu dalam Celcius di konversi ke suhu dalam Fahrenheit Bersambung ke : 02.2 Soal-2c menginput suhu dalam Celcius dan di konversi ke suhu dalam Fahrenheit