"[WELLCOME]"."[bhernandz.blogspot.com]"

Minggu, 29 April 2012

Bilangan (Desimal, Biner, Hexa, Octal)


Bilangan adalah lawan dari alphabet atau karakter spesial, bilangan dapat diberikan operasi aritmatika seperti perkalian, pembagian, penjumlahan, dan pengurangan juga konversi ke jenis bilangan lainnya.
dalam dunia komputer dan digital bilangan dapat dibagi menjadi empat, yaitu:
  1. bilangan desimal
  2. bilangan biner
  3. bilangan hexa
  4. bilangan octal

1. bilangan desimal

Tabel Konversi
Tabel Konversi

bilangan desimal adalah bilangan berbasis 10 terdiri dari kombinasi angka 0 s.d. 9, bilangan ini paling umum dijumpai dan dijadikan sebagai bilangan yang umum digunakan pada software yang berinteraksi langsung dengan manusia.
aritmatika bilangan desimal
a. penjumlahan
penjumlahan bilangan desimal tentunya sudah kita semua kenal (karena sejak SD sudah diajarin )
misalnya:
123
356
_____ +
479
sy rasa sudah jelas jadi tidak perlu dijelaskan panjang lebar, heeee
b. pengurangan
479
123
____ +
356

c. perkalian
25
10
___ x
00
25
______ +
250
konversi bilangan desimal
a. konversi desimal ke biner
misalnya 98 desimal akan diubah ke biner:
98/2 = 49, sisa 0 (akhir)
49/2 = 24, sisa 1
24/2 = 16, sisa 0

12/2 = 6, sisa 0
6/2 =3, sisa 0
3/2 =1, sisa 1
1/2=0, sisa 1 (awal)
sisa dituliskan dari bawah menjadi: 9810 = 11000102

contoh lainnya yaitu 98,375 desimal akan diubah menjadi biner:

98/2 = 49, sisa 0
49/2 = 24, sisa 1
24/2 = 16, sisa 0

12/2 = 6, sisa 0
6/2 =3, sisa 0
3/2 =1, sisa 1
1/2=0, sisa 1
0,375 x 2=0,75, angka disebelah kiri koma adalah 0
0,75 x 2=1,5, angka disebelah kiri koma adalah 1
0,5 x 2=1,0 angka disebelah kiri koma adalah 1
jadi 98,37510=1100010,0112
b. konversi desimal ke octal (basis 8 )
proses konversi sama dengan konversi ke biner hanya saja pembaginya adalah 8, misalnya 1368 desimal:
1368/8 = 171, sisa 0 (akhir)
171/8 = 21, sisa 3
21/8 = 2, sisa 5
2/8 = 0, sisa 2 (awal)
jadi 136810 = 25308
contoh lainnya yaitu 1368,25 desimal:
1368/8 = 171, sisa 0
171/8 = 21, sisa 3
21/8 = 2, sisa 5
2/8 = 0, sisa 2
0,25 x 8 = 2,0, bilangan disebelah kiri koma adalah 2
jadi 1368,2510 = 2530,28
c. konversi desimal ke hexa (basis 16)
proses ini sama saja dengan proses sebelumnya namun bilangan pembagi atau pengali adalah 16,misalnya 19006 desimal:
19006/16 = 1187, sisa 14 = E (akhir)
1187/16 = 74, sisa 3
74/16 = 4, sisa 10 = A
4/16 = 0, sisa 4 (awal)
jadi 1900610 = 4A3E16
2. Bilangan Biner
bilangan biner adalah bilangan dengan basis 2, mempunyai simbol angka (numerik) sebanyak 2 buah simbol, yaitu 0 dan 1. Bilangan biner ini dapat pula dikatakan sebagai bilangan mesin (bahasa mesin), karena dalam dunia komputer dan digital bilangan biner ini dapat direpresentasikan sebagai saklar transistor on atau off.
aritmatika bilangan biner
a. penjumlahan
penjumlahan bilangan biner tentu saja berbeda dengan penjumlahan bilangan desimal sebelumnya, ada beberapa aturan dalam penjumlahan bilangan biner, yaitu:
  1. 0 + 0 = 0
  2. 0 +1 = 1 + 0 = 1
  3. 1 + 1 = 10 (1 akan berupa carry bila penjumlahan belum selesai)
  4. 1 + 1 +1 = 11 (1 akan berupa carry bila penjumlahan belum selesai)
misalnya:
contoh lainnya:
b. pengurangan
dalam bilangan biner ada dua cara dalam pengurangan yaitu dengan 1s complement atau 2s complement, perbedaan antara keduanya yaitu:
1s complement adalah suatu cara untuk membalikkan bilangan negatif menjadi positif (karena sebetulnya dalam bahasa komputer tidak dikenali pengurangan) sehingga pengurangan ini menjadi penjumlahan. 1s complement dari suatu bilangan dilakukan dengan mengubah 0 menjadi 1 dan 1 menjadi 0, misalnya:
2s complement kurang lebih memiliki fungsi yang sama dengan 1s complement yaitu membuat suatu bilangan negatif menjadi positif, namun cara 2s complement agak sedikit berbeda yaitu 1s complement yang ditambah dengan 1, misalnya:
kemudian:
jadi 2s complement dari 10001 adalah 01111 dan 1s complement-nya adalah 01110.
sekarang mari kita beralih ke aplikasi 1s complement dan 2s complement dalam pengurangan bilangan biner.
contoh 1:
dengan 2s complement hitunglah (101012-100012) dan (100012-101012).
1. bilangan pengurang yaitu 10001 diubah ke 2s complement-nya yaitu 01111, kemudian layaknya seperti penjumlahan biner:
perhatikan angka 1 yang diberi warna merah itu adalah carrier (sisa simpanan akhir) dengan metode 2s complement bila ditemukan hal seperti itu maka hasil pengurangan pada contoh diatas adalah 100
2. bilangan pengurang yaitu 10101 diubah ke 2s complement-nya yaitu 01011, kemudian layaknya seperti penjumlahan biner:
perhatikan angka 0 yang diberi warna merah dengan metode 2s complement bila ditemukan hal seperti itu (tidak ada carrier) maka hasil pengurangan pada contoh diatas maka 11100 di 2s complement-kan menjadi 00100, jadi hasil akhir dari contoh soal kedua ini adalah -100.
contoh 2:
dengan 1s complement hitunglah (101012-100012) dan (100012-101012).
1. bilangan pengurang yaitu 10001 diubah ke 1s complement-nya yaitu 01110, kemudian layaknya seperti penjumlahan biner:
perhatikan angka 1 yang diberi warna merah itu adalah carrier (sisa simpanan akhir) dengan metode 1s complement bila ditemukan hal seperti itu maka carrier tersebut (angka 1) dijumlahkan kembali sehingga hasil akhirnya adalah 00100 atau 100.
2. bilangan pengurang yaitu 10101 diubah ke 1s complement-nya yaitu 01010, kemudian layaknya seperti penjumlahan biner:
perhatikan angka 0 yang diberi warna merah dengan metode 1s complement bila ditemukan hal seperti itu (tidak ada carrier) maka hasil pengurangan pada contoh diatas maka 11011 di 1s complement-kan menjadi 00100, jadi hasil akhir dari contoh soal kedua ini adalah -100.
konversi bilangan biner
a. konversi biner ke desimal
caranya dengan menjumlahan hasil hasil perkalian setiap digit pada biner (0 atau 1) dengan bilangan pangkat 2, pangkat 2 ini ditentukan oleh posisi bilangan. Agar lebih jelas langsung saja ke contoh berikut:
kemudian contoh berikut untuk bilangan biner yang berkoma:
b. konversi biner ke octal
konversi ini dilakukan dengan membagi setiap 3 digit bilangan biner dimulai dari LSB / Least Significant Bit (bit paling belakang) kemudian diubah ke desimal, bila ada digit yang tidak berjumlah 3 digit maka ditambahkan 0 pada MSB / Most Significant Bit (bit paling depan), misalnya:
contoh lainnya:
c. konversi biner ke hexadecimal

konversi biner ke hexa, caranya sama dengan ke octal hanya saja bilangan biner tersebut dibagi menjadi 4 digit. Contoh:
contoh lain:
3. Bilangan Hexadecimal
bilangan hexadecimal atau basis 16 merupakan bilangan yg sering ditemui dalam dunia komputer dan digital, karena bilangan ini merupakan standar ASCII yang digunakan untuk karakter2 dalam komputer, selain itu bilangan hexa juga digunakan untuk perhitungan IPv6.
aritmatika bilangan hexa
a. penjumlahan
penjumlahan pada bilangan hexa, menurut sy, ibarat 2 kali kerja karena selain menjumlahkan harus dikonversi juga (bila ada yg menemukan cara yg lebih baik silakan dibagi disini ).
Misalnya:
516 + 216 = 716
ini adalah salah satu contoh simpel dari penjumlahan hexa, karena tidak diperlukan konversi
contoh lain:
  • 816 + 216 = A16 (10 desimal)
  • A16 + B16 = 2110 = 1516
berikut contoh lain yg agak rumit:
contoh diatas merupakan contoh penjumlahan hexa 2 digit, tanpa carrier.
contoh diatas merupakan contoh penjumlahan hexa 2 digit, dengan carrier.
contoh diatas merupakan contoh penjumlahan hexa 3 digit, tanpa carrier.
contoh diatas merupakan contoh penjumlahan hexa 3 digit, dengan carrier.
b. pengurangan
udah lama g sy update he he, akhir-akhir ini sibuk sama dunia kerja yang baru sebulan sy lakoni  , udah dulu akh curcolnya he he, kembali ke laptop.
pengurangan hexa sebetulnya belum pernah sy aplikasikan tapi secara teoritis sy mencoba berbagi disini (kalu ada cara yg lebih baik silakan bagi disini )
sy contohkan dari penjumlahan diatas:
  • A16 – 216 = 816 —–>> 1016 = 10 desimal
  • 1516 – B16 = A16 ——>> 1516 = 21 desimal, B16 = 11 desimal
contoh berikutnya:


sumber : http://desylvia.wordpress.com 
Read more »

Timer / Counter AT89S51


Mikrokontroler AT89S51 memiliki dua buah timer / counter yang disebut Timer0 dan Timer1 dengan kapasitas 16 bit. Istilah timer dan counter keduanya memiliki kesamaan yaitu, adanya sumber detak yang akan mengaktifkannya. Keduanya juga merupakan pencacah atau penghitung. Berikut hal yang membedakan antara keduanya yaitu:
  • Timer memiliki sumber detak yang tetap, yaitu oscillator.
  • Counter memiliki sumber detak yang tidak tetap, yaitu berasal dari mikrokontroler eksternal.

Berikut beberapa register untuk timer / counter yaitu :
1. THx, TLx (register timer / counter high dan low)
Subscript x dapat berarti 0 atau 1. X diisi 0 jika dimaksudkan timer0 dan x bernilai 1 jika dimaksudkan timer1.
2. TMOD (register timer mode)
Register ini digunakan untuk mengatur mode timer. Register ini juga digunakan untuk mengatur penggunaan timer saja atau counter saja.
3. TCON (register timer control)
Register ini digunakan untuk menyimpan hasil limpahan suatu cacahan / penghitungan. Dalam register ini, terdapat juga register bit untuk mengaktifkan atau menonaktifkan suatu timer.
Register THx dan TLx digunakan untuk menampung hasil hitungan timer / counter kapasitas maksimum TH dan TL seluruhnya adalah 16 bit. Namun, ada dua mode timer yang tidak menggunakannya secara maksimum melainkan hanya 13 bit dan 8 bit saja.
Pembagian bit register THx dan TLx
Pembagian bit register THx dan TLx
Register TMOD berfungsi untuk mengatur penggunaan mode suatu timer, pemakaian counter atau timer, dan pengaturan Gate.
Register TMOD
Register TMOD
Bit register TMOD
Bit register TMOD
Mode timer menentukan kapasitas maksimal penggunaan register TH dan TL. Berikut pembahasan mode 0, mode 1, mode 2, dan mode 3.
1      Mode 0
Mode ini dikenal dengan nama mode timer / counter 13 bit.
Bit THx dan TLx pada mode 0
Bit THx dan TLx pada mode 0
1      Mode 1
Mode 1 menggunakan kapasitas register TLx dan THx secara maksimal sehingga dinamakan mode 16 bit.
2      Mode 2
Mode 2 sering disebut sebagai pencacah biner 8 bit dengan isi ulang (auto reload). Register yang digunakan untuk mencacah adalah TLx sedangkan THx digunakan sebagai tempat menyimpan data yang akan dituliskan ke TLx saat terjadi limpahan pada TLx. Isi THx diisikan pertama kali oleh pemrogram sedangkan isi TLx akan terus bertambah sesuai adanya detak. Setiap kali nilai TLx berubah dari FF heksa menjadi 00 heksa akan terjadi overflow sehingga TFx (pada register TCON)  akan bernilai 1. Nilai TFx perlu di-nol-kan secara manual untuk kembali menggunakan timer.
3      Mode 3
Timer mode 3 sering disebut sebagai two 8 bit timer / counter karena memang menggunakan dua buah timer 8 bit yang kerjanya sendiri-sendiri.register yang digunakan adalah TL0 dan TH0 dengan masing-masing pengaturan adalah sebagai berikut:
  • TL0 dapat berfungsi sebagai counter maupun timer 8 bit dengan sumber detak yang dapat dipilih yaitu sumber detak yang berasal dari P3.4 (T0) atau dari osilator/12.
  • TH0 hanya dapat difungsikan sebagai timer 8 bit karena sumber detak hanya berasal dari osilator/12.
Register TCON digunakan untuk menampung bit overflow dan digunakan untuk mengaktifkan timer / counter. Hanya bit ke-7 sampai dengan bit ke-4 yang digunakan untuk operasi timer / counter sedangkan bit ke-3 sampai dengan bit ke-0 digunakan untuk interrupt.
Register TCON
Register TCON
  • Bit TFx bernilai 1 jika ada limpahan timer dan perlu di-nol-kan kembali secara manual.
  • Bit TRx digunakan untuk mengaktifkan timer / counter
Read more »

Tipe Data Variabel dan Deklarasinya pada Pemrograman Bahasa C


1. Basic Types
ada beberapa tipe data dalam bahasa C, berikut penjelasannya:
Nama Deskripsi Ukuran Range
char karakter atau integer kecil 1byte signed: -128 to 127 unsigned: 0 to 255
short int(short) Short Integer. 2bytes signed: -32768 to 32767 unsigned: 0 to 65535
int Integer. 4bytes signed: -2147483648 to 2147483647 unsigned: 0 to 4294967295
long int(long) Long integer. 4bytes signed: -2147483648 to 2147483647unsigned: 0 to 4294967295
bool nilai Boolean. hanya bisa diisi satu nilai: true atau false 1byte true atau false
float Floating point number (32 bit). 4bytes +/- 3.4e +/- 38 (~7 digits)
double Double precision (64 bit) floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)
long double Long double precision floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)
wchar_t Wide character. 2 atau 4 bytes 1 wide character
untuk mendeklarasikan variabel sesuai dengan tipe datanya maka caranya adalah dengan menulis tipe data + nama variabel (tata cara penulisan variabel sudah di bahasa di artikel Pemrograman Bahasa C (Pendahuluan)
contoh deklarasi variabel:
char saya;
int angka;
contoh lainnya:
unsigned int x;
signed int y;
int z; /* Same as “signed int” */
unsigned char grey;
signed char white;
contoh operasi variabel dalam program C lengkap:
#include 
#include <conio.h>

void main ()
{
  // deklarasi variabel:
  int a, b;
  int hasil;
  clrscr(); //bersihkan layar

  // proses:
  a = 5;
  b = 2;
  a = a + 1;
  hasil = a - b;

  // cetak hasil ke layar:
  printf("%d", hasil);

  getch(); //menunggu input keyboard (agar hasil terlihat di layar)
}
selain tipe data, variabel juga terbagi dua menurut posisi deklarasinya, yaitu variabel lokal dan variabel global.

variabel lokal dan global dalam C++ (cplusplus.com)
variabel lokal dan global dalam C++ (cplusplus.com)
variabel global adalah variabel yang dideklarasikan diatas fungsi main atau diluar fungsi lainnya (sehingga dapat diinisialisasi di semua fungsi di bawahnya) sedangkan variabel lokal adalah variabel yang dideklarasikan hanya didalam suatu fungsi tertentu (fungsi main maupun bukan).
ada satu tipe data lagi yaitu void , tipe data void ini yaitu tipe data yang tidak mengembalikan nilai, biasanya digunakan dalam suatu fungsi.
berikut daftar tipe data dan keywordnya ketika dideklarasikan:
Datatype Keyword
Character char
Unsigned Character unsigned char
Signed Character signed char
Signed Integer signed int (atau) int
Signed Short Integer signed short int (atau) short int (atau) short
Signed Long Integer signed long int (atau) long int (atau) long
UnSigned Integer unsigned int (atau) unsigned
UnSigned Short Integer unsigned short int (atau) unsigned short
UnSigned Long Integer unsigned long int (atau) unsigned long
Floating Point float
Double Precision Floating Point double
Extended Double Precision Floating Point long double
2. Tipe Pointer
pointer dalam bahasa C yaitu suatu variabel yang menunjuk suatu lokasi tertentu di dalam memori sesuai dengan tipe datanya, bisa dikatakan pointer menyimpan alamat dari suatu variabel (sedangkan variabel menyimpan nilai). deklarasi pointer hampir sama dengan deklarasi variabel biasanya hanya ditambah tanda asterik (*) di depannya. contoh deklarasi suatu pointer:
int *x; //suatu variabel int pointer
int y; //variabel int biasa
contoh penggunaan pointer dalam program:
include
include <conio.h>
main()
{
int *ptr;
int sum;


sum=45;
ptr=&num;

printf (“\n nilai sum adalah %d\n”, sum);
printf (“\n nilai ptr adalah %d”, ptr);

printf (“\n nilai *ptr adalah %d”, *ptr);
getch();
return 0;
}
outputnya akan menjadi seperti ini:
nilai sum adalah 45
nilai ptr adalah 21260
nilai *ptr adalah 45
output baris kedua adalah alamat tempat nilai 45 dari variabel sum disimpan di memori, angka ini tentu bisa berbeda pada setiap komputer.
pointer juga bisa dioperasikan secara aritmatika seperti variabel biasa (penjumlahan, perkalian, pembagian, pengurangan) juga operasi lainnya dalam bahasa C. Misalnya:
y=*p1**p2;
sum=sum+*p1;
z= 5* – *p2/p1;
*p2= *p2 + 10;
berikut contoh operasi pointer dalam program:
#include
#include <conio.h>

main()
{
int *ptr1, *ptr2;
int a, b, x, y, z;


a=30;

b=6;
ptr1=&a;
ptr2=&b;


x=*ptr1+ *ptr2 –6;
y=6*- *ptr1/ *ptr2 +30;


printf(“\nalamat a yaitu: %d”, ptr1);
printf(“\nalamat  b yaitu: %d”, ptr2);
printf(“\na=%d, b=%d”, a, b);
printf(“\nx=%d,y=%d”, x, y);
ptr1=ptr1 + 70;
ptr2= ptr2;
printf(“\na=%d, b=%d”, a, b);
}
3. User defined type declaration (tipe data yg dideklarasikan oleh user)
dalam bahasa C user dapat mendeklarasikan suatu identifier yang merepresentasikan suatu tipe data tertentu. identifier ini bisa digunakan untuk deklarasi variabel dengan tipe data tersebut nantinya.
syntaxnya:
typedef type identifier;
contoh penggunaan:
typedef int salary;
typedef float average;
kemudian dalam program, identifier yang telah dideklarasikan dalam contoh diatas (salary dan average) dapat digunakan untuk mendeklarasikan variabel baru dengan tipe data yang telah dideklarasikan (int dan float) dengan syntax berikut:
salary dept1, dept2;
average section1, section2;
variabel dept1 dan dept2 secqara tidak langsung dideklarasikan bertipe data integer (int) dan variabel section1 dan section2 secara tidak langsung dideklarasikan bertipe data floating point (float).
tipe kedua yang dideklarasikan oleh user adalah enumerated data type, tipe ini mendeklarasikan variabel yang hanya bisa diberi nilai salah satu dari nilai yang sudah dideklarasikan didalam brace / semicolon ({ }). berikut syntax deklarasi nilai pada tipe data enum:
enum identifier {nilai1, nilai2 …. nilain};
setelah mendeklarasikan nilai-nilai yg akan diaplikasikan, selanjutnya mendeklarasikan variabel-variabel yang akan diberi nilai0nilai tersebut, syntaxnya adalah:
enum identifier variabel1, variabel2, variabel3, ……… variabeln;
variabel variabel1, variabel2 s.d. variabeln hanya dapat diberi salah satu dari nilai nilai1, nilai2, s.d. nilain. misalnya:
enum day {Monday, Tuesday, …. Sunday};
enum day week_st, week end;
week_st = Monday;
week_end = Friday;
if(wk_st == Tuesday)
week_en = Saturday;


sumber : http://desylvia.wordpress.com 
Read more »

Bahasa C Untuk Pemrograman Mikrokontroler MCS-51


Pemrograman Bahasa C untuk mikrokontroler sudah umum digunakan. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Berikut penjelasan kode2 dasar bahasa C untuk pemrograman mikrokontroler keluarga 89S51 yang sering digunakan:

1. Struktur penulisan program
#include < [library1.h] > // Opsional*
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional
[global variables] // Opsional
[functions` prototype] // Opsional
void main(void) // Program Utama harus ada
{ [Deklarasi local variable/constant] [Isi Program Utama] }
*Dalam pemrograman C, Pendeklarasian library harus ada sesuai dengan kode program yang digunakan.

Berikut contoh penulisan kode2 tersebut:
#include
#include
#include “myOwnLib”; //contoh penulisan library yg dideklarasikan manual
int variabel_global;
int sum(int); //contoh prototype fungsi sum (prototype fungsi hanya dituliskan bila fungsi diletakkan dibawah fungsi main)
#define PHI 3.14
void main (void)
{
int variabel_lokal;
}
int sum (int a)
{
}

2. Tipe data
char : 1 byte ( -128 s/d 127 )
unsigned char : 1 byte ( 0 s/d 255 )
int : 2 byte ( -32768 s/d 32767 )
unsigned int : 2 byte ( 0 s/d 65535 )
long : 4 byte ( -2147483648 s/d 2147483647 )
unsigned long : 4 byte ( 0 s/d 4294967295 )
float : bilangan desimal
array : kumpulan data-data yang sama tipenya.

3. Deklarasi variabel & konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah.
Penulisan : [tipe data] [nama] = [nilai] ;
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah.
Penulisan : const [nama] = [nilai] ;
Tambahan: Global variabel/konstanta yang dapat diakses di seluruh bagian program.
Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.

4. Statement
Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.
Contoh: suhu=adc/255*100; //contoh rumus perhitungan suhu

5. Function Function
adalah bagian program yang dapat dipanggil oleh program utama.
Penulisan : [tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) { [statement] ; }

6. Conditional statement dan looping if else
digunakan untuk penyeleksian kondisi
if ( [persyaratan] ) { [statement1]; [statement2]; } else { [statement3]; [statement4]; }
for : digunakan untuk looping dengan jumlah yang sudah diketahui
for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) { [statement1]; [statement2]; }
while : digunakan untuk looping jika dan salama memenuhi syarat tertentu
while ( [persyaratan] ) { [statement1]; [statement2]; }
do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali
do { [statement1]; [statement2]; } while ( [persyaratan] )
switch case : digunakan untuk seleksi dengan banyak kondisi
switch ( [nama variabel] ) { case [nilai1]: [statement]; break; case [nilai2]: [statement]; break; }

7. Operasi logika dan biner Logika
AND :&&
NOT : !
OR : ||
Biner AND : &
OR : |
XOR : ^
Shift right: >>
Shift left : <<
Komplemen : ~

8. Operasi relasional (perbandingan)
Sama dengan : ==
Tidak sama dengan : !=
Lebih besar : >
Lebih besar sama dengan : >=
Lebih kecil : <
Lebih kecil sama dengan : <=

9. Operasi aritmatika
+ , – , * , / : tambah,kurang,kali,bagi
+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator
% : sisa bagi
++ , — : tambah satu (increment) , kurang satu (decrement)
Contoh :
a = 5 * 6 + 2 / 2 -1 ;
maka nilai a adalah 30 a *= 5 ;
jika nilai awal a adalah 30, maka nilai a = 30×5 = 150. a += 3 ;
jika nilai awal a adalah 30, maka nilai a = 30+5 = 33. a++ ;
jika nilai awal a adalah 5 maka nilai a = a+1 = 6. a– ;
jika nilai awal a adalah 5 maka nilai a = a-1 = 4.

10. pemrograman interupsi untuk interupsi mikrokontroler
Ada beberapa interupsi yang dapat diinisialisasi pada pemrograman bahasa C, kegunaan masing2 interupsi tersebut berbeda. Berikut penulisan kode interupsi yang digunakan untuk menghubungkan komputer dan mikrokontroler secara serial:
[tipe data] [nama interupsi] ([tipe data]) interrupt
misalnya: void interruptSerial (void) interrupt
kode IRQ_VECTOR([nama interupsi serial],SERIAL) dapat ditambahkan diatas deklarasi fungsi interupsi untuk beberapa kompiler.

11. Kode program untuk menerima data dari komputer ke mikrokontroler keluarga 89S51
Pada mikrokontroler, ada beberapa register yang memiliki fungsi2 tersendiri (penjelasan mengenai mikrokontroler akan dibahas di artikel yang berbeda) selain itu ada juga pengaturan timer / clock yang harus diinisialisasi. Berikut contoh deklarasi fungsi tersebut:
void inisialisasi_serial_port_9600_uC_receive()
{
TMOD=0×20;              //setting timer 1 mode 2 (isi ulang) TMOD=0010 0000
TH1=0xFD;   TL1=0xFD;   //nilai isi ulang untuk 9600 bps, crystall=11,059 MHz
TR1=1;                  //aktifkan timer 1
SCON=0×50;              //serial model (UART 8 bit), SCON=0100 0000, REN=1 (siap terima)
PCON=0×00;              //baud rate normal, tidak digandakan
}

12. Kode program untuk menerima data dari mikrokontroler keluarga 89S51 ke komputer
sama seperti contoh di no. 11 hanya saja ada nilai register yang berbeda.
void inisialisasi_serial_port_9600_uC_transmit()
{
TMOD = 0×20;             //setting timer 1 mode 2 (isi ulang)
TH1 = 0xFD; TL1=0xFD; //nilai isi ulang, 9600 bps
TR1 = 1;                 //aktifkan timer1
SCON = 0×40;             //serial mode 1(UART 8 bit), REN =0
PCON = 0×00;        //baud rate normal, tidak digandakan
}

13. fungsi untuk mengirim kalimat dari komputer ke mikrokontroler
Pada mikrokontroler ada register yang berfungsi untuk menyimpan karakter secara sementara yaitu register SBUF (serial Buffer). Register tersebut dimanfaatkan untuk proses pengiriman data.
Berikut contoh fungsi untuk menerima data dari komputer:
char input()
{
while(!RI) {;}
RI=0;
return(SBUF);
}
Berikut contoh fungsi untuk mengirim data ke komputer:
void tulis_serial(unsigned char* dat)
{
int i;
i=0;
while(dat[i] != NULL)     //ulang terus sampai ditemukan karakter NULL (terakhir)
{
SBUF=dat[i];
while (TI==0);        //tunggu sampai TI = 1
TI=0;               //secara manual menge-nol-kan TI
i++;        //ambil karakter berikutnya
}
}
Read more »

Mengenal Bahasa Pemograman C


Bahasa C dari segi algoritma sama saja dengan algoritma untuk pemrograman lainnya karena pada dasarnya algoritma adalah suatu logika atau step-step agar suatu aplikasi yang dibuat dengan bahasa pemrograman bisa berjalan dengan baik.
Saat ini banyak sekali bahasa pemrograman tingkat tinggi (high level language) seperti PASCAL, BASIC, COBOL, dan termasuk kedalamnya bahasa C.
Bahasa C pertama kali dikembangkan pada tahun 1972 oleh Dennis M. Ritchie di laboratorium Bell AT&T, New Jersey sebagai bahasa pemrograman sistem yaitu bahasa untuk membuat sistem operasi dan komponen sistem.

spektrum bahasa
spektrum bahasa
Agar komputer mengerti kode-kode program yang ditulis mengunakan bahasa C, program lain dibutuhkan untuk menerjemahkan kode-kode program tersebut. Program seperti ini disebut kompilator. Kompilator akan menerima masukan kode program dan akan menghasilkan suatu kode objek yang disimpan dalam file objek. Dalam sistem operasi Windows, file objek ini biasanya bersekstensi .obj.
Ada tiga tahap dasar dalam pembentukan program dalam Bahasa C, yaitu :
1      Penulisan kode program.
2      Proses kompilasi kode program.
3      Proses linking semua file objek sehingga terbentuk program yang bisa dieksekusi.
proses kompilasi
proses kompilasi
Fungsi adalah blok pembangun program C. Gambar berikut menjelaskan komponen-komponen pembangun sebuah fungsi meskipun ada beberapa komponen yang tidak wajib ada (opsional).
struktur fungsi
struktur fungsi
dan gambar di bawah ini menjelaskan implementasi komponen Bahasa C dalam suatu program yang dimisalkan bernama square.

anatomi fungsi
anatomi fungsi
Variabel adalah suatu pengenal di dalam program yang berguna untuk menyimpan nilai dari tipe data tertentu dan dapat berubah nilai seiring dengan program berjalan. Nilai yang disimpan dalam suatu variabel bisa bersifat dinamis maupun statis. Bentuk umum inisialisasi variabel dalam Bahsa C yaitu, tipe_data nama_variabel; atau tipe_data nama_variabel = nilai _untuk_inisialisai;.
Ada dua lingkup variabel yaitu, variabel lokal dan variabel global. Variabel global adalah variabel yang dideklarasikan diluar fungsi, baik fungsi utama (main()) maupun fungsi pendukung lainnya. Sedangkan, variabel lokal dideklarasikan di dalam sebuah fungsi sehingga hanya dapat dikenali dan diakses oleh fungsi itu saja.
Jenis variabel dalam bahasa C dibedakan menjadi empat macam, yaitu variabel otomatis, statis, eksternal, dan register.
Variabel otomatis adalah variabel yang dikenal dalam suatu blok saja (dalam tanda {…}), baik blok pemilihan, pengulangan, ataupun fungsi. Contoh deklarasi variabel otomatis yaitu, if (a > 0) { auto int var_otomatis; ……. }.
Variabel statis adalah suatu variabel yang menyimpan nilai permanen dalam memori. Deklarasi variabel statis yaitu, static tipe_data nama_variabel;.
Variabel eksternal adalah variabel yang dipanggil dari file program C yang terpisah. Deklarasi variabel eksternal yaitu, extern tipe_data nama_variabel;.
Variabel register adalah variabel yang tidak disimpan di memori melainkan di register CPU. Deklarasi variabel register yaitu, register tipe_data nama_variabel;
Selain itu ada juga yg disebut variabel volatile yaitu variabel yang nilainya dapat berubah dikarenakan faktor eksternal. Deklarasi variabel volatile yaitu, volatile tipe_data nama_variabel;
Dalam Bahasa C, ada beberapa aturan untuk penamaan suatu variabel. Nama bisa mengandung huruf, angka, dan karakter underscore ( _ ) tapi harus diawali oleh huruf atau underscore, namun biasanya variabel yang penamaannya diawali underscore adalah variabel sistem internal. Selain itu, Bahasa C bersifat case sensitive yang berarti huruf besar dan huruf kecil memiliki arti yang berbeda.
penamaan bhs c
penamaan bhs c
Selain istilah variabel dalam Bahasa C, ada juga yang disebut konstanta. Konstanta adalah sebuah tetapan yang tidak dapat diubah nilainya ketika program berjalan. Sintak pembuatan konstanta yaitu, #define nama_konstanta nilai_tetap_konstanta atau const tipe_data nama_konstanta = nilai_konstan;.
Tipe data adalah sesuatu yang digunakan untuk merepresentasikan jenis dari suatu nilai tertentu. Ada tiga tipe data dasar yaitu tipe data void (kosong), tipe data scalar (skalar), dan tipe data aggregate (agregasi). Tipe data skalar terbagi lagi menjadi tiga bagian, salah satunya tipe aritmatika. Bilangan integer dan floating points termasuk dalam tipe aritmatika. Ada delapan jenis bilangan integer dan dua jenis floating point (tiga untuk standar ANSI). Bilangan integer dapat ditulis sebagai bilangan desimal, bilangan oktal, atau bilangan heksadesimal.
Tipe data agregasi terdiri dari satu atau lebih kombinasi tipe data skalar. Termasuk di dalamnya array, structure, dan unions.




struktur tipe data c
struktur tipe data c
Dalam Bahasa C, ada juga yang disebut dengan komentar. Komentar program adalah bagian (berupa teks) di dalam kode program yang tidak ikut dieksekusi pada saat proses kompilasi. Ada dua cara untuk menyisipkan komentar, yaitu diawali dengan tanda ‘//’ untuk komentar satu baris saja dan untuk komentar lebih dari satu baris, diawali tanda ‘*/’ dan diakhiri dengan tanda ‘*/’.
sy tambahkan sedikit info yang sy ambil dari sini –> http://www.exforsys.com/tutorials/c-language/c-programming-constants-and-variables.html selain yg sudah sy jelaskan diatas, ada juga yg disebut Character Set dalam bahasa C, character set tersebut terbagi menjadi 4 bagian:
  1. Letters
  2. Digits
  3. Special Characters
  4. White Spaces
white spaces (spasi) tidak dipedulikan oleh kompiler kecuali spasi ini bagian dari suatu string.

character set pada bahasa C
Letters Digits
Upper Case A to Z 0 sampai 9
Lower Case a to z
karakter spesial
, .Comma & .Ampersand
. .Period ^ .Caret
; .Semicolon * .Asterisk
: .Colon - .Minus Sign
? .Question Mark + .Plus Sign
.Aphostrophe < .Opening Angle (Less than sign)
.Quotation Marks > .Closing Angle (Greater than sign)
! .Exclaimation Mark ( .Left Parenthesis
| .Vertical Bar ) .Right Parenthesis
/ .Slash [ .Left Bracket
\ .Backslash ] .Right Bracket
~ .Tilde { .Left Brace
- .Underscore } .Right Brace
$ .Dollar Sign # .Number Sign
% .Percentage Sign . .
White Space
  1. Blank Space
  2. Horizontal Tab
  3. Carriage Return
  4. New Line
  5. Form Feed
Keywords dan Identifiers
keyword dalam bahasa C tidak dapat dijadikan variabel. keyword digunakan oleh kompiler untuk kebutuhan berdasarkan fungsinya masing-masing selain itu keyword adalah salah satu dari blok pembanguin dalam bahasa C. berikut keyword dalam bahasa C:
.auto .else .register .union
.break .enum .return .unsigned
.case .extern .short .void
.char .float .signed .volatile
.const .for .size of .while
.continue .goto .static .
.default .if .struct .
.do .int .switch .
.double .long .typedef .
identifier adalah nama dari variabel yang didefinisikan oleh user, array dan fungsi.
identifier harus memenuhi peraturan berikut:
1. karakter pertama harus alfabet (atau underscore)
2. identifier harus terdiri dari hanya karakter, digit, dan underscore
3. identifier sebaiknya kurang dari 31 karakter
4. keyword standar bahasa C tidak bisa digunakan sebagai nama variabel
5. identifier seharusnya tidak terdapat spasi
constant
nilai constant pada bahasa C adalah nilai yang tidak akan berubah sepanjang eksekusi program berjalan. berikut beberapa jenis constant dalam bahasa C:
1. Integer Constants
2. Real Constants
3. Single Character Constants
4. String Constants
integer constant
integer constant terdiri dari angka-angka. integer constant terdiri dari 3 tipe, yaitu:
Decimal Integers terdiri dari angka (0 s.d. 9) dengan tanda negatif (-) atau positif (+). spasi, koma, dan non-digits tidak boleh digunakan dalam tipe ini. contohnya:
123
-31
0
562321
+ 78
beberapa contoh integer constant yang salah:
15 750
20,000
Rs. 1000
Octal Integers constant terdiri dari kombinasi digit dari 0 s.d. 7 dengan sebuah ‘O’ pada awalnya, misalnya:
O26
O
O347
O676
Hexadecimal integer constant diawali oleh OX atau Ox, dapat terdiri dari alphabet A s.d F atau a s.d. f. Alphabet A s.d F merepresentasikan desimal 10 s.d. 15. berikut contoh hexadecimal integer constant:
OX2
OX8C
OXbcd
Ox
Real Constants
Real Constants terdiri atas bilangan pembagian. Integer constants tidak memadai untuk merepresentasikan bilangan yang tidak bulat dan memiliki pangkat.bilangan tersebut terdiri dari angka yang memiliki bagian sisa hasil bagi (fractional)  seperti 26.082. contohnya:
0.0026
-0.97
435.29
+487.0
catatan: dalam bahasa C sisa hasil bagi diidentifikasikan dengan tanda titik (.) yang dalam bilangan desimal standar adalah tanda koma (,).
bilangan real juga bisa direpresentasikan dengan notasi perpangkatan (exponential). bentuk umum dari tanda perpangkatan adalah mantissa exponent. mantissa adalah bilangan real yang diekspresikan secara desimal atau integer. pangkat (exponent) adalah bilangan integer dengan tanda plus atau minus.
Single Character Constants
Single Character Constants merepresentasikan sebuat karakter yang diapit oleh tanda kutip tunggal (‘). misalnya:
’5′
‘x’
‘;’
‘ ‘
semua character constants memiliki nilai integer ekuivalent yang disebut nilai ASCII.
String Constants
string contants adalah karakter-karakter yang diapit oleh tanda kutip (“). karakter dalam string constants bisa berupa alphabet, nomor, spasi, atau karakter khusus. contohnya:
“VISHAL”
“1234″
“God Bless”
“!…..?”
Backslash Character Constants [Escape Sequences]
Backslash Character Constants adalah karakter spesial yang digunakan untuk fungsi-fungsi output. meskipun constant ini terdapat dua karakter tapi tetap saja diartikan satu karakter. berikut tabel escape sequence dan artinya:
Constant Meaning
‘\a’ .Audible Alert (Bell) (alarm)
‘\b’ .Backspace
‘\f’ .Formfeed
‘\n’ .New Line (baris baru)
‘\r’ .Carriage Return (awal baris / enter)
‘\t’ .Horizontal tab (tab horizontal)
‘\v’ .Vertical Tab (tab vertikal)
‘\” .Single Quote (tanda kutip single)
‘\”‘ .Double Quote (tanda kutip double)
‘\?’ .Question Mark (tanda tanya)
‘\\’ .Back Slash
.Null


sumber : http://desylvia.wordpress.com/
Read more »

INTERFACING


I. PENDAHULUAN.

Sebuah sistem komputer pada prinsipnya terdiri atas 4 bagian penting, yaitu: CPU (Central Processing Unit), memori, alat I/O (Input/Output), dan interkoneksi diantara semua bagian tersebut yang sering disebut dengan Bus. Bagian-bagian tersebut saling bekerja sama dalam satu kesatuan untuk melaksanakan perintah-perintah yang diberikan oleh manusia atau programmer untuk menyelesaikan suatu masalah tertentu.

Bagian-bagian tersebut masing-masing memiliki fungsi yang beragam dan saling terkait satu dengan yang lainnya. CPU (Central Processing Unit) merupakan tempat pemrosesan instruksi-instruksi program. CPU terdiri dari dua bagian utama, yaitu unit kendali (control unit) dan unit arithmatika dan logika (arithmetic and logic unit). Disamping dua bagian utama tersebut, CPU memiliki beberapa memori internal yang berukuran kecil yang disebut dengan register.

Sedangkan memori dibutuhkan untuk proses pengolahan dan penyimpanan data. CPU hanya dapat menyimpan data dan instruksi di register yang ukurannya kecil, sehingga tidak dapat menyimpan semua informasi yang dibutuhkan untuk keseluruhan proses dari program. Dibutuhkan memori baik yang bersifat internal memori seperti RAM dan ROM maupun eksternal memori seperti harddisk untuk memaksimalkan fungsi-fungsi pengolahan data yang dilakukan oleh CPU.

Selain itu untuk memberikan masukan atau input dan melihat hasil atau output dari sebuah hasil pemrosesan komputer dibutuhkan kemampuan untuk dapat mengakomodir semua hal tersebut maka dalam sistem komputer dikenal sebuah fasilitas yang dinamakan alat input/output (I/O). Terakhir kesemuanya bagian tersebut dalam sebuah sistem komputer dihubungkan atau diinterkoneksikan dengan sebuah fasilitas yang disebut dengan Bus. Dalam sistem komputer kita mengenal ada tiga macam bus yaitu: bus alamat, bus kontrol, dan bus data.

Pada tulisan kali ini akan dibahas lebih dalam tentang hal-hal yang berhubungan dengan alat I/O sistem komputer. Terutama yang menyangkut bagaimana proses menghubungkan alat-alat yang berada di luar sistem komputer agar dapat berkomunikasi dan berinteraksi dengan sistem komputer sehingga dapat memaksimalkan kemampuan dari sistem komputer tersebut.

II. DEFINISI INTERFACING (TEKNIK ANTARMUKA KOMPUTER)

Komputer saat ini telah menjadi alat bantu utama bagi manusia dan digunakan bukan hanya untuk menyelesaikan permasalahan di temapat kerja, membuat program atau bermain game, tetapi dapat digunakan untuk mengontrol alat melalui berbagai port yang tersedia dan dikenal dengan istilah Interfacing komputer. Interfacing (antar muka) adalah bagian dari disiplin ilmu komputer yg mempelajari teknik-teknik menghubungkan komputer dengan peralatan elektronika lainnya. Sistim komputer yang berpusat pada pemroses utama (baik itu Mikroprosesor maupun Mikrokontroler) memiliki kemampuan yang besar dalam memecahkan masalah tetapi tidak ada manfaatnya tanpa menghubungkan dengan peralatan lainnya. Suatu teknik khusus diperlukan untuk dapat menghubungkan dengan peralatan-peralatan tersebut. Menghubungkan pemroses utama dengan peralatan elektronik lainnya bukanlah persoalan yang mudah. Kita tidak dapat langsung menghubungkan pemroses utama dengan peralatan tersebut, disebabkan oleh hal-hal berikut :

1. Terdapat beraneka ragam peralatan/ piranti yang memiliki metode operasi beragam.
2. Laju transfer data dalam piranti seringkali lebih lambat dibandingkan dengan laju transfer data dengan pemroses utama (Mikroprosesor).
3. Piranti seringkali menggunakan format data yang berbeda dengan pemroses utama (Mikroprosesor).

Sebagai contoh :

Bandingkan antara Mikroprosesor dengan RS-232 (COMM)
                                 Mikroprosesor                                RS-232C /Comm

Metode Operasi            Paralel                                                 Serial

Transfer data       Sama dgn clock komputer (MBps)              20 Kbps

Format Data              Paralel (Bus)                                    Serial Asinkron


Jadi tidaklah praktis untuk menghubungkan mikroprosesor secara langsung dengan piranti yang ingin dijalankannya. Diperlukan suatu teknik untuk mem”perantara”kan pemroses utama (mikroprosesor) dengan dunia luar. Teknik ini dapat dijalankan melalui :

1. Perangkat lunak, berupa program, yakni suatu prosedur tertentu untuk menjalankan piranti. Dalam dunia komputer, program ini lebih dikenal sebagai Driver/installer. Adapula perangkat lunak yang dimasukkan kedalam perangkat keras yand disebut sebagai Firmware.

2. Perangkat keras, yakni berupa piranti khusus mulai dari serpih (IC) yang terintegrasi dalam sebuah papan induk (Chipsets-Onboard), berupa sebuah port atau bahkan terintegrasi kedalam papan yang ditancapkan pada system bus (Card).


III. RUANG LINGKUP INTERFACING.

Interfacing bukanlah disiplin ilmu yang berdiri sendiri tetapi berkaitan erat dengan disiplin ilmu komputer lainnya. Pemahaman yang mendalam dari disiplin lainnya yang berkaitan dengan bahasan interfacing ini akan sangat membantu untuk memahami materi-materi yang disajikan selanjutnya. Disiplin ilmu komputer ini adalah Elektronika Analog dan Digital, Mikroprosesor, Organisasi dan Arsitektur Komputer, Komunikasi Data serta pendukung Bahasa Pemrograman, baik berbasis Teks seperti Bahasa Rakitan/ Assembly, C, Basic, Pascal maupun berbasis Grafis seperti Visual Basic, Visual C, Delphi bahkan berbasis Web seperti Java.


Read more »

Memahami Spesifikasi Komponen Sistem Komputer


Sistem komputer terdiri atas beberapa bagian-bagian utama, seperti: Unit Pemrosesan Utama atau yang umum dikenal dengan Central Processing Unit (CPU), Memori, unit Input-Output (I/O), dan interkoneksi diantara bagian-bagian tersebut yang biasanya kita kenal dengan istilah bus-bus sistem.

Untuk memahami bagian-bagian tersebut marilah kita bahas secara lebih detail tentang bagian-bagian tersebut:

1. Unit Pemrosesan Utama (CPU)

Unit Pemrosesan Utama, mengerjakan analisis logika dan komputasi data, persis seperti kerja otak manusia. CPU biasanya menjadi bagian pertama yang perlu dipertimbangkan saat merencanakan perakitan PC baru, karena pentingnya peran dan kemampuannya dalam mengontrol performa utama Personal Computer (PC).

CPU yang digunakan di PC dewasa ini seringkali menggunakan arsitektur x86, dengan lingkungan komputer yang mendukung prosesor 64-bit atau 32-bit. Karena inilah, sebagian besar utilitas perangkat lunak, aplikasi dan sistem operasi telah dikembangkan berdasarkan rangkaian perintah x86.

Ketika merencanakan membangun PC, pertama-tama harus memilih CPU yang akan digunakan, dan kemudian rencanakan komponen lainnya, seperti: motherboard, kartu grafis, dan memori untuk mendapatkan performa terbaik dari sistem komputer tersebut.

Prosesor Intel merupakan prosesor yang paling banyak digunakan. Prosesor ini telah mengalami proses evolusi teknologi pembuatan prosesor, dan semakin berkembang sejak dari Pentium sampai dengan teknologi Core 2 Duo yang menggabungkan rangkaian perintah MMX, SSE, SSE2, dan SSE3 untuk meningkatkan performa multimedia dan komputasi 3D. Selanjutnya Front Side Bus (FSB) dari Pentium 4 telah ditingkatkan dari 800MHz menjadi 1333MHz dan hadir dalam bentuk teknologi Core 2 Duo dan Core 2 Quad. Selain itu, spesifikasi pin-nya juga telah diganti dari Socket 478 menjadi LGA775 (Socket T).

Prosesor Clock.

Prosesor Clock adalah kecepatan penghitungan saat CPU menjalankan perintah. Semakin tinggi prosesor clock, semakin baik performanya. Prosesor clock adalah hasil perkalian antara eksternal clock dengan clock ratio (Prosesor clock=eksternal clock x clock ratio).

Misalnya, diketahui Intel Core 2 Duo E6700, memiliki prosesor clock 2.66GHz, eksternal clock 266MHz, dan FSB sebesar 1066MHz. Berarti clock rationya adalah 10.

Front Side Bus.

Front Side Bus (FSB) adalah antarmuka antara prosesor dan north bridge dari chipset motherboard. FSB dapat dianggap sebagai jalan bebas hambatan untuk transfer data. Semakin tinggi FSB, semakin besar pula jumlah data yang dapat ditransfer. Clock ratio dari FSB Core 2 Duo adalah 4 (yaitu, FSB sama dengan eksternal clock dikali 4). Apabila eksternal clock adalah 266 MHz, maka FSB akan menjadi 1066 MHz.

Cache.

Prosesor Intel menggunakan cache L1 dan L2 untuk mempercepat efisiensi akses antara CPU, memori, dan hard disk drive, serta untuk mengurangi waktu akses berulang ke data yang sama. Misalkan, prosesor dual core Core 2 Duo, setiap core dilengkapi dengan cache instruksi L1 sebesar 32KB dan cache data L1 sebesar 32KB (jumlah 64KB), serta cache L2 sebesar 2MB atau 4MB (tergantung pada versi prosesornya). Prosesor melakukan alokasi dinamis pada cache L2 berdasarkan beban kerja untuk setiap core. Sedangkan prosesor quad core Core 2 Quad memiliki empat cache L1 masing-masing sebesar 32KB (jumlah 128KB) dan dua cache L2 masing-masing sebesar 4MB (4MB digunakan bersama oleh dua core; jumlah 8MB). Semakin tinggi cache L2, semakin baik performanya.

Soket Prosesor.

Terdapat perbedaan dalam soket prosesor antara soket 478 dan LGA775. Dengan jumlah pin yang semakin banyak, ukuran luas prosesor LGA775 sedikit lebih besar, sehingga mempengaruhi soket prosesor pada motherboard. LGA775 dirancang dengan meletakan pin kontak pada motherboard dan meletakan bola solder eutektik pada bagian prosesornya.

Read more »

 
Powered by Blogger