Cari Blog Ini

Rabu, 12 Oktober 2016

TEKNOLOGI INFORMASI DAN PERANGKAT KERAS KOMPUTER


Pengantar
Pada kesempatan kali ini aku mau post tentang Teknologi Informasi dan Perangkat Keras Komputer. Disini aku akan bahasa tentang apa sih itu komputer, perangkat keras, kategori komputer, komponen dan konsep dasar komputer dan banyak lagi informasi yang aku bagikan di blog ini. Baiklah langsung saja ke penjelasan apa sih itu komputer ? Komputer adalah alat bantu untuk mengelola masalah komputasi dari komponen yang saling berhubungan yang mempunyai fungsi tertentu dalam mengelola informasi.
Ketika kita berbicara tentang komputer tidak lepas dari perangkat keras yang paling dekat dengan kita selain daripada komputer terdapat juga laptop, pc, dan smartphone untuk saat ini selalu kita jadikan panutan terutama seseorang yang bergelut di dunia teknologi dan komputering.

Kategori Komputer :
1. Mainframe
Mainframe Computer
Mainframe adalah komputer berukuran besar sekitar besar lemari pakaian, mempunyai memori sangat besar dan kemampuan pemorosesan yang sangat cerdas. Kenapa mengunakan mainframe ?

·         Cakupannya luas dan terhubung dengan jaringan internet yang baik dengan OS/390,
·         Tidak mempunyai banyak client sehingga client dapat leluasa,
·         Penghematan ukuran, energi dan perawatan.


2. Midrange
Midranger Computer

Midrange sering juga disebut server tetapi berbentuk pc, komputer berukuran lebih kecil ini baik dalam hal harga maupun kemampuannya yang mendukung daripada mainframe. Bekerja mengunakan linux dan windows server.

3.Komputer Mikro
Komputer Mikro
Komputer mikro adalah komputer yang layaknya kita gunakan sekarang atau yang sering kita sebut dengan PC atau Personal Computer. Merupakan komputer yang dapat ditempatkan diatas meja(dekstop) atau dipindahkan dari satu ruang ke ruang yang lain(portable). Komputer mikro dibagi berdasarkan :
1)      Berdasarkan tujuan penggunaanya : Laptop, notebook, desktop, portable.
2)      Berdasarkan pemanfaatanya : .komputer rumah, komputer pribadi, dan sistem multiguna.

4.Super Komputer
Super Computer

Super komputer berkemampuan sangat besar dan canggih yang digunakan untuk tugas yang memerlukan kalkulasi sangat kompleks dan cepat dengan ratuasan ribu faktor variabel.


Konsep dan Komponen Sistem Komputer

1.      Input :
Input Device adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer. Alat-alatnya adalah :
1)      Keyboard
2)      Pointing Device 
3)      Mouse 
4)      Touch screen
5)      Digitizer Grapich Tablet
6)      Scanner
7)      Microphone

2.      Output :
Output Device adalah perangkat keras komputer yang erfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke ertas), soft-copy (ke monitor), ataupun berupa suara. latnya antara lain adalah :
1)      Monitor
2)      Printer 
3)      Speaker


Central Processing Unit (CPU)
adalah komponen perangkat keras dalam komputer yang terdiri dari penyimpanan primer dan pemroses utama yang terdiri dari aritmaic logic unit dan control unit. berperanan untuk memproses arahan, melaksanakan pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau peranti pemprosesan juga akan berkomunikasidengan peranti input , output dan storan bagi melaksanakan arahan-arahan berkaitan.
1.      ALU (Arithmatic and Logic Unit)
ALU merupakan bagian pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan operasi-operasi aritmatika dan logika sesuai dengan instruksi yang diberikan. ALU juga merupakan salah satu bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik yang membuatnya mampu melaksanakan operasi aritmatika dan logika. Ia mengeksekusi instruksi dan melakukan perhitungan (tambah, kali, kurang, dan bagi) dan perbandingan. ALU bekerja dengan register yang berbeda untuk menyimpan data atau informasi tentang tindakan terakhir yang dilakukan oleh unit logika. ALU mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari rangkaian logika pada ALU adalah gerbanggerbang logika AND, OR, XOR, dan NOT yang dihubungkan pada multiplexer. Selain itu juga terdapat juga operasi shifter yang komponen dasarnya adalah multiplexer. Komponen ALU mendapatkan masukan data dari register dan sinyal kontrol dari CU. Untuk operasi ALU dengan dua masukan, diperlukan dua register 8-bit: ACC (accumulator) untuk masukan pertama dan temp (register sementara) untuk masukan kedua. Hasil dari operasi ALU ini adalah data 8-bit yang kemudian diteruskan ke register untuk menyimpan hasil operasi ini. Selain itu juga dihasilkan flag atau bit status. Flag ini akan diteruskan ke register yang menyimpan flag hasil dari operasi ALU. Untuk mempercepat pemrosesan data di dalam prosesor, selain CU dan ALU, prosesor juga membutuhkan memori dengan kecepatan yang sama dengan prosesor. Memori khusus yang diimplementasikan pada prosesor ini disebut register. Komponen utama penyusun register adalah flip-flop.

2.      CU (Control Unit)
adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan / kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic
yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Dimana fungsinya sebagai berikut :
1.      Mengatur dan mengendalikan alat-alat input dan output.
2.      Mengambil instruksi-instruksi dari memori utama.
3.      Mengambil data dari memori utama kalau diperlukan oleh proses.
4.      Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.      Menyimpan hasil proses ke memori utama.


3.      RAM ( Random Access Memory )
Untuk menyimpan program yang kita olah untuk sementara waktu. Dapat diakses secara acak ( dapat diisi/ditulis, diambil, atau dihapus isinya ). Struktur RAM terbagi menjadi empat bagian utama, yaitu:

i.  Input Storage Digunakan untuk menampung input yang dimasukkan melalui alat input.

ii. Program Storage Digunakan untuk menyimpan semua instruksi-instruksi program yang akan diakses.

iii. Working Storage Digunakan untuk menyimpan data yang akan diolah dan hasil pengolahan.

iv. Output Storge Digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan ke alat output.

4.      ROM ( Read Only Memori )
Memori yang hanya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan. Hanya dapat dibaca, tidak bisa mengisi sesuatu ke dalam ROM, sudah diisi oleh pabrik pembuatnya. Berupa sistem operasi yg terdiri dari program pokok, seperti program untuk mengatur penampilan karakter di layar, pengisian tombol kunci papan ketik untuk keperluan kontrol tertentu, dan bootstrap program. Program bootstrap diperlukan pada saat pertama kali sistem komputer diaktifkan (booting), yang dapat berupa  cold booting atau  warm booting.

5.      PROM (Programmable Read Only Memory), yang hanya dapat diprogram satu kali.

6.      EEPROM (Electrically Erasable Programmable Read Only Memory),  dapat dihapus secara elektronik dan dapat diprogram kembali.

7.      Adress.


Tentang Swap
Fungsi swap adalah fungsi yang digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting). Pada pemrograman C++, fungsi ini sudah tersedia dengan fleksibilitas yang tinggi. Artinya bisa digunakan untuk menukar dua buah nilai dengan tipe data yang bermacam-macam. Walaupun sudah tersedia dan tinggal pakai, tidak ada salahnya kita belajar bersama-sama bagaimana membuat fungsi ini. Contoh penggunaan fungsi swap yang sudah tersedia juga akan tersedia pada source code yang diberikan.
Sekilas Tentang Pointer
Pointer sudah pernah dibahas pada tulisan, pengenalan bahasa C++ (bagian 3). Pada bagian ini akan dijelaskan secara singkat penggunaan sederhana dari pointer.
Konsep penting yang perlu diingat adalah, pointer biasanya digunakan untuk menunjuk ke variabel yang lain. Untuk itu pointer membutuhkan alamat dari variabel yang ditunjuk. Setelah mengetahui alamat, dengan menggunakan pointer kita bisa mengubah nilai dari variabel yang ditunjuk.
Kita sudah tahu bahwa untuk membuat sebuah variabel, kita perlu menentukan tipe dari variabel dan kita juga perlu memperhatikan aturan pemberian nama dari variabel tersebut. Misal kita akan membuat variabel dengan nama data dan bertipe int, maka kita dapat menulisnya sebagai berikut:

int data;

Jika kita hendak membuat pointer. Kita cukup mendambahkan tanda bintang setelah tipe data.

int* myPointer;

pada deklarasi ini, kita membuat sebuah pointer dengan nama myPointer. Pointer ini hanya bisa menunjuk ke variabel yang bertipe int.
Seperti yang sudah dijelaskan sebelumnya, untuk menunjuk sebuah variabel, pointer membutuhkan alamat dari variabel yang hendak ditunjuk. Dengan menggunakan tanda '&' kita bisa mendapatkan alamat dari sebuah variabel. Berikut ini ditunjukkan bagaimana caranya myPointer bisa menunjuk ke alamat dari data.

myPointer = &data;

Variabel sebenarnya hanya merupakan nama lain dari alamat dimemori. Kita tentu akan lebih mudah mengingat nama seperti data dari pada sebuah alamat dimemori, 0x22ff5c.
Sekarang diandaikan kita memberikan nilai 10 (sepuluh) pada variabel data

data = 10;

pernyataan tersebut sebenarnya, kita menyimpan nilai 10 ke alamat tertentu dimemori yang diwakili dengan nama data. Karena myPointer telah menunjuk ke alamat dari data, ini berarti myPointer juga menunjuk ke nilai 10.
Untuk mengakses (misal membaca) nilai yang ditunjuk oleh pointer, kita bisa menggunakan tanda '*' didepan nama dari pointer.

cout<< *myPointer ;

Keluaran dari pernyataan ini adalah angka 10 akan tercetak ke layar. Keluaran ini akan sama jika kita menampilkan nilai dari variabel data.

cout<< data;

Kita juga bisa mengubah nilai yang ditunjuk oleh pointer, seperti berikut:

*myPointer = 15;

Setelah pernyataan diatas maka keluaran dari kedua pernyataan berikut akan sama persis yaitu menampilkan angka 15.

cout << data;
cout << *myPointer;

Membuat Fungsi Swap
Untuk membuat sebuah fungsi, kita bisa memulai dengan membayangkan bagaimana caranya kita memanggil fungsi yang akan kita pakai. Sebagai contoh fungsi swap yang akan kita buat dipanggil dengan cara sebagai berikut:

int a = 5;
int b= 7;
mySwap(&a,&b);
cout << a; // harapannya tertampil 7
cout << b; // harapannya tertampil 5

berangkat dari skenario di atas, tampak bahwa fungsi swap memiliki dua buah parameter pointer dengan tipe int. Untuk itu bentuk fungsi kita kira-kira seperti berikut:

void mySwap (int* x, int* y)
{
//body dari swap
...
}

pada kasus ini kita tidak membutuhkan nilai kembalian sehingga tipe data dari return value dibuat void. Kenapa tidak butuh ? Silahkan melihat lagi skenario yang kita buat di atas.
Karena fungsi kita hendak menukarkan nilai x dan nilai y (ingat x dan y adalah pointer, sehingga kita butuh tanda * untuk mengubah nilai), maka kita membutuhkan sebuah penampung (variabel tambahan) untuk melakukan proses penukaran ini.

Buf = *x;// buf bernilai x
*x = *y; // x bernilai y
*y = buf;// y bernilai x

pada contoh diatas, penampung yang kita pakai adalah Buf. Karena Buf dipakai untuk menampung nilai bertipe int, maka Buf juga harus dideklarasikan bertipe int.

int Buf;

Dengan demikian bentuk fungsi kita selengkapnya, kira-kira seperti berikut:

void swap (int* x, int* y)
{
//body dari swap
int Buf;
Buf = *x;
*x = *y;
*y = Buf;
}

Pemanggilan fungsi dengan cara mengirimkan alamat dari variabel, dikenal dengan istilah passing parameter by reference.
Di dalam bahasa C++, diperkenalkan teknik baru untuk pengiriman parameter berupa reference dengan menggunakan tanda '&'. Dengan menggunakan teknik ini, cara pemanggilan fungsi swap bisa diskenariokan sebagai berikut:

int a = 5;
int b= 7;
swap(a,b); // perhatikan tanda & dihilangkan
cout << a;
cout << b;

Perubahan juga perlu dilakukan pada fungsi kita sebagai berikut:

void swap (int& x, int& y) //perhatikan tanda &
{
//body dari swap
int Buf;
Buf = x;// tanda * juga dihilangkan
x = y;
y = Buf;
}



Tentang Cheat Engine

Cheat Engine adalah perangkat lunak (software) open source yang dirancang untuk dapat memberikan kita jalan pintas dalam permainan/game, namun Cheat Engine ini juga memiliki berbagai alat-alat khusus untuk membantu menelusuri (debugging) permainan atau bahkan aplikasi biasa (normal). 
Cheat Engine atau yang biasa juga disebut CE adalah memory scanner atau editor hexsa yang diciptakan oleh Eric Heijen untuk sistem operasi (Operating System / OS) Windows. Cheat Engine digunakan untuk berbuat curang di berbagai game di komputer. 
Semua program tersebut mencari nilai yang dimasukkan oleh pengguna dengan pilihan yang luas, seperti “Nilai awal tidak dikenal" (Unknown Initial Value) dan "Nilai yang berkurang" (Decreased Value). Cheat Engine dapat juga membuat trainer mandiri (Standalone Trainer) yang dapat dioperasikan dengan bebas dari Cheat Engine.

Cheat Engine ini disertai dengan pengamat memori atau penyaring memori (memory scanner) untuk melakukan pengamatan (scan) terhadap variabel (variable) yang digunakan dalam permainan atau aplikasi dan membolehkan kita untuk merubah variabel tersebut, tetapi di Cheat Engine ini juga disediakan fungsi penelusuran (debugger), peretas waktu (speedhack), membongkar (disassembler), pembuatan trainer (trainer maker), alat manipulasi direct3d (direct3d manipulation tools) dan alat-alat pemeriksaan sistem (system inspection tools).

Cheat Engine dapat melihat dan membongkar memory dari suatu proses dan membuat perubahan untuk memberikan keuntungan pengguna seperti nyawa tidak terbatas, waktu atau amunisi. Cheat Engine juga memiliki alat untuk memanipulasi Direct3d dan OpenGL , yang fungsinya membolehkan pengguna untuk menembus dinding, pembesaran dan pengecilan, dan dengan penataan konfigurasi yang handal dapat mengizinkan Cheat Engine untuk menggerakan mouse untuk mendapatkan tekstur tertentu ke pusat, hal ini biasa digunakan untuk membuat Aimbots.