Mencetak Nilai Konstanta 4.1 Bab 04 Tipe Data dan Mencetak Nilai Konstanta 33
C C++ Java #include <stdio.h> #include <iostream.h> 4.2 C C++ #include <stdio.h> void main() { int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T); } #include <iostream.h> void main() { int A, B, T; A = 5; B = 2; T = A + B; cout << T; } Java public class Contoh01 { public static void main(String args[]) { int A, B, T; A = 5; B = 2; T = A + B; System.out.println( T ); } 33
Layar monitor 4.2. Layar Monitor 34 4.3 1 2 7 8 1 2 7 8 12345678901234567890-----------------------01234567890 Ordinat X Layar monitor 1 2 3 4 - 25 Ordinat Y 34
Beberapa istilah yang berkaitan dengan pencetakan dan layar monitor: 4.4 Cursor : Posisi X dan Y di layar, dimana hasil cetakan akan ditampilkan Y dari 1 sampai 25 sebagai baris, X dari 1 sampai 80 sebagai kolom Kalimat : Serangkaian karakter yang diakhiri tanda ‘end’. Salah satu contoh, tanda ‘end’ misalnya terbuat sewaktu menekan tombol <Enter> pada pengetikan sebuah kalimat. Scroll up : Menggulung keatas Bila hasil cetakan melebihi 25 baris, maka baris-baris sebelumnya akan menggulung keatas, dan cetkan yang terakhir ada baris no. 25 Space : Spasi. Sebuah atau satu karakter, menempati satu spasi. Back Space : Cursor mundur satu spasi. Tab : Cursor melompat ke posisi tabulasi berikutnya Home : Posisi layar baris pertama kolom pertama (Y=1, dan X=1) Carriage Return: Cursor kembali ke posisi pertama (awal) pada baris yang sama Line Feed: Cursor pindah ke baris berikutnya (Y+1) pada posisi kolom X yang sama Escape Character : Karakter khusus yang digunakan dalam pemrograman antara lain untuk mengatur letak cursor. 34
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 \b Cursor mundur satu langkah pada baris yang sama \r Cursor pindah ke posisi pertama baris yang sama (Carriage Return) \t Cursor pindah ke posisi tabulasi berikutnya \v Cursor pindah ke baris berikutnya pada posisi kolom (X) yang sama 34
Beberapa Escape Character lain \a Membunyikan bell (untuk pringatan /alert) \f Ganti halaman (pada pencetakan ke printer) \0 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 quotation mark) \\ Untuk menempilkan garis miring terbalik (back slash) 35
4.3. Mencetak konstanta Pada Program C. 4.7 4.3.1. Mencetak Sebuah Kalimat (Literal String) pada program C String adalah untaian atau deretan karakter-karakter bisa terdiri dari satu karakter, bisa juga terdiri dari banyak karakter yang membentuk sebuah kata atau sebuah kalimat. Sebuah string diapit oleh double quotation marks. 35
4.3.1.1. Mencetak string tanpa format pada C. 4.8 C C #include<stdio.h> void main() { printf(“Jakarta”); } #include<stdio.h> void main() { printf(“A”); } Tercetak : A Tercetak : Jakarta Sebuah string, diapit oleh tanda kutip “ (double quotation marks) sehingga : printf(“%s”, ‘Jakarta‘ ); akan terjadi error karena menggunakan tanda kutip ‘…….…’ bukan “……..…” 35
C C #include<stdio.h> #include<stdio.h> main() main() { { 4.3.1.2. Mencetak String Dengan Instruksi puts pada Program C 4.9 C C #include<stdio.h> main() { puts( “Jakarta”); } #include<stdio.h> main() { puts( “A”); } Tercetak : Jakarta Tercetak : A Untuk mencetak string dapat digunakan instruksi puts yang fungsinya mencetak tanpa format 36
C 4.3.1.3 Mencetak string dengan format “%s” pada program C . C 4.10 4.3.1.3 Mencetak string dengan format “%s” pada program C . C C #include<stdio.h> main() { printf(“%s”, “Jakarta”); } #include<stdio.h> main() { printf(“%s”, “A”); } Tercetak : Jakarta Tercetak : A 36
bbb maksudnya menyatakan tia buah spasi atau blank 4.3.1.3 Mencetak string dengan format “%s” pada program C . 4.11 C C #include<stdio.h> main() { printf(“%10s”, “Jakarta”); prints(“%s”, “Bandung”); } #include<stdio.h> main() { printf(“%5s”, “A”); printf(“%s”, “B”); } Tercetak : bbbJakartaBandung Tercetak : bbbbAB bbb maksudnya menyatakan tia buah spasi atau blank dilayar monitor tentunya hanya terlihat kosong (spasi) 36
printf(“%s”, “Jakarta”); printf(“%s”, “Bandung”); Beberapa contoh penggunaan format “%s” untuk mencetak konstanta string pada program C 4.12 printf(“12345678901234567890\n”); printf(“%s”, “Jakarta”); printf(“%s”, “Bandung”); Tercetak: 12345678901234567890 JakartaBandung Tercetak sesuai jumlah karakter yang ada. printf(“12345678901234567890\n”); printf(“%10s”, “Jakarta”); printf(“%s”, “Bandung”); Tercetak: 12345678901234567890 JakartaBandung 10s = tempat 10 lokasi dan rata kanan 37
printf(“%-10s”, “Jakarta”); printf(“%s”, “Bandung”); 4.13 printf(“12345678901234567890\n”); printf(“%-10s”, “Jakarta”); printf(“%s”, “Bandung”); Tercetak: 12345678901234567890 Jakarta Bandung -10s = tempat 10 lokasi dan rata kiri printf(“12345678901234567890\n”); printf(“%10.4s”, “Jakarta”); printf(“%s”, “Bandung”); Tercetak: 12345678901234567890 JakaBandung 10.4s = tempat 10 lokasi dan rata kanan yang dicetak hanya 4 karakter pertama 37
printf(“%-10.4s”, “Jakarta”); printf(“%s”, “Bandung”); Beberapa contoh penggunaan format “%s” untuk mencetak konstanta string pada program C 4.14 printf(“12345678901234567890\n”); printf(“%-10.4s”, “Jakarta”); printf(“%s”, “Bandung”); Tercetak: 12345678901234567890 Jaka Bandung -10.4s = tempat 10 lokasi dan rata kiri yang dicetak 4 karakter pertama printf(“12345678901234567890\n”); printf(“%4s”, “Jakarta”); printf(“%s”, “Bandung”); Tercetak: 12345678901234567890 JakartaBandung 4s = format 4s, terlalu kecil dibandingkan jumlah karakter yang ada akan dicetak apa adanya. 37
#include<stdio.h> void main() { printf(‘A’); } 4.3.2. Mencetak Sebuah Karakter pada Program C. 4.15 4.3.2.1. Mencetak sebuah karakter tanpa format pada C. Contoh : #include<stdio.h> void main() { printf(‘A’); } Tercetak : A 38
#include<stdio.h> void main() { printf(“%c”, 65 ); } 4.3.2.2. Mencetak sebuah karakter dengan format “%c” dalam program C. 4.16 Sebuah data (nilai) yang dicetak dengan format %c dalam program C, maka bit-bit data tersebut akan dianggap atau diperlakukan sebagai karakter sesuai dengan karakter ASCII #include<stdio.h> void main() { printf(“%c”, ‘A’); } #include<stdio.h> void main() { printf(“%c”, 65 ); } Tercetak : A Tercetak : A Baik karakter A maupun nilai 65 dsimpan dengan kombinasi bit yang sama didalam memory sebagai berikut : 0 1 0 0 0 0 0 1 Sehingga kalau dicetak dengan format %c, atau format karakter maka akan dianggap sebagai karakter A. 38
#include<stdio.h> void main() { printf(“%c”, ‘AB’); } 4.17 #include<stdio.h> void main() { printf(“%c”, ‘AB’); } Tercetak : A Kalau konstanta untuk tipe char ditulis dua karakter, maka yang diambil hanya karakter pertama. Ditulis lebih dari dua karakter, akan menyebabkan error. 38
39 4.18 Kode ASCII 65 adalah karakter : A Type (Kode format) Hasil yang tercetak di layar 4.18 Data Keterangan %c ‘A’ ‘a’ 65 97 49 50 66-1 35*2 41 297 172 171 A a 1 2 F ) ¼ ½ Kode ASCII 65 adalah karakter : A Kode ASCII 97 adalah karakter : a Kode ASCII 49 adalah karakter : 1 Kode ASCII 50 adalah karakter : 2 Kode ASCII 70 adalah karakter : F Kode ASCII 41 adalah karakter : ) Kode ASCII 41 (41=297-256) adalah karakter : ) Kode ASCII 172 adalah karakter : ¼ Kode ASCII 171 adalah karakter : ½ 39
Yang dimaksud dengan karakter disini adalah karakter ASCII, yaitu karakter yang kode bitnya sesuai menurut standar ASCII (American Standard Code for Information Interchange) Sebuah karakter disimpan dalam satu BYTE. Satu byte terdiri dari 8 BIT(singkatan dari Binary Digit). Kombinasi on dan off bit-bit tersebut yang menentukan karakter apa yang disimpan dalam satu byte tersebut. Dari 8 bit tersebut akan terdapat 256 macam kombinasi bit (dari 0 - 255) sehingga jumlah karakter ASCII ada 256 buah. 4.19 Sebagai contoh, pandanglah ilustrasi sebuah BYTE ( 8 bit ) yang menyimpan sebuah karakter A sebagai berikut : 128 64 32 16 8 4 2 1 0 1 0 0 0 0 0 1 39
Beberapa contoh karakter ASCII Kode ASCII Kombinasi bit Menyatakan Karakter Kode ASCII Kombinasi bit Menyatakan Karakter 4.20 00 01 02 . 48 49 50 65 66 97 98 127 128 0000 0000 0000 0001 0000 0002 . 0011 0000 0011 0001 0011 0010 0100 0001 0100 0010 0110 0001 0110 0010 0111 1111 1000 0000 NULL 1 2 . A B a b Ç 128 129 . 160 161 171 172 192 193 224 225 254 255 1000 0000 1000 0001 . 1010 0000 1010 0001 1010 1011 1010 1100 1100 0000 1100 0001 1110 0000 1110 0001 1111 1110 1111 1111 Ç ü . á í ½ ¼ + - _ ß 40
Karakter ‘A’ nilai ASCIInya = 65 Karakter ‘a’ nilai ASCIInya = 97 Contoh : 4.21 Akan tercetak Dengan Statement Keterangan printf( “%i” , ‘A’ ); printf( “%i” , ‘a’ ); printf( “%d” , ‘A’ ); printf( “%d” , ‘a’ ); printf( “%f” , ‘A’ ); 65 97 error Karakter ‘A’ nilai ASCIInya = 65 Karakter ‘a’ nilai ASCIInya = 97 Sama dengan atas abnormal program termination karena %f adalah format untuk data tipe numeric floating point yang mengandung decimal point (fraction) 40
4.22 Kombinasi ON dan OFF nya bit-bit dalam satu Byte mulai dari 00000000 sampai dengan 11111111 atau mulai dari nilai 0 sampai dengan 255, akan menghasilakn 256 kode ASCII. Sebagian dari nilai ASCII tersebut adalah karakter-karakter yang sering digunakan, dan dapat terlihat di tombol-tombol papan keyboard yang bernilai antara 0 sampai dengan 127 seperti dalam tabel berikut ini 41
TABEL ASCII ( 0 - 127 ), karakter dasar ASCII dalam 7 bit 4.23 Kode ASCII Kode ASCII Char Char 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NULL (Kosong) bell tab line feed home form feed carriage return 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 cursor ke kanan cursor ke kiri cursor ke atas cursor ke bawah 41
41 Kode ASCII Kode ASCII Char 4.24 Char 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Spasi ! “ # $ % & ‘ ( ) * + , - . / 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 1 2 3 4 5 6 7 8 9 : < = > ? 41
4.25 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 { | } ~ 41
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 4.26 41
4.3.2.3. Mencetak Escape Character pada program C. 4.27 #include<stdio.h> void main() {printf(“Jakarta”); printf(“\n”); printf(“Bandung”); } 1). #include<stdio.h> void main() { printf(“Jakarta”); printf(“Bandung”); } 2). Tercetak : JakartaBandung Tercetak : Jakarta Bandung printf(“Jakarta\n”); printf(“Bandung”); printf(“Jakarta”); printf(“\nBandung”); printf(“Jakarta\nBandung”); 42
43 Beberapa contoh penggunaan Escape Character pada program C. 4.28 Hasil yang tercetak instruksi cetak Keterangan printf(“Jakarta\n\nBali”); printf(“Jakarta\aBali”); printf(“Jakarta\rBali”); printf(“Jakarta\\Bali”); printf(“Jakarta\’Bali”); printf(“Jakarta\”Bali”); Jakarta Bali JakartBali Balirta Jakarta\Bali Jakarta’Bali Jakarta”Bali Dua kali pindah baris sebelum mencetak Bali Mundur satu spasi sebelum mencetak Bali Kembali ke posisi awal baris sebelum mencetak Bali . Mencetak “\\” akan menghasilkan \ 43
printf(“Jakarta\rBali”); 4.29 Instruksi printf() dengan mudah dapat diganti dengan cout pada program C++ misal cout << Jakarta\rBali”; sebagai padanan printf(“Jakarta\rBali”); 43
4.3.3. Mencetak Sebuah Konstanta Numerik Pada Program C 4.30 4.3.3. Mencetak Sebuah Konstanta Numerik Pada Program C #include<stdio.h> main() { printf(“%i”, 25); } untuk nilai integer, digunakan format “%i” atau “%d” Tercetak : 25 44
%i atau %d %u %li %lu %c %x %o Beberapa format yang dapat dipakai untuk mencetak nilai numerik integer : 4.31 Kode Format Hasil yang tercetak %i atau %d %u %li %lu %c %x %o Numerik Integer bertanda Numerik Integer tak bertanda (unsigned integer) Numerik Long integer bertanda Numerik Unsigned Long Integer Karakter ASCII Hexadesimal Integer Octal Integer 44
Contoh hasil cetakan beberapa konstanta numerik yang dicetak dengan format %i atau %d pada program C. 4.32 Akan tercetak format data Keterangan %i atau %d 25 ‘A’ ‘a’ 32767 32768 32769 32770 50000 100000 25 65 97 32767 -32768 -32767 -32766 -15536 -31072 Karakter ‘A’ nilai ASCII nya = 65 Karakter ‘a’ nilai ASCII nya = 97 Batas tertinggi bilangan integer = 32767 Batas terendah bilangan integer = -32768 * 45
45 4.33 Akan tercetak format data Keterangan %i atau %d -1 -2 -32767 -32768 -32769 -32770 -50000 -100000 65536 65535 -1 -2 -32767 -32768 32767 32766 15536 31072 45
int atau signed int xxxx xxxx xxxx xxxx two’s complement -32768 32767 Keterangan untuk Nilai Numeric Integer: 4.34 int atau signed int 2 BYTE ( 16 bit) xxxx xxxx xxxx xxxx Sign: 0 = positip 1 = negatip Nilai negatip disimpan dalam bentuk two’s complement Jangkauan nilai : -32768 s.d. 32767 -32768 32767 46
Tipe data : integer 4.35 int atau signed int 2 BYTE ( 16 bit) 0000 0000 0000 0000 = 0 0000 0000 0000 0001 = 1 0000 0000 0000 0010 = 2 0000 0000 0000 0011 = 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 46
4.36 -1 1 -2 2 -3 3 tipe int -32767 32766 -32768 32767 -32768 bila dikurangi 1 akan menjadi 32767 32767 bila ditambah 1 akan menjadi -32768 47
47 4.37 1 000 0000 0000 0000 = -32768 Nilai : one’s complement : 1 000 0000 0000 0000 = -32768 Sign negatip Nilai : one’s complement : ditambah 1 two’s complement : 1 000 0000 0000 0000 0 111 1111 1111 1111 1 + bit ini nilainya = 32768 1 111 1111 1111 1111 = -1 Nilai : one’s complement : ditambah 1 two’s complement : 1111 1111 1111 1111 0000 0000 0000 0000 1 + 0000 0000 0000 0001 bit ini nilainya = 1 47
1 1 2’s = 1’s + 1 Pengertian One’s complement (1’s compl.) dan Two’s complement (2’s compl.). 4.38 1’s compl. maksudnya supaya lengkap menjadi satu sehingga 0 pelengkapnya = 1, dan 1 pelengkapnya = 0 nilai : 1’s compl : 1 nilai : 1’s compl : 1 + + Sedangkan 2’s compl. = 1’s compl. ditambah satu 2’s = 1’s + 1 47
Soal : Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini. 4.39 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 =48
Soal : Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini. 4.40 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 two’s complement Bit yang tersimpan : One’s complement : Two’s complement : 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 128 8 2 1 Nilai Bit yang ON = 128 + 8 + 2 + 1 = 139 Jadi nilai yang tersimpan dalam 2 Byte integer diatas = -139. =48
Soal : Simpan nilai 39 dalam 2 BYTE integer. 4.41 Jawab : Susun nilai-nilai bilangan biner sebagai berikut : 64 32 16 8 4 2 1 x x x x x x 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 =48
Soal : Simpan nilai -39 dalam 2 BYTE integer. 4.42 Jawab : Susun nilai-nilai bilangan bine sebagai berikut : 64 32 16 8 4 2 1 x x x x x x x 39 terdiri dari 32 + 4 + 2 + 1 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 39 = 1’s = 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 2’s= - 39 = =48
Soal : Apa yang tercetak oleh instruksi berikut ini : 32768 16384 8192 4096 2048 1024 512 258 128 64 32 16 4.43 printf(“%i”, 50000); Jawab : Susun nilai-nilai angka biner yang totalnya cukup untuk 50000 8 4 2 1 1 1 0 0 0 0 1 1 0 1 0 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 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1’s = 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 =48
sehingga : printf(“%i”, 50000); akan mencetak : -15536 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 32768 16384 8192 4096 2048 1024 512 258 128 64 32 16 4.44 1’s = ditambah 1 2’s = 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 8 4 2 1 0 0 1 1 1 1 0 0 1 0 1 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 =48
Soal : Apa yang tercetak oleh instruksi berikut ini : 65536 32768 16384 8192 4096 2048 1024 512 258 128 64 32 16 4.45 printf(“%i”, 100000); Jawab : Susun nilai-nilai angka biner yang totalnya cukup untuk 100000 8 4 2 1 1 1 0 0 0 0 1 1 0 1 0 1 0 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 =48
sehingga : printf(“%i”, 100000); akan mencetak : -31072 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 32768 16384 8192 4096 2048 1024 512 258 128 64 32 16 4.46 1’s = ditambah 1 2’s = 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 8 4 2 1 0 1 1 1 1 0 0 1 0 1 1 0 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 =48
Latihan di Kelas 4.47 1. Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini. a. 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 b. 1 1 1 1 1 1 1 1 0 1 0 1 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. printf(“%i”, 40000); printf(“%i”,-40000); b. =48
Pekerjaan Rumah. 4.48 1. Berapa nilai yang tersimpan dalam 2 Byte bilangan integer berikut ini. a. 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 b. 1 1 1 1 1 1 1 0 1 1 0 1 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); =48
hari pertama sampai disini
unsigned atau unsigned int 4.3.3.2 Mencetak Sebuah Data (Nilai) Numeric Unsigned Integer dengan format %u pada program C unsigned atau unsigned int 2 BYTE ( 16 bit) xxxx xxxx xxxx xxxx tanpa tanda, semua nilai positip mulai dari 0 sampai dengan 65535 Jangkauan nilai : 0 s.d. 65535 65535 49
Beberapa contoh hasil pencetakan nilai numerik Unsigned integer dengan dengan format %u tercetak data format Keterangan %u 25 ‘A’ ‘a’ 32767 32768 32769 32770 50000 65535 65536 65537 65538 100000 -1 -2 25 65 97 32767 32768 32769 32770 50000 65535 1 2 34464 65534 Karakter ‘A’ nilai ASCII nya = 65 Karakter ‘a’ nilai ASCII nya = 97 Batas tertinggi nilai unsigned integer = 65535 dan batas terendah = 0 batas tertinggi 65535 65536 dianggap = 0 100000 dianggap = 100000 - 65536 49
Beberapa contoh hasil pencetakan nilai numerik Unsigned Integer dengan dengan format %u tercetak format data Keterangan %u -1 -2 -32767 -32768 -32769 -32770 -50000 -100000 65536 65537 55538 65535 65534 131072 65535 65534 32769 32768 32767 32766 15536 31072 1 2 batas terendah = 0 -1 dianggap sebagai = 65536 - 1 = 65535 -2 dianggap sebagai = 65536 - 2 = 65534 49
nilai unsignedsigned integer Secara bagan, kisaran nilai numerik yang diperlakukan sebagai unsigned integer dapat digambarkan sebagai berikut : 65535 32767 Keterangan : Kalau 65535 ditambah 1, maka nilainya bukannya bertambah melainkan berubah menjadi 0 Kalau 0 dikurangi 1, maka nilainya bukannya menjadi -1 malah berubah menjadi 65535 Jadi : 0 + 1 = 1 1 + 1 = 2 , dan seterusnya 65534 + 1 = 65535 65535 + 1 = 0 65535 - 1 = 65534 65534 - 1 = 65533 dan seterusnya 2 -- 1 = 1 1 - 1 = 0 0 - 1 = 65535 32768 Ilustrasi perubahan nilai unsignedsigned integer 65535 + 1 = 0 0 - 1 = 65535 3 65533 2 1 65534 65535 50
Halaman 50 49
printf(“%li”, 25L); Contoh : Tercetak : 25 4.3.3.3. Mencetak Sebuah Data (Nilai) Konstanta Numeric Long Integer dengan format %li atau %ld pada program C Pada program C, data (nilai) numeric yang dicetak dengan format %li atau %ld, maka nilai tersebut diperlakukan sebagai nilai numerik dengan tipe signed long integer (long int atau signed long int atau long ) yang disimpan dalam 4 Byte, yang nilainya berkisar dari -21474836640 s.d. 2147483647 printf(“%li”, 25L); Tercetak : 25 Contoh : 51
Untuk nilai yang berkisar pada -32768 s.d 32767 Perhatikan. Untuk nilai yang berkisar pada -32768 s.d 32767 dibelakang nilai harus ditambahkan huruf : L, atau UL, atau LU, atau l atau ul, atau Ul, atau lU Dicetak dengan format %li atau %ld contoh : printf( “%li”, 25L); Akan tercetak data Keterangan 25L 25 0L 32767 32767L 32768 32769 25 xxxxxxxxxx 32767 32768 32769 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 51
contoh : printf( “%li”, -32768); Dicetak dengan format %li atau %ld contoh : printf( “%li”, -32768); Akan tercetak data Keterangan -32767 -32767L -32768 -32769 2147483647 2147483648 -2147483648 -2147483649 xxxxxxxxxx -32767 -32768 -32769 2147483647 -2147483648 2147483648 Tercetak nilai ‘sembarang’ karena tak pakai L Tercetak benar karena pakai L -32768 kebawah, boleh tak pakai L Batas tertinggi nilai signed long integer = 2147483647 dan batas terendah = -2147483648 51
contoh : printf( “%15li”,2147483647 ); Dicetak dengan format %15li atau %15ld contoh : printf( “%15li”,2147483647 ); Akan tercetak data Keterangan 2147483647 -2147483648 bbbbb2147483647 bbbb-2147483648 disiapkan 15 lokasi rata kanan b = blank atau spasi Dicetak dengan format %-15li atau %-15ld contoh : printf( “%-15li”,2147483647 ); Akan tercetak data Keterangan 2147483647 -2147483648 2147483647bbbbb -2147483648bbbb disiapkan 15 lokasi rata kiri b = blank atau spasi 51
printf(“%lu”, 25UL); Contoh : Tercetak : 25 4.3.3.4. Mencetak Sebuah Data (Nilai) Konstanta Numeric Unsigned Long Integer dengan format %lu pada program C Pada prgram C, data (nilai) numeric yang dicetak dengan format %lu, maka nilai tersebut diperlakukan sebagai nilai numerik dengan tipe unsigned long integer ( unsigned long int ) yang disimpan dalam 4 Byte (32 bit) , yang nilainya berkisar dari : 0 s.d. 4294967295 printf(“%lu”, 25UL); Tercetak : 25 Contoh : 52
Untuk nilai yang berkisar pada -32768 s.d 32767 Perhatikan. Untuk nilai yang berkisar pada -32768 s.d 32767 dibelakang nilai harus ditambahkan huruf : UL, atau LU, atau ul atau lu Ul, atau lU, L atau l Dicetak dengan format %lu contoh : printf( “%lu”, 25UL); Akan tercetak data Keterangan 25UL 25L 0L 25 25U 25u 32767 25 xxxxxxxxxx 32767 kebawah harus ditambah UL atau L bila tidak menggunakan UL atau l, maka akan tercetak nilai sembarang 52
Dicetak dengan format %lu contoh : printf( “%lu”, 32767L); Akan tercetak data Keterangan 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 232767L 32768 32769 -1UL -2UL 4294967295 4294967296lu 4294967297lu 32767 32768 32769 4294967295 4294967294 1 52
contoh : printf( “%15lu”, 4294967295); Dicetak dengan format %15lu contoh : printf( “%15lu”, 4294967295); Akan tercetak data 4294967295 bbbbb4294967295 Keterangan disiapkan 15 lokasi rata kanan b = blank atau spasi 52
4.3.3.5. Mencetak Data (Nilai) Numerik Floating Point ( float ) dengan format %f pada program C Pada prgram C, sebuah nilai yang dicetak dengan format %f, maka nilai tersebut diperlakukan sebagai nilai numerik floating point yaitu nilai numerik yang mengandung pecahan (decimal point) dengan tipe floating point (float ) single precisssion yang disimpan dalam 4 Byte (32 bit) , yang nilainya berkisar dari 3.4E-38 s.d. 3.4E38 baik positip maupun negatip. printf(“%f”, 25.0); Contoh : akan tercetak : 25.000000 53
contoh : printf( “%f”, 25.75); Dicetak dengan format %f contoh : printf( “%f”, 25.75); Akan tercetak data Keterangan 25 ‘A’ 25.0 0.25 0.0 0.1 0.000025 error 25.000000 0.250000 0.000000 0.100000 0.000025 Tidak mengandung decimal point standard pencetakan 6 digit decimal point 53
Akan tercetak data 0.123456789 25.123456789 25.123456 11223344556677.0 0.123457 25.123457 25.123456 11223344556677.000000 Keterangan untuk pencetakan standard Decimal point yang lebih dari 6 digit akan dilakukan pembulatan Akan tercetak data 45.7 45.6 45.700000 45.600000 Keterangan pada beberapa compiler C akan tercetak : 45.700001 dan : 45.599998 karena ketelitian mencetak berbeda 53
contoh : printf( “%10.2f”, 25.0); Dicetak dengan format %10.2f contoh : printf( “%10.2f”, 25.0); Akan tercetak data Keterangan 25.0 bbbbb25.00 Disiapkan 10 lokasi untuk tempat pencetakan,termasuk 2 decimal Dicetak dengan format %10.5f contoh : printf( “%10.5f”, 25.0); 25.75 1325.75 bb25.75000 1325.75000 Disiapkan 10 lokasi untuk tempat pencetakan,termasuk 5 decimal point, rata kanan. Tepat 10 lokasi Bila format kurang, maka jumlah lokasi disesuaikan dengan jumlah digit 53
data format Akan tercetak Keterangan 54 %10.1f %10.2f %10.8f %f 1325.75 1325.725 1325.726 1234567890123456.0 12345678901234567.0 123456789012345678.0 1234567890123456789.0 A. bbbb1325.8 bbb1325.72 bbb1325.73 1325.75000000 B. 1234567890123456.000000 12345678901234568.000000 123456789012345680.000000 1234567890123456770.000000 Keterangan A. Pembulatan pada decimal point B. format disesuaikan dengan jumlah digit 54
dengan : printf(“%e”, 25.0); 4.3.3.6 Mencetak Nilai Numerik Flaoting Point ( float ) dengan format %e pada program C Pada prgram C, sebuah nilai yang dicetak dengan format %e, atau %E maka nilai tersebut diperlakukan sebagai nilai numerik floating point yaitu nilai numerik yang mengandung pecahan (decimal point) dengan tipe floating point (float ) yang disimpan dalam 4 Byte (32 bit) , yang nilainya berkisar dari 3.4E-38 s.d. 3.4E38 baik positip maupun negatip dan akan dicetak dengan format notasi scientific atau bentu Exponentation. Contoh : dengan : printf(“%e”, 25.0); akan tercetak : 2.500000e+01 yang maksudnya 2.5 * 10^01 atau 2.5 * 10^1 ( tanda ^ menyatakan pangkat ) 54
54 format data Akan tercetak Keterangan dengan huruf E besar %e %E dengan huruf e kecil dengan huruf E besar default decimal point 6 digit decimal point maksimum tercetak 6 digit, lebih dari 6 digit dilakukan pembulatan Disiapkan 15 spasi tempat dengan 8 digit decimal point Maksimum Floating Point = 3.4E38 %e %E %15E %15.8E 123.4567 123.4 123.45673 123.45678 123.456775 123.4567e35 123.4567e50 1.234567e+02 1.234567E+02 1.234000E+02 1.2344568E+02 12345678901234567890 1.234568E+02 1.23456775E+02 1.234567E37 dicetak dalam double precission 54
4.3.3.7 Mencetak Nilai Numerik Floating Point Double Precission ( double ) dengan format %le atau %lE pada program C Pada prgram C, sebuah nilai yang dicetak dengan format %le, atau %lE maka nilai tersebut diperlakukan sebagai nilai numerik floating point yaitu nilai numerik yang mengandung pecahan (decimal point) dengan tipe double precission (double ) yang disimpan dalam 8 Byte (64 bit) , yang nilainya berkisar dari 1.7E-308 s.d. 1.7E308 baik positip maupun negatip dan akan dicetak dengan format notasi scientific atau bentuk Exponentation. Contoh : dengan : printf(“%le”, 25.0); akan tercetak : 2.500000e+01 55
55 format data Akan tercetak Keterangan %le %lE %15lE %15.8lE 123.4567 123.45673 123.45678 123.456775 123.4567e306 123.4567e310 1.234567e+02 1.234567E+02 1.2344568E+02 12345678901234567890 1.234568E+02 1.23456775E+02 1.234567E+308 error dengan huruf e kecil dengan huruf E besar decimal point maksimum tercetak 6 digit, lebih dari 6 digit dilakukan pembulatan Disiapkan 15 spasi tempat dengan 8 digit decimal point Double precission maksimum 1.7E308 maksimum 1.7E308 55
dengan: printf(“%Le”, 25.0); 4.3.3.8 Mencetak Nilai Numerik Floating Point Long Double dengan format %Le atau %LE pada program C Pada prgram C, sebuah nilai yang dicetak dengan format %Le, atau %LE maka nilai tersebut diperlakukan sebagai nilai numerik floating point yaitu nilai numerik yang mengandung pecahan (decimal point) dengan tipe Long double precission (long double ) yang disimpan dalam 10 Byte (80 bit) , yang nilainya berkisar dari 3.4E-4932 s.d. 3.4E4932 baik positip maupun negatip dan akan dicetak dengan format notasi scientific atau bentuk Exponentation. Contoh : dengan: printf(“%Le”, 25.0); akan tercetak : 2.500000e+01 Hasil cetakan sama dengan cetakan untuk double, hanya batas nilai yang berbeda yaitu dari 3.4E-4932 sampai dengan 3.4E4932 baik positip maupun negatip 55
Hexadecimal dengan format %X atau %x 4.3.3.9 Mencetak Konstanta Dengan Hasil Dalam Bentuk Hexadecimal dengan format %X atau %x pada program C Pada prgram C, sebuah nilai dapat dicetak dengan format %X atau %x sehingga hasil cetakannya tercetak dalam bentuk Hexadecimal. Contoh : printf(“%X”, 29); ---> tercetak : 1D printf(“%x”, 29); ---> Tercetak : 1d Penjelasan : Nilai yang dicetak kedalam bentuk Hexadecimal adalah nilai bit-bit yang tersimpan dalam 2 byte (16 bit). Bila nilai yang akan dicetak tersimpan dalam lebih dari 4 byte seperti long integer, maka hanya 2 byte paling kanan yang dicetak menjadi nilai Hexadecimal. Dari 2 byte ( 16 bit) akan tercetak 4 digit Hexadecimal, karena setiap 4 bit akan dicetak menjadi 1 digit Hexadecimal. Hanya saja nol (0) yang disebelah kiri (leading zero) tidak ikut dicetak. Misal 001D akan dicetak sebagai 1D Nilai 29 bila disimpan dalam signed integer, akan tersimpan dengan kombinasi bit-bit sebagai berikut : 56
Dari 2 byte ( 16 bit) akan tercetak 4 digit Hexadecimal, karena setiap 4 bit akan dicetak menjadi 1 digit Hexadecimal. Hanya saja nol (0) yang disebelah kiri (leading zero) tidak ikut dicetak. Misal 001D akan dicetak sebagai 1D Nilai 29 bila disimpan dalam signed integer, akan tersimpan dengan kombinasi bit-bit sebagai berikut : 0000 0000 0001 1101 29 = 16+8+4+1 Nilai diatas bila dikonversi kedalam bentuk Hexadecimal menjadi 0 0 1 D yang kalau dicetak hanya akan tercetak : 1 D Dicetak dengan huruf besar bila menggunakan format %X, dan dicetak dalam huruf kecil bila menggunakan format %x 55
Beberapa contoh hasil pencetakan dalam bentuk Hexadecimal dengan format %X data Tercetak : Keterangan %X 25 ‘A’ 32767 -32768 65535 65536 19 41 7FFF 8000 FFFF “A” tersimpan sebagai 0100 0001 32767 tersimpan sebagai : 0111 1111 1111 1111 -32768 tersimpan sebagai : 1000 0000 0000 0000 65535 tersimpan sebagai : 1111 1111 1111 1111 *) *) 65536 tersimpan sebagai long int 4 byte (32 bit) sebagai berikut : 0000 0000 0000 00001 0000 0000 0000 0000 dua byte terakhir nilai Hexanya = 0 0 0 0 yang tercetak sebagai 0 56
4.4 Mencetak Konstanta Pada Program C++ 4.4.1 Mencetak Konstanta Tanpa Format Pada Program C++ #include<iostream.h> void main() { cout << “Jakarta”; } Dalam program diatas, ada satu instruksi mencetak sebuah nilai atau konstanta string yaitu : cout << “Jakarta”; Instruksi cout membutuhkan file iostream.h untuk diinclude. Instruksi diatas akan mencetak perkataan Jakarta dilayar monitor. 57
cout << “Jakarta”; cout << “A”; cout << ‘A’; Yang tercetak di layar Instruski cetak Keterangan cout << “Jakarta”; cout << “A”; cout << ‘A’; cout << 123; cout << 123L; cout << 32768; cout << 65536; cout << -32768; cout << 2147438647 cout << 2147438648 cout << 4294967295 cout << 4294967296 Jakarta A 123 32768 65536 -32768 2147438647 2147438648 4294967295 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 57
cout << 123.456; cout << 123.4567; Yang tercetak di layar Instruski cetak Keterangan cout << 123.456; cout << 123.4567; cout << 123.456789; cout << 1234567.890 cout << 123E2 cout << 123.45E3 123.456 123.457 1.234567e+06 12300 123450 Fraction Lebih dari 6 digit dibulatkan keatas 57
#include<iostream.h> void main() { cout << 4725; } 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. 58
#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> 58
#include<iostream.h> #include<iomanip.h> void main() { 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() 58
4.4.2.3 Mencetak dengan menggunakan manipulator 1. Penggunaan manipulator endl. #include<iostream.h> void main() { cout << “ABC”; cout << “PQR”” } #include<iostream.h> void main() { cout << “ABC” << endl; cout << “PQR”; } Tercetak: ABCPQR Tercetak: ABC PQR cout << “ABC”; cout << endl << “PQR”; Turun satu baris sebelum mencetak PQR atau sebagai berikut : cout << “ABC” << endl << “PQR”; 60
2. Penggunaan manipulator ends, dec, hex, oct Instruksi Hasil yang tercetak cout << “ABC” << ends << “PQR”; cout << 29; cout << hex << 29; cout << hex; ABCPQR 29 1d = tanda karakter NULL 61
61 4.84 Hasil Cetakan Instruksi Keterangan cout << hex << 29 << endl; cout << 30 cout << dec << 30; cout << hex ‘A’ cout << oct << 29; 1d 1e 30 A 35 pengaruh cout << hex tetap ada sampai diganti dengan cout << dec atau cout << oct Hanya nilai integer yang dapat dicetak dalam bentuk Hexadecimal 29 = 3*8 + 5*1 61
2. Penggunaan manipulator setprecision( ) 4.85 Instruksi Hasil yang tercetak cout << 123.456 cout << 123.4567 cout << 123.45678 cout << setprecision(0) << 123.456789; cout << setprecision(1) << 123.456789; cout << setprecision(2) << 123.456789; cout << setprecision(3) << 123.456789; cout << setprecision(4) << 123.456789; cout << setprecision(5) << 123.456789; cout << setprecision(6) << 123.456789; cout << setprecision(7) << 123.456789; cout << setprecision(8) << 123.456789; cout << setprecision(9) << 123.456789; cout << setprecision(10) << 123.456789; cout << setprecision(11) << 123.456789; cout << setprecision(12) << 123.456789; 123.456 123.457 1e+02 123.5 123.46 123.4568 123.45679 123.456789 62
62 4.86 3. Penggunaan manipulator setprecision( ) dengan menggunakan format cetakan yang diatur dengan setiosflags(ios::fixed) 4.86 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 62
63 4.87 Instruksi cetak yang didahului oleh setiosflags(ios::fixed) cout << setprecision(0) << 123.456789; cout << setprecision(1) << 123.456789; cout << setprecision(2) << 123.456789; cout << setprecision(3) << 123.456789; cout << setprecision(4) << 123.456789; cout << setprecision(5) << 123.456789; cout << setprecision(6) << 123.456789; cout << setprecision(7) << 123.456789; cout << setprecision(8) << 123.456789; cout << setprecision(9) << 123.456789; cout << setprecision(10) << 123.456789; cout << setprecision(11) << 123.456789; cout << 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 63
65 4.88 4.6. Mengatur Posisi Cetakan di Layar 1 2 7 8 Seperti dijelaskan sebelumnya, bahwa layar monitor berukuran 25 x 80 karakter yang maksudnya layar monitor dapat menampilkan maksimum 25 baris kalimat, dimana masing-masing baris maksimum 80 karakter . Kursor dapat diletakkan pada sembarang baris dan kolom dilayar dengan instruksi gotoxy( ). Data yang dicetak, akan tercetak mulai dari tempat kursor berada Contoh : gotoxy(15,10); printf(“JAKARTA”); yang akan menempatkan kursor di kolom 15 (X=15), baris 10 (Y=10) sehingga perkataa “JAKARTA” akan tercetak diposisi yang dapat digambarkan sebagai berikut : 1 2 7 8 1234567890123456789012345------01234567890 X 1 2 - 9 10 11 12 24 25 JAKARTA Untuk maksud yang sama, bila ditulis dalam program C++, maka instruksinya : gotoxy(15,10); cout << “JAKARTA”; Y 65
4.7. Beberapa Contoh Mencetak Nilai Konstanta 1. printf(“%i”,125); printf(“%i”,437); printf(“%i”,18); 2. printf(“\n%i”,125); printf(“\n%i”,437); printf(“\n%i”,18); 12543718 Tercetak : Tercetak : 125 437 18 Tidak ada jarak antara nilai satu dengan nilai berikutnya Sebelum mencetak sebuah nilai turun dulu satu baris 66
3. 4. 125 437 18 ----------- 125 437 18 -------------- printf(“%i ”,125); printf(“%i ”,437); printf(“%i ”,18); printf(“ %i ”,125); printf(“ %i ”,437); printf(“ %i ”,18); Tercetak : 125 437 18 ----------- Tercetak : 125 437 18 -------------- Ada jarak satu spasi setiap sesudah mencetak sebuah nilai Ada jarak satu spasi setiap sebelum dan sesudah mencetak sebuah nilai 66
5. 6. printf(“%5i”,125); printf(“\n%5i ”,125); printf(“%5i”,437); Tercetak : 125 437 18 --------------- Tercetak : 125 437 18 ----- Setiap nilai diberi tempat sebanyak 5 lokasi, dan masing-masing menyesuaikan diri ke kanan (right justified). 66
7. 8. printf(“%5i\n”,125); printf(“\n%5i\n”,125); printf(“%5i\n”,437); Tercetak : 125 437 18 ----- Tercetak : 125 437 18 ----- Sesudah mencetak turun satu baris Sebelum dan sesudah mencetak turun satu baris 66
4.93 Untuk Sementara Bersambung Ke Bab 05 35