IBlog Market

IBX5A43E631671FD

Tuesday 23 September 2014

PENJELASAN TENTANG KOMPUTER IAS (REGISTER)

STRUKTUR DARI KOMPUTER IAS

Komputer IAS pada tahun 1946 didesain oleh Von Neumann bersama koleganya dengan konsep pemrograman yang kemudian disebut dengan IAS Computer (Computer of Institute for Advanced Studies)karena dikembangkan di Computer of Institute for Advanced Studies.
Secara umum, struktur dari komputer IAS adalah sebagai berikut:
Memori utama, untuk menyimpan data dan intruksi.
Arithmetic Logic Unit (ALU), untuk mengolah data binner.
Control Unit, untuk melakukan interpretasi instruksi - instruksi di dalam. memori sehingga  adanya eksekusi instruksi tersebut.
I/0, untuk berinteraksi dengan lingkungan luar


Gambar 1. Struktur Umum Komputer IAS
Secara detail Komputer IAS memiliki 1000 lokasi penyimpanan x 40 bit words, dengan rincian:
• Binary number
• 2 x 20 bit instructions
Dengan format memori sebagai berikut :

Gambar 2. Format Memori Struktur Komputer IAS

Gambar 3. Struktur Detail Komputer IAS
ALU-IAS(Computer of Institute for Advanced Studies)
1.       Memory  Buffer  Register  (MBR), berisi  sebuah  word  yang  akan disimpan  di  dalam  memori  atau digunakan  untuk  menerima  word dari memori.
2.       Memory  Address  Register  (MAR), untuk  menentukan  alamat  word  di memori  untuk  dituliskan  dari  MBR atau dibaca oleh MBR.
3.       Instruction  Register  (IR),  berisi instruksi  8  bit  kode  operasi  yang akan dieksekusi.
4.       Instruction  Buffer  Register  (IBR), digunakan  untuk  penyimpanan sementara  instruksi  sebelah  kanan word di dalam memori.
5.       Program Counter (PC), berisi alamat pasangan  instruksi  berikutnya  yang akan diambil dari memori.
6.       Accumulator  (AC)  dan  Multiplier Quotient  (MQ),  digunakan  untuk penyimpanan  sementar operand dan  hasil  ALU.  Misalnya,  hasil perkalian  2  buah  bilangan  40  bit  adalah sebuah bilangan 80 bit; 40 bit yang  paling  berarti  (most  significant bit)  disimpan  dalam  AC  dan  40  bit lainnya  (least  significant  bit) disimpan dalam MQ.
7.       IAS  beroperasi  secara  berulang membentuk  siklus  instruksi. Komputer  IAS memiliki  21  instruksi, yang  dapat  dikelompokkan  seperti berikut ini :
ü  Data  tranfer,  memindahkan data  di  antara  memori  dengan register  –  register  ALU  atau antara dua register  ALU sendiri.
ü  Unconditional  branch,  perintah- perintah  eksekusi  perca-bangan tanpa syarat tertentu.
ü  Conditional  branch,  perintah- perintah  eksekusi  percabangan yang  memerlukan  syarat tertentu  agar  dihasilkan  suatu nilai dari percabangan tersebut.
ü  Arithmetic,  kumpulan  operasi  – operasi yang dibentuk oleh ALU.
ü  Address  Modify,  instruksi  – instruksi  yang  memungkinkan pengubahan  alamat  saat  di komputasi  sehingga memungkinkan  fleksibilitas alamat  yang  tinggi  pada program.

Saturday 20 September 2014

DATA PRIMITIFE

Primitive Data Types

The Java programming language is statically-typed, which means that all variables must first be declared before they can be used. This involves stating the variable's type and name, as you've already seen:
int gear = 1;
Doing so tells your program that a field named "gear" exists, holds numerical data, and has an initial value of "1". A variable's data type determines the values it may contain, plus the operations that may be performed on it. In addition to int, the Java programming language supports seven other primitive data types. A primitive type is predefined by the language and is named by a reserved keyword. Primitive values do not share state with other primitive values. The eight primitive data types supported by the Java programming language are:
  • byte: The byte data type is an 8-bit signed two's complement integer. It has a minimum value of -128 and a maximum value of 127 (inclusive). The byte data type can be useful for saving memory in large arrays, where the memory savings actually matters. They can also be used in place of int where their limits help to clarify your code; the fact that a variable's range is limited can serve as a form of documentation.
  • short: The short data type is a 16-bit signed two's complement integer. It has a minimum value of -32,768 and a maximum value of 32,767 (inclusive). As with byte, the same guidelines apply: you can use a short to save memory in large arrays, in situations where the memory savings actually matters.
  • int: By default, the int data type is a 32-bit signed two's complement integer, which has a minimum value of -231 and a maximum value of 231-1. In Java SE 8 and later, you can use the int data type to represent an unsigned 32-bit integer, which has a minimum value of 0 and a maximum value of 232-1. Use the Integer class to use int data type as an unsigned integer. See the section The Number Classes for more information. Static methods like compareUnsigned, divideUnsigned etc have been added to the Integer class to support the arithmetic operations for unsigned integers.
  • long: The long data type is a 64-bit two's complement integer. The signed long has a minimum value of -263 and a maximum value of 263-1. In Java SE 8 and later, you can use the long data type to represent an unsigned 64-bit long, which has a minimum value of 0 and a maximum value of 264-1. Use this data type when you need a range of values wider than those provided by int. The Long class also contains methods like compareUnsigned, divideUnsigned etc to support arithmetic operations for unsigned long.
  • float: The float data type is a single-precision 32-bit IEEE 754 floating point. Its range of values is beyond the scope of this discussion, but is specified in the Floating-Point Types, Formats, and Values section of the Java Language Specification. As with the recommendations for byte and short, use a float (instead of double) if you need to save memory in large arrays of floating point numbers. This data type should never be used for precise values, such as currency. For that, you will need to use the java.math.BigDecimal class instead. Numbers and Strings covers BigDecimal and other useful classes provided by the Java platform.
  • double: The double data type is a double-precision 64-bit IEEE 754 floating point. Its range of values is beyond the scope of this discussion, but is specified in the Floating-Point Types, Formats, and Values section of the Java Language Specification. For decimal values, this data type is generally the default choice. As mentioned above, this data type should never be used for precise values, such as currency.
  • boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined.
  • char: The char data type is a single 16-bit Unicode character. It has a minimum value of '\u0000' (or 0) and a maximum value of '\uffff' (or 65,535 inclusive).
In addition to the eight primitive data types listed above, the Java programming language also provides special support for character strings via the java.lang.String class. Enclosing your character string within double quotes will automatically create a new String object; for example, String s = "this is a string";. String objects are immutable, which means that once created, their values cannot be changed. The String class is not technically a primitive data type, but considering the special support given to it by the language, you'll probably tend to think of it as such. You'll learn more about the String class in Simple Data Objects

Default Values

It's not always necessary to assign a value when a field is declared. Fields that are declared but not initialized will be set to a reasonable default by the compiler. Generally speaking, this default will be zero or null, depending on the data type. Relying on such default values, however, is generally considered bad programming style.
The following chart summarizes the default values for the above data types.
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String (or any object)   null
boolean false

Local variables are slightly different; the compiler never assigns a default value to an uninitialized local variable. If you cannot initialize your local variable where it is declared, make sure to assign it a value before you attempt to use it. Accessing an uninitialized local variable will result in a compile-time error.

Literals

You may have noticed that the new keyword isn't used when initializing a variable of a primitive type. Primitive types are special data types built into the language; they are not objects created from a class. A literal is the source code representation of a fixed value; literals are represented directly in your code without requiring computation. As shown below, it's possible to assign a literal to a variable of a primitive type:
boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;

Integer Literals

An integer literal is of type long if it ends with the letter L or l; otherwise it is of type int. It is recommended that you use the upper case letter L because the lower case letter l is hard to distinguish from the digit 1.
Values of the integral types byte, short, int, and long can be created from int literals. Values of type long that exceed the range of int can be created from long literals. Integer literals can be expressed by these number systems:
  • Decimal: Base 10, whose digits consists of the numbers 0 through 9; this is the number system you use every day
  • Hexadecimal: Base 16, whose digits consist of the numbers 0 through 9 and the letters A through F
  • Binary: Base 2, whose digits consists of the numbers 0 and 1 (you can create binary literals in Java SE 7 and later)
For general-purpose programming, the decimal system is likely to be the only number system you'll ever use. However, if you need to use another number system, the following example shows the correct syntax. The prefix 0x indicates hexadecimal and 0b indicates binary:
// The number 26, in decimal
int decVal = 26;
//  The number 26, in hexadecimal
int hexVal = 0x1a;
// The number 26, in binary
int binVal = 0b11010;

Floating-Point Literals

A floating-point literal is of type float if it ends with the letter F or f; otherwise its type is double and it can optionally end with the letter D or d.
The floating point types (float and double) can also be expressed using E or e (for scientific notation), F or f (32-bit float literal) and D or d (64-bit double literal; this is the default and by convention is omitted).
double d1 = 123.4;
// same value as d1, but in scientific notation
double d2 = 1.234e2;
float f1  = 123.4f;

Character and String Literals

Literals of types char and String may contain any Unicode (UTF-16) characters. If your editor and file system allow it, you can use such characters directly in your code. If not, you can use a "Unicode escape" such as '\u0108' (capital C with circumflex), or "S\u00ED Se\u00F1or" (Sí Señor in Spanish). Always use 'single quotes' for char literals and "double quotes" for String literals. Unicode escape sequences may be used elsewhere in a program (such as in field names, for example), not just in char or String literals.
The Java programming language also supports a few special escape sequences for char and String literals: \b (backspace), \t (tab), \n (line feed), \f (form feed), \r (carriage return), \" (double quote), \' (single quote), and \\ (backslash).
There's also a special null literal that can be used as a value for any reference type. null may be assigned to any variable, except variables of primitive types. There's little you can do with a null value beyond testing for its presence. Therefore, null is often used in programs as a marker to indicate that some object is unavailable.
Finally, there's also a special kind of literal called a class literal, formed by taking a type name and appending ".class"; for example, String.class. This refers to the object (of type Class) that represents the type itself.

Using Underscore Characters in Numeric Literals

In Java SE 7 and later, any number of underscore characters (_) can appear anywhere between digits in a numerical literal. This feature enables you, for example. to separate groups of digits in numeric literals, which can improve the readability of your code.
For instance, if your code contains numbers with many digits, you can use an underscore character to separate digits in groups of three, similar to how you would use a punctuation mark like a comma, or a space, as a separator.
The following example shows other ways you can use the underscore in numeric literals:
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi =  3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
You can place underscores only between digits; you cannot place underscores in the following places:
  • At the beginning or end of a number
  • Adjacent to a decimal point in a floating point literal
  • Prior to an F or L suffix
  • In positions where a string of digits is expected

DATA PRIMITIVE PADA JAVA



DATA PRIMITIVE

Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman.

Yang dimaksud dengan Struktur Data yaitu : cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien, Sedangkan data adalah representasi dari fakta dunia nyata.
Struktur data primitif adalah wadah data yang paling sederhana atau biasa juga disebut sebagai tipe data primitif atau struktur data primitif. Bahasa pemrograman biasa menyediakan sejumlah struktur data primitif.

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi. Ada banyak tipe data yang tersedia, tergantung jenis bahasa pemrograman yang dipakai. Namun secara umum dapat dikelompokkan seperti pada gambar 5.2.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizriMQj-8rFAk4-1C4TvSikYSmYR3eJheZt0CjxFLmnN33-hDutjL7u0FffTppbWnfRjwg9pmGLVr9xxYMePcQC82UZg8HMl9Y25YAq_aCdNIMlPDCcYWH9CimgjOnhg1EEGmKD6T1vZdo/s320/image002.gif

Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman. Sedangkan tipe data composite, adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive.

Ada 8 tipe data primitif dalam bahasa Java.
Jenis Data
Deskripsi
Ukuran
Minimum
Maksimum
Boolean
Hanya bisa berisi benar atau salah
1-bit


Char
Karakter Unicode
16-bit


Byte
Bilangan bulat
8-bit
-127
128
short
Bilangan bulat
16-bit
-32768
32767
Int
Bilangan bulat
32-bit
-2147483648
2147483647
Long
Bilangan bulat
64-bit
-9223372036854775808
9223372036854775807
Float
Bilangan riil
32-bit
1.40129846432481707e-45
3.40282346638528860e+38
double
Bilangan riil
64-bit
4.94065645841246544e-324
1.79769313486231570e+308







1. Tipe Data Primitif
Delapan macam tipe data primitif dalam pemrograman Java, yaitu :
a.Integer (Bilangan Bulat)
Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang termasuk integer adalah sebagai berikut:
Byte Memiliki nilai integer dari -128 sampai +127 dan menempati1 byte ( 8 bits ) di memori.
Short Memiliki nilai integer dari -32768 sampai 32767 danmenempati 2 bytes ( 16 bits ) di memori.

Int Memiliki nilai integer dari -2147483648 sampai 2147483647dan menempati 4
Bytes (32 bits ) dimemori.
Long Memiliki nilai dari -9223372036854775808 – 9223372036854775807 dan menempati 8 bytes ( 64 bits ) di memori.
b.Floating Point ( Bilangan Pecahan )
Floating Point digunakan untuk menangani bilangan desimal atau perhitungan yang lebih detail dibanding integer. Ada dua macam floating point, yaitu :
1. Float memiliki nilai -3.4×108 sampai +3.4×108 dan menempati 4byte di memori
2.Double memiliki nilai -1.7×10308 sampai +1.7×10308
Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F. Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan double, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double.
c.Char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda ‘ ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudah merupakan sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF. Misalnya : ‘\u123’.

d.Boolean
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam mengevaluasi, boolean termasuk dalam operator logika.




Berikut ini adalah beberapa tipe data primitif beserta keterangan dan kebutuhan memori
1.     Shortint --> Bilangan bulat antara -128 sampai dengan 127, kebutuhan memori 1 byte
2.     Integer --> Bilangan bulat antara -32767 sampai dengan 32768, untuk penggunaan memori pada tipe ini membutuhkan 2 byte
3.     Longint -->Bilangan bulat antara -2147483648 sampai dengan 2147483647, untuk penggunaan memori pada tipe ini membutuhkan sekitar 4 byte.
4.     Byte --> Bilangan bulat antara 0 sampai dengan 255, untuk kebutuhan penggunaan memori pada tipe data ini membutuhkan 1 byte
5.     Word --> Bilangan bulat antara 0 sampai dengan 65535, kebutuhan memori membutuhkan 2 byte
6.     Real --> Bilangan real, penggunaan memori membutuhkan 6 byte
7.     Boolean --> Data logika,  bisa berupa True dan False, untuk penggunaan memori tipe data ini membutuhkan 1 byte
8.     Char --> Menyatakan sebuah karakter dan membutuhkan 1 byte penggunaan memori

Beberapa tipe data digunakan pada bilangan bulat. Pada keadaan seperti itu pemilihan tipe data dilakukan dengan pedoman :
  • Pilihlah yang membutuhkan memori paling sedikit
  • Semua kemungkinan nilai bisa terakomodasi oleh tipe tersebut.

Sebagai contoh, diinginkan untuk memproses usia orang. Tipe data Byte bisa digunakan, mengingat usia orang tidak mungkin lebih dari 255 (bilangan terbesar yang bisa ditangani oleh tipe Byte)

Tipe data numeric
Tipe data  numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka.  Semua bahasa pemrograman menyediakan tipe data  numeric, hanya berbeda dalam jenis numeric yang diakomodasi. Jenis yang termasuk dalam tipe data numeric antara lain integer (bilangan bulat), dan  float (bilangan pecahan).  Selain jenis, dalam bahasa pemrograman juga diterapkan presisi angka yang digunakan, misalnya tipe data Single adalah tipe data untuk bilangan pecahan dengan presisi yang terbatas, sedangkan tipe data Double adalah tipe data untuk bilangan pecahan dengan presisi yang lebih akurat.  Pada bab-bab berikutnya yang membahas aplikasi bahasa pemrograman bagian ini akan diuraikan lebih lanjut. Rekayasa Perangkat Lunak  97Penentuan tipe data numeric untuk suatu variabel/konstanta harus sangat berhati-hati.  Manual dan petunjuk pada masing-masing bahasa pemrograman pada bagian tipe data harus diperhatikan dengan seksama.  Perhatikan contoh Penggunaan tipe data numeric berikut.
Uses crt;
Var x,y,z : integer; {Pendeklarasian tipe data numeric dengan integer}
  Clrsr;
  X := 12;
  Y := 2;
  Z := X * Y;
  Write(‘X ‘,’= ‘,X);
  Write(‘Y ‘,’= ‘,Y);
  Write(‘Z ‘,’= ‘,Z);
Readln;
End;

Hasil Compile :
X = 12
Y = 2
Z = 24

Pada kode program diatas, variabel x,y dan z kita deklarasikan bertipe data Integer ( bilangan bulat )

·         Character
Bersama dengan tipe data numeric,  character merupakan tipe data yang paling banyak digunakan.  Tipe data character kadang disebut sebagai char atau string.  Tipe data  string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“…”) atau petik tunggal (‘…’) Perhatikan contoh berikut.

Uses crt;
Var nama : string ;{nama menggunakan tipe data string yang berupa kalimat}
       G_Darah : char ;{menggunakan tipe data char yang berupa karakter}
Begin
  Clrscr;
  Nama:=’Bayu’;
  G_Darah:=’B’;
  Write(‘Nama = ‘,nama);
  Write(‘Golongan darah = ‘,G_Darah);
Readln;
End.

Hasil Compile :
Nama = Bayu
Golongan darah = B

·         Boolean
Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah).  Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0 melambangkan False.  Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE.

·         Array
Array atau sering disebut sebagai larik adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana.  Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel.  Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.

·         Record atau Struct
Seperti halnya Array, Record atau Struct adalah termasuk tipe data komposit.Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++.  Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen).Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja.  Sedangkan dalam record, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek.  Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir.  Nama akan akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string dan tanggal lahir bertipe data date.  Berikut ini contoh pendeklarasian record dalam Delphi.

Type TRecord_Siswa = Record
Nama_Siswa   : String[30]
Alamat   : String[50]
Usia   : Real
EndRecord

·         Image
Image atau gambar atau citra merupakan tipe data grafik.  Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan dan lain-lain.  Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual tipe data ini telah didukung dengan sangat baik.

·         Date Time
Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format yang spesifik.  Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam.  Tipe data ini masuk dalam kelompok tipe data composite karena merupakan bentukan dari beberapa tipe data.

·         Tipe data lain
o   Subrange
§  Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum.  Tipe data ini didukung dengan sangat baik dalam Delphi.  Berikut ini contoh deklarasi tipe data subrange dalam Delphi.
Type
BatasIndeks = 1..20
RentangTahun = 1950..2030
Var
Indeks   : BatasIndeks
Tahun   : RentangTahun
o   Enumerasi
§  Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu dan bernilai konstanta integer sesuai dengan urutannya.  Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung.  Tipe data ini juga dijumpai pada Delphi dan bahasa pemrograman deklaratif seperti SQL.  Berikut ini contoh deklarasi tipe data enumerasi dalam Delphi.
Type
Hari_dlm_Minggu = (Nol, Senin, Selasa, Rabu,Kamis, Jumat, Sabtu, Minggu)
Nama_Bulan = (Nol, Januari, Pebruari, Maret,April, Mei, Juni, Juli, Agustus,September, Oktober, Nopember,Desember)
Var
No_Hari   : Hari_dlm_Minggu
No_Bulan   : Nama_Bulan

Pada contoh di atas tipe data Hari_dlm_Minggu termasuk enumerasi dengan rentang nilai Nol, Senin sampai dengan Minggu dan nilai data dari 0, 1, sampai dengan 7.  Sedangkan  tipe data Nama_Bulan termasuk enumerasi dengan rentang nilai Nol, Januari sampai dengan Desember dan nilai data dari 0, 1, sampai dengan 12. Rekayasa Perangkat Lunak  101
o   Object
§  Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang berbasis GUI.  Sebagai contoh, apabila kita mempunyai  form yang memiliki control Command button yang kita beri nama Command1, kita dapat mendeklarasikan variabel sebagai berikut :
Dim A As CommandButton
Set A = Command1
A.Caption = “HEY!!!”
A.FontBold = True

Pada contoh ini variabel A dideklarasikan bertipe data Object yaitu CommandButton.  Kemudian kita set variabel A dengan control Command button yang ada pada form (Command1).  Dengan cara ini kita dapat mengakses seluruh  property, method dan  event obyek Command1 dengan menggunakan variabel A.
o   Variant
§  Tipe data hanya ada di Visual Basic.  Tipe ini adalah tipe data yang paling fleksibel di antara tipe data yang lain, karena dapat mengakomodasi semua tipe data yang lain seperti telah dijelaskan.