Data dan Struktur Data.

Presentasi berjudul: "Data dan Struktur Data."— Transcript presentasi:

Data dan Struktur Data

Tipe Data dalam Bahasa C / C++

Floating Point Single Precision Floating Point Double Precision
Tipe Data dalam Bahasa C / C++. character integer Floating Point Single Precision Floating Point Double Precision

Tipe Data Dasar (Basic Data Type) yang digunakan oleh Bahasa C / C++.
Sebutan Tipe Data Bentuk penulisan dalam Bahasa C/C++ Jumlah Byte Jangkauan nilai numerik char atau signed char 1 -128 s.d. 127 0 s.d. 255 s.d 0 s.d s.d 0 s.d Character unsigned char 1 int atau signed int atau signed 2 unsigned int atau unsigned 2 Integer long int atau long atau signed long atau signed long int 4 ( 2.1 Milyard) unsigned long atau unsigned long int 4 ( 4.2 Milyard) . Floating Point Single Precision Positip : 3.4E-38 s.d 3.4E38 float 8 Negatip : -3.4E38 s.d -3.4E-38 Positip : 1.7E-308 s.d 1.7E308 Floating Point Double Precision Double 8 Negatip : -1.7E308 s.d -1.7E-308 Pos : 3.4E s.d E4932 long double 10 Neg : -1.1E4932 s.d E4932

Tipe Data : character

Tipe Data : character Isinya dapat dianggap : x x x x x x x x Karakter
1 Byte (8 bit) Isinya dapat dianggap : x x x x x x x x Karakter atau Nilai Numerik

Tipe Data : character signed char unsigned char
Dibedakan 2 macam signed char unsigned char

x x x x x x x x Tipe Data Character. Sign : Signed char. 127
0  nilai Positip 1  Nilai negatip : two’s complement Rentang / jangkauan nilai -128 127

x x x x x x x x Tipe Data Character. Sign : Signed char. 127
Signed char. x x x x x x x x Sign : 0  nilai Positip 1  Nilai negatip : two’s complement Rentang / jangkauan nilai -128 127

x x x x x x x x Tipe Data Character. unsigned char. 255
Rentang / jangkauan nilai 255

x x x x x x x x Tipe Data Character. unsigned char. 255 0000 0000 0
unsigned char. x x x x x x x x Rentang / jangkauan nilai 255

Tipe Data Character. Signed char. unsigned char. 0000 0000 0

Contoh-1. C Contoh-1. C++ #include<stdio.h> void main() { char X; X = ‘A’; - } #include<iostram.h> void main() { char X; X = ‘A’; - } A X 64 1

Beberapa contoh karakter ASCII
Menya- takan Karakter Kode ASCII Kombinasi bit Menya- takan Karakter Kode ASCII Kombinasi bit 00 01 02 . 48 49 50 65 66 97 98 127 128 . 1 2 . A B a b  Ç 128 129 . 160 161 171 172 192 193 224 225 254 255 . Ç ü . á í + - _ ß

karakter dasar ASCII dalam 7 bit ( bit ke-8 / paling kiri = 0 )
TABEL ASCII ( ), karakter dasar ASCII dalam 7 bit ( bit ke-8 / paling kiri = 0 ) Kode ASCII Kode ASCII Kode ASCII Kode ASCII Kode ASCII Char Char Char Char Char 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 NULL bell tab line feed home form feed Carriage return cursor ke kanan ke kiri ke atas ke bawah 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 Spasi ! # \$ % & ( ) * + , - . / 1 2 3 4 5 6 7 8 9 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 [ \ ] ^ _ ` a b c d e f g h I j k l m n o p q r s t u v w x y z 123 124 125 126 127 { | } ~ 

C A A 65 65 0 1 0 0 0 0 0 1 #include<stdio.h> void main()
{ char X; X = ‘A’; printf(“%c”, X); } #include<stdio.h> void main() { char X; X = 65; printf(“%c”, X); } A A Tercetak : Tercetak : #include<stdio.h> void main() { char X; X = ‘A’; printf(“%i”, X); } #include<stdio.h> void main() { char X; X = 65; printf(“%i”, X); } 65 65 Tercetak : Tercetak : C 64 1

C M M 77 77 0 1 0 0 1 1 0 1 #include<stdio.h> void main()
{ char X; X = ‘M’; printf(“%c”, X); } #include<stdio.h> void main() { char X; X = 77; printf(“%c”, X); } M M Tercetak : Tercetak : #include<stdio.h> void main() { char X; X = ‘M’; printf(“%i”, C); } #include<stdio.h> void main() { char X; X = 77; printf(“%i”, X); } 77 77 Tercetak : Tercetak : C 4 1 64 8

C 4d 4d 4D 4D 0 1 0 0 1 1 0 1 #include<stdio.h> void main()
{ char X; X = ‘M’; printf(“%x”, X); } #include<stdio.h> void main() { char X; C = 77; printf(“%x”, X); } 4d 4d Tercetak : Tercetak : #include<stdio.h> void main() { char X; X = ‘M’; printf(“%X”, X); } #include<stdio.h> void main() { char X; X = 77; printf(“%X”, X); } 4D 4D Tercetak : Tercetak : C 4 1 64 8

C++ A 65 A 65 0 1 0 0 0 0 0 1 #include<iostream.h> void main()
{ char X; X = ‘A’; cout << X; } #include<iostream.h> void main() { char X; X = ‘A’; cout << int(X); } A 65 Tercetak : Tercetak : #include<iostream.h> void main() { char X; X = 65; cout << X; } #include<iostream.h> void main() { char X; X = 65; cout << int(X); } A 65 Tercetak : Tercetak : C++ 64 1

C++ 65 65 65 65 0 1 0 0 0 0 0 1 #include<iostream.h> void main()
{ char X; X = ‘A’; cout << float(X); } #include<iostream.h> void main() { char X; X = ‘A’; cout << double(X); } 65 65 Tercetak : Tercetak : #include<iostream.h> void main() { char X; X = 65; cout << float(X); } #include<iostream.h> void main() { char X; X = 65; cout << double(X); } 65 65 Tercetak : Tercetak : C++ 64 1

Tipe Data : integer

( berisi bilangan bulat )
Tipe Data : integer ( berisi bilangan bulat )

Tipe Data : integer dibedakan : integer signed int int unsigned int
atau signed int unsigned int long integer signed long int long int atau unsigned long int

Tipe Data : integer Isinya dapat dianggap : Karakter Nilai Numerik
atau Nilai Numerik

int signed int Rentang / jangkauan nilai atau
2 Byte ( 16 bit ) X X X X X X X X X X X X X X X X Sign : 0  nilai Positip 1  Nilai negatip : two’s complement Rentang / jangkauan nilai -32768 32767

int signed int atau 1 2 65 255 32767 -32768 -32767 -2 -1

unsigned int Rentang / jangkauan nilai 65535 2 Byte ( 16 bit )
X X X X X X X X X X X X X X X X Rentang / jangkauan nilai 65535

unsigned int 1 2 65 255 32767 32768 32769 65534 65535

int %i %d %u Nilai yang akan disimpan apa yang tercetak bila
dicetak dengan %i %u Binary digit (bit) Untuk nilai yang akan disimpan Diambil 16 bit terakhir karena disimpan dalam tipe signed int atau unsinged int 65 32767 32768 65535 65536 65546 98304 65 32767 -32768 -1 10 65 32767 32768 65535 10

C 65 A 65 A 0000 0000 0100 0001 #include<stdio.h> void main()
{ int N; N = 65; printf("%i", N); } #include<stdio.h> void main() { int N; N = 65; printf("%c", N); } 65 A Tercetak : Tercetak : #include<stdio.h> void main() { int N; N = ‘A’; printf(“%i”, N); } #include<stdio.h> void main() { int N; N = 'A'; printf("%c", N); } 65 A Tercetak : Tercetak : C 64 1

C++ 65 A 65 A 0000 0000 0100 0001 #include<iostream.h>
void main() { int N; N = 65; cout << N; } #include<iostream.h> void main() { int N; N = 65; cout << char(N); } 65 A Tercetak : Tercetak : #include<iostream.h> void main() { int N; N = 'A'; cout << N; } #include<iostream.h> void main() { int N; N = 'A'; cout << char(N); } 65 A Tercetak : Tercetak : 64 1 C++

long int signed long int
atau 4 Byte ( 32 bit ) XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Sign : 0  nilai Positip 1  Nilai negatip : two’s complement Rentang / jangkauan nilai (2.1 Milyard) (-2.1 Milyard)

unsigned long int Rentang / jangkauan nilai 4 Byte ( 32 bit )
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Rentang / jangkauan nilai (4.2 Milyard)

Tipe Data : floating point single precision

Floating Point Single Precision ( berisi bilangan real )
Tipe Data : Floating Point Single Precision ( berisi bilangan real )

Floating Point Single Precision
Tipe Data : Floating Point Single Precision 4 Byte (32 bit) Berisi nilai misal : 0.5 0.25 0.375 0.625 0.875 d.s.b 8 bit untuk pangkat ( E ) 23 bit untuk Mantisa M ( nilai Fraction ) x xxx xxxx x xxx xxxx xxxx xxxx xxxx xxxx satu bit sebagai sign + - 1. M * 2 ( E-127 ) 0  nilai positip 1  nilai negatip

Floating Point Single Precision
Tipe Data : Floating Point Single Precision Rentang / jangkauan nilai -3.4 E38 3.4 E38 - 3.4 E-38 3.4 E-38 Catatan : 1.25E02 maksudnya : 1.25 * 102 = 1.25 * 100 = 125 1.25E-02 maksudnya : 1.25 * 10-2 = 1.25 * 0.01 =

Floating Point Single Precision
Tipe Data : Floating Point Single Precision Rentang / jangkauan nilai -3.4 E38 3.4 E38 Nilai negatip besar sekali Nilai positip besar sekali - 3.4 E-38 3.4 E-38 Nilai negatip kecil sekali Nilai positip kecil sekali

Tipe Data : floating point double precision

Floating Point Double Precision ( berisi bilangan real )
Tipe Data : Floating Point Double Precision ( berisi bilangan real )

Floating Point Double Precision
Tipe Data : Floating Point Double Precision 8 Byte (64 bit) Berisi nilai misal : 0.5 0.25 0.375 0.625 d.s.b 11 bit untuk pangkat ( E ) 52 bit untuk Mantisa M ( nilai Fraction ) x xxx xxxx xxxx xxxx xx ………………………xx xxxx xxxx satu bit sebagai sign + - 1. M * 2 ( E-1023 ) 0  nilai positip 1  nilai negatip

Floating Point Double Precision
Tipe Data : Floating Point Double Precision Rentang / jangkauan nilai -1.7E308 1.7E308 -1.7E-308 1.7E-308 Catatan : 1.25E02 maksudnya : 1.25 * 102 = 1.25 * 100 = 125 1.25E-02 maksudnya : 1.25 * 10-2 = 1.25 * 0.01 =

Floating Point Double Precision
Tipe Data : Floating Point Double Precision Rentang / jangkauan nilai -1.7E308 1.7E308 Nilai negatip sangat besar sekali Nilai positip sangat besar sekali -1.7E-308 1.7E-308 Nilai positip sangat kecil sekali Nilai negatip sangat kecil sekali

int signed int atau 1 2 65 255 32767 -32768 -32767 -2 -1

selesai

Presentasi serupa