Minggu, 29 April 2012

Kamis, 26 April 2012

Representasi Integer

Dalam bahasa pemrograman C, kita mengenal banyak tipe data diantaranya adalah
Salah satu yang akan dibahas adalah tipe data integer.

Kamis, 19 April 2012

Evolusi Komputer

Tahapan perkembangan komputer :

a. Masa sebelum komputer
  • Abacus : 2600 SM
  • Napier's Bone
  • Pascal's Machine
  • Babbage's Engine
  • Mesin Tabulasi Kartu Plong

namespace std

Dalam pembuatan program C++, kita sering menggunakan perintah using namespace std, perintah ini digunakan untuk mendeklarasikan/ memberitahukan kepada compiler bahwa kita akan menggunakan semua fungsi/class/file yang terdapat dalam namespace std. namespace sendiri memiliki kesamaan dengan paket pada bahasa Java yang berisi pengelompokan fungsi, class dan yang sejenis. Pada C++ library- library umumnya disimpan dalam namespace std, seperti perintah cin dan cout.

TCP/IP

Kita tentunya pernah mendengar istilah OSI Layer dan TCP/IP Layer. OSI (Open System Interconnection) adalah model untuk sebuah arsitektur protokol komputer dan sebagai sebuah framework yang digunakan untuk standar mengembangkan protokol. TCP/IP (Transmission Control Protocol/Internet Protocol) yang merupakan suite protokol yang digunakan untuk mengirim data antar komputer dalam jaringan tanpa adanya batasan perangkat keras dan perangkat lunak.

Rabu, 18 April 2012

Pointer dan Array

Pointer dan array memiliki keterkaitan yang cukup erat dengan Array. Pada kenyataannya, identifier dari sebuah array equivalen dengan alamat elemen pertama pada array tersebut, seperti sebuah pointer yang equivalent dengan alamat dari elemen pertama yang ditunjuknya. Jadi sebenarnya pointer dan array memiliki konsep yang sama. Dapat dikatakan bahwa array secara internal akan diterjemahkan dalam bentuk pointer. 

Senin, 16 April 2012

Membuat Program pada Komputer IAS (Kasus)


Buatlah program pada komputer IAS, kemudian simpan program tersebut dalam memori
  1.  Kalikan data di memori alamat 0551 dengan data di memori alamat 0552
  2. Simpan hasil perkalian tersebut di memori (MSB di alamat 0556 dan LSB di alamat 0557)
  3. Jumlahkan data LSB hasil perkalian tersebut dengan isi memori alamat 0553
  4. Simpan hasil penjumlahan tersebut di alamat 0559
  5. Program Counter awal 0011
Gambarkan peta memori yang menggambarkan letak program dan data
Tuliskan instruction Life Cycle (3 siklus saja)

Jawab :

Untuk menyelesaikan kasus diatas kita mengacu pada set instruksi IAS yang ditulis pada entry sebelumnya. 

Jika dituliskan, programnya adalah sebagai berikut :

LOAD MQ , M(0551)
MUL M(0552) 
STOR M(0556) 
LOAD MQ 
STOR M(0557)
ADD M(0553) 
STOR M(0559)

Penjelasan :
  1. Pertama kali kita harus memindahkan isi data dari memori M(0551) ke MQ menggunakan perintah LOAD MQ,M(0551)
  2. Setelah itu nilai dari MQ dikalikan dengan isi data dari memori M(0552), MSB dari hasil perkalian ini disimpan di AC sedangkan LSBnya disimpan di MQ
  3. Kemudian MSB disimpan di memori M(0556), karena MSB sudah tersimpan di AC, maka kita dapat langsung memindahkan isi AC ke memori M(0556) dengan perintah STOR M(0556)
  4. Selanjutnya adalah menyimpan LSB ke memori M(0557), karena LSB berada di MQ, maka kita harus memindahkan isi dari MQ ke AC terlebih dahulu dengan menggunakan perintah LOAD MQ, kemudian menyimpannya ke memori M(0557) dengan perintah STOR M(0557)
  5. Untuk menjumlahkan LSB dengan isi memori M(0553) digunakan perintah ADD M(0553)
  6. Selanjutnya hasil penjumlahan tersebut disimpan di memori M(0559) dengan perintah STOR M(0559).
Pemetaan penggunan memorinya adalah sebagai berikut :


Instruksi
Alamat



0010
LOAD MQ,M(0551) | MUL M(0552)
0011
STOR M(0556) | LOAD MQ
0012
STOR M(0557) | ADD M(0553)
0013
STOR M(0559)
0014












X
0551
Y
0552
Z
0553

0554

0555
MSB(X*Y)
0556
LSB(X*Y)
0557

0558
LSB(X*Y)+Z
0559









0999

Pada kasus ini, saya mencontohkan data dari memori M (0551) adalah X, memori M(0552) adalah Y dan M(0553) adalah Z

Instruction Cycle :

Siklus I
FETCH 1
  • PC (Program Counter ) = 0011
  • Start Program : PC dipindahkan ke MAR, sehingga MAR=PC=0011
  • M(MAR) di salin ke MBR, sehingga MBR=M(0011) = LOAD MQ,M(0551) | MUL M(0552)
LOAD
MQ,M(0551)
MUL
M(0552)
0                                          7  8                                            19 20                                   27  28                                 39
  • MBR (20:39) disimpan sementara ke dalam IBR, sehingga IBR=MUL M(0552)
  • MBR (0:7) dipindahkan ke IR , sehingga IR=LOAD
  • MBR (8:19) dipindahkan ke MAR, sehingga MAR = MQ,M(0551)
EXECUTE 1
  • M(0551) disalin ke MBR, sehingga MBR=M(0551)=X
  • MBR disalin ke MQ : MQ=X
Siklus II
.        FETCH 2
  • IBR (0:7) dipindahkan ke IR, sehingga IR=MUL
  • IBR (8:19) dipindahkan ke MAR, sehingga MAR = M(0552)
  • PC=PC+1 ==> PC=0011+1=0012
2    EXECUTE 2
  • M(0552) disalin ke MBR, sehingga MBR=M(0552)=Y
  • MBR *MQ ==> AC=MSB(X*Y) , MQ=LSB(X*Y)
Siklus III
       FETCH 3
  • PC (Program Counter ) = 0012
  • PC dipindahkan ke MAR, sehingga MAR=PC=0012
  • M(MAR) di salin ke MBR, sehingga MBR=M(0012) è STOR M(0556) | LOAD MQ
STOR
M(0556)
LOAD
MQ
    0                                  7  8                                        19 20                            27 28                    39
  • MBR (20:39) disimpan sementara ke dalam IBR : IBRßMBR(20:39), sehingga IBR=LOAD MQ
  • MBR (0:7) dipindahkan ke IR : IRßMBR(0:7), sehingga IR=STOR
  • MBR (8:19) dipindahkan ke MAR : MAR ßMBR(8:19), sehingga MAR = M(0556)

       EXECUTE 3
  • AC disalin ke MBR : MBR=AC
  • MBR disalin ke M(MAR) : M(0556)=MSB(X*Y)
Siklus IV
1    FETCH 4
  • IBR (0:7) dipindahkan ke IR, sehingga IR=LOAD
  • IBR (8:19) dipindahkan ke MAR, sehingga MAR = MQ
  • PC=PC+1 ==> PC=0012+1=0013
.       EXECUTE 4
  • MQ disalin ke MBR : MBR=MQ ==> MBR=LSB(X*Y)
  • MBR disalin ke AC : AC=LSB(Y*X) ==> AC=LSB(X*Y)


Pemrograman Pada Mesin IAS

Untuk dapat menulis program pada mesin IAS, hal yang harus diketahui dan dipahami terlebih dahulu adalah set instruksi pada mesin IAS serta struktur detail mesin IAS.

Set Instruksi Komputer IAS
Komputer IAS memiliki 21 instruksi yang dikelompokkan menjadi :
  • Transfer data : memindahkan data antara memori dan register ALU atau antara dua register ALU
  • Percabangan tanpa kondisi (unconditional branch)
  • Percabangan dengan kondisi (conditional branch)
  • Aritmatika : operasi yang dilakukan oleh ALU
  • Modifikasi alamat : melakukan komputasi alamat di ALU kemudian disimpan di memori

Selasa, 03 April 2012

Delegate

Delegate??? 
Sore ini saya dan teman-teman belajar bersama di selasar Masjid Salman ITB, kami membahas kode program untuk membuat aplikasi video chat dan text based chat menggunakan C#. Mentor dalam sesi belajar bersama ini adalah Pak Sani. Ketika membahas satu persatu kode-kode program tersebut, kami bertemu dengan kata "delegate".