02.1
description
Transcript of 02.1
Soal 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.
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.
?7 5 ?A T L
A untuk AlasT untuk Tinggi, danL untuk Luas
cout
printf
17.57 5 17.5
A T L
A untuk AlasT untuk Tinggi, danL untuk Luas
cout
Rumus menghitung Luas sebuah Segitiga
Kadang-kadang :
Lebih sulit : Mencari , memahami dan
menggunakan
Rumus, dibandingkan menulis algoritma
harus
dapat ditulis setelah
dan konsep atau draf secara manual sudah
dibuat
Yang harus dipahami dan Dikuasai
sebelumnya
RUMUS menghitung Luas sebuah segitiga :
LUAS = ALAS * TINGGI / 2
LUAS = (ALAS * TINGGI) / 2
LUAS = ALAS * ( TINGGI / 2)
LUAS = ALAS * TINGGI * 0.5
LUAS = 0.5 * ALAS * TINGGI
atau
atau
atau
atau
atau dan sebagainya yang valid
DALAM BEBERAPA HAL (KASUS), RUMUS TIDAK DIBERITAHUKAN
PEMBUAT ALGORITMA HARUS MENGETAHUINYA SENDIRI
TIDAK MENGETAHUI RUMUS TIDAK DAPAT MEMBUAT ALGORITMA
BUKANPERSOALAN
MATEMATIKA
KONSEP penyelesaian
Draf
7 5
17.5
Alas Tinggi
Luas
Luas = Alas * Tinggi / 2
Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM
#include <stdio.h>void main(){ int A, T, L; A = 7; T = 5;
L = A * T / 2;
printf(“%i”, L );}
Cara-1
START
printf
L = A * T / 2
END
L
Program FlowchartC
A = 7
T = 5
7 5 ?
A T L
int int int Bagaimana bila menggunakan tipe
data : intinteger
#include <stdio.h>void main(){ int A, T, L; A = 7; T = 5;
L = A * T / 2;
printf(“%i”, L );}
Cara-1
START
printf
L = A * T / 2
END
L
Program FlowchartC
A = 7
T = 5
Tercetak : ?7 5 ?
A T L
int int int
#include <stdio.h>void main(){ int A, T, L; A = 7; T = 5;
L = A * T / 2;
printf(“%i”, L );}
Cara-1
START
printf
L = A * T / 2
END
L
Program FlowchartC
A = 7
T = 5
Tercetak : 177 5 17
A T L
int int int
Mengapa tercetak : 17 ?
Seharusnya tercetak 17.5
Karena (7*5)/2 = 17.5
Karena variabel L tipenya intTipe int hanya menyimpan nilai integer
17
L
int
17,5
Tipe data yang dapat menampung nilai pecahan :
atau
Tipe Data.
Tipe data dasar (primitif) yang digunakan oleh Bahasa C.
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
SebutanTipe Data
Bentuk penulisandalam Bahasa C
Jumlah Byteyang
diperlukan
Jangkauan nilainumerik
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.4E38positip atau negatip
1.7E-308 s.d. 1.7E308positip atau negatip
3.4E-4932 s.d 1.1E4932positip atau negatip
Kita coba pilih :
#include <stdio.h>void main(){ int A, T; float L; A = 7; T = 5;
L = A * T / 2;
printf(“%f”, L );}
START
printf
L = A * T / 2
END
L
Program FlowchartC
A = 7
T = 5
Tercetak : 17.00000
7 5 17
A T L
int int float
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
Perhatikan :
L = A * T / 2 ;
int int int
Ketiga-tiganya bertipe intSehingga hasil perhitungan ini nilainya disimpan dalam bentuk int
Nilai dalam bentuk integer ini yang disimpan ke L
17,bukan 17.5
Perhatikan :
L = A * T / 2 ;
Salah satu bertipe float, maka hasil perhitungan disimpan dalam bentuk float
L = A * T / 2.0 ;
bentuk floating
ganti
#include <stdio.h>void main(){ int A, T; float L; A = 7; T = 5;
L = A * T / 2.0;
printf(“%f”, L );}
START
printf
L = A * T / 2
END
L
Program FlowchartC
A = 7
T = 5
Tercetak : ?7 5 ?
A T L
int int float
Perhatikan :
Untuk contoh ini,
Algoritmanya sendiri, seperti
terlihat dalam Flowchart, tidak
terpengaruh oleh tipe data
#include <stdio.h>void main(){ int A, T; float L; A = 7; T = 5;
L = A * T / 2.0;
printf(“%f”, L );}
START
printf
L = A * T / 2
END
L
Program Flowchart
A = 7
T = 5
Tercetak : 17.50000
7 5 17.5
A T L
int int float
Tercetak : 17.500000
Perhatikan :
printf(“%f”, L );ganti
menjadi :
printf(“%5.2f”, L );
Tercetak : 17.50
dengan
printf(“%5.2f”, L );
Dua angka dibelakang titik decimal
Tercetak : 17.50
dengan
printf(“%8.2f”, L );
Dua angka dibelakang titik decimal
ada 3 spasi
#include <stdio.h>void main(){ int A, T; float L; A = 7; T = 5;
L = A * T / 2.0;
printf(“%f”, L );}
START
printf
L = A * T / 2
END
L
Program Flowchart
A = 7
T = 5
Tercetak : 17.50000
7 5 17.5
A T L
int int float
#include <stdio.h>void main(){ int A, T; float L; A = 7; T = 5;
L = A * T / 2.0;
printf(“%5.2f”, L );}
START
printf
L = A * T / 2
END
L
Program Flowchart
A = 7
T = 5
Tercetak : 17.50
7 5 17.5
A T L
int int float
Untuk contoh ini,
Lebih aman bila semua
variabel bertipe float
#include <stdio.h>void main(){ float A, T, L; A = 7; T = 5;
L = A * T / 2.0;
printf(“%f”, L );}
START
printf
L = A * T / 2
END
L
Program Flowchart
A = 7
T = 5
Tercetak : 17.50000
7.0 5.0 17.5
A T L
float
atau A = 7.0;
atau T = 5.0;
float float
Perhatikan :
Untuk contoh ini,
Algoritmanya sendiri, seperti
terlihat dalam Flowchart, tidak
terpengaruh oleh tipe data
#include <stdio.h>void main(){ float A, T, L; A = 7; T = 5;
L = A * T / 2;
printf(“%f”, L );}
Tercetak : 17.50000
7.0 5.0 17.5
A T L
float
atau A = 7.0;
atau T = 5.0;
float float
Bukan 2.0Tapi Mengapa mau tercetak 17.500000
Dengan C++
#include <iostream.h>void main(){ int A, T; float L; A = 7; T = 5;
L = A * T / 2.0;
cout << L ;}
START
cout
L = A * T / 2
END
L
Program Flowchart
A = 7
T = 5
C++
Tercetak : 17.5
7 5 17.5
A T L
int int int
#include <iostream.h>void main(){ float A, T, L; A = 7; T = 5;
L = A * T / 2.0;
cout << L ;}
START
cout
L = A * T / 2
END
L
Program Flowchart
A = 7
T = 5
C++
Tercetak : 17.5
7.0 5.0 17.5
A T L
float float float
#include <iostream.h>void main(){ float A, T, L; A = 7; T = 5;
L = A * T / 2.0;
cout << L ;}
Tercetak : 17.5
C++#include <stdio.h>void main(){ float A, T, L; A = 7; T = 5;
L = A * T / 2.0;
printf(“%f”, L );}
C
Tercetak : 17.500000
Soal-2b.
Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput alas dan tinggi sebuah segitiga, kemudian mencetak luas segitiga tersebut.
?
75
7 5 ?A T L
A untuk AlasT untuk Tinggi, danL untuk Luas
cin cout
Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput alas dan tinggi sebuah segitiga, kemudian mencetak luas segitiga tersebut.
17.5
75
7 5 17.5
A T L
A untuk AlasT untuk Tinggi, danL untuk Luas
cin cout
Soal-2b.
#include <stdio.h>void main(){ float A, T, L; scanf(“%f”, &A); scanf(“%f”, & T);
L = A * T / 2;
printf(“%f”, L );}
Cara-1
START
scanf
scanf
printf
L = A * T / 2
END
A
T
L
Program Flowchart
Dua instruksi ini dapat digabung menjadi satu instruksi :
Scanf(“%i %i”, &A, &B );
scanf A,T
C
#include <stdio.h>void main(){ int A, T, L; scanf(“%i”, &A); scanf(“%i”, & T);
L = A * T / 2;
printf(“%i”, L );}
Cara-1
START
scanf
scanf
printf
L = A * T / 2
END
A
T
L
Program Flowchart
Dua instruksi ini dapat digabung menjadi satu instruksi :
Scanf(“%i %i”, &A, &B );
scanf A,T
C
#include <iostream.h>void main(){ float A, T, L; cin >> A; cin >> T;
L = A * T / 2;
cout << L;}
Cara-1
START
cin
cin
cout
L = A * T / 2
END
A
T
L
Program Flowchart
Dua instruksi ini dapat digabung menjadi satu instruksi :
cin >> A >> T;
cin A,T
C++
#include <iostream.h>void main(){ float A, T, L; cin >> A; cin >> T;
L = A * T / 2;
cout << L;}
Cara-1 C++
7517.5
Karena ada kemungkinan mengandung nilai
pecahan, maka digunakan tipe data :
float
Menulis program, memerlukan pengtahuan mengenai :
BAHASA Pemograman yang digunakanFloating point Single Precission
#include <iostream.h>void main(){ float A, T, L; cin >> A; cin >> T;
L = A * T / 2;
cout << L;}
Cara-1 C++
12630
Walaupun tipe data : floatTapi 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 : 7Tinggi : 5Luas : 17.5
#include <iostream.h>void main(){ float A,T, L; cout << " Alas : " ; cin >> A; cout << " Tinggi : " ; cin >> T; L = A * T / 2; cout << " Luas : " << L;}
Atau :
Bersambung ke :