Thursday, November 22, 2012

Pengenalan Array pada JAVA

Array adalah suatu Object pada JAVA yang dapat menyimpan banyak variable dengan type data yang sama. Dan setiap value atau nilai variable dalam suatu Array, dapat diakses melalui angka-angka index. Adapun index dari suatu Array dimulai dari 0 (nol), bukan 1 (satu).
Sebagai contoh, jika A merupakan sebuah Array dengan tipe Integer, maka notasi dari Array adalah A[n], dimana n merupakan angka index dari array tersebut, misal :


A[0] = 1, artinya index ke-0 pada array A bernilai 1;
A[1] = 2, artinya index ke-1 pada array A bernilai 2;
A[2] = 1, artinya index ke-2 pada array A bernilai 1;
A[3] = 0, artinya index ke-3 pada array A bernilai 0;
A[4] = 6, artinya index ke-4 pada array A bernilai 6;
A[5] = 5, artinya index ke-5 pada array A bernilai 5;
A[6] = 2, artinya index ke-6 pada array A bernilai 2;
A[7] = 0, artinya index ke-7 pada array A bernilai 0;
A[8] = 4, artinya index ke-8 pada array A bernilai 4;
A[9] = 0, artinya index ke-9 pada array A bernilai 0.

Jika kita ilustrasikan, maka akan terlihat seperti gambar berikut :

Dalam memahami Array, terdapat 3 hal penting yang wajib dikuasai, yaitu :
1. Mendeklarasikan dan Mengkonstruksi (membuat) Array;
2. Mengakses elemen-elemen dalam Array;
3. Menentukan jumlah elemen dalam Array.

Untuk Mendeklarasikan Array berdasarkan letak kurung siku ([ ]) nya, dapat dilakukan dengan 2 cara, yaitu :
Cara 1 :  TipeArray[] namaArray
Cara 2 :  TipeArray namaArray[]

Contoh :
int[] jumlahSiswa;
double nilaiRatarata[];
String namaBulan[];

Dalam Mengkonstruksi atau membuat Array, juga dapat dilakukan dengan 2 cara, yaitu :

Cara 1 :  Deklarasi dan konstruksi pada baris yang berbeda :
TipeArray[] namaArray;                      //Deklarasi
namaArray = new TipeArray [jumlahElemen];   //Konstruksi
 
Cara 2 :  Deklarasi dan konstruksi pada satu baris yang sama :
TipeArray[] namaArray = new TipeArray [jumlahElemen];

Contoh :
int[] jumlahSiswa;
jumlahSiswa = new int[10]
artinya, membuat Array dengan nama "jumlahSiswa", yang terdiri atas 10 elemen .

String namaBulan[] = new String[12];
artinya, membuat Array dengan nama "namaBulan", yang terdiri atas 12 elemen .

Selanjutnya, dalam membuat nilai elemen di dalamnya, dapat dilakukan dengan 2 cara  sebagai berikut :
Cara 1 : Tanpa mendeklarasikan jumlah elemen, melainkan langsung menuliskan nilai masing-masing elemennya yang diapit dengan tanda kurung kurawal :

String namaBulan[] = {"Januari", "Februari", "Maret", "April"
                      "Mei", "Juni", "Juli", "Agustus",
                      "September", "Oktober", "November",
                      "Desember"};
 
Cara 2 : Mendeklarasikan jumlah elemen, kemudian menuliskan nilai elemennya pada masing-masing indeks yang terbentuk :

String namaBulan[] = new String[12];
             
        namaBulan[0] = "Januari";
        namaBulan[1] = "Februari";
        namaBulan[2] = "Maret";
        namaBulan[3] = "April";
        namaBulan[4] = "Mei";
        namaBulan[5] = "Juni";
        namaBulan[6] = "Juli";
        namaBulan[7] = "Agustus";
        namaBulan[8] = "September";
        namaBulan[9] = "Oktober";
        namaBulan[10] = "November";
        namaBulan[11] = "Desember";

Sebuah array dapat diakses dengan menyatakan index dari Array tersebut. Index pertama dari array selalu nol, sedangkan index terakhir dari index Array selalu sebesar jumlah elemen array dikurangi satu. 
Object array memiliki sebuah variabel public length. Variabel ini menyatakan jumlah element yang ada di dalam array tersebut. length menyatakan jumlah element di dalam array, tapi length tidak pernah menyatakan apakah element-element itu telah diinisialisasi atau tidak. Ketika kita mengakses suatu element dengan index di luar batas, kita akan mendapat exception ArrayIndexOutOfBoundsException. 

Pengertian index di luar batas adalah bila :
1. index array >= length
2. index array < 0
Contoh coding selengkapnya, dapat dicermati pada gambar berikut :

 
 Semoga bermanfaat.
Baca Selengkapnya >>

Friday, November 2, 2012

Perbandingan Biner & Gray Code beserta Rangkaian Konversinya

Cakra Sandi Gray

Sandi Gray dibentuk dari susunan LSB 0 dan 1 untuk dua kelompok sandi pertama, kemudian 1 dan 0 untuk dua sandi berikutnya, demikian seterusnya. Kelompok sandi berikutnya merupakan pemantulan sandi LSB sebelumnya.


Sehingga, jika kita bandingkan dengan kode biner, maka akan tampak seperti pada tabel berikut :


Untuk mengkonversi, sebelumnya harus kita pahami tentang penjumlahan Bilangan Biner, yaitu :
     0 + 0 = 1
     0 + 1 = 1
     1 + 0 = 1
     1 + 1 = 10, tetapi pada saat mengkonversi, cukup ditulis 0.

 
 Contoh cara mengkonversi Biner ke Gray :

Created by erfan2040.blogspot.com

 Contoh cara mengkonversi Gray ke Biner :

Created by erfan2040.blogspot.com

 
Adapun Rangkain Digital untuk mengkonversikan Biner Code ke Gray Code, ataupun sebaliknya, dapat menggunakan 3 buah komponen Gerbang Exclusive OR 2 Input atau Dual XOR Gates dengan susunan input dan output sebagaimana gambar di bawah :

Rangkaian Konversi Biner ke Gray

Rangkaian Konversi Gray ke Biner

Untuk mendownload aplikasi konversi sandi digital, silahkan klik disini.
Semoga bermanfaat.
Baca Selengkapnya >>

Kode Sandi ASCII dalam Keyboard Kita

Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 7 bit. Namun, ASCII disimpan sebagai sandi 8 bit dengan menambakan satu angka 0 sebagai bit significant paling tinggi. Bit tambahan ini sering digunakan untuk uji prioritas. Karakter control pada ASCII dibedakan menjadi 5 kelompok sesuai dengan penggunaan yaitu berturut-turut meliputi logical communication, Device control, Information separator, Code extention, dan physical communication. Code ASCII ini banyak dijumpai pada papan ketik (keyboard) computer atau instrument-instrument digital.

Jumlah kode ASCII adalah 255 kode. Kode ASCII 0..127 merupakan kode ASCII untuk manipulasi teks; sedangkan kode ASCII 128..255 merupakan kode ASCII untuk manipulasi grafik. Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa bagian:

  • Kode yang tidak terlihat simbolnya seperti Kode 10(Line Feed), 13(Carriage Return), 8(Tab), 32(Space)
  • Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9), karakter khusus (~!@#$%^&*()_+?:”{})
  • Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk kode-kode grafik.

Dalam pengkodean kode ASCII memanfaatkan 8 bit. Pada saat ini kode ASCII telah tergantikan oleh kode UNICODE (Universal Code). UNICODE dalam pengkodeannya memanfaatkan 16 bit sehingga memungkinkan untuk menyimpan kode-kode lainnya seperti kode bahasa Jepang, Cina, Thailand dan sebagainya.

Pada papan keyboard, aktifkan numlock (tidak terdapat pada laptop), tekan tombol ALT secara bersamaan dengan kode karakter maka akan dihasilkan karakter tertentu. Misalnya: ALT + 44 maka akan muncul karakter koma (,). Mengetahui kode-kode ASCII sangat bermanfaat misalnya untuk membuat karakter-karakter tertentu yang tidak ada di keyboard.

Tabel Karakter ASCII


Tabel berikut berisi karakter-karakter ASCII . Dalam sistem operasi Windows dan MS-DOS, pengguna dapat menggunakan karakter ASCII dengan menekan tombol Alt+[nomor nilai ANSI (desimal)]. Sebagai contoh, tekan kombinasi tombol Alt+87 untuk karakter huruf latin "W" kapital.

Karakter Nilai Unicode
(heksadesimal)
Nilai ANSI ASCII
(desimal)
Keterangan
NUL 0000 0 Null (tidak tampak)
SOH 0001 1 Start of heading (tidak tampak)
STX 0002 2 Start of text (tidak tampak)
ETX 0003 3 End of text (tidak tampak)
EOT 0004 4 End of transmission (tidak tampak)
ENQ 0005 5 Enquiry (tidak tampak)
ACK 0006 6 Acknowledge (tidak tampak)
BEL 0007 7 Bell (tidak tampak)
BS 0008 8 Menghapus satu karakter di belakang kursor (Backspace)
HT 0009 9 Horizontal tabulation
LF 000A 10 Pergantian baris (Line feed)
VT 000B 11 Tabulasi vertikal
FF 000C 12 Pergantian baris (Form feed)
CR 000D 13 Pergantian baris (carriage return)
SO 000E 14 Shift out (tidak tampak)
SI 000F 15 Shift in (tidak tampak)
DLE 0010 16 Data link escape (tidak tampak)
DC1 0011 17 Device control 1 (tidak tampak)
DC2 0012 18 Device control 2 (tidak tampak)
DC3 0013 19 Device control 3 (tidak tampak)
DC4 0014 20 Device control 4 (tidak tampak)
NAK 0015 21 Negative acknowledge (tidak tampak)
SYN 0016 22 Synchronous idle (tidak tampak)
ETB 0017 23 End of transmission block (tidak tampak)
CAN 0018 24 Cancel (tidak tampak)
EM 0019 25 End of medium (tidak tampak)
SUB 001A 26 Substitute (tidak tampak)
ESC 001B 27 Escape (tidak tampak)
FS 001C 28 File separator
GS 001D 29 Group separator
RS 001E 30 Record separator
US 001F 31 Unit separator
SP 0020 32 Spasi
 ! 0021 33 Tanda seru (exclamation)
" 0022 34 Tanda kutip dua
# 0023 35 Tanda pagar (kres)
$ 0024 36 Tanda mata uang dolar
 % 0025 37 Tanda persen
& 0026 38 Karakter ampersand (&)
0027 39 Karakter Apostrof
( 0028 40 Tanda kurung buka
) 0029 41 Tanda kurung tutup
* 002A 42 Karakter asterisk (bintang)
+ 002B 43 Tanda tambah (plus)
, 002C 44 Karakter koma
- 002D 45 Karakter hyphen (strip)
. 002E 46 Tanda titik
/ 002F 47 Garis miring (slash)
0 0030 48 Angka nol
1 0031 49 Angka satu
2 0032 50 Angka dua
3 0033 51 Angka tiga
4 0034 52 Angka empat
5 0035 53 Angka lima
6 0036 54 Angka enam
7 0037 55 Angka tujuh
8 0038 56 Angka delapan
9 0039 57 Angka sembilan
 : 003A 58 Tanda titik dua
 ; 003B 59 Tanda titik koma
< 003C 60 Tanda lebih kecil
= 003D 61 Tanda sama dengan
> 003E 62 Tanda lebih besar
 ? 003F 63 Tanda tanya
@ 0040 64 A keong (@)
A 0041 65 Huruf latin A kapital
B 0042 66 Huruf latin B kapital
C 0043 67 Huruf latin C kapital
D 0044 68 Huruf latin D kapital
E 0045 69 Huruf latin E kapital
F 0046 70 Huruf latin F kapital
G 0047 71 Huruf latin G kapital
H 0048 72 Huruf latin H kapital
I 0049 73 Huruf latin I kapital
J 004A 74 Huruf latin J kapital
K 004B 75 Huruf latin K kapital
L 004C 76 Huruf latin L kapital
M 004D 77 Huruf latin M kapital
N 004E 78 Huruf latin N kapital
O 004F 79 Huruf latin O kapital
P 0050 80 Huruf latin P kapital
Q 0051 81 Huruf latin Q kapital
R 0052 82 Huruf latin R kapital
S 0053 83 Huruf latin S kapital
T 0054 84 Huruf latin T kapital
U 0055 85 Huruf latin U kapital
V 0056 86 Huruf latin V kapital
W 0057 87 Huruf latin W kapital
X 0058 88 Huruf latin X kapital
Y 0059 89 Huruf latin Y kapital
Z 005A 90 Huruf latin Z kapital
[ 005B 91 Kurung siku kiri
\ 005C 92 Garis miring terbalik (backslash)
] 005D 93 Kurung sikur kanan
^ 005E 94 Tanda pangkat
_ 005F 95 Garis bawah (underscore)
` 0060 96 Tanda petik satu
a 0061 97 Huruf latin a kecil
b 0062 98 Huruf latin b kecil
c 0063 99 Huruf latin c kecil
d 0064 100 Huruf latin d kecil
e 0065 101 Huruf latin e kecil
f 0066 102 Huruf latin f kecil
g 0067 103 Huruf latin g kecil
h 0068 104 Huruf latin h kecil
i 0069 105 Huruf latin i kecil
j 006A 106 Huruf latin j kecil
k 006B 107 Huruf latin k kecil
l 006C 108 Huruf latin l kecil
m 006D 109 Huruf latin m kecil
n 006E 110 Huruf latin n kecil
o 006F 111 Huruf latin o kecil
p 0070 112 Huruf latin p kecil
q 0071 113 Huruf latin q kecil
r 0072 114 Huruf latin r kecil
s 0073 115 Huruf latin s kecil
t 0074 116 Huruf latin t kecil
u 0075 117 Huruf latin u kecil
v 0076 118 Huruf latin v kecil
w 0077 119 Huruf latin w kecil
x 0078 120 Huruf latin x kecil
y 0079 121 Huruf latin y kecil
z 007A 122 Huruf latin z kecil
{ 007B 123 Kurung kurawal buka
¦ 007C 124 Garis vertikal (pipa)
} 007D 125 Kurung kurawal tutup
~ 007E 126 Karakter gelombang (tilde)
DEL 007F 127 Delete

0080 128 Dicadangkan

0081 129 Dicadangkan

0082 130 Dicadangkan

0083 131 Dicadangkan
IND 0084 132 Index
NEL 0085 133 Next line
SSA 0086 134 Start of selected area
ESA 0087 135 End of selected area

0088 136 Character tabulation set

0089 137 Character tabulation with justification

008A 138 Line tabulation set
PLD 008B 139 Partial line down
PLU 008C 140 Partial line up

008D 141 Reverse line feed
SS2 008E 142 Single shift two
SS3 008F 143 Single shift three
DCS 0090 144 Device control string
PU1 0091 145 Private use one
PU2 0092 146 Private use two
STS 0093 147 Set transmit state
CCH 0094 148 Cancel character
MW 0095 149 Message waiting

0096 150 Start of guarded area

0097 151 End of guarded area

0098 152 Start of string

0099 153 Dicadangkan

009A 154 Single character introducer
CSI 009B 155 Control sequence introducer
ST 009C 156 String terminator
OSC 009D 157 Operating system command
PM 009E 158 Privacy message
APC 009F 158 Application program command

00A0 160 Spasi yang bukan pemisah kata
¡ 00A1 161 Tanda seru terbalik
¢ 00A2 162 Tanda sen (Cent)
£ 00A3 163 Tanda Poundsterling
¤ 00A4 164 Tanda mata uang (Currency)
¥ 00A5 165 Tanda Yen
¦ 00A6 166 Garis tegak putus-putus (broken bar)
§ 00A7 167 Section sign
¨ 00A8 168 Diaeresis
© 00A9 169 Tanda hak cipta (Copyright)
ª 00AA 170 Feminine ordinal indicator
« 00AB 171 Left-pointing double angle quotation mark
¬ 00AC 172 Not sign
­ 00AD 173 Tanda strip (hyphen)
® 00AE 174 Tanda merk terdaftar
¯ 00AF 175 Macron
° 00B0 176 Tanda derajat
± 00B1 177 Tanda kurang lebih (plus-minus)
² kodok 178 Tanda kuadrat (pangkat dua)
³ 00B3 179 Tanda kubik (pangkat tiga)
´ 00B4 180 Acute accent
µ 00B5 181 Micro sign
00B6 182 Pilcrow sign
· 00B7 183 Middle dot


Posting di atas dikutip dari Wikipedia.

Sebagai tambahan informasi, bahwa kode ASCII ini dapat di akses menggunakan formula dalam Microsoft Excel 2010 menggunakan "=CHAR( )", ternyata Excel 2010 tidak hanya mengenali 183 macam karakter, melainkan hingga 255 karakter, artinya telah memenuhi 1 byte atau 8 bit biner (biner 8 digit). Perhatikan tabel berikut :


Lebih lengkap tentang cara implementasi formula pada MS Excel-nya,
silahkan download di sini.

Terima kasih, semoga bermanfaat.
Baca Selengkapnya >>

Pengujian Karakteristik "Rangkaian Y" Penyusun Dual XOR Gate

 
 

Baca Selengkapnya >>

Pengujian Karakteristik Gerbang OR 4 Input (Quad OR Gate)

 
Baca Selengkapnya >>