Jumat, 11 Juli 2014

ORGANISASI ARSIKTEKTUR KOMPUTER



ORGANISASI ARSIKTEKTUR KOMPUTER 

Sejarah Komputer
 
alat yang dipakai untuk mengolah data menurut perintah yang telah dirumuskan. Kata komputer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri.
Alat Pengolah Data digolongkan ke beberapa tipe ,Yaitu:
1. Alat Manual (Manual Device), menggunakan peralatan sederhana
300000 SM : Tulang
      14000 SM : Petroglyphs (Karang)
9000 SM : Lempengan Tanah Liat
5000 SM : Tablet Tanah Liat
2600 SM : Papyrus
2500 SM : Abacus
1900 SM : Stonehenge
1200 SM : Quipus (Tali Bersimpul)
400 SM : Kulit Binatang
1150 : Kertas
1455 : Alat Cetak
1614 : Napier’s Bones
1621 : Oughtred’s Slide Rule

2. Alat Mekanik (Mechanical Device), alat mekanik yang digerakkan secara manual dengan tangan
1623 : Mesin penghitung pertama (Wilhem Schikard, Jerman)
1642 : Pascal’s Machine Aritmethique (Mesin penghitung otomatis pertama)
1666 : Mesin Pengali yang pertama (Sir Samuel Morland)
1673 : Leibnitz’s Calculating Machine (Gottfried Wilhem von Leibnitz, Jerman)
1777 : Logic Demonstrator (Mesin Logika pertama, Charles Mahon)
1804 : Jacuquard’s Loom (Mesin penenun otomatis dengan kartu plong, Joseph Marie                          Jacquard,Perancis)
      1820 : Mesin Penghitung Komersial Pertama (Charles Thomas de Colmar,Inggris)
1850 : Mesin Penghitung dengan keyboard ( D.D. Parmalee,USA)
1854 : Aljabar Boolean (George S. Boole,Inggris)
1868 : The Adder (mesin penambah ukuran saku,Web,USA)
1869 : Mesin Logika Boolean (William Jevons)
1879 : Mesin Pencatat Kas yang pertama (James Ritty, USA)
1884 : Mesin Penghitung dengan alat cetak pertama (William S. Burroughs,USA)
1893 : Steiger’s Millionare (Mesin penghitung saintifik pertama, Otto Steiger,Jerman)
1911 : Monroe Calculator (Jay Monroe & Frank S. Baldwin,USA)

3. Alat Mekanik Elektronik (Electro Mechanical Device), alat mekanik yang digerakkan dengan motor elektronik
1890 : mesin tabulasi kartu plong mekanik-elektronik yang pertama (digunakan untuk membantu sensus   penduduk,Dr. Hernan Hollerith, USA, Cikal Bakal IBM)
1920 : mesin penghitung otomatis pertama (mesin pengambil keputusan,Leonardo Torres y Quevedo, Spanyol)
1931 : Komputer Analog Pertama (untuk memecahkan permasalahan differensial,disebut dengan Differensial Analyzer,Dr. Vannevar Bush,MIT)
1938 : Mesin hitung mekanik-elektronik pertama (untuk perhitungan teknik,disebut dengan Complex Calculator,George R. Stibitz, Bell Laboratories)

4. Alat Elektronik (Electronic Device), alat yang bekerja secara elektronik.
1942 : Komputer digital elektronik pertama (Atanasoff-Berry Computer, John V. Atanasoff & Clifford Berry,IOWA State College)
1944 : Hardvard Mark I ASCC (melakukan operasi aritmatika dan logika secara otomatis,dibuat IBM, Prof. Howard Aiken,Harvard University)
Komputer Generasi Pertama (1946-1959)
Komputer Generasi Kedua (1959-1964)
Komputer Generasi Ketiga (1964-1970)
Komputer Generasi Keempat (Mulai 1970)
Komputer Generasi Kelima
Komputer Masa Depan

Definisi komputer :
komputer merupakan salah satu perangkat elektronika yang dapat menerima dan mengolah data menjadi informasi, menjalankan program yang tersimpan dalam memori, serta dapat bekerja secara otomatis dengan aturan aturan tertentu.

Penggolongan Komputer :

Komputer oleh beberapa profesional digolongkan dalam beberapa sudut pandangan. Ada yang menggolongkan berdasarkan data yang diolahnya, berdasarkan pengunaannya, dan berdasarkan ukurannya.

1. BERDASARKAN DATA YANG DIOLAH
Analog Computer
Komputer Analog Digunakan untuk data yang sifatnya kontinyu dan bukan data yang berbentuk angka, tetapi dalam bentuk fisik, seperti arus listrik, temperatur, kecepatan, tekanan dan lain sebagainya. Output dari komputer analog biasanya digunakan untuk pengaturan atau pengontrolan suatu mesin. Sebagai contoh, komputer analog digunakan untuk mengatur katup guna pengontrolan aliran fluida yang mengalir lewat pipa. Keuntungan dari kompter analog adalah kemampuannya untuk menerima data dalam bentuk fisik dan langsung mengukur data tersebut tanpa perlu ada pengonversian terlebih dahulu seperti komputer digital. 

2. BERDASARKAN PENGUNAANNYA
Special Purpose Computer
Komputer ini dirancang untuk menyelesaikan suatu masalah yang khusus, yang biasanya hanya berupa satu masalah saja.

3. BERDASARKAN UKURANNYA
v        Micro Computerkomputer yang hanya dapat digunakan oleh satu pemakai saja untuk setiap saat. Komputer ini biasa diletakkan di atas meja oleh karena itu komputer ini biasa disebut Desk Computer dan harga dari komputer inipun juga terbilang murah sehingga banyak orang yang mampu untuk membeli komputer ini, maka tak heran jika komputer ini disebut juga sebagai Personal Computer. 

v    Mini Computer komputer ini adalah komputer yang pertama kali digunakan untuk pengendalian proses produksi, riset laboratorium, dan komunikasi data karena komputer jenis ini bersifat multi-user yaitu komputer yang dapat digunakan lebih dari satu pemakai karena komputer ini mempunyai terminal-terminal yang dapat menghubungkan sampai 64 komputer mini yang lain. Oleh perusahaan yang membuatnya, komputer ini juga digolongkan kembali berdasarkan dari kemampuannya menjadi midi-mini computer, mini-mini computer, maxi-mini computer, dan super-mini computer.

v    Small Computer atau yang biasa disebut small-scale mainframe computer Small computer yang sekarang kebanyakan menggunakan sistem multiprogramming, multiprocessing dan virtual storage. Small Computer hampir sama dengan Mini Computer karena bersifat multi-user namun untuk Small Computer, mempunyai terminal hingga mencapai ratusan buah.

v     Medium Computer atau biasa disebut juga dengan medium-scale mainframe computer. Medium Computer mempunyai bermacam-macam alat input atau output yang dapat digunakan untuk komunikasi data.

v     Large Computer atau bisa juga disebut dengan mainframe computer karena mempunyai bentuk yang besar seperti lemari. Komputer jenis ini digunakan pada perusahaan-perusahaan besar seperti perusahaan penerbangan yang mempunyai ratusan kantor cabang yang tersebar diseluruh dunia. Komputer jenis ini juga mengenal sistem time sharing yang memungkinkan ratusan pemakai dapat menggunakan komputer ini serentak dari terminal masing-masing.

DATA
Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berujut suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek, kejadian ataupunsuatu konsep.

Analog

sinyal data dalam bentuk gelombang yang yang kontinyu, yang membawa informasi dengan mengubah karakteristik gelombang. Dua parameter/karakteristik terpenting yang dimiliki oleh isyarat analog adalah amplitude dan frekuensi.
digital
merupakan data yang memiliki deretan nilai-nilai yang berlainan dan memiliki ciri-ciri tersendiri, salah satu contoh data digital adalah text, bilangan bulat dan karakter-karakter lain. Tetapi permasalahnya adalah bahwa data dalam bentuk karakter-karakter dapat dipahami manusia tersebut tidak dapat langsung ditransmisikan dengan mudah dalam system komunikasi, data terlebih dahulu dirubah ke dalam bentuk biner, jadi suatu data digital akan ditrasnmisikan dalam deretan bit :
     Ø  Bit
satuan paling dasar dalam jaringan komputer, atau bagian dalam komputer. Pada dasarnyabilangan bit merupakan perwakilan aliran listrik, yakni hanya ada 2 saja yaitu 1 dan 0, yang bisadisebut 1 = ada listrik dan 0 = tidak ada listrik.

     Ø  Sistem bilangan biner
adalah susunan bilangan yang mempunyai basis 2 sebab sistem bilangan ini menggunakan dua nilai koefisien yang mungkin yaitu 0 dan 1.

     Ø  Byte
Sebuah Byte adalah sama dengan 8 Bits. Sebuah Byte bisa mewakili 256 negara bagianinformasi, misalnya, angka atau kombinasi angka dan huruf. 1 Byte bisa sama dengan satukarakter. 10 Bytes bisa jadi setara dengan sebuah kata. 100 Bytes akan sama dengan kalimatrata-rata

     Ø  ASC II (American Standard Code for Information Interchange)
adalah standar yang berlaku di seluruh dunia untuk kode berupa angka yang merepresentasikan karakter-karakter, baik huruf, angka, maupun simbol yang digunakan oleh komputer.

     Ø  File system
merupakan struktur logika yangdigunakan untuk mengendalikan akses terhadap data yang ada pada disk. File system menyediakan mekanisme untuk penyimpanan data dan program yang dimiliki oleh system operasi serta seluruh pengguna dari system komputer. File system terdiri dari dua bagian :
1. kumpulan file yang masing-masing menyimpan data-data yang berhubungan
2. struktur direktori yang mengorganisasi dan menyediakan informasi mengenai seluruh file dalam system

Masing-masing system operasi menggunakan cara yang berbeda dalam mengatur dan mengendalikan akses data dalam disk. Cara pengaturan dan pengendalian ini tidak tergantung pada spesifikasi dari perangkat keras. Misalnya suatu harddisk dengan spesifikasi yang sama dapat menggunakan file system yang berbeda.
Sistem bilangan :
·         desimal/persepuluhan
 adalah sistem bilangan yang menggunakan 10 macam angka dari 0,1, sampai 9. Setelah angka 9, angka berikutnya adalah 1 0, 1 1, dan seterusnya (posisi di angka 9 diganti dengan angka 0, 1, 2, .. 9 lagi, tetapi angka di depannya dinaikkan menjadi 1).

·         biner atau sistem bilangan basis dua adalah sebuah sistem penulisan angka dengan menggunakan dua simbol yaitu 0 dan 1. 1 Byte = 8 bit.
·         20=1
·         21=2
·         22=4
·         23=8
·         24=16
·         25=32
·         26=64

·         Heksadesimal atau sistem bilangan basis 16
adalah sebuah sistem bilangan yang menggunakan 16 simbol. Berbeda dengan sistem bilangan desimal, simbol yang digunakan dari sistem ini adalah angka 0 sampai 9, ditambah dengan 6 simbol lainnya dengan menggunakan huruf A hingga F.
·         Oktal atau sistem bilangan basis 8
adalah sebuah sistem bilangan berbasis delapan. Simbol yang digunakan pada sistem ini adalah 0,1,2,3,4,5,6,7. Konversi Sistem Bilangan Oktal berasal dari Sistem bilangan biner yang dikelompokkan tiap tiga bit biner dari ujung paling kanan (LSB atau Least Significant Bit).
Sandi 8421
            adalah salah satu diantara sekian banyak sandi yang dinamakan desimal bersandi biner (binary coded desimal = BCD). Terdapat sejumlah besar sandi semacam itu. Pada umumnya, sandi BCD adalah suatu sandi dengan masing – masing angka biner. Untuk pengkodean ini dapat digunakan kelompok angka biner. Untuk pengkodean ini dapat digunakan kelompok 4 – bit, 5 – bit, 6 – bit dan seterusnya. Sandi 8421 merupakan sandi basis campuran, sandi ini adalah biner dalam kelompok 4 bitnya, namun sandi ini adalah desimal dari kelompok. Karena sandi 8421 merupakan jenis sandi BCD yang paling mendasar, maka sering disebut sebagai BCD saja tanpa penjelasan lain. Dengan perkataan lain dengan menyatakan sandi BCD berarti yang dimaksudkan adalah sandi 8421. Sandi 8421 menyatakan masing – masing desimal dengan ekivalen biner 4 – bitnya. Sebagai contoh, bilangan desimal 429 diubah ke dalam sebuah ekivalen binernya sebagai berikut:

4            2           9
  ↓            ↓            ↓
    0100      0010     1001

sandi 8421
Bit Tambahan
0000
0
0001
1
0010
1
0011
0
0100
1
0101
0
0110
0
0111
1
1000
1
1001
0
·         Boolean
adalah struktur aljabar yang "mencakup intisari" operasi logika AND, OR dan NOR dan juga teori himpunan untuk operasi union, interseksi dan komplemen. Boolean adalah suatu tipe data yang hanya mempunyai dua nilai. Yaitu true atau false (benar atau salah). tipe data boolean pada C
bool my_variable = true;
if (my_variable) {
  printf("True!\1");
} else {
  printf("False!\0");
}
 
·         Encoder
adalah rangkaian yang memiliki fungsi berkebalikan dengan dekoder. Encoder berfungsi sebagai rangakain untuk mengkodekan data input mejadi data bilangan

·
ALU

Adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)
 
 
 
 
 
ALGORITMA PEMROGAMAN I
Dosen : pa aji
 
32 KEYWORD BAHASA C !!
 
  Auto: Keyword "auto" digunakan untuk membuat variabel lokal. Namun demikian keyword ini jarang dipakai.

  Break: Keyword "break" digunakan untuk keluar dari do, for atau loop while dengan melewati kondisi loop yang normal.. Keyword ini juga digunakan untuk keluar dari perintah "switch".

  Switch : Perintah "switch" adalah bagian dari beberapa perintah yang ada pada C. Perintah ini igunakan untuk pembuatan rute satu dengan beberapa cara yang berbeda. Berikut ini dalah bentuk yang biasa dibentuk dipakai pada perintah "switch". Tiap keberhasilan erintah dapat berasal dari satu perintah sampai beberapa perintah, panjang porsi default" dapat dipakai. "switch" akan bekerja dengan pengontrolan "control-var" terhadap konstanta. Jika telah diketemukan suatu keserasian, maka pelaksanaan perintah tersebut akan berhasil. Jika urutan perintah yang berhubungan dengan "case" yang sesuai dengan nilai dari "control-var" yang tidak berisi "break", maka suatu eksekusi perintah akan berlanjut pada "case" berikutnya. Letakkan secara berbeda, mulai dari tempat yang sesuai, maka eksekusi akan terus berjalan sampai perintah "break" ditemukan, atau "switch" berakhir. Jika tidak ditemukan keserasian "case default" maka perintah tidak akan berhasil dilaksanakan. Hal ini akan menyebabkan tidak ada aksi yang berlangsung.

  Case: Lihat pada "switch".

  Char: Keyword "char" adalah tipe data yang digunakan untuk membuat karakter variasi

  Const: Coonst berasal dari kata “constant” Modifier "const" akan mengatakan pada compiler ahwa variabel yang mengikuti tidak dapat dimodifikasi. Namun demikian saat ideklarasikan variabe "const" dapat diberi nilai awal

  Continue: Keyword "continue" digunakan untuk menyediakan porsi code pada suatu loop dan memaksa "conditional test" untuk ditampilkan.

  Default: keyword "default" digunakan pada perintah "switch" yang memberi tanda default block ari code yang akan dibuat jika tidak ada kecocokan pada "switch".\

  Do: Loop "do" adalah salah satu dari tiga konstruksi loop yang ada pada C.Jika hanya satu perintah yang diulang, maka tanda kurung tidak diperlukan. Tanda kurung disini hanya memperjelas suatu perintah. Loop "do" adalah satu-satunya loop dalam C yang selalu minimal satu iterasi, sebab suatu kondisi akan diuji pada bagian bawah loop. Loop "do", biasanya dipakai untuk membaca file disk

  Double: "double" adalah suatu penentu tipe data yang digunakan untuk membuat "double- precision" variabel "floating-point".

  If: Adalah suatu fungsi yang mendeklarasikan sebuah persyaratan. Jika persyaratan itu tidak terpenuhi maka perintah tidak akan dijalankan atau menjalankan perintah “else”

  else: Adalah suatu fungsi yang digunakan sebagai alternatif dalam fungsi “if”

  Enum: Secifier tipe "enum" digunakan untuk membuat tipe enumerasi (enumera-tion). Enumerasi adalah suatu daftar yang sederhana dari konstanta integer yang diberi nama. Oleh sebab itu, tipe enumerasi ini menentukan apa yang dibandingkan dalam daftar tersebut.

  Extern: "extern" adalah tipe data modifier yang digunakan untuk memberitahu com­piler bahwa suatu variabel telah dibuat di lain tempat di dalam program. Tipe ini sering digunakan pada kata penghubung dengan susunan file terpisah yang memperlakukan data global yang sama serta digabungkan bersama. Pada dasarnya, "extern" ini memberitahu compiler tentang tipe variabel tanpa harus membuat variabel itu sendiri.

  Float: “float" adalah tipe data specifier yang digunakan untuk membuat variabel floating-point.

  For : Loop "for" memungkinkan pemberian huruf awal dan kenaikan secara otomatis dari variabel counter.

  Goto: Keyword "goto" akan menyebabkan pembuatan program "melompat" pada label yang ditentukan dengan perintah "goto"

  int: "int" adalah tipe specifier yang digunakan untuk membuat variabel integer.

  Long: "long" adalah tipe data modifier yang digunakan untuk membuat variabel integer menjadi "double-length".

  Register: "register" adalah modifier tempat penyimpanan yang digunakan untuk meminta agar suatu pemasukan pada variabel dioptimalkan kecepatannya. Secara tradisional, "register" hanya dapat digunakan pada variabel integer dan karakter, "register" tersebut menyebabkan variabel-variabel tersebut disimpan dalam register CPU sebagai pengganti dari ditempatkannya pada memori. Standar ANSIC telah diperluas definisinya agar dapat memasukkan semua tipe data. Namun demikian data selain integer dan karakter, biasanya tak dapat disimpan dalam CPU register. Untuk tipe data yang lain, baik berupa cache memory (atau semacam jenis peng-optimal-an scheme) akan dipakai yang kemudian meminta "register" untuk disimpan."register" hanya dapat digunakan pada variabel lokal.

  Return: Perintah "return" akan memaksa suatu pengembalian dari fungsi dan dapat digunakan untuk mentransfer kembali suatu angka pada rutin pemanggilan.

  Short: "short" adalah modifier tipe data yang digunakan untuk mendeklarasikan integer pendek.

  Signed: Tipe modifier "signed" digunakan untuk menentukan suatu tipe data "signec char".

  Sizeof: Operator pengaturan waktu "sizeof' akan mengembalikan panjang variabeL tipe yang mendahuluinya. Jika yang mendahului adalah suatu variabel maka tanda kurung bersifat optional (boleh dipakai)

  Static: Type data modifier "static" digunakan untuk menyuruh compiler agar membuat tempat penyimpanan yang permanen untuk variabel lokal yang mendahuluinya. Hal ini memungkinkan suatu variabel yang telah ditentukan mempertahankan nilainya antara panggilan fungsi.

  Struct: Keyword "struct" digunakan untuk membuat variabel komplek atau konglomerat, yang disebut "structure", yang terbuat dari satu elemen atau lebih

  Typedef: keyword typedef berguna untuk membuat alias dari suatu tipe data

  Union: Union digunakan untuk menunjukkan dua variabel atau lebih pada lokasi memori yang sama.

  Unsigned: "unsigned" adalah tipe data modifier yang memerintahkan compiler untul< menghapus tanda bit dari suatu integer dan menggunakan seluruh bit untuk keperluar arithmetic. Hal semacam ini menyebabkan ukuran integer terbesar menjadi dobel tapi hanya terbatas pada angka-angka positif saja.

  Void: Tipe specifier "void" pada pokoknya digunakan untuk secara jelas mendeklarasikan fungsi yang tidak mengembalikan suatu nilai (dalam arti penuh), tipe ini juga digunakan untuk membuat pointer "void" (pointer pada "void"), yaitu pointer generic yang dapat menunjukkan beberapa tipe object.

  Volatile: Modifier "volatile" digunakan untuk memberitahu Compiler bahwa suatu variabel mungkin telah mempunyai suatu isi yang telah dipilih dengan cara yang tidak ditentukan oleh suatu program. Contoh, variabel-variabel yang diubah dengan hardware seperti "realtime clock", 'Interrupt" atau input-input yang lain, harus dinyatakan sebagai volatile.

  While: Adalah suatu loop. Jika suatu perintah tunggal adalah object dari "while", maka tanda kurung dapat dihilangkan, "while" akan menguji kondisinya pada bagian atas suatu loop. Oleh sebab itu jika kondisinya salah untuk memulai,maka loop tidak akan berjalan, meskipun hanya sekali. Kondisi tersebut mungkin dapat berupa suatu ekspresi. 

Prioritas Operator dalam Programming C

            dalam bahasa C terdapat operator yang prioritas untuk melakukan pengerjaan dalam program, yang mempunyai prioritas tinggi akan lebih diutamakan dibandingkan dengan yang mempunyai prioritas lebih rendah
Tertinggi ++  --
              -    (unary minus)
              * / %

terendah + -

jika operator memiliki prioritas sama. operator yang terletak disebelah kiri akan diutaman untuk dikerjakan terlebih dahulu contohnya:
(1)  x = 2 + 3 * 2;
pernyataan ini akan memberikan nilai 8 kepada x, disebabkan 3 * 2 yang dikerjakan terlebih dahulu ( karena * mempunyai prioritas lebih tinggi dari pada +), pernyataan diatas identik dengan
     x = 2 + (3*2);
(2) x = 2 * 3 % 2;
operator * dan % mempunyai prioritas yang sama namun karena yang terletak disebelah kiri adalah *, maka 2 * 3 akan dikerjakan terlebih dahulu, dengan demikian pernyataan ini identik dengan
x = (2 * 3) % 2;
untuk mengubah pengerjaan tanda kurung bisa digunakan contoh
x = (2 + 3) * 2;
akan memberi nilai 10 kepada x karena 2 + 3 dikerjakan terlebih dahulu dan hasilnya baru dikalikan dengan 2.

Operator dalam Bahasa C

            Sebelum mengenal operator, kita harus tahu apa itu operasi. Operasi adalah suatu proses yang dikerjakan oleh program untuk melakukan tindakan tertentu pada suatu nilai. Operasi selalu melibatkan operand dan operator. Operand adalah suatu nilai yang dioperasikan sedangkan operator sebagai pelaku operasi tersebut. Yang akan coba aku jelaskan di sini adalah mengenai operator dalam bahasa C.
            Operator dalam bahasa C memiliki hirarki (tingkatan) prioritas di pengerjaannya dalam sebuah program. Aku akan jelaskan mulai dari hirarki tertinggi. Artinya mulai dari operator yang paling diprioritaskan oleh program.

1. Operator Tanda Kurung => ( )
Operator ini mengelompokkan proses operasi yang dikerjakan terlebih dahulu. Sama halnya dengan tanda kurung pada operasi matematika biasa. Namun berbeda dengan kurung siku ([ ]), kurung siku digunakan untuk menyatakan array.

2. Operator Unary => !, ~, -, ++, --, &, *
! : Operasi negasi (kebalikan).
~ : Negasi pada bitwise (berhubungan dengan bilangan biner).
- : Menyatakan nilai negatif.
++ : Increment (penambahan). Operand ditambah dengan angka 1.
-- : Decrement (pengurangan). Operand dikurang dengan angka 1.
& : Digunakan untuk mengetahui alamat memori suatu variabel.
* : Digunakan untuk mengetahui nilai suatu pointer pada alamat memori.

3. Operator Aritmatika => *, /, %, +, -
* : Digunakan untuk operasi perkalian.
/ : Digunakan untuk operasi pembagian.
+ : Digunakan untuk operasi penjumlahan.
- : Digunakan untuk operasi pengurangan.
% : Digunakan untuk operasi modulus (sisa pembagian).

4. Operator Bitwise => >>, << Operator ini digunakan untuk memanipulasi nilai bit. Contoh: 9>>2 hasilnya adalah 2. Bagaimana bisa begitu? Mari kita lihat pengoperasiannya dalam bilangan biner.

9 => 0000000000001001
9>>2 maksudnya nilai biner pada angka 9 digeser 2 digit ke kanan.

2 digit 0 ditambahkan di sebelah kiri (00)=> 00000000000010(01) => 2 digit sebelah kanan dihilangkan ,hasilnya: 0000000000000010 => ini adalah angka biner dari 2
Jika kamu bingung, mungkin kamu perlu belajar cara mengkonversikan angka desimal ke biner dan sebaliknya.

5. Operator Perbandingan => >, <, >=, <= Operator ini berhubungan dengan penentuan nilai TRUE dan FALSE. > : lebih besar dari
< : lebih kecil dari >= : lebih besar dari atau sama dengan
<= : lebih kecil dari atau sama dengan
6. Operator Persamaan dan pertidaksamaan => ==, !=
Operator ini juga berhubungan dengan penentuan nilai TRUE dan FALSE
== : sama dengan
!= : tidak sama dengan

7. Operator Logika => &&, ||
Operator ini digunakan dalam pengkondisian/if.
&& : and (dan)
|| : or (atau)

8. Operator Assigment
= : sama dengan
*= : nilai operand 1 di awal dikalikan dengan nilai operand 2
+= : nilai operand 1 di awal dijumlahkan dengan nilai operand 2
-= : nilai operand 1 di awal dikurangi dengan nilai operand 2

Biar ga bingung akan coba kuberi contoh:
Misalnya dalam program kita menginisialisasikan variabel a=7. Ini artinya variabel a diisi dengan angka 7.
int a=7; => Ini berarti variabel a sekarang bernilai 7.
a*=2; => Operasi ini sama halnya dengan operasi a=a*2. Cara mengoperasikannya adalah a=7*2. Jadi nilai a sekarang adalah 14.

























PENGANTAR SISTEM DAN TEKNOLOGI INFORMASI

MACHINE CYCLE ( SIKLUS MESIN ) :


Fetch :
            Arti kata fetch dalam bahasa Indonesia adalah menjemput. Sebagai salah satu operasi yang terjadi pada CPU, fetch merupakan peristiwa pengambilan perintah dan data yang diperlukan.
            Fetch merupakan proses mengambil atau membawa instruksi dari memori utama ke CPU. Istilah fetch ini disebut juga dengan instruction fetch, fetch phase, fetch cycle, atau instruction cycle. Operasi fetch ini selalu yang pertama dilakukan oleh CPU terutama untuk mendapatkan informasi atau data tentang instruksi yang dikerjakannya.

Pertama kali yang dilakukan mengambil instruksi dan data dari luar chip, biasanya dari DRAM. Misalnya perintah matematika sederhana untuk penambahan bilangan. Dalam beberapa kasus, data yang digunakan oleh suatu instruksi sudah termasuk di dalamnya, sedangkan dalam beberapa kasus lain, suatu instruksi langsung menunjukkan alamat dimana data yang akan diproses berada. Lokasi dimana alamat data yang akan diproses berada tersebut dengan address. Jadi dalam perintah penambahan, yaitu “add” bisa langsung berupa nilai dari dua bilangan yang akan ditambahkan atau alamat dimana nilai x dan nilai y berada, yang disebut dengan address x dan address y.

Sebuah instruksi sebenarnya terdiri dari dua bagian, dimana bagian pertama merupakan aksi yang akan dijalankan yang disebut dengan opcode, dan bagian kedua adalah data yang akan dikerjakan yang disebut dengan operand. Dalam contoh instruksi matematika untuk penambahan bilangan tadi, penambahan sendiri instruksinya adalah add, inilah yang disebut dengan opcode. Sedangkan address yang menunjukkan alamat dari nilai x dan nilai y, yang disebut dengan address x dan address y disebut dengan operand.

Fetch adalah rangkaian aksi yang terjadi pada sebuah CPU dalam menjalankan setiap perintah dalam bahasa mesin pada sebuah program.

Yang terjadi pada fetch ini adalah peristiwa pengambilan instruksi melalui bus yang ditunjukkan oleh bus address. Ketika bus address menunjukkan alamatnya, maka instruksi diambil berdasarkan alamat tersebut, sedangkan instruksinya dikirimkan melalui bus data.

Decode :
            Menurut Saya pak Dwi, begini Decode dianggap berkaitan erat dengan pengertian berikut Pembacaan sandi. Adalah suatu metoda pembacaan suatu data yang telah dikirimkan dalam bentuk sandi, kemudian diterjemahkan kembali ke dalam bentuk data aslinya.

Pada CPU, merupakan salah satu langkah dalam menjalankan instruksi yang akan dijalankan oleh komputer pada CPU. Ketika CPU telah mendapatkan instruksinya melalui fetch, maka pelaksanaan berikutnya adalah pada bagian decode ini yang berfungsi untuk menganalisa instruksi yang akan dijalankan, terutama untuk menentukan bagian chip mana pada CPU yang akan digunakan untuk memproses instruksi tersebut.

Beberapa chip akan melihat melihat bagaimana suatu instruksi dapat dilakukan seefisien mungkin. Begitu juga ketika sebuah instruksi yang didapatkan tidak langsung memberikan data aktualnya, melainkan alamat dimana data tersebut berada, maka chip tersebut akan melakukan proses pengambilan dimana data tersebut berada.

Execute :
            Execute, Eksekusi. Instruksi menjalankan program yang telah dikompilasi oleh komputer. Eksekusi Program yang berarti sistem operasi memiliki kemampuan untuk menjalankan program dengan mengambil instruksi beserta data yang diperlukan oleh program tersebut, lalu menempatkannya pada memori, dan melaksanakan perintah yang ada pada program

Store :
            Merupakan salah satu tahapan untuk melaksanakan suatu perintah pada CPU. Perintah yang diberikan ke komputer tidak hanya bagaimana perintah itu dilaksanakan oleh komputer, melainkan juga kemana hasil perintah tersebut ditempatkan.
Jika sebuah instruksi bersifat iterative, sebagai contoh penambahan dua bilangan, kemudian tambahkan lagi bilangan lainnya ke jumlah yang sebelumnya. Di sini, instruksi akan memberitahu CPU untuk menempatkan hasil penamabahan yang pertama dalam sebuah tempat khusus sementara yang terdapat pada chip yang disebut dengan register, sampai data tersebut dibutuhkan kembali. Karena register ini berlokasi pada satu chip dengan rangkaian ALU, maka proses pengambilan data kembali akan berlangsung sangat cepat. Sedangkan sebagai alternatif, jika data tersebut tidak digunakan segera maka data akan disimpan di memori (pemanggilan data cepat) atau pada disk (pemanggilan data sangat lambat).

Communication device :

v  Communications Device: Hardware yang tersambung dengan chanel komunikasi ke RSView32 station.

v  Communications Channel: Link yang mengirim data antara RSView32 station dan satu atau lebih prosessor pada sebuah jaringan.

v  Node: Physical device, seperti processor, bridge module, atau komputer, pada sebuah jaringan komunikasi.

v  Communications Driver: Software interface untuk hardware device yang mengenable RSView32 station, atau komputer yang menjalankan RSView32 project, untuk berkomunikasi dengan SLC 500 processor.

v  RSView32 software menggunakan RSLinx communications driver untuk berkomunikasi dengan devices yang lain pada jaringan melalui koneksi berikut:

1.      Direct: Digunakan untuk menghubungkan RSView32 station ke SLC 500 processor pada network yang sama.

2.      OLE for Process Control (OPC): Digunakan untuk menghubungkan RSView32 station ke communications devices melalui vendor-specific OPC servers.

3.      Dynamic Data Exchange (DDE): Digunakan untuk menghubungkan RSView32 station ke communications devices via external DDE servers atau third-party servers yang lain.

FAKTOR PENENTU KEMAMPUAN PROSESOR :

* Sytem Clock

jam sistem
            n 1: a waktu dari jam-jam di sebuah sistem komputer
2: sebuah perangkat elektronik di komputer yang isu-isu yang stabil
tinggi frekuensi sinyal yang synchronizes semua internal
komponen

* Bus Width
            bus adalah saluran di mana arus informasi. Semakin lebar bus, semakin banyak informasi yang dapat mengalir melalui saluran, seperti halnya jalan raya yang lebih luas dapat membawa mobil lebih dari satu sempit. Bus ISA asli pada PC IBM adalah 8 bit luas; ISA bus universal digunakan sekarang adalah 16 bit. Lain I / O bus (termasuk VLB dan PCI) adalah 32 bit. Bus memori dan prosesor pada Pentium dan PC yang lebih tinggi 64 bit. Lebar bus alamat dapat ditentukan secara independen dari lebar data bus. Lebar bus alamat menentukan berapa banyak lokasi memori yang berbeda yang bus dapat mentransfer informasi ke atau dari.

- I/O bus
Pembacaan port I/O.

- Data Bus
            Bus data. Jalur yang berfungsi untuk menyalurkan data dari suatu bagian ke bagian lainnya. Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional). CPU dapat membaca dan mengirim data dari/ke memori atau port.
Banyak perangkat pada sistem yang dicantolkan ke bus data tapi hanya satu perangkat pada satu saat yang dapat memakainya. Untuk mengatur ini, perangkat harus mempunyai tiga state (tristate) agar dapat dipasang pada bus data.

* Word Size
            Ukuran ukuran yang diinginkan Kata komputer untuk memindahkan unit informasi seputar; teknis itu lebar dari register prosesor , yang merupakan daerah memegang prosesor, gunakan untuk melakukan aritmatika dan perhitungan logis. Ketika orang menulis tentang komputer memiliki ukuran bit (menyebut mereka, berkata, "32-bit" atau "64-bit" komputer), ini adalah apa yang mereka maksud.

















32 keyword dalam C

            Ada 32 katakunci jika dikombinasikan dengan sintak formal dalam bahasa c
forma,  Bentuk Bahasa C didefinisikan oleh ANSI  C.  Sebagai  catatan ada 5
katakunci  baru yang di  kenalkan dalam compiler  C9X.  Seluruh katakunci
menggunakan   huruf   KECIL.   Dalam   C,   huruf   besar   dan   kecil   adalah
dibedakan,   missal,   katakunci  else,   adalah   berbeda   dengan  ELSE.
Katakuncinya sebagai berikut :

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

auto
auto dipakai untuk membuat variable sementara/temporere yang di ciptakan
atas entry ke dalam blok dan akan dihancurkan saat keluar program, missal :
#include <stdio.h>
#include <conio.h>
int main(void)
{
    for(; ;)
    {
        if (getche() == 'a')
        {
            auto int t;
            for (t=0; t<'a'; t++)
                printf("%d ", t);
            break;
          }
     }
    return 0;
}
Dalam contoh ini, variable t di buat hanya dalam blok if,  pengguna menekan suatu tombol huruf
.a..   Diluar  blok if,  t tidak akan diketahui  oleh program,  dan setiap diacu akan menyebabkan
wijanarto referensi 2010
error saat  kompilasi.  Penggunaan auto sifatnya  opsional  karena seluruh variable   local  adalah
berupa auto secara default.

break
break dipakai  untuk keluar  dari   loop  do,  for,  atau  while,  dalam kondisi
suatu perulangan yang normal.  Dia  juga dapat  di  pakai  untuk keluar  dari
statemen switch, contoh :
while (x < 100)
{
    x = get_new_x();
    if (kbhit()) break;     /* tombol keyboard ditekan */
    process(x);
}
saat   ada   penekanan   tombol   keyboard,  loop  akan   selesai   tidak   peduli
terhadap   nilai   x   berapa.  Dalam  statemen  switch,   break  secara  efective
menjaga eksekusi program dari pembacaan case selanjutnya.

case
Lihat bagian switch.

char
char merupakan tipe data variable karakters. Missal  untuk mendeklarasikan ch sebagai tpe
karakter adalah sebagai berikut :
char ch;
Dalam C,suatu karakter  mempunyai   lebar  1 byte.  Artinya  jika anda akan
mengassign   variable   bertipe   char   yang   lebih   dari   1   byte   ,  maka   hanya
karakter pertama yang akan di assign dan sisanya tidak dipakai.

const
Peubah const menmberi tahukan pada compiler bahwa isi dari variable tidak dapat berubah. Juga
menjaga   suatu   fungsi   untuk  memodifikasi   object   yang   ditunjuk   ke   suatu   argument,   cara
deklarasinya adalah :
const int pass = 65;

continue
continue  dipakai   untuk  mengirimkan   bagian   dari   kode   dalam  loop   dan
memaksa ekspresi kondisional untuk di  evaluasi.  Missal contoh dibawah  ini
akan memaca karakter dari keyboard hanya untuk karakter  M atau F :
wijanarto referensi 2010
#include <stdio.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
int main(void)
{
    char gender;
    while (gender = getche())
    {
        gender = toupper(gender);
        if (gender != 'M' && gender != 'F' )
        {
            printf("Incorrect gender, please type again\n");
            continue;
        }
    break;
    }
    return 0;
}

default
default  dipakai  dalam statemen switch untuk member sinyal  bahwa blok
default akan di eksekusi jika tidak ada statemen yang benar dalam kondisi
switch. Lihat bagian switch.

do
loop do adalah salah satu dari 3 loop yang ada dalam bahasa C. Bentuk umum dari loop  adalah :
do
{
     statement block
} while (condition);
Jika hanya satu statemen, maka kurung kurawal boleh tidak dipakai, loop ini
akan mengulang selama kondisi bernilai benar. Loop   do merupakan salah
satu loop dalam C yang selalu setidaknya mengeksekusi satu iterasi karena
kondisi di periksa di bawah loop. Loop ini biasa dipakai dalam membaca file
dari disk, seperti contoh dibawah ini :
do
{
    ch = getc(fp);
    if (!eof(fp)) printf("%c", ch);
}while (!eof(fp));

double
double merupakan tipe data untuk mendeklarasikan vaiabel dengan double-
precision floating-point. Biasa dipakai dalam perhitungan matematika. Untuk
mendeklarasikan   d menjadi bertipe double kita harus menulis kode seperti
berikut :
double d;

else
Lihat bagian if.

enum
enum  merupakan   type   specifier   yang   dipakai   dalam  enumerasi.   Suatu
enumerasi merupakan daftar dari suatu nama konstan integer. Contoh, kode
mendeklarasikan enumerasi warna yang terdiri dari konstan 3   red,  green,
dan yellow:
#include <stdio.h>
enum color {red, green, yellow};
enum color c;
int main(void)
{
    c = red;
    if (c==red) printf("is red\n");
    return 0;
}

extern
Tipe   data   modifikasi  extern  menyatakan   kepada   compiler   yang
mendefinisikan variable yang diletakan dimanapun dalam program. Sering di
pakai  dalam konjungsi dengan file yang terkompilasi secara terpisah, yang
dapat berbagi seperti data global dan di-linked-kan bersama-sama. Contoh,
jika  first  dideklarasikan dalam  file  lain sebagai   integer,  dan akan dipakai
dalam file lainnya, seperti terliat dalam contoh :
extern int first;

float
float adalah tipe data yang di pakai untuk mendefinisikan variable   floating
point, contoh :
float f;

for
Loop  for mengijinkan  inisialisasi  secara otomatis dari   instrument  variable
counter, bentuk umumnya adalah :
for (initialization; condition; increment)
{
    statement block
}
Jika   statemen   hanya   terdiri   dari   satu,  maka   kurung   kurawal   boleh   tidak
dipakai.   Walaupun  for  mengijinkan   sejumlah   variasi,   secara   umum
inisialisasi   biasanya   dipakai   sebagai   counter   pada   variable   yang   akan
mengawali   suatu   loop.   Secara   umum  kondisi   berupa   pernyataan   yang
berhubungan  untuk memeriksa  variable  counter  apakah  sudah mencapai
terminasi  atau belum,   sedangkan  increment  akan menaikan nilai   counter
setiap iterasinya. Loop akan di ulangi  hingga kondisi  bernilai  salah,  contoh
untuk mencetak hello sebanyak 10 kali :
for (t=0; t<10; t++) printf("Hello\n");

goto
goto  menyebabkan   eksekusi   program melompat   ke   suatu   label   dalam
statemen goto, perhatikan conroh berikut :
goto label;
..
..
..
label;
Semua  label  harus berakhir dengan tanda colon dan  tidak memuat konflik
dengan katakunci lainnya atau nama fungsi , contoh :
goto   lab1;
    printf("wrong");
labl1:
    printf("right");
if
Secara umum bentuk statemen if adalah :
if (condition)
{
wijanarto referensi 2010
    statement block 1
}
else
{
    statement block 2
}
If dengan statemen tungga boleh tidak memakai tanda kurung kurawal. else
merupakan optional. Kondisi boleh berupa ekspresi. Jika ekspresi dievaluasi
ke nilai selain dari  0,  maka blok statemen 1 akan dieksekusi; selain itu, jika
ada, bok statemen 2 akan di eksekusi, contoh :
ch = getche();
if (ch == 'q')
{
    printf("Program Terminated");
    exit(0);
}
else proceed();

int
int  merupakan   tipe   data   untuk  mendeklarasikan   suatu   variable   integer,
contoh :
int count;

long
long  merupakan   tipe   data   modifier   yang   biasa   di   pakai   untuk
mendeklarasikan suatu  variable long integer dan long double, cotoh :
long int count;

register
register  merpakan  modifier   yang   diperlukan   untuk   suatu   variable   yang
diurutkan   yang mengijinkan akses terhadapnya secara cepat. Dalam kasus
suatu karakter atau integer dia biasa diartikan ke register, contoh :
register int i;

return
Statemen  return memaksa kembali  dari  suatu  fungsi  dan dapat  di  pakai
untuk mentransfer nilai ke rutin yang memanggilnya, contoh :
wijanarto referensi 2010
int mul(int a, int b)
{
return a*b;
}
short
short  merupakan  tipe   data   untuk  modifier   dan  di   pakai   dalam  variable
bertipe small integers, contoh :
short int sh;

signed
signed  merupakan   type  modifier   yang   tidak   umum  di   pakai   untk   data
seperti, signed char.

sizeof
sizeof  merupakan   katakunci   diaman   dia   uga  merupakan   compile-time
operator   yang  mengembalikan   panjang   dari   variable   atau   tipe   precede,
missal :
printf("%d", sizeof(short int));
akan mencetak 2 untuk implementasi dalam bahasa C
statemen sizeof secara prinsip dipakai untuk menolong untuk mengenerate
kode secara portable saat kode tergantung pada ukuran tipe data   built-in
data types.

static
Kata kunci static dipakai untuk mendeklrasikan tpe data yang menyebablan
keyboard   dalam   tipe   data   di   modifikasi   yang   menyebabkan   compiler
membuat storage permanen untuk variable, contoh :
static int last_time;
static dapat     juga di  pakai  sebagai  variable global  yang  terbatas dengan
skop pada file yang di deklarasikan.

struct
Statemen  struct  dipakai   untuk   memebuat   tipe   data   agregat,   disebut
struktur karena dapat memiliki  anggota,  contoh  formatnya adalah sebagai
berikut :
wijanarto referensi 2010
struct struct-name
{
    type member1;
    type member2;
    ..
    ..
    ..
    type member N;
} variable-list;
Untuk mengacu dapat dipakai operator tanda panah (->) atau titik (.) .

switch
Statemen switch merupakan statemen multi kondisi dalam C, yang doipakai
untuk merute kondisi yang jumlahnya banyak, seperti pada contoh berikut :
switch(int-expression)
{
    case constant1: statement-set 1;
        break;
    case constant2: statement-set 2;
        break;
    ..
    ..
    ..
    case constantN: statement-set N;
        break;
    default: default-statements;
}
EaTiap   statemen  mungkin   terdiri   dari   satu   atau   lebih   statemen.   Bagian
default  merupakan   optional.   Ekspresi   akan  mengendalikan  switch  dan
seluruh konstan case harus berupa tipe integral atau character.
switch  dapat   bekerja   dengan  memeriksa   nilai   int-expression   terhadap
constant.   Jika   ditemukan   dengan   segera,  maka   statemen   di   bawahnya
dikerjakan.   Statemen  break   menyebabkan   pencarian   terhadap   konstan
case lainnya, perhatikan contoh dibawah ini :
ch = getche();
switch(ch)
{
    case 'e': enter();
        break;
    case '1': list();
wijanarto referensi 2010
        break;
    case 's': sort();
        break;
    case 'q' : exit(0);
        break;
    default: printf("Unknown Command\n");
        printf("Try Again\n");
}

typedef
typedef  suatu  pernyataan  yang mengijinkan  kita  untuk  membuat   nama
baru dari tipe data yang sudah ada :
typedef type-specifier new-name;
typedef float balance;

union
union membuat tipe aggregate   dalam 2 atau  lebih variable yang berbagi
pada   lokasi  memori   yang   sama.   Bentuk   deklarasi   dan   cara  mengakses
anggota sama dengan struct.
union union-name
{
    type member1;
    type member2;
    ..
    ..
    ..
    type memberN;
} variable-list;

unsigned
unsigned  adalah   peubah   tipe   yang  mengatakan   pada   compiler   untuk
membuat variable menangani  hanya nilai   tipe unsigned  (bilangan positive
misalnya). 
unsigned int big;

void
void  merupakan   peubah   tipe   yang   utamanya   di   pakai   untuk
mendeklarasikan fungsi  void  (fungsi yang tidak mengembalikan   nilai). Dia
juga dapat  dipakai  untuk membuat    void pointers  (pointer  ke  void)  yang
secara   generic   pointer   dapat  menunjuk   ke   tipa   apapun   dari   object   dan
menspesifikasikan daftar parameter kosong.

volatile
volatile  merupakan   peubah   yang   mengatakan   pada   compiler   bahwa
variable   konstan  mungkin   akan   di   ubah   dengan   cara   implicit   yang   di
definisikan dalam program.  Variabel  yang dirubah oleh hardware,  seperti
real-time clocks, interrupts, atau input lainnya.

while
Merupakan bentuk perulangan seperti di bawah ini :
while(condition)
{
    statement block
}
jika  terdapat   statement   tunggal  yang merupakan  satu object  dari  while,
boleh tidak memakai  tanda kurung kurawal.  Loop akan mengulang selama
kondisi  bernilai benar.  Statemen while akan memeriksa kondisinya di  awal
loop.  Dengan demikian,   jika kondisi  bernilai  salah saat memulainya,  maka
loop tidak akan mengeksekusi seluruh statemen didalamnya. Kondisi dapat
berupa suatu ekspresi, contoh :
t = 0;
while(!feof(fp))
{
    s[t] = getc(fp);
}

Tidak ada komentar:

Posting Komentar