5. 1 Bab 05 Tipe Data dan Mengisi Variabel
#include<stdio.h> void main() { char S[10]; S = “Jakarta”; 5.2.1. Mengisi dan Mencetak Variabel String Pada Program C / C++ 5. 2 C C++ char S[10] = “Jakarta”; printf(“%s”, S); char S[10] = “Jakarta”; cout << S; J a k r t \0 S 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 karakter NULL #include<stdio.h> void main() { char S[10]; S = “Jakarta”; printf(“%s”, S); } #include<stdio.h> #include<string.h> void main() { char S[10]; strcpy(S,“Jakarta”); printf(“%s”, S); }
Java 5.3. Mengisi dan Mencetak Variabel Character (char) C C++ #include<stdio.h> void main() { char C; C = ‘A’; printf(“%c”, C ); } #include<iostream.h> void main() { char C; C = ‘A’; cout << C; } Java public class Contoh01 { public static void main(String args[]) { char C; C = ‘A’; System.out.println(C); } C 0 1 0 0 0 0 0 1
x x x x x x x x sign -128 127 x x x x x x x x 5.3.1. Mengisi dan Mencetak isi variabel tipe char, pada program C 5. 4 Bila dianggap numerik sign : 0 nilai positip 1 nilai negatip dalam bentuk two’s complement 1. char atau signed char x x x x x x x x sign -128 127 2. unsigned char Bila isinya dianggap sebagai nilai numerik, maka nilai yang dapat ditampung berkisar dari : 0 sampai dengan 255 x x x x x x x x
Lebih jelasnya dapat digambarkan sebagai berkut : 2) signed char 3) unsigned char 4) Kode ASCII 2) signed char 3) unsgned char 4) Kode ASCII 1) data 8 bit 1) data 8 bit 00000000 00000001 . 00110001 00110010 01000001 01000010 01100001 01100010 01111111 1 . 49 50 65 66 97 98 127 1 . 49 50 65 66 97 98 127 null 1 2 . A B a b 10000000 10000001 . 10100000 10100001 10101011 10101100 11000000 11000001 11111111 -128 -127 . -96 -95 -85 -84 -64 -63 -1 128 129 . 160 161 171 172 192 193 255 Ç ü . á í ½ ¼ + - _
Beberapa contoh program C yang memperlihatkan berbedaan tipe signed char dan unsigned char. 5. 6 1. #include<stdio.h> void main() {signed char C = ‘A’; printf(“%c\n”, C); printf(“%i\n”, C); } #include<stdio.h> void main() { unsigned char C = ‘A’; printf(“%c\n”, C); printf(“%i\n”, C); } Tercetak : A 65 Tercetak : A 65 2. #include<stdio.h> void main() {signed char C = 65; printf(“%c\n”, C); printf(“%i\n”, C); } #include<stdio.h> void main() { unsigned char C = 65; printf(“%c\n”, C); printf(“%i\n”, C); } Tercetak : A 65 Tercetak : A 65
#include<stdio.h> void main() {signed char C = 192; 5. 7 3. #include<stdio.h> void main() {signed char C = 192; printf(“%c\n”, C); printf(“%i\n”, C); } #include<stdio.h> void main() { unsigned char C = 192; printf(“%c\n”, C); printf(“%i\n”, C); } Tercetak : + -64 Tercetak : + 192 4. #include<stdio.h> void main() {signed char C = 255; printf(“%c\n”, C); printf(“%i\n”, C); } #include<stdio.h> void main() { unsigned char C = 255; printf(“%c\n”, C); printf(“%i\n”, C); } Tercetak : _ -1 Tercetak : _ 255
Diambil 8 bit terakhir karena disimpan dalam tipe char dicetak sebagai Nilai karakter numeric ASCII 5. 8 Nilai yang akan disimpan Binary digit (bit) nilai yang akan disimpan 65 127 128 255 32767 32768 65535 65536 100 0001 0111 1111 1000 0000 1111 1111 0111 1111 1111 1111 1000 0000 0000 0000 1111 1111 1111 1111 1 0000 0000 0000 0000 0100 0001 0111 1111 1000 0000 1111 1111 0000 0000 65 127 -128 -1 A Ç _
5.4. Mengisi dan Mencetak isi Sebuah Variabel Numerik Integer 9 C C++ #include<stdio.h> void main() { int N = 65; printf(“%i”, N); } #include<iostream.h> void main() { int N = 65; cout << N; } untuk nilai integer, digunakan format “%i” atau “%d” Pada program C++, nilai variabel integer yang dapat dicetak berada dalam batas : -2147483647 s.d. 42944667295 Java public class Contoh01 { public static void main(String args[]) { int N = 65 System.out.println(N); } Ketiga program diatas, akan mencetak sebuah nilai 65 dilayar monitor
Beberapa Contoh Pencetakan Variabel Numerik khusus pada program C #include<stdio.h> void main() { unsigned int N = 65; printf(“%u”, N); } #include<stdio.h> void main() { float F = 25.75 printf(“%f”, F); } tercetak : 65 tercetak : 25.750000 #include<stdio.h> void main() { long int N = 65; printf(“%li”, N); } #include<stdio.h> void main() { double D = 25.75; printf(“%f”, D); } tercetak : 65 tercetak : 25.750000
xxxx xxxx xxxx xxxx sign xxxx xxxx xxxx xxxx 5.4.1 Mengisi dan Mencetak isi Variabel Numerik Integer pada program C 5. 11 1. int atau signed int (numerik integer bertanda) 2 Byte ( 16 bit) xxxx xxxx xxxx xxxx -32768 32767 sign 2. unsigned int (numerik integer tanpa tanda) 2 Byte ( 16 bit) xxxx xxxx xxxx xxxx 65535
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 5. 12 3. long atau long int atau signed long int 4 Byte ( 32 bit) xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx sign : 0 = positip 1 = negatip dalam bentik two’s complement -2 147 483 648 2 147 483 647 4. unsigned long int 4 Byte ( 32 bit) xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 4 284 967 295
5.4.1.1 Mengisi dan Mencetak isi Variabel Numerik Integer tipe int atau signed int dan unsigned int pada program C 5. 13 1. #include<stdio.h> void main() {signed int N = 65; printf(“%i\n”, N); printf(“%u\n”, N); printf(“%c\n”, N); printf(‘%X\n”, N); } #include<stdio.h> void main() { unsigned int N = 65; printf(“%i\n”, N); printf(“%u\n”, N); printf(“%c\n”, N); printf(“%X\n”, N); } Tercetak : 65 65 A 41 Tercetak : 65 65 A 41 N 0000 0000 0100 0001
0000 0011 0100 0001 N 2. #include<stdio.h> void main() { unsigned int N = 833; printf(“%i\n”, N); printf(“%u\n”, N); printf(“%c\n”, N); printf(“%X\n”, N); } #include<stdio.h> void main() {signed int N = 833; printf(“%i\n”, N); printf(“%u\n”, N); printf(“%c\n”, N); printf(‘%X\n”, N); } Tercetak : 833 833 A 341 Tercetak : 833 833 A 341 0000 0011 0100 0001 N Yang dicetak dengan format %c (karakter) hanyalah 8 bit paling kanan atau satu byte yang paling kanan
#include<stdio.h> void main() {signed int N; N = 32768; 3. 5. 15 #include<stdio.h> void main() {signed int N; N = 32768; printf(“%i\n”, N); printf(“%u\n”, N); printf(‘%X\n”, N); } Tercetak : -32768 32768 8000 4. #include<stdio.h> void main() {signed int N; N = 65535; printf(“%i\n”, N); printf(“%u\n”, N); printf(‘%X\n”, N); } Tercetak : -1 65535 FFFF
%i %u Diambil 32 bit terakhir karena disimpan dalam tipe signed int atau unsinged int 5. 16 Binary digit (bit) nilai yang akan disimpan Yang tercetak bila dicetak dengan %i %u Nilai yang akan disimpan 65 32767 32768 65535 65536 65546 98304 100 0001 0111 1111 1111 1111 1000 0000 0000 0000 1111 1111 1111 1111 1 0000 0000 0000 0000 1 0000 0000 0000 1010 1 1000 0000 0000 0000 0000 0000 0100 0001 01111 1111 0111 1111 1000 0000 0000 0000 1111 1111 1111 1111 0000 0000 0000 0000 0000 0000 0000 1010 65 32767 -32768 -1 10 65 32767 32768 65535 10