02.1

56

description

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. - PowerPoint PPT Presentation

Transcript of 02.1

Page 1: 02.1
Page 2: 02.1
Page 3: 02.1
Page 4: 02.1
Page 5: 02.1
Page 6: 02.1
Page 7: 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.

Page 8: 02.1

Menghitung luas segitiga bila diketahui alas dan tinggi segitiga tersebut

Page 9: 02.1

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

Page 10: 02.1

17.57 5 17.5

A T L

A untuk AlasT untuk Tinggi, danL untuk Luas

cout

Page 11: 02.1

Rumus menghitung Luas sebuah Segitiga

Kadang-kadang :

Lebih sulit : Mencari , memahami dan

menggunakan

Rumus, dibandingkan menulis algoritma

harus

Page 12: 02.1

dapat ditulis setelah

dan konsep atau draf secara manual sudah

dibuat

Page 13: 02.1

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

Page 14: 02.1

KONSEP penyelesaian

Draf

7 5

17.5

Alas Tinggi

Luas

Luas = Alas * Tinggi / 2

Page 15: 02.1

Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM

Page 16: 02.1

#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

Page 17: 02.1

#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

Page 18: 02.1

#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

Page 19: 02.1

Mengapa tercetak : 17 ?

Seharusnya tercetak 17.5

Karena (7*5)/2 = 17.5

Page 20: 02.1

Karena variabel L tipenya intTipe int hanya menyimpan nilai integer

17

L

int

17,5

Page 21: 02.1

Tipe data yang dapat menampung nilai pecahan :

atau

Page 22: 02.1

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

Page 23: 02.1

Kita coba pilih :

Page 24: 02.1

#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

Page 25: 02.1

Perhatikan :

printf(“%f”, L);

format untuk data bertipe float

Page 26: 02.1

Tercetak : 17.000000

Perhatikan :

Dengan format standar, ( %f ) , nilai bertipe float akan dicetak dengan 6 angka dibelakang titik decimal

Page 27: 02.1

Mengapa masih tercetak :

17.000000 ?

Padahal data ( L ) bertipe float,

Seharusnya tercetak :

17.500000

Page 28: 02.1

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

Page 29: 02.1

Perhatikan :

L = A * T / 2 ;

Salah satu bertipe float, maka hasil perhitungan disimpan dalam bentuk float

Page 30: 02.1

L = A * T / 2.0 ;

bentuk floating

ganti

Page 31: 02.1

#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

Page 32: 02.1

#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

Page 33: 02.1

Tercetak : 17.500000

Perhatikan :

printf(“%f”, L );ganti

menjadi :

printf(“%5.2f”, L );

Page 34: 02.1

Tercetak : 17.50

dengan

printf(“%5.2f”, L );

Dua angka dibelakang titik decimal

Page 35: 02.1

Tercetak : 17.50

dengan

printf(“%8.2f”, L );

Dua angka dibelakang titik decimal

ada 3 spasi

Page 36: 02.1

#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

Page 37: 02.1

#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

Page 38: 02.1
Page 39: 02.1

Untuk contoh ini,

Lebih aman bila semua

variabel bertipe float

Page 40: 02.1

#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

Page 41: 02.1

#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

Page 42: 02.1

Dengan C++

Page 43: 02.1

#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

Page 44: 02.1

#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

Page 45: 02.1

#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

Page 46: 02.1
Page 47: 02.1

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

Page 48: 02.1

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.

Page 49: 02.1

#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

Page 50: 02.1

#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

Page 51: 02.1

#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++

Page 52: 02.1

#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

Page 53: 02.1

#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

Page 54: 02.1

#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 :

Page 55: 02.1
Page 56: 02.1

Bersambung ke :