You are on page 1of 68

Niklaus Wirth

Eidgenossische Technische Hochschule Zurich, Switzerland

Mempunyai

Processor

contoh Intel Pentium

KOMPUTER

adalah alat pengolah data,


dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System
RAM

menurut program yang diberikan


kepadanya.

Contoh WINDOWS

PROCESSOR

misal : Intel Pentium

MEMORY (internal Storage)

KEYBOARD SCREEN

Input device

Output device misal

RAM

Misal kapasitas 10 GB Input & Output device

(external storage)

HARDDISK

kapasitas 64 MB

PROCESSOR Data Program MEMORY (internal Storage)


data
-------------------------------------------

misal : Intel Pentium

data

data

PROGRAM

KEYBOARD

OPERATING SYSTEM

SCREEN

Input device
Operating System Misal kapasitas 10 GB Input & Output device misal

Output device

RAM

(external storage)

HARDDISK

kapasitas 64 MB

BYTE adalah satuan memory (storage) terkecil yang masih bisa diberi alamat
no: 0 1 2
3

Satuan lain : WORD ( 4 Byte)

HALF WORD ( 2 Byte) DOUBLE WORD ( 8 Byte) SECTOR (512 Byte)

memory

Bila memory dianggap sebagai sebidang tanah, maka 1 BYTE dapat dianggap sebagai 1 meter persegi

1 BYTE = 8 bit

(binary digit)

No : 64 * 1024 * 1024 - 1 (Untuk memory 64 MB)

X X X X X X X X

1 2 3

4 5 6 7

MEMORY dan satuan BYTE

Memory, bila dibayangkan sebagai sebidang tanah, maka satu BYTE adalah area sebesar satu meter
persegi, yang dapat menyimpan satu buah huruf
Bila dibayangkan sebagai sebuah ruangan, maka satu BYTE adalah sebuah ubin yang dapat menampung sebuah huruf

RANDOM ACCESS (Akses secara Acak)


0 1 2 3 4 5 . . . . . .

Komputer dapat mengakses (menuju, mencapai, mendapatkan) sebuah Byte dalam memory, secara langsung, tanpa harus menelusuri satu per satu mulai Byte 0,1,2,3, dan seterusnya. Bagi komputer, untuk mengakses Byte no 1000, sama mudahnya dengan mengakses Byte nomor 1, atau nomor lainnya

1 BYTE = 8 bit (binary digit atau angka biner) Sebuah Byte terdiri dari 8 komponen yang disebut bit. Sulit menerangkan benda yang disebut bit tersebut secara fisik. Hanya dapat diilustrasikan sebagai sebuah bohlam lampu yang dapat menyala atau padam. Bila menyala disebut ON, dan padam disebut OFF Contoh sebuah huruf A bila disimpan dalam satu BYTE memory ON OFF ilustrasi sebuah BYTE yang terdiri dari 8 buah bohlam lampu.

Catatan : ON OFF

disini sengaja dibuat jarak, hanya agar mudah melihat jumlah bitnya ada 8 buah.

Bit = Binary digit (angka biner)


Untuk keperluan komputasi secara digital, maka : bit yang ON dinyatakan dengan angka 1, dan bit yang OFF dinyatakan dengan angka 0 Sehingga huruf A yang dinyatakan dengan ON dan OFF nya bit-bit sebagai berikut :

ON OFF

selanjutnya dinyatakan dengan :


0 1 0 0 0 0 0 1

Binary digit (angka biner)


Bilangan Binary, Basis (Radix) = 2, karena hanya mengenal 2 notasi atau simbol yaitu: 0 dan 1
x 32 x 16 x 8 x 4 x 2 x 1

Bilangan Decimal Basis (Radix) = 10, karena mengenal 10 notasi atau simbol yaitu : 0, 1, 2, 3, . . . 9 x 1000 x 100 x 10 x 1

Binary digit (angka biner)

1 1 1 1 1 0 1 0

1 1 0 0 1 1 0 0

0 1 0 1 0 1 0 1 0 1

= = = = = = = = = =

0 1 2 3 4 5 6 7 8 9

Nilai yang terkandung dalam sebuah BYTE


Setiap bit yang ON mempunyai nilai sesuai dengan posisinya dalam sebuah BYTE yang dapat digambarkan sebagai berikut :
128 64 32 16 8 4 2 1

Contoh : Bila bit-bit dalam satu Byte dinyatakan sebagai berikut : 0 0 1


32

1
16

1
4

1
1

maka nilai numerik yang tersimpan = 53 ( = 32 + 16 + 4 + 1 )

Nilai karakter A
Ilustrasi huruf A yang disimpan dalam suatu BYTE
128 64 32 16 8 4 2 1

Yang dinyatakan dengan angka biner (binary digit) menjadi :


128 64 32 16 8 4 2 1

Sehingga karakter A, atau huruf A yang disimpan dalam satu BYTE memory akan bernilai = 65 karena bit yang ON bernilai 64 dan 1.

HURUF atau KARAKTER : A

128 64

32

16

= 65

= 66

= 67

= 68

= 69

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System

menurut program yang diberikan kepadanya.

Operating System
adalah software yang dibuat untuk mengendalikan bekerjanya komputer. Semua pekerjaan didalam komputer dikendalikan (di-control) oleh Operating System

Beberapa Contoh Operating System : DOS WINDOWS WINDOWS NT UNIX LINUX XENIX MACINTOSH SUN SOLARIS

KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System

menurut program yang diberikan kepadanya.

PROGRAM adalah kumpulan instruksi-instruksi yang diberikan kepada komputer untuk menyelesaikan suatu tugas
= Langkah-langkah dalam Alagoritma

Instruksi-instruksi harus tersusun secara logis

Memerlukan yang benar

LOGIKA

PROGRAM ditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language)

Contoh Bahasa Pemrograman : COBOL FORTRAN Pascal BASIC

Bahaca C ini yang kita gunakan untuk menerapkan Algoritma di komputer

Java dan sebagainya

Tipe Data.
Tipe data dasar (primitif) yang digunakan oleh Bahasa C.
Sebutan Tipe Data 1. Character Bentuk penulisan dalam Bahasa C char atau signed char Jumlah Byte yang diperlukan Jangkauan nilai numerik -128 s.d. 127 0 s.d. 255

1 1 2 2

unsigned char 2. Integer

int atau signed int atau signed unsigned int atau unsigned

-32768 s.d. 32767

s.d. 65535

long atau long int atau signed long atau signed long int

-2147483648 s.d. 2147483647

unsigned long atau

s.d. 4294967295

3. Floating point (single precision)

float

3.4E-38 s.d. 3.4E38 positip atau negatip

4. Double precision

double

1.7E-308 s.d. 1.7E308 positip atau negatip 3.4E-4932 s.d 1.1E4932 positip atau negatip

long double

10

Beberapa Escape Character yang akan dibahas


\n Cursor pindah ke kolom pertama baris berikutnya (fungsi CR/LF, Carriage return and Line Feed) yang lebih dikenal dengan istilah pindah baris Cursor mundur satu langkah pada baris yang sama Cursor pindah ke posisi pertama baris yang sama (Carriage Return) Cursor pindah ke posisi tabulasi berikutnya Cursor pindah ke baris berikutnya pada posisi kolom (X) yang sama

\b \r \t \v

Beberapa Escape Character lain


\a \f \0 Membunyikan bell (untuk pringatan /alert) Ganti halaman (pada pencetakan ke printer) Menyatakan karakter null, misalnya karakter khusus sebagai tanda end sebuah kalimat atau string. Untuk menampilkan karakter tanda petik tunggal single quotation mark) \ \\ Untuk menampilkan tanda petik ganda (double uotation mark) Untuk menempilkan garis miring terbalik (back slash)

Beberapa contoh karakter ASCII


Kode Kombinasi bit ASCII 00 01 02 . 48 49 50 . . . 65 66 . . . 97 98 . . . 127 128 0000 0000 0000 . 0011 0011 0011 . . . 0100 0100 . . . 0110 0110 . . . 0111 1000 0000 0001 0002 0000 0001 0010

Menyatakan Karakter
NULL

Kode Kombinasi bit ASCII 128 129 . . 160 161 . . 171 172 . . 192 193 . . 224 225 . . 254 255 1000 1000 . . 1010 1010 . . 1010 1010 . . 1100 1100 . . 1110 1110 . . 1111 1111 0000 0001

Menyatakan Karakter
. . . . . . + . . _ . . _ _

0001 0010

0001 0010

1111 0000

0 1 2 . . . A B . . . a b . . .

0000 0001

1011 1100

0000 0001

0000 0001

1110 1111

Kode ASCII 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Char Spasi ! # $ % & ( ) * + , . /

Kode ASCII 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Char 0 1 2 3 4 5 6 7 8 9 : : < = > ?

64
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

@
A B C D E F G H I J K L M N O

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

P Q R S T U V W X Y Z [ \ ] ^ _

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

` a b c d e f g h i j k l m n o

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

p q r s t u v w x y z { | } ~

65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

A B C D E F G H I J K L M N O

80 81 82 83 84 85 86 87 88 89 90

P Q R S T U V W X Y Z

97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

a b c d e f g h i j k l m n o

112 113 114 115 116 117 118 119 120 121 122

p q r s t u v w x y z

Keterangan untuk Nilai Numeric Integer:

int

atau

signed int xxxx xxxx

2 BYTE ( 16 bit)

xxxx xxxx

Sign: 0 = positip 1 = negatip

Nilai negatip disimpan dalam bentuk

twos complement
Jangkauan nilai : -32768 s.d. 32767

-32768

32767

Tipe data :

integer
int
atau

signed int

2 BYTE ( 16 bit)

0000 0000 0000 0000 = 0000 0000 0000 0001 = 0000 0000 0000 0010 = 0000 0000 0000 0011 =

0 1 2 3

0111 1111 1111 1111 = 32767 1000 0000 0000 0000 = -32768 1000 0000 0000 0001 = -32767

1111 1111 1111 1110 = -2 1111 1111 1111 1111 = -1

0
-1 -2 -3 -4 1 2 3 4

Tipe int
Ilustrasi perubahan nilai signed integer 32767 + 1 = -32768 -32768 - 1 = 32767

-32765 -32767 -32768 bila dikurangi 1 akan menjadi 32767

32765 32766

-32768

32767

32767 bila ditambah 1 akan menjadi -32768

1 000 0000 0000 0000


Sign negatip

= -32768

Nilai : 1 000 0000 0000 0000 ones complement : 0 111 1111 1111 1111 ditambah 1 1 + twos complement : 1 000 0000 0000 0000
bit ini nilainya = 32768

1 111 1111 1111 1111

= -1

Nilai : 1111 1111 1111 1111 ones complement : 0000 0000 0000 0000 1 + ditambah 1 twos complement : 0000 0000 0000 0001
bit ini nilainya = 1

Pengertian Ones complement (1s compl.) dan Twos complement (2s compl.). 1s compl. maksudnya supaya lengkap menjadi satu sehingga 0 pelengkapnya = 1, dan 1 pelengkapnya = 0 nilai :

1s compl :

0 1 1

nilai +

1s compl :

1 0 1

Sedangkan 2s compl. = 1s compl. ditambah satu

2s = 1s + 1

Soal :

Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini.

0 0 0 0

0 0 0 0

1 0 0 0

1 0 1 1

Jawab : Bit paling kiri nilainya = 0, berarti nilai yang terkandung bernilai positip. Kemudian susun nilai-nilai setiap bit sebagai berikut :
128 64 32 16 8 4 2 1

0 0 0 0

0 0 0 0

1 0 0 0

1 0 1 1

Bit-bit yang ON nilainya : = 128 + 8 + 2 + 1 = 139 Sehingga nilai yang terkandung dalam 2 Byte integer diatas adalah : 139

Soal :

Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini.

1 1 1 1

1 1 1 1

0 1 1 1

0 1 0 1

Jawab : Bit paling kiri nilainya = 1, berarti nilai yang terkandung bernilai negatip. Nilai negatip disimpan dalam bentuk twos complement
Bit yang tersimpan : Ones complement : Twos complement :

1 1 1 1 0 0 0 0 0 0 0 0

1 1 1 1 0 0 0 0 0 0 0 0

0 1 1 1 1 0 0 0 1 0 0 0
128

0 1 0 1 1 0 1 0 1 1 0 1 1
8 2 1

Nilai Bit yang ON = 128 + 8 + 2 + 1 = 139

Jadi nilai yang tersimpan dalam 2 Byte integer diatas = -139.

Soal :

Simpan nilai 39 dalam 2 BYTE integer.

Jawab : Susun nilai-nilai bilangan biner sebagai berikut : 64 x 32 x 16 x 8 x 4 x 2 x 1 x

39 terdiri dari 32 + 4 + 2 + 1

Sehingga nilai 39 tersimpan dalam 2 Byte integer, adalah :


32 4 2 1

0 0 0 0

0 0 0 0

0 0 1 0

0 1 1 1

Soal :

Simpan nilai -39 dalam 2 BYTE integer.

Jawab : Susun nilai-nilai bilangan bine sebagai berikut : 64 x 32 x 16 x 8 x 4 x 2 x 1 x

39 terdiri dari 32 + 4 + 2 + 1
nilai 39 tersimpan dalam 2 Byte integer, adalah :

32

39 = 0 0 0 0 1s = 1 1 1 1

0 0 0 0 1 1 1 1

0 0 1 0 1 1 0 1

0 1 1 1 1 0 0 0
1

2s= - 39 = 1 1 1 1

1 1 1 1

1 1 0 1

1 0 0 1

Soal :
Jawab :

Apa yang tercetak oleh instruksi berikut ini :


printf(%i, 50000); Susun nilai-nilai angka biner yang totalnya cukup untuk 50000 32768 16384 8192 4096 2048 1024 512 258

128 64 32 16 0 1 0 1

1 1 0 0

0 0 1 1

8 4 2 1 0 0 0 0

50000 merupakan gabungan (penjumlahan) dari : 32768 + 16384 + 512 + 256 + 64 + 16 Ternyata bit yang paling kiri nilainya = 1, jadi nilainya negatip

1s =

1 1 0 0 0 0 1 1
0 0 1 1

0 0 1 1 1 1 0 0
1 1 0 0

0 1 0 1 1 0 1 0
1 0 1 1

0 0 0 0 1 1 1 1 1 0 0 0 0

1 1 0 0 1s = 0 0 1 1 ditambah 1 2s = 0 0 1 1 32768 16384 8192 4096

0 0 1 1 1 1 0 0 1 1 0 0

0 1 0 1 1 0 1 0 1 0 1 1

0 0 0 0 1 1 1 1 1 0 0 0 0

2048 1024 512 258

128 64 32 16 1 0 1 1

0 0 1 1

1 1 0 0

8 4 2 1 0 0 0 0

Nilai bit-bit yang ON = 8192 + 4096 + 2048 + 1024 + 128 + 32 + 16 = 15 536 sehingga : printf(%i, 50000); akan mencetak : -15536

Soal :
Jawab :

Apa yang tercetak oleh instruksi berikut ini :


printf(%i, 100000); Susun nilai-nilai angka biner yang totalnya cukup untuk 100000 65536 32768 16384 8192 4096 2048 1024 512 258

128 64 32 16 1 0 1 0

1 0 0 0

0 1 1 0

8 4 2 1 0 0 0 0

100000 merupakan gabungan (penjumlahan) dari : 65536 + 32768 + 1024 + 512 + 128 Karena dicetak dengan format %i, yang berarti nilai inteher 2 Byte, maka yang diambil hanya 16 bit dari kanan, yaitu : 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0

Ternyata bit yang paling kiri nilainya = 1, jadi nilainya negatip

1 0 0 0 1s = 0 1 1 1 ditambah 1 2s = 0 1 1 1 32768 16384 8192 4096

0 1 1 0 1 0 0 1 1 0 0 1

1 0 1 0 0 1 0 1 0 1 1 0

0 0 0 0 1 1 1 1 1 0 0 0 0

2048 1024 512 258

128 64 32 16 0 1 1 0

0 1 1 1

1 0 0 1

8 4 2 1 0 0 0 0

Nilai bit-bit yang ON = 16384 + 8192 + 4096 + 2048 + 256 + 64 + 32 = 31 072 sehingga : printf(%i, 100000); akan mencetak : -31072

Latihan di Kelas
1. Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini.

a.
b.

0 0 0 0 1 1 1 1

0 0 0 1 1 1 1 1

0 1 1 0 0 1 0 1

1 0 0 0 0 0 0 1

2. Gambarkan representasi bit-bit bila bilangan berikut ini disimpan dalam 2 Byte integer. a. 325 b. -293 3. Apa yang tercetak oleh instruksi berikut ini : a. b. printf(%i, 40000); printf(%i,-40000);

Pekerjaan Rumah.
1. Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini.

a. b.

0 0 0 0 1 1 1 1

0 0 0 1 1 1 1 0

1 0 1 0 1 1 0 1

1 0 1 0 0 1 0 1

2. Gambarkan representasi bit-bit bila bilangan berikut ini disimpan dalam 2 Byte integer. a. 317 b. -333 3. Apa yang tercetak oleh instruksi berikut ini : a. printf(%i, 35000); b. printf(%i,-35000);

4.4

Mencetak Konstanta Pada Program C / C++

4.4.1 Mencetak Konstanta


#include<stdio.h> void main() { printf( Jakarta ); }

#include<iostream.h> void main() { cout << Jakarta; }

Dalam program diatas, ada satu instruksi mencetak sebuah nilai atau konstanta string yaitu : printf( Jakarta );untuk C, dan : cout << Jakarta; untuk C++
Instruksi printf membutuhkan file stdio.h dan instruksi cout membutuhkan file iostream.h untuk diinclude. Instruksi diatas akan mencetak perkataan monitor.

Jakarta

dilayar

C
printf( A ); printf( ABC ); printf( 15 ); printf( %i 25 ); printf( %i 25 );

C++
cout << A; cout << ABC;

Tercetak di layar A
( huruf A )

ABC

cout << 15;

15

Karakter 1 dan 5 Bukan nilai lima belas

cout << 25;

25

Nilai dua puluh lima

cout << 25;

Instruski cetak cout cout cout cout cout cout cout cout << << << << << << << << Jakarta; A; A; 123; 123L; 32768; 65536; -32768;

Yang tercetak di layar

Keterangan

Jakarta A A 123 123 32768 65536 -32768 2147438647 2147438648 4294967295 0

57

cout << 2147438647 cout << 2147438648 cout << 4294967295 cout << 4294967296

Batas maksimum nilai Signed Long int Melampaui batas maksimum signed long int dianggapnya unsigned long int Batas maksimum unsigned long int Satu angka diatas batas maksimum unsigned long int semua bitnya = 0

format %li atau %ld %li atau %ld %li atau %ld %li %li %li %li atau atau atau atau %ld %ld %ld %ld

data 25L 25 0L 32767 32767L 32768 32769 -32767 -32767L -32768 -32769 2147483647 2147483648 -2147483648 -2147483649 2147483647 -2147483648

Akan tercetak 25 xxxxxxxxxx 0 xxxxxxxxxx 32767 32768 32769

Keterangan

Tercetak nilai sembarang karena data ditulis 25 bukan 25L Tercetak nilai sembarang karena tidak pakai L Tercetak benar karena pakai L Diatas 32767 boleh tak pakai L Tercetak nilai sembarang

%li atau %ld %li atau %ld %li atau %ld

xxxxxxxxxx -32767 -32768 -32769


2147483647 -2147483648 -2147483648 2147483648 bbbbb2147483647 bbbb-2147483648 2147483647bbbbb -2147483648bbbb

karena tak pakai L Tercetak benar karena pakai L -32768 kebawah, boleh tak pakai L
Batas tertinggi nilai signed long integer = 2147483647

%li atau %ld %li atau %ld %li atau %ld %li atau %ld %15li atau %15ld %15li atau %15ld

dan batas terendah = -2147483648

disiapkan 15 lokasi rata kanan b = blank atau spasi disiapkan 15 lokasi rata kiri b = blank atau spasi

%-15li atau %-15ld 2147483647 %15li atau %15ld -2147483648

Instruski cetak

Yang tercetak di layar

Keterangan

cout << 123.456; cout << 123.4567;

123.456 123.457

cout << 123.456789;

123.457

Fraction Lebih dari 6 digit dibulatkan keatas Lebih dari 6 digit

cout << 1234567.890

1.234567e+06

cout << 123E2 cout << 123.45E3

12300 123450

4.4.2 Mencetak Konstanta Dengan Format Pada Program

C++

#include<iostream.h> void main() { cout << 4725; } 123456789012345 Tercetak: 4725

Catatan-1: Angka-angka 123456789012345 yang terlihat bukan hasil cetakan. Angka-angka itu hanya digunakan untuk membantu melihat letak hasil cetakan.

#include<iostream.h> #include<iomanip.h> void main() { cout << setw(10); cout << 4725; } 123456789012345 Tercetak: 4725

Catatan-1: Angka-angka 123456789012345 yang terlihat bukan hasil cetakan. Angka-angka itu hanya digunakan untuk membantu melihat letak hasil cetakan. Catatan-2: Untuk dapat menggunakan instruksi setw() perlu ditambahkan

#include<iomanip.h>

Instruksi setw( ), hanya berlaku mengatur format cetakan satu elemen cetakan yang mengikutinya. Elemen-elemen selanjutnya tidak dipengaruhi lagi oleh setw( ). Perhatikan contoh berikut ini.

#include<iostream.h> #include<iomanip.h> void main() { cout << setw(10); cout << 4725 << \n << 5678 ; } 123456789012345 Tercetak : 4725 5678 Terlihat hanya nilai pertama yaitu 4725 yang dicetak dengan lebar10 spasi sedangkan nilai berikutnya 5678 tidak dipengaruhi lagi oleh setw()

4.4.2.3

Mencetak dengan menggunakan manipulator

1. Penggunaan manipulator endl.


#include<iostream.h> void main() { cout << ABC; cout << PQR } Tercetak: ABCPQR #include<iostream.h> void main() { cout << ABC << endl; cout << PQR; } Tercetak: ABC PQR

cout << ABC; cout << endl << PQR; Turun satu baris sebelum mencetak PQR

atau sebagai berikut : cout << ABC << endl << PQR;

2.

Penggunaan manipulator ends, dec, hex, oct

Instruksi cout << ABC << ends << PQR;

Hasil yang tercetak ABCPQR

cout << 29; cout << hex << 29;

29
1d

cout << hex; cout << 29;

1d

= tanda karakter

NULL

Instruksi cout << hex << 29 << endl; cout << 30

Hasil Cetakan 1d 1e

Keterangan pengaruh cout << hex tetap ada sampai diganti dengan cout << dec atau cout << oct

cout << hex << 29 << endl; cout << dec << 30;

1d 30 Hanya nilai integer yang dapat dicetak dalam bentuk Hexadecimal 29 = 3*8 + 5*1

cout << hex A

A 35

cout << oct << 29;

2. Penggunaan manipulator setprecision( )

Instruksi
cout << 123.456 cout << 123.4567 cout << 123.45678

Hasil yang tercetak


123.456 123.457 123.457

cout cout cout cout cout cout cout cout cout cout cout cout cout

<< << << << << << << << << << << << <<

setprecision(0) << 123.456789; setprecision(1) << 123.456789; setprecision(2) << 123.456789; setprecision(3) << 123.456789; setprecision(4) << 123.456789; setprecision(5) << 123.456789; setprecision(6) << 123.456789; setprecision(7) << 123.456789; setprecision(8) << 123.456789; setprecision(9) << 123.456789; setprecision(10) << 123.456789; setprecision(11) << 123.456789; setprecision(12) << 123.456789;

1e+02 1e+02 1e+02 1e+02 123.5 123.46 123.457 123.4568 123.45679 123.456789 123.456789 123.456789 123.456789

3. Penggunaan manipulator setprecision( ) dengan menggunakan format cetakan yang diatur dengan setiosflags(ios::fixed) Contoh : a.. Mencetak tanpa diformat dengan setiosflag(ios::fixed) #include<iostream.h> #include<iomanip.h> void main() { cout << setprecision(12) << 123.456789; } Tercetak: 123.456789

b. Mencetak dengan diformat dengan

setiosflag(ios::fixed)

#include<iostream.h> #include<iomanip.h> void main() { cout << setiosflags(ios::fixed); cout << setprecision(12) << 123.456789; } Tercetak: 123.456789000000 Tercetak dengan 12 decimal point

Instruksi cetak yang didahului oleh setiosflags(ios::fixed) cout cout cout cout cout cout cout cout cout cout cout cout cout << << << << << << << << << << << << << setprecision(0) << 123.456789; setprecision(1) << 123.456789; setprecision(2) << 123.456789; setprecision(3) << 123.456789; setprecision(4) << 123.456789; setprecision(5) << 123.456789; setprecision(6) << 123.456789; setprecision(7) << 123.456789; setprecision(8) << 123.456789; setprecision(9) << 123.456789; setprecision(10) << 123.456789; setprecision(11) << 123.456789; setprecision(12) << 123.456789; 123 123.5 123.46 123.457 123.4568 123.45679 123.456789 123.4567890 123.45678900 123.456789000 123.4567890000 123.45678900000 123.456789000000

long int
format data Akan tercetak Keterangan

%li atau %ld %li atau %ld %li atau %ld %li %li %li %li atau atau atau atau %ld %ld %ld %ld

25 xxxxxxxxxx 0
xxxxxxxxxx 32767 32768 32769 xxxxxxxxxx -32767 -32768 -32769 2147483647 -2147483648 -2147483648 2147483648 bbbbb2147483647 bbbb-2147483648 2147483647bbbbb -2147483648bbbb

Tercetak nilai sembarang karena data ditulis 25 bukan 25L


Tercetak nilai sembarang karena tidak pakai L Tercetak benar karena pakai L Diatas 32767 boleh tak pakai L Tercetak nilai sembarang karena tak pakai L Tercetak benar karena pakai L -32768 kebawah, boleh tak pakai L Batas tertinggi nilai

%li atau %ld %li atau %ld %li atau %ld

%li atau %ld %li atau %ld


%li atau %ld %li atau %ld %15li atau %15ld %15li atau %15ld %-15li atau %-15ld %15li atau %15ld

signed long integer = 2147483647


dan batas terendah = -2147483648

disiapkan 15 lokasi rata kanan b = blank atau spasi disiapkan 15 lokasi rata kiri b = blank atau spasi

unsigned long int


format %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu data 25UL 25L 0L 25 25U 25u 0 32767 32767L 32768 32769 -1UL -2UL Akan tercetak Keterangan

32767 kebawah harus ditambah UL atau L bila tidak menggunakan UL atau L, maka akan tercetak nilai sembarang

Diatas 32767 boleh tak pakai L

Nilai terkecil = 0 -1 komposisi bitnya = nilai maksimum -2 komposisi bitnya = nilai maksimum -1 Batas tertinggi nilai unsigned long integer = 4294967295 4294967296lu komposisi bitnya = 0 4294967297lu komposisi bitnya = 1
harus pakai ul atau lu karena nilainya lebih kecil dari 32768 disiapkan 15 lokasi rata kanan b = blank atau spasi

%lu %lu %lu

4294967295 4294967296lu 4294967297lu

%15lu

4294967295

Floating point single precision

format
%f %f %f %f %f %f %f %f %f %f %f %f

data
25 A 0 25.0 0.25 0.0 0.1 0.000025 0.123456789 25.123456789 25.123456

Akan tercetak
error error error 25.000000 0.250000 0.000000 0.100000 0.000025 0.123457 25.123457 25.123456

Keterang an
Tidak mengandung decimal point

standard pencetakan 6 digit decimal point

untuk pencetakan standard Decimal point yang lebih dari 6 digit akan dilakukan pembulatan

11223344556677.0 11223344556677.000000
pada beberapa compiler C akan tercetak : 45.700001 dan : 45.599998 karena ketelitian mencetak berbeda Disiapkan 10 lokasi untuk tempat pencetakan,termasuk 2 decimal point, rata kanan.

%f %f

45.7 45.6

45.700000 45.600000

%10.2f

25.0

bbbbb25.00

%10.5f %10.5f %7.5f

25.75 1325.75 1325.75

25.75000 1325.75000 1325.75000

Tepat 10 lokasi Bila format kurang, maka jumlah lokasi disesuaikan dengan jumlah digit

You might also like