Halaman

15/04/12

Membuat Program pada komputer IAS

Untuk lebih memahami pembahasan sebelumnya mengenai Instruction Cycle. Ini merupakan contoh soal dan jawaban pembuatan program instruction cycle pada computer IAS, gambar peta memori letak program dan data diletakan serta urutan instruction cycle-nya (Fetch cycle dan Execute cycle).

Soal Latihan :
Buatlah program pada komputer IAS kemudian simpan program tersebut di memori, gambarkan peta memory yang memperlihatkan letak program dan data serta urutkan instruction cycle program tersebut dengan perintah sebagai berikut:
  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 adalah 0011
Jawaban :
1. Program pada komputer IAS

LOAD MQ, M (0551)   
transfer data dari alamat memori ke MQ
MQ = M (0551)
MUL M (0552)    
mengalikan MQ dengan data di alamat memori 0552. Hasil perkalian data, MSB di AC dan LSB di MQ
MQ = MQ M (0551) x M (0552)
STOR  M (0556)
Menyimpan data dari alamat memori 0556 dari data ke AC
LOAD  MQ
Menstranfer data dari MQ ke AC
STOR  M (0557)
Menyimpan data di alamat memori 0557 dari data di AC
LOAD  M (0557)
Menstransfer data pada alamat memori 0557 ke AC
ADD  M (0553)
Menjumlahkan data di AC dengan data di alamat memori 0553 yang hasilnya disimpan di AC
STOR  M (0559)
Menyimpan data di alamat memori 0559

10/04/12

TCP/IP (Transmission Control Protocol/Internet Protocol)

Pengertian TCP/IP
TCP/IP adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) disistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack.

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.

Keunggulan TCP/IP adalah sebagai berikut:
  1. Open Protocol Standard, yaitu tersedia secara bebas dan dikembangkan independen terhadap komputer hardware ataupun sistem operasi apapun. Karena didukung secara meluas, TCP/IP sangat ideal untuk menyatukan bermacam hardware dan software, walaupun tidak berkomunikasi lewat internet.
  2. Independen dari physical network hardware. Ini menyebabkan TCP/IP dapat mengintegrasikan bermacam network, baik melalui ethernet, token ring, dial-up, X.25/AX.25 dan media transmisi fisik lainnya.
  3. Skema pengalamatan yang umum menyebabkan device yang menggunakan TCP/IP dapat menghubungi alamat device-device lain di seluruh network, bahkan Internet sekalipun.
  4. High level protocol standar, yang dapat melayani user secara luas.
Cara Kerja TCP/IP
Untuk memindahkan data antara dua komputer yang berbeda dalam suatu jaringan yang terdiri dari banyak komputer, dibutuhkan alamat tujuan dan perantara untuk memindahkan sinyal elektronik pembentuk data secara aman dan langsung. Internet menggunakan protokol untuk menjamin sampainya data secara aman di tempat tujuan. Saat seorang pengguna Internet mengirim sekelompok teks ke mesin lain, TCP/IP mulai bekerja. TCP membagi teks tersebut menjadi paket-paket data kecil, menambahkan beberapa informasi (dapat dianggap sebagai pengiriman barang), sehingga komputer penerima memastikan bahwa paket yang diterimanya tidak mengalami kerusakan sepanjang pengiriman.

02/04/12

Melewatkan Struktur ke dalam Fungsi pada Pemrograman C++

Sesuai dengan pembelajaran sebelumnya, pada kesempatan ini saya akan share tentang melewatkan struktur ke dalam fungsi pada pemrograman C/C++. Sesuai pada program cetak1.c pada pembahasan sebelumnya. Semua elemen dari struktur dikirimkan ke fungsi cetak_tanggal(), dengan maksud nilai elemen dari struktur akan ditampilkan di layar. Untuk keadaan seperti ini, lebih baik jika parameter fungsi diubah menjadi bentuk struktur, sehingga parameter fungsi tidak lagi sebanyak tiga buah, melainkan hanya satu. Selengkapnya, perhatikan program di bawah ini.
     /* File program : cetak2.c Melewatkan struktur sebagai parameter fungsi */
    #include <stdio.h>
    #include <stdlib.h>

    struct date {      /* definisi global dari tipe date */
          int month;    
          int day; 
          int year; 
     };

     void cetak_tanggal(struct date);
     main() {
           struct date today;
           printf("Enter the current date (mm-dd-yyyy): ");
           scanf("%d-%d-%d", &today.month, &today.day, &today.year);
           cetak_tanggal(today);

Hubungan Array dan Struktur dalam Program C

Elemen-elemen dari suatu array dapat berbentuk sebuah struktur. Misalnya array yang dipakai untuk menyimpan sejumlah data siswa (struct student). Array struktur berdimensi satu ini membentuk suatu tabel, dengan barisnya menunjukkan elemen dari array-nya dan kolomnya menunjukkan elemen dari struktur. Dalam hal ini maka deklarasi yang dibutuhkan adalah sebagai berikut : 
          #define MAKS 20
                  . 
                  . 
                  . 
           struct date { /* definisi dari tipe date */ 
                 int month; 
                 int day;
                 int year; 
           }; 

           struct student { /* definisi dari tipe student */ 
                 char name[30]; 
                 struct date birthday; 
           }; 

/* deklarasi dari variabel array mhs */ 
          struct student data_mhs[MAKS];

Mempelajari Fungsi Struktur dalam Pemrograman C/C++

  1. Pengertian 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.

  2. Mendefinisikan & Mendeklarasikan Struktur
     Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Contoh pendefinisian sebuah tipe data struktur :
        struct date {
           int month;
           int day;
           int year;
       };
       struct date {
           int month, day, year;
       };

    yang mendefinisikan sebuah tipe data struktur bernama date yang memiliki tiga buah elemen (field) berupa : day, month, year

    Gambar 1. Pendefinisian tipe struktur

01/04/12

Hubungan Pointer dengan Array pada Program C/C++

Pengertian Pointer
Pointer merupakan variabel yang menyimpan alamat lokasi memori dari suatu data, bukan nilai data tersebut. Pointer adalah built-in type di C dan C++, dimana C++ mengambil konsep pointer dari C. Pointer sebenarnya sangat terkait dengan "Abstract C Machine", yaitu model mesin abstrak dimana program C bekerja. Mesin abstrak tersebut memiliki prosesor untuk menginterpretasikan stream of instruction, dan addressable memory yang terbagi kedalam 3 bagian yaitu: automatic memory, static memory dan free memory. Addressable memory merupakan memory yang konten-nya dapat diambil jika diketahui alamatnya.  

Menurut Frieyadie. 2007. Edisi Revisi Buku Pemrograman C++ dengan Borland C++ 5.02. 
Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. 
Contoh Program:
#include <stdio.h>         //Mengakses file pada library stdio.h
#include <stdlib.h>        //Mengakses file pada library stdlib.h
int main (void){             //Fungsi main yang harus ada dalam sebuah program C
   int A = 5, H;
   int *ptrA, *ptrH;         //Deklarasi pointer sebagai integer
   ptrA = &A;                //Alamat lokasi memori dari variabel A disimpan pada ptrA
   H = *ptrA;                 //Nilai data yang alamat lokasi memorinya disimpan pada ptrA, 
                                        disimpan di variabel H
   ptrH = &H;                //Alamat lokasi memori dari variabel H disimpan pada ptrH
                                     // %x menampilkan nilai hexa
  printf("A=%d\n &A=%x \n ptrA=%x \n *ptrA=%d", A, &A, ptrA, *ptrA);   
  printf("\n\nH=%d\n &H=%X\n ptrH=%X\n *ptrH=%d\n\n", H, &H, ptrH,*ptrH);
system ("pause");           //File yang terdapat pada stdlib.h
return (0);                     //Nilai balikan fungsi main() adalah 0
}