Upload
fazar-ikhwan-guntara
View
253
Download
4
Embed Size (px)
DESCRIPTION
source by : Sugeng Supriyadi S.Kom, M.Kom
Citation preview
Niklaus WirthEidgenossische Technische Hochschule
Zurich, Switzerland
RAM
ContohWINDOWS
MempunyaiProcessor contoh Intel Pentium
KOMPUTER
adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.
misal :Intel Pentium
PROCESSOR
MEMORY (internal Storage)
SCREENKEYBOARD
HARDDISK(external storage)
RAMmisal
kapasitas64 MB
Input device
Misalkapasitas10 GB
Outputdevice
Input & Outputdevice
misal :Intel Pentium
Data
OperatingSystem
OPERATINGSYSTEM
PROGRAM------------------------------------------------
data
PROCESSOR
MEMORY (internal Storage)
SCREENKEYBOARD
HARDDISK(external storage)
data data
Program
RAMmisal
kapasitas64 MB
Input device
Misalkapasitas10 GB
Outputdevice
Input & Outputdevice
memory
no: 0 1 2 3
No :64 * 1024 * 1024 - 1(Untuk memory 64 MB)
1 BYTE = 8 bit (binary digit)
X X X X X X X X
1 2 3 4 5 6 7 8
Bila memory dianggap sebagai sebidang tanah,maka 1 BYTE dapat dianggap sebagai 1 meter persegi
Satuan lain : WORD ( 4 Byte)HALF WORD ( 2 Byte)DOUBLE WORD ( 8 Byte)SECTOR (512 Byte)
BYTE adalah satuan memory (storage) terkecil yang masih bisa diberi alamat
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
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 Abila disimpan dalam satu BYTE memory
ON
OFF
1 BYTE = 8 bit (binary digit atau angka biner)
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 Ayang dinyatakan dengan ON dan OFF nya bit-bit sebagaiberikut :
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 x x x x x32 16 8 4 2 1
Bilangan DecimalBasis (Radix) = 10,karena mengenal 10 notasi atau simbol yaitu : 0, 1, 2, 3, . . . 9
x x x x 1000 100 10 1
Binary digit (angka biner)
01
1 01 1
1 0 01 0 11 1 01 1 1
1 0 0 01 0 0 1
= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9
Nilai yang terkandung dalam sebuah BYTESetiap 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 1 0 1 0 1
32 16 4 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
Sehingga karakter A, atau huruf Ayang disimpan dalam satu BYTE memory akan bernilai = 65karena bit yang ON bernilai 64 dan 1.
Yang dinyatakan dengan angka biner (binary digit)menjadi :
0 1 0 0 0 0 0 1128 64 32 16 8 4 2 1
128 64 32 16 8 4 2 1
A
B
C
D
E
HURUFatauKARAKTER : = 65
= 66
= 67
= 68
= 69
KOMPUTER
adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.
Operating Systemadalah software yang dibuat untukmengendalikan bekerjanya komputer.
Semua pekerjaan didalam komputer dikendalikan (di-control) oleh Operating System
Beberapa Contoh Operating System :
DOSWINDOWSWINDOWS NTUNIXLINUXXENIXMACINTOSHSUN SOLARIS
KOMPUTER
adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storagebekerja dengan bantuan Operating Systemmenurut program yang diberikan kepadanya.
= Langkah-langkah dalam Alagoritma
Instruksi-instruksiharus tersusunsecara logis
MemerlukanLOGIKAyang benar
PROGRAM adalah kumpulan instruksi-instruksiyang diberikan kepada komputer untuk menyelesaikan suatu tugas
PROGRAMditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language)
Contoh BahasaPemrograman :
COBOLFORTRANPascalBASICCJavadan sebagainya
Bahaca C ini yang kitagunakan untukmenerapkan Algoritmadi komputer
Tipe Data.
Tipe data dasar (primitif) yang digunakan oleh Bahasa C.
char atau signed char
unsigned char
SebutanTipe Data
Bentuk penulisandalam Bahasa C
Jumlah Byteyang
diperlukanJangkauan nilai
numerik
-128 s.d. 127
0 s.d. 255
1. Character
2. Integer
3. Floating point (single precision)
4. Double precision
int atau signed int atau signed
unsigned int atau unsigned
long atau long int atau signed long atau signed long int
unsigned long atau
float
double
long double
4
8
10
2
4
4
2
1
1
-32768 s.d. 32767
0 s.d. 65535
-2147483648 s.d. 2147483647
0 s.d. 4294967295
3.4E-4932 s.d 1.1E4932positip atau negatip
1.7E-308 s.d. 1.7E308positip atau negatip
3.4E-38 s.d. 3.4E38positip atau negatip
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
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 uotation mark)
\\ Untuk menempilkan garis miring terbalik (back slash)
Beberapa contoh karakter ASCIIKode ASCII
Kombinasibit
Menyatakan Karakter
000102.484950...6566...9798...127128
0000 00000000 00010000 0010.0011 00000011 00010011 0010...0100 00010100 0010...0110 00010110 0010...0111 11111000 0000
NULL
012...AB...ab...�Ç
Kode ASCII
Kombinasibit
Menyatakan Karakter
128129..160161..171172..192193..224225..254255
1000 00001000 0001..1010 00001010 0001..1010 10111010 1100..1100 00001100 0001..1110 00001110 0001..1111 11101111 1111
Çü..áí..½¼..+-.._ß..__
32333435363738394041424344454647
Spasi!“#$%&‘()*+,-./
48495051525354555657585960616263
0123456789::<=>?
KodeASCII
CharKodeASCII Char
64
656667686970717273747576777879
@
ABCDEFGHIJKLMNO
8081828384858687888990
9192939495
PQRSTUVWXYZ
[\]^_
96
979899100101102103104105106107108109110111
`
abcdefghijklmno
112113114115116117118119120121122
123124125126127
pqrstuvwxyz
{|}~�
656667686970717273747576777879
ABCDEFGHIJKLMNO
8081828384858687888990
PQRSTUVWXYZ
979899100101102103104105106107108109110111
abcdefghijklmno
112113114115116117118119120121122
pqrstuvwxyz
Keterangan untuk Nilai Numeric Integer:
int atau signed int
xxxx xxxx xxxx xxxx
Sign: 0 = positip 1 = negatip
2 BYTE( 16 bit)
Jangkauan nilai : -32768 s.d. 32767
-32768 0 32767
Nilai negatip disimpan dalam bentuktwo’s complement
Tipe data : integerint atau signed int 2 BYTE
( 16 bit)
0000 0000 0000 0000 = 00000 0000 0000 0001 = 10000 0000 0000 0010 = 20000 0000 0000 0011 = 3
0111 1111 1111 1111 = 327671000 0000 0000 0000 = -327681000 0000 0000 0001 = -32767
1111 1111 1111 1110 = -21111 1111 1111 1111 = -1
32767-32768
01
-3-2
-12
3
32766-32767
tipeint
32767 bila ditambah 1akan menjadi -32768
-32768 bila dikurangi 1akan menjadi
32767
1 000 0000 0000 0000 = -32768
Sign negatip Nilai :
one’s complement :ditambah 1two’s complement :
1 000 0000 0000 0000 0 111 1111 1111 1111 1 + 1 000 0000 0000 0000
bit ini nilainya = 32768
Nilai :one’s complement :ditambah 1two’s complement :
1111 1111 1111 1111 0000 0000 0000 0000 1 + 0000 0000 0000 0001
bit ininilainya = 1
1 111 1111 1111 1111 = -1
Pengertian One’s complement (1’s compl.)dan Two’s complement (2’s compl.).
2’s = 1’s + 1
011
nilai :
1’s compl : +
101
nilai :
1’s compl : +
1’s compl. maksudnya supaya lengkap menjadi satu sehingga 0 pelengkapnya = 1, dan 1 pelengkapnya = 0
Sedangkan 2’s compl. = 1’s compl. ditambah satu
Soal : Berapa nilai yang tersimpan dalam 2 Bytebilangan 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 :
0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 128 64 32 16 8 4 2 1
Bit-bit yang ON nilainya : = 128 + 8 + 2 + 1 =139
Sehingga nilai yang terkandung dalam 2 Byte integerdiatas adalah : 139
Soal : Berapa nilai yang tersimpan dalam 2 Bytebilangan integer berikut ini.
1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1
Bit paling kiri nilainya = 1, berarti nilai yang terkandung bernilai negatip. Nilai negatip disimpan dalam bentuk two’s complement
Jawab :
1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1Bit yang tersimpan :
One’s complement :
Two’s complement :
0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 10 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.
Soal : Simpan nilai 39 dalam 2 BYTE integer.
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 :
0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1
32 4 2 1
Soal : Simpan nilai -39 dalam 2 BYTE integer.
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 :
0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1
32 4 2 1
39 =
1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 01’s =1
1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 12’s= - 39 =
Soal : Apa yang tercetak oleh instruksi berikut ini :
Jawab :
printf(“%i”, 50000);
Susun nilai-nilai angka biner yang totalnya cukupuntuk 50000
32768
16384
8192
4096
2048
1024
512
258
128
643216
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
10 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0
8 4 2 1
32768
16384
8192
4096
2048
1024
512
258
128
643216
1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1’s =
ditambah 12’s =
0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 10 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0
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
8 4 2 1
Soal : Apa yang tercetak oleh instruksi berikut ini :
Jawab :
printf(“%i”, 100000);
Susun nilai-nilai angka biner yang totalnya cukupuntuk 100000
65536
32768
16384
8192
4096
2048
1024
512
258
128
643216
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
Ternyata bit yang paling kiri nilainya = 1, jadi nilainya negatip
1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0
Karena dicetak dengan format %i, yang berarti nilai inteher2 Byte, maka yang diambil hanya 16 bit dari kanan, yaitu :
8 4 2 1
32768
16384
8192
4096
2048
1024
512
258
128
643216
1’s =ditambah 1
2’s =
0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 10 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0
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
1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0
8 4 2 1
Berapa nilai yang tersimpan dalam 2 Bytebilangan integer berikut ini.
1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1
Latihan di Kelas
0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0a.
b.
1.
Gambarkan representasi bit-bit bila bilangan berikut ini disimpan dalam 2 Byte integer.
2.
a. 325b. -293
Apa yang tercetak oleh instruksi berikut ini :
a.b.
3.printf(“%i”, 40000);printf(“%i”,-40000);
Berapa nilai yang tersimpan dalam 2 Bytebilangan integer berikut ini.
1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 1
Pekerjaan Rumah.
0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0a.
b.
1.
Gambarkan representasi bit-bit bila bilangan berikut ini disimpan dalam 2 Byte integer.
2.
a. 317b. -333
Apa yang tercetak oleh instruksi berikut ini :3.
a. printf(“%i”, 35000);b. printf(“%i”,-35000);
4.4.1 Mencetak Konstanta Tanpa Format Pada Program C++
4.4 Mencetak Konstanta 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.
Instruski cetakYang tercetak di layar
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
A
123
123
32768
65536
-32768
2147438647
2147438648
4294967295
0
Keterangan
Batas maksimum nilai Signed Long intMelampaui 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
Instruski cetakYang tercetak di layar
cout << 123.456;
cout << 123.4567;
cout << 123.456789;
cout << 1234567.890
cout << 123E2
cout << 123.45E3
123.456
123.457
123.457
1.234567e+06
12300
123450
Keterangan
FractionLebih dari 6 digit dibulatkan keatas
Lebih dari 6 digit
4.4.2 Mencetak Konstanta Dengan Format Pada Program C++
#include<iostream.h>void main(){ cout << 4725;}
123456789012345Tercetak: 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;}
123456789012345Tercetak: 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 ;}
123456789012345Tercetak : 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
#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”;
cout << “ABC” << endl << “PQR”;
Turun satu baris sebelum mencetak PQR
atau sebagai berikut :
1. Penggunaan manipulator endl.
2. Penggunaan manipulator ends, dec, hex, oct
Instruksi Hasil yang tercetak
cout << “ABC” << ends << “PQR”;
cout << 29;
cout << hex << 29;
cout << hex; cout << 29;
ABCPQR
29
1d
1d
= tanda karakter NULL
Instruksi
cout << hex << 29 << endl;cout << 30
cout << hex << 29 << endl;cout << dec << 30;
cout << hex ‘A’
cout << oct << 29;
1d1e
1d30
A
35
pengaruh cout << hextetap ada sampai diganti dengan cout << dec atau cout << oct
Hanya nilai integer yang dapat dicetak dalam bentuk Hexadecimal
29 = 3*8 + 5*1
Hasil Cetakan Keterangan
2. Penggunaan manipulator setprecision( )
Instruksi Hasil yang tercetak
cout << 123.456cout << 123.4567cout << 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.456123.457123.457
1e+021e+021e+021e+02123.5123.46123.457123.4568123.45679123.456789123.456789123.456789123.456789
3. Penggunaan manipulator setprecision( ) dengan menggunakan format cetakan yang diatur dengan setiosflags(ios::fixed)
Contoh :a.. Mencetak tanpa diformat dengan setiosflag(ios::fixed)
b. Mencetak dengan diformat dengan setiosflag(ios::fixed)
#include<iostream.h>#include<iomanip.h>void main(){ cout << setprecision(12) << 123.456789;}
Tercetak: 123.456789
#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 << 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;
123123.5123.46123.457123.4568123.45679123.456789123.4567890123.45678900123.456789000123.4567890000123.45678900000123.456789000000