Laman

Senin, 16 April 2012

Set Instruksi Program IAS

Setelah mengetahui konsep dasar sistem komputer kali ini kita akan membahas sebuah program IAS untuk operasi perkalian dengan ketentuan sebagai berikut:

1. Kalikan data memori alamat 0551 dengan 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 pada alamat memory 0011

Program untuk komputer IAS untuk ketentuan diatas adalah sebagai berikut:
1. LOAD MQ M(0551)
2. MUL M(0552)
3. STOR M(0556)
4. LOAD MQ
5. STOR M(0557)
6. ADD M(0553)
7. STOR M(0559)

dari listing program diatas dapat dijelaskan sebagai berikut:
Baris 1 adalah LOAD MQ M(0551), berarti mentransfer isi memori alamat M(0551) ke dalam MQ
Baris 2 adalah MUL M(0552), berarti kalikan M (0552) dengan MQ simpan MSB di dalam AC(akumulator) dan LSB di dalam MQ.dapat diartikan mengalikan alamat M(0552) dengan M(0551) yang sudah ditransfer ke dalam MQ.
Baris 3 adalah  STOR M(0556), berarti mentransfer isi dari AC(akumulator) kedalam alamat M(0556) 
Baris 4 adalah LOAD MQ, berarti mentransfer isi register dari MQ ke AC(akumulator)
Baris 5 adalah STOR M(0557), berarti mentransfer isi dari AC ke memori M(0557)
Baris 6 adalah ADD M(0553), berarti jumlahkan M(0553) dengan isi dari AC, simpan hasil di AC dengan isi(AC=AC+M(0553))
Baris 7 adalah STOR M(0559), berarti mentransfer isi dari AC ke Memori M(0559).Baris ini berarti juga menyimpan hasil dari perkalian M(0551) dengan M(0552) pada alamat M(0559)


untuk lebih jelasnya kita lihat gambar di bawah ini
Gambar 1. Peta Memori Listing Program diatas
Gambar diatas menggambarkan bahwa diasumsikan data yang ada pada memori alamat 0551 adalah "A" dan data di alamat memori 0552 adalah "B" dan memori alamat 0553 adalah "C".dalam komputer IAS sebuah instruksi Set memiliki dua bagian yaitu  Fetch dan Execute yang disebut Instruksi cycle.Untuk program diatas saya akan menjelaskan sampai dengan 3 fetch sebagai berikut:
1.FETCH I
PC=0011
PC-->MAR:MAR=PC=0011
M(MAR)-->MBR:MBR=M(0011)


0              7
8        19
20        27
28  39       
LOAD MQ
M(0551)
MUL
M(0552)

MBR(20-39)-->IBR
MBR(0-7)-->IR
MBR(0-19)-->MAR
2.EXECUTE I
M(0551)-->MBR:MBR=M(0551)=A
MBR-->AC:AC=A
3.FETCH II
IBR(0-7)-->IR:IR=MUL
IBR(8-19)-->MAR:MAR=M(0551)
PC=PC+1
4.EXECUTE II
M(0552)-->MBR
MSB(MBR*MQ)-->AC
LSB(MBR*MQ)-->MQ
5.FETCH III
PC-->MAR:MAR=PC=0012
M(MAR)-->MBR:MBR=M(0012)=STOR M(0056)
MBR(20-39)-->IBR
MBR(8-19)-->MAR:MAR:M(0556)
MBR(0-7)-->IR:IR:STOR
6.EXECUTE III
AC-->MBR:MBR=AC
MBR-M(0556):M(0556)=MBR

demikian penjelasan saya untuk sebuah program komputer IAS denganinstruksi diatas, semoga bermanfaat.

Jumat, 13 April 2012

Konsep Dasar Sistem Komputer


Walaupun komputer adalah inovasi muncul baru-baru ini, tetapi kebutuhan pengolahan data dan informasi sudah dilakukan sejak lama, setua sejarah terekam.


Komputer Generasi Pertama
Komputer generasi pertama dipergunakan kurang lebih pada tahun 1940-an dengan memanfaatkan teknologi tabung vakum. Beberapa komputer yang dikenal saat itu adalah ENIAC dan Mesin Von Neumann.

ENIAC
ENIAC singkatan dari Electronic Numerical Integrator and Computer, yang dirancang dan dibuat di bawah pengawasan John Mauchly dan John Presper, merupakan komputer digital elektronik untuk kebutuhan umum pertama di dunia.Dengan berat 30 ton, volume 15.000 kaki persegi, berisi 18.000 tabung vakum dan daya listrik 140 kilowatt, ENIAC mampu melakukan 5000 operasi penambahan per detik. 

Mesin  von  Neumann
Tahun 1946, von Neumann dan rekan-rekannya mulai melakukan perancangan stored- program komputer baru, dikenal sebagai komputer IAS. Struktur umum komputer IAS terdiri dari : 
- Memori utama, yang menyimpan baik data maupun instruksi-instruksi dalam bentuk biner 
- ALU yang memiliki kemampuan mengoperasikan data biner 
- Control Unit, yang melakukan intepretasi instruksi-instruksi di dalam memori dan menyebabkan instruksi tersebut dieksekusi 
- Peralatan I/O yang dioperasikan oleh Control Unit. 

Gambar 1. Struktur Komputer IAS












Memori IAS terdiri dari 1000 lokasi penyimpan, yang disebut word, yang masing-masing terdiri dari 40 binary digit (bit). Baik data maupun instruksi disimpan di sini. Sehingga bilangan harus dinyatakan dalam bentuk biner, dan instruksi juga harus berupa kode biner. 
Gambar 2. Format Memori Komputer IAS













Gambar diatas  menjelaskan format-format berikut :
 - Setiap bilangan dinyatakan oleh sebuah bit tanda dan 39 bit nilai 
- Sebuah word dapat juga terdiri dari 20 bit instruksi, dengan masing-masing instruksi terdiri dari 8-bit kode operasi (op code) yang menspesifikasikan operasi yang akan dibentuk dan sebuah 12 bit alamat yang menandai salah satu word di dalam memori (bilangan dari 0 hingga 999). 
- Control unit mengoperasikan IAS dengan cara mengambil instruksi-instruksi dari memori dan mengeksekusinya sekaligus. 


ALU merupakan singkatan dari Arithmetic Logic Unit dan terdiri dari 4 komponen, yaitu :
- Akumulator (AC) dan Multiplier Quotient (MQ), yang digunakan untuk menyimpan sementara operand dan hasil operasi ALU. Misalnya, hasil perkalian dua buah bilangan 40 bit adalah sebuah bilangan 80 bit; 40 bit yang paling berarti disimpan di dalam AC, dan 40 bit yang kurang berarti disimpan di MQ. 
- Memory Buffer Register : berisi sebuah word yang akan disimpan di dalam memori atau digunakan untuk menerima word dari memori 
- Arithmetic-Logic Circuits
Sedangkan komponen yang ada di dalam control unit adalah : 
- Memory Address Register (MAR): Menentukan alamat word di memori untuk dituliskan dari MBR atau dibaca ke MBR. 
- Instruction Register (IR): Berisi instruksi 8-bit op code yang akan dieksekusi. 
- Instruction Buffer Register (IBR): Digunakan untuk menyimpan sementara instruksi sebe-lah kanan word di dalam memori. 
- Program Counter (PC): Berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori. 
- Control Circuits

Komputer IAS memiliki 21 buah instruksi yang dikelompokkan seperti berikut ini : 
- Data transfer : memindahkan data di antara memori dengan register-register ALU atau antara dua register ALU 
- Unconditional branch : biasanya control unit mengeksekusi instruksi-instruksi di dalam urutan memori. Urutan ini dapat diubah dengan instruksi pencabangan yang memudahkan operasi repetitif
- Conditional branch : cabang dapat diubah tergantung pada suatu persyaratan, jadi memungkinkan titik-titik keputusan 
- Arithmetic : operasi yang dibentuk oleh ALU 
- Address modify : memungkinkan alamat-alamat untuk dikomputasi dalam ALU dakemudian disisipkan ke dalam instruksi-instruksi yang disimpan di dalam memorHal ini memungkinkan fleksibilitas alamat yang tinggi pada program.
Struktur komputer IAS inilah yang menjadi dasar pengembangan komputer-kompada era selanjutnya. 


berikut ini adalah sruktur detail komputer IAS
Gambar 3. Struktur Detail Komputer IAS














Sekilas Mengenai Konsep dasar komputer semoga membawa manfaat bagi pembaca sekalian

Selasa, 03 April 2012

Struktur

Struktur adalah pengelompokan variabel-variabel yang bernaung dalam satu nama yang sama. Berbeda dengan array yang berisi kumpulan variabel-variabel yang bertipe sama dalam satu nama, maka suatu struktur dapat terdiri atas variabel-variabel yang berbeda tipenya dalam satu nama struktur. Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan (dalam bahasa PASCAL,struktur disebut dengan record). Variabel-variabel yang membentuk suatu struktur, selanjutnya disebut sebagai elemen dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen-elemen data berbeda tipe seperti char, int, float, double, dan lain-lain. Contoh sebuah struktur adalah informasi data tanggal (date) yang berisi :
- day
- month, dan
- year

Mendefinisikan dan mendeklarasikan Struktur
Suatu struktur didefinisikan dengan menggunakan kata kunci struct.Contoh pendefinisian sebuah tipe data struktur seperti gambar di bawah ini
Gambar1.Pendefinisian Structur








yang mendefinisikan sebuah tipe struktur bernama date yang memiliki tiga buah elemen(field) berupa : month,day,year.
Gambar 2. Pendefinisian Tipe Struktur







untuk mendeklarasikan sebuah variable today yang bertipe struktur date  pernyataan yang diperlukan adlah seperti pada gambarberikut ini

Gambar 3. Pendeklarasian variable bertipe struktur.






gambar diatas menyatakan bahwa variable today bertipe struktur date.Dalam mendefinisikan sebuah struktur , elemen yang terkandung di dalamnya bisa juga berupa sebuah struktur, Contoh bisa dilihat pada gambar dibawah ini
Gambar 4 Elemen dalam struktur







Diagram struktur data dari variable mhs diatas bisa digambarkan sebagai berikut
Gambar 5 Struktur data variable









Sekilas mengenai struktur, semoga tulisan ini bermanfat

Minggu, 01 April 2012

Array dan Pointer

Konsep Dasar Pointer
Variable pointer sering dikatakan sebagai variable yang menunjuk ke obyek lain.Pada kenyataan yang sebenarnya , variable pointer berisi alamat dari suatu obyek lain (yaitu obyek yang dikatakan ditunjuk oleh pointer).Sebagai contohnya px adalah variable pointer dan x adalah variable yang ditunjuk oleh px, kalau x berada pada alamat memori(alamt awal)1000, maka px akan berisi 1000, seperti di ilustrasikan dalm gambar berikut
Gambar Variable px menuju ke variable x











Mendeklarasikan variable pointer
Sebuah variable pointer dideklarasikan  dengan bentuk sebagai berikut
Dengan tipe data sembarang tipe, adapun nama variable adalah nama dari variable pointer sebagai berikut
gambar diatas menyatakan bahwa  px adalah variable pointer yang menunjuk pada suatu data bertipe int pada contoh 1, sedangkan pada contoh 2 adalah pch1 dan pch2 adalah variable pointer yang menunjuk ke data bertipe char.
Gambar Ilustrasi pendeklarasian variable

Socket Programming dengan C#

Minggu pagi di awal bulan ini  selesai rutinitas minggu pagi yaitu mengikuti Car Free Day seperti yang ada di daerah para pembaca saya akan menulis, kali ini tulisan saya mengenai apa yang di maksud dengan socket itu????Socket adalah sebuah abstraksi perangkat lunak yang digunakan sebagai suatu "terminal" dari suatu hubungan antara dua mesin atau proses yang saling berinterkoneksi.Untuk lebih detail bisa kunjungi link berikut wikipedia
langsung saja kita liat socket programming itu seperti apa, dalam hal ini kita gunakan C# socket progamming terdiri dari dua bagian yaitu server dan client, 
1. Membuat server
langkah pertama kita buat project baru di C# untuk kali ini kita buat dengan console aplikasi terlebih dahulu karena menurut saya lebih mudah untuk proses belajar
berikut potongan program yang bisa kita gunakan dalam membuat bagian server dari socket programming


IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 8000);
Socket newsock = Socket(AddressFamily.InterNetwork,
                   SocketType.Stream, ProtocolType.Tcp);
newsock.Bind(localEndPoint);
newsock.Listen(10);
Socket client = newsock.Accept();
Penjelasan:

IPEndPoint adalah kelas yang mewakilkan ip address dan port yang digunakan, dalam hal ini IPAddress.Any akan mengambil ipaddress secara acak yang bisa digunakan.
Socket adalah kelas soket yang mewakilkan koneksi yang akan dipakai, dalam hal ini soket adalah soket tcp.
Bind adalah fungsi dari kelas socket untuk mengikat port dengan soket (analoginya nyambungin kabel ke colokannya).
Listen adalah fungsi untuk mengubah state soket ke “Listening” dan angka menunjukkan berapa banyak antrian maksimal yang bisa mengakses soket tersebut.
 Accept adalah memindahkan koneksi yang diterima ke soket baru, nantinya akan dipakai pada multi-clien.

2. Membuat client sama hal nya dengan membuat server kita buat terlebih dahulu sebuah project baru di C# untuk bagian clien dengan console aplikasi juga tentunya

berikut adalah potongan program nya


IPEndPoint ipep = 
    new IPEndPoint(Ipaddress.Parse("127.0.0.1"), 8000);
Socket server = new Socket(AddressFamily.InterNetwork,
                  SocketType.Stream, ProtocolType.Tcp);
server.Connect(ipep);
Penjelasan:

Connect adalah fungsi dari kelas socket untuk menyambungkan soket ke port dan soket yang telah di bind pada server.

demikian sedikit tulisan mengenai socket programming semoga tulisan kali ini bisa bermanfaat untuk lebih memperdalam mengenai socket programming ini silahkan explore diri masing-masing dan sedikit bantuan bisa kita dapatkan dari link berikut CodeProject

SEMOGA BERMANFAAT