Minggu, 27 November 2011

Reserved Word dan Library dalam Bahasa C

Struktur utama bahasa C

main()
{
statement;
statement;
statement;
}

Reserved word
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
sturct
switch
typedef
union
unsigned
void
volatile
while

Library functions

 syntax:  

#include < standart header file >
 

di dalam standart header file terdapat kumpulan perintah (library function) yang memiliki fungsi masing-masing. Apabila akan menjalankan perintah tersebut, kita harus menambahkan
#include < standart header file > di bagian atas agar perintah tersebut dikenali dan dijalankan.
contoh:
#include < stdio.h >
digunakan untuk fungsi standard input output
clearr()
fccloseall()
fdopen()
fflush()
fgetc()
fgetchar()
fgetpos()
fgets()
flushall()
fputc()
fputchar()
fputs()
fread()
free()
freopen()
fseek()
fsetpos()
ftell()
fwrite()
getw()
perror()
putw()
rename()
rewind()
unlink()
printf()
scanf()
gets()
puts()
fprinf()
fscan()
fclose()
fopen()

#include < math.h >
digunakan untuk fungsi matematika
abs()
acosh()
asin()
atan()
atan2()
atof()
cosh()
fmod()
labs()
ldexp()
sinh()
tanh()
sin()
cos()
tan()
fabs()
ceil()
floor()
pow()
sqrt()
exp()
log()
log10()

#include < stdlib.h >
digunakan untuk fungsi standard library
abs()
atof()
atoi()
atol()
div()
exit()
free()
ldiv()
malloc()
rand()
system()

#include < string.h >
digunakan untuk fungsi string
strcpy()
strcat()
strchr()
strcmp()
strlen()
 
#include < ctype.h >
digunakan untuk fungsi character type
stlower()
toupper()

#include < conio.h >
digunakan untuk fungsi console input/output
clrscr()
getch()
getche()
gotoxy()
khbit()
putch()

#include < io.h >
digunakan untuk fungsi input/output
access()
_close()
close()
_creat()
eof()
filelength()
_ope()
open()
_read()
read()
_write()
write()

Minggu, 20 November 2011

Solusi Sistem Persamaan Linier


Solusi Sistem Persamaan liner

Persamaan linier adalah persamaan yang semua variabelnya berpangkat 1
Contoh:
x + y + 2z = 9
Ruang solusinya berupa suatu “tripel” dengan masing-masing nilai sesuai urutan (nilai-x, nilai-y, nilai-z) yang memenuhi persamaan tersebut.
Untuk sistem ini ruang solusinya
{ … ( 0, 1, 4), (1, 0, 4), (4, 5, 0), …. }

Sistem Persamaan Linier adalah suatu sistem dengan beberapa (2 atau lebih) persamaan linier.
Contoh:
x + y = 3
3x – 5y = 1
Ruang Solusinya berupa semua ordered-pair (nilai-x, nilai-y) yang harus memenuhi semua persamaan linier dalam sistem tersebut.
Untuk sistem ini ruang solusinya
{ (2, 1) }

Cara Mencari Solusi Sistem Persamaan Linier

a.Eliminasi

x+y=3->3x+3y=9
3x-5y=1->3x-5y=1
________________________-
8y=8
y=1
3x-5y=1
3x-5 . 1=1
3x=6
x=2


b.Substitusi



x+y=3 atau y = 3 - x,y disubtitusi
3x-5y=1
____________
3x-5y=1
3x-5( 3 - x )=1


3x-15+5x
8x=16
x=2
y=3-x
y=1

Untuk cara Eliminasi Gauss dan Gauss Jordan diperlukan
Matriks Augmented

Matriks Augmented adalah matriks yang diperbesar
Matriks yang entri-entrinya dibentuk dari koefisien-koefisien Sistem Persamaan Linier, ditambah kolom di kanan tanda “=“
Contoh :
x + y + 2z = 9
2x + 4y – 3z = 1
3x + 6y – 5z = 0

Matriks Augmented-nya :

112
9
24-31
36-50

c.Eliminasi Gauss

x + y + 2z = 9
2x + 4y – 3z = 1
3x + 6y – 5z = 0

112
9
24-31
36-50

diusahakan bentuk

112
9
0???
00??

menggunakan (Operasi Baris Elementer - OBE) atau (Elementary Row Operation - ERO)

Caranya:
Perhatikan bahwa tiap baris dari matriks merepresentasikan persamaan linier
1.Mengalikan suatu baris dengan bilangan nyata k tidak sama dengan 0
2.Menukar posisi dua baris
3.Menambah baris-i dengan k dikalikan baris-j

112
9
24-31
36-50

112
9
02-7-17barisII + -2 x baris I
03-11-27barisIII + -3 x barisI

112
9
02-7-17
00-1/2-3/2baris III + 3/2 x baris II

-1/2 z = -3/2
z = 3

2y – 7z = - 17
2y - 7.3= - 17
2y = 21 – 17
y = 2

x + y + 2z = 9
x + 2 + 2.3= 9
x = – 2 – 6 + 9
x = 1

d.Eliminasi Gauss – Jordan
 
x + y + 2z = 9
2x + 4y – 3z = 1
3x + 6y – 5z = 0
112
9
24-31
36-50

diusahakan bentuk menggunakan (Operasi Baris Elementer - OBE) atau (Elementary Row Operation - ERO)
100
?
010?
001?

Bentuk eselon baris:
1.Entri-entri dalam sebuah baris tidak semuanya nol, maka entri pertama yang tidak nol harus 1 (disebut 1-utama / leading-1)
2.Baris-baris yang semua entrinya 0, dikelompokkan di bagian bawah matriks
3.Posisi 1-utama dari baris yang lebih bawah harus lebih ke kanan d/p 1-utama baris yang lebih atas

Bentuk eselon baris tereduksi:

1.Entri-entri dalam sebuah baris tidak semuanya nol, maka entri pertama yang tidak nol harus 1 (disebut 1-utama / leading-1)
2.Baris-baris yang semua entrinya 0, dikelompokkan di bagian bawah matriks
3.Posisi 1-utama dari baris yang lebih bawah harus lebih ke kanan d/p 1-utama baris yang lebih atas
4.Semua entri (yang lain) dari kolom yang berisi 1-utama harus di-0-kan
112
9
24-31
36-50

112
9
02-7-17barisII + -2 x baris I
03-11-27barisIII + -3 x barisI

112
9
02-7-17
00-1/2-3/2baris III + 3/2 x baris II

112
9
01-7/2-17/2barisII x 1/2
0013baris III x -2

110
3
barisI - 2 x barisIII
0102barisII - 7/2 x barisIII
0013baris III x -2

100
1
barisI - barisII
0102barisII - 7/2 x barisIII
0013baris III x -2
x=1
y=2
z=3

Minggu, 13 November 2011

Komplemen r dan komplemen r-1

Pengurangan suatu bilangan dapat dilakukan dengan cara
menambahkan komplemen r atau komplemen r-1nya.

Untuk lebih jelasnya, perhatikan contoh di bawah ini!

205,76 - 99,85 =

* Pengurangan biasa
2 05,76
99,85
__________-
1 05 ,91

* Menggunakan komplemen r-1
Bilangan yang akan dikurangkan (99,85) diubah ke dalam komplemen r-1nya.
Dalam soal ini menggunakan basis 10, sehingga komplemen r-1nya adalah komplemen 9.

Tabel komplemen 9
DesimalKomplemen 9
09
18
27
36
45

Dari tabel di atas terlihat bahwa komplemen 9 adalah
2 angka yang apabila dijumlah akan menghasilkan angka 9.
Hal ini juga berlaku sebalikya.

205,76
900,14Komplemen 9
__________+
1105,90
1Jika angka paling depan adalah 1, pindahkan ke paling belakang
__________+
105,91

* Menggunakan komplemen r
Bilangan yang akan dikurangkan (99,85) diubah dalam komplemen r nya.
Dalam soal ini komplemen r nya adalah komplemen 10.

Komplemen r dapat diperoleh dari komplemen r-1 yang bagian paling kanannya ditambahkan dengan 1
sehingga diperoleh komplemen r dari 99,85 adalah 900,14 + 0,01 = 900,15

205,76
900,15Komplemen 10
__________+
1105,91Jika angka yang paling depan adalah 1, hilangkanlah 1 tersebut
105,91

Contoh lain

1234-4321=

* Pengurangan biasa
1234
4321
_________-
-3087

* Menggunakan komplemen r-1
1234
5678komplemen 9
_________+
06912
Jika angka paling depan adalah 0, tulislah - komplemen 9 nya
-3087- komplemen 9

* Menggunakan komplemen r

1234
5679komplemen 10
_________+
06913
Jika angka paling depan adalah 0, tulislah - komplemen 10 nya
-3087- komplemen 10
NB: Untuk mencari komplemen r, hanya angka yang paling belakang yang di-komplemen r kan, selain itu, tetap menggunakan komplemen r-1.


Jumat, 04 November 2011

Pengkodean Lainnya

Pengkodean lainnya
BCD (Binary Coded Decimal)

Pengkodean satu digit desimal kedalam 4-bit biner.
Tapi nilai maksimalnya hanya sampai 9 (1001)2.
Contohnya: (123)10 BCDnya (0001 0010 0011)BCD

8421

Biner 4-bit yang nilainya diperoleh dengan cara
mengalikan digit pertama dengan 8,
digit kedua dengan 4,
digit ketiga dengan 2,
dan digit ke kempat dengan 1
(sesuai posisinya)

84-2-1

Biner 4-bit yang nilainya diperoleh dengan cara
mengalikan digit pertama dengan 8,
digit kedua dengan 4,
digit ketiga dengan -2,
dan digit ke kempat dengan -1
(sesuai posisinya)

2421

Biner 4-bit yang nilainya diperoleh dengan cara
mengalikan digit pertama dengan 2,
digit kedua dengan 4,
digit ketiga dengan 2,
dan digit ke kempat dengan 1
(sesuai posisinya)

Excess-3

Kode BCD ditambah 3 (0011)2
Contoh Excess-3 dari (123)10
= (0001 + 0011) (0010 + 0011) +(0011 + 0011)
= (0100 0101 0110)Excess3

Kode Gray

Cara mengubah biner ke gray:

Digit gray pertama sama dengan digit biner.
Digit pertama ditambahkan digit kedua,
digit kedua ditambah digit ketiga, dst.
Apabila yang ditambahkan adalah digit yang sama,
(1+1 atau 0+0) maka hasilnya adalah 0,
Apabila digitnya berbeda (0+1 atau 1+0) hasilnya 1.

Misalkan ada kode biner 100110



Cara mengubah gray ke biner:

Digit pertama biner sama dengan digit pertama gray.
Apabila digit gray dibelakangnya adalah 0,
maka angka yang ditulis sama dengan angka sebelumnya.
Apabila digit gray dibelakangnya adalah 1,
tulislah kebalikan dari digit sebelumnya.

Misalkan ada kode gray 110101:




Tabel Konversi

DesimalBCD84212421Excess-384-2-1Gray Code
0000000000000001100000000
1000100010001010001110001
2001000100010010101100011
3001100110011011001010010
4010001000100011101000110
5010101011011100010110111
6011001101100100110100101
7011101111101101010010100
8100010001110101110001100
9100110011111110011111101

ASCII (American Standard Code for Information Interchange)

7-bit biner, tapi biasanya dimanipulasi oleh komputer menjadi
8 bit sehingga disebit byte. 1 bit tambahan tadi digunakan
untuk tujuan tertentu, tergantung dari aplikasi yang digunakan.
Setiap 1 byte menyimpan 1 karakter.
Contoh ASCII A = 1000001
dengan paritas genap menjadi 01000001,
dengan paritas ganjil menjadi 11000001

Kode Hamming (deteksi dan koreksi kesalahan)

PosisiP4P2P1
0000
1001
2010
3011
4100
5101
6110
7111

Apabila ada data 1001. Berapakah kode hamming paritas genapnya?

Data:
1001
d3d2d1d0

__1_001
P1P2d3P4d2d1 d0
1234567

P1 bertanggung jawab pada posisi 1, 3, 5,7
P2 bertanggung jawab pada posisi 2, 3, 6,7
P3 bertanggung jawab pada posisi 4, 5, 6,7

P1 = P1 + 1 + 0 + 1 = genap -> P1 = 0
P2 = P2 + 1 + 0 + 1 = genap -> P2 = 0
P4 = P1 + 0 + 0 + 1 = ganjil -> P4 = 1

Maka kode hammingnya 0011001

Misalkan ada kode hamming 1100110 dengan paritas ganjil.
Berapakah datanya?

1 1 0 0 1 1 0
P1 P2 d3 P4 d2 d1 d0

P1 = 1 + 0 + 1 + 0 = genap -> salah
P2 = 1 + 0 + 1 + 0 = genap -> salah
P4 = 0 + 1 + 1 + 0 = genap -> salah

Kesalahan pada no 7 sehingga kode hammingnya 1100111

Datanya 0111 (7)10