'Omank dharmA' BaliRockers

Jumat, 10 Juni 2011

Membangun program assembly

Menjelaskan dasar-dasar pembuatan program assembly, cara penggunaan rutin-rutin i/o dan sebagai rutin bahasa pemrograman C.
Saat ini, sudah jarang sekali membuat program lengkap yang berdiri sendiri dengan menggunakan bahasa assembly. Assembly sangat berguna untuk keperluan rutin yang kritis dan sangat khusus.
Mengapa ?
Semua itu, sangat mudah jika diprogram dengan mengunakan sebuah bahasa pemrograman beraras tinggi jika dibandingkan dengan bahasa assembly. Juga, dengan menggunakan bahasa assembly membuat program sangat sulit untuk di pindahkan (di porting) ke platform yang lainnya (arsitektur komputer lainnya). Pada kenyataannya, sangat sulit membuat program dalam bahasa assembly secara keseluruhan.
Namun, mengapa banyak orang yang masih belajar bahasa assembly ?.
Alasannya adalah:

1. Kadang-kadang kode ditulis dalam bahasa assembly karena dapat lebih cepat eksekusinya daripada kode yang dihasilkan kompiler.
2. Assembly mengijinkan untuk mengakses perangkat keras secara langsung, hal ini mungkin sulit atau tidak mungkin dapat dilakukan oleh bahasa pemrograman tingkat tinggi.
3. Belajar program menggunakan bahasa assembly akan menolong sebagai penguatan untuk mengerti bagaimana komputer bekerja.
4. Belajar program menggunakan bahasa assembly akan menolong mengerti secara baik bagaimana kompiler dan bahasa pemrograman beraras tinggi seperti C bekerja

LIHAT SELENGKAPNYA : http://elektro.ub.ac.id/bsw/kuliah-1/bahasa-assembly/membuat-program-assembly

Teknik Komunikasi Data Digital

A. Transmisi Sinkron
Ada dua pendekatan yang umum digunakan untuk mencapai sinkronisasi yang diharapkan. Yang pertama yaitu transmisi asinkron, strategi dalam skema ini adalah menghindari masalah timing dengan cara tidak mengirimkan aliran bit yang panjang dan tidak putus-putus. Jadi, data ditransmisikan satu karakter sekaligus di mana setiap karakter panjangnya lima sampai delapan bit. Timing atau sinkronisasi harus dipertahankan hanya di dalam setiap karakter; receiver mempunyai kesempatan untuk melakukan sinkronisasi kembali pada permulaan setiap karakter baru.
Figur 1.1 mengilustrasikan teknik ini. Ketika tidak ada karakter yang ditransmisikan, jalur di antara transmiter dan receiver dinyatakan dalam status idle (luang). Definisi idle ekuivalen terhadap elemen-elemen pensinyalan untuk biner 1.
(a) Format karakter
(b) Aliran karakter asinkron 8-bit
(c) Dampak dari kesalahan timing
Permulaan karakter ditandai dengan start bit (bit permulaan) dengan nilai biner 0. Hal ini diikuti dengan 5 hingga 8 8 bit yang sebenarnyamerupakan karakter. Bit-bit karakter ditransmisikan, yang dimulai dengan bit yang secara signifikan merupakan yang paling sedikit. Sebagai contoh, untuk karakter IRA, bit-bit data biasanya diikuti oleh sebuah bit paritas, yang karenanya berada dalam posisi bit yang paling signifikan. Bit paritas disusun oleh transmitter semacam itu sehingga jumlah total bit-bit dalam karakter, termasuk bit paritas, dapat genap (paritas genap) atau ganjil (paritas ganjil), bergantung pada ketentuan yang digunakan. Bit ini digunakan oleh receiver untuk mendeteksi kesalahan. Elemen akhir adalah stop element (elemen penghentian), yang berupa biner 1. Panjang minimum untuk elemen akhir ditentukan, biasanya 1;1,5; atau 2 kali durasi bit biasa. Tidak tidak adanya nilai maksimum juga ditentukan. Oleh karena elemen akhir sama dengan status idle, transmitter tidak akan terus mentransmisikan elemen akhir sampai elemen akhir siap mengirimkan karakter berikutnya.
Persyaratan timing untuk skema ini sederhana saja, sebagai contoh karakter IRA biasanya dikirim sebagai unit 8-bit, termasuk bit paritas. Jika receiver 5% lebih lambat atau lebih cepat daripada transmitter, pemeriksaan delapan bit karakter akan dipindahkan per 45% dan masih diperiksa dengan benar.
Kesalahan seperti Figur1.1c terjadi karena dua hal. Pertama, sample bit terakhir tidak diterima dengan benar. Kedua, perhitungan bit kemungkinan di luar dari yang ditentukan. Jika bit 7 adalah 1 dan bit 8 adalah 0, bit 8 keliru karena dianggap sebagai bit awal. Kondisi ini disebut framing error (membingkai kesalahan), seperti karakter plus start bit dan elemen akhir yang kadang-kadang ditunjukkan sebagai frame. Membingkai kesalahan kadang-kadang terjadi bila beberapa noise (gangguan) menyebabkan munculnya start bit yang salah sepanjang status idle.
Trasmisi asinkron sangat sederhana dan murah, tetapi memerlukan overhead (tambahan) dua sampai tiga bit per karakter. Sebagai contoh, untuk karakter 8-bit dengan tanpa bit prioritas, menggunakan elemen akhir sepanjang 1-bit, dua dari setiap sepuluh bit membawa informasi, tetapi mereka hanya untuk sinkronisasi saja; sehingga tambahannya adalah 20%. Tentu saja, tambahan persentase dapat dikurangi dengan mengirim blok bit yang lebih besar di antara start bit dan elemen akhir. Bagaimanapun juga, seperti yang ditujukkan dalam Figur 1.1c, semakin besar blok bit, semakin besar tumpukan kesalahan timing. Untuk mencapai tingkat efisiensi yang lebih besar, digunakan transmisi sinkron.

B. Transmisi Sinkron
Dengan transmisi sinkron, suatu blok bit ditransmisikan dalam suatu aliran yang mantap tanpa kode start dan stop. Panjang blok tersebut dapat terdiri dari banyak bit. Untuk mencegah ketidaksesuaian waktu di antara transmiter dan receiver, detaknya bagaimanapun juga harus disinkronisasi. Salah satu kemungkinannya adalah dengan menyediakan sebuah jalur detak terpisah di antara transmiter dan receiver. Salah satu sisi (transmiter dan receiver) mengatur jalur secara teratur dengan satu pulsa pendek per waktu bit. Sisi lainnya menggunakan pulsa regular sebagai detak. Teknik ini bekerja dengan baik untuk jarak pendek, tetapi untuk jarak lebih panjang, pulsa detak akan menjadi sasaran gangguan-gangguan yang sama seperti yang terjadi pada sinyal data, ditambah lagi dengan adanya kesalahan timing. Alternative lainnya adalah dengan menyimpan informasi clocking (penguatan) pada sinyal data. Untuk sinyal-sinyal digital, hal ini dapat diperoleh dengan pengkodean Manchester atau Manchester diferensial. Untuk sinyal-sinyal analog, terdapat sejumlah teknik yang dapat digunakan, misalnya frekuensi pembawa itu sendiri juga dapat digunakan untuk menyinkronisasi receiver berdasarkan pada fase pembawa tersebut.
Dengan transmisi sinkron, terdapat level sinkronisasi yang diperlukan, yang memungkinkan receiver untuk menentukan awal dan akhir suatu blok data. Untuk mencapai hal ini, setiap blok diawali dengan pola bit preamble dan biasanya diakhiri dengan pola bit postamble.
Figur 1.2 Format Frame Sinkron
Figur di atas memperlihatkan, menurut istilah umum, bentuk frame khusus untuk transmisi sinkron. Umumnya, frame diawali dengan suatu preamble yang disebut flag, yang panjangnya 8-bit. Flag yang sama dipergunakan sebagai postamble. Receiver mencari pola flag untuk menandai permulaan frame. Hal ini diikuti oleh sejumlah field control (berisi informasi protocol data link control), kemudian field data (panjang variable untuk sebagian protocol), field control lagi, dan terakhir flag diulang lagi.
Untuk blok data yang cukup besar, transmisi sinkron jauh lebih efisien dari pada asinkron. Transmisi asinkron memerlukan tambahan 20% atau lebih. Kendali informasi, preamble, dan postamble dalam transmisi sinkron biasanya kurang dari 100 bit.

2.2 Tipe-Tipe Kesalahan
Pada system transmisi digital , kesalahan terjadi ketika bit berubah di antara transmisi dan penerimaan; yakni biner 1 ditransmisikan dan biner 0 diterima, atau biner 0 ditransmisikan dan biner 1 diterima. Dua tipe kesalahan yang umum dapat terjadi , kesalahan bit tunggal dan ledakan kesalahan. Kesalahan bit tunggal adalah kondisi kesalahan yang terisolasi yang mengubah satu bit, tetapi tidak mempengaruhi bit yang terdekat. Ledakan kesalahan dengan panjang B adalah sederetan bit B di mana bit pertama dan terakhir serta sejumlah bit menengah diterima dalam kesalahan.
Lebih tepatnya, IEEE Std dan ITU-T Recommendation Q.9 mendefinisikan kedua ledakan kesalahan sebagai grup bit di mana dua bit mengalami kesalahan berturut-turut selalu dipisahkan kurang dari sejumlah x bit yang benar. Bit yang mengalami kesalahan terakhir dalam ledakan dan bit pertama yang mengalami kesalahan pada ledakan berikutnya dipisahkan oleh x atau lebih bit yang benar.
Jadi, dalam ledakan kesalahan terdapat kluser bit dimana terjadi sejumlah kesalahan, meskipun tidak semua bit dalam kluser mengalami kesalahan. Kesalahan bit tunggal dapat terjadi dengan adanya noise putih, ketika rasio signal-to-signal yang sedikit memburuk secara acak cukup untuk membingungkan keputusan receiver mengenai bit tunggal. Ledakan kesalahan lebih umum terjadi dan lebih sulit untuk ditangani. Ledakan kesalahan dapat dapat disebabkan oleh noise impuls dan fading.

2.3 Deteksi Kesalahan
Terlepas dari desain sistem transmisi, pasti akan terjadi kesalahan yang menghasilkan perubahan satu atau lebih bit-bit dalam frame yang ditransmisikan. Selanjutnya, kita asumsikan data itu ditransmisikan sebagai satu atau lebih rangkaian deratan bit yang disebut frame. Kita mendefinisikan probabilitas yang berkaitan dengan kesalahan dalam frame yang ditransmisikan :
Pb : probabilitas bit yang diterima dalam kesalahan; juga dikenal sebagai laju
kesalahan bit (BER)
P1 : probabilitas frame tiba tanpa kesalahan bit
P2 : probabilitas bahwa, dengan algoritma deteksi kesalahan yang digunakan,
sebuah frame tiba dengan satu atau lebih kesalahan yang tidak terdeteksi
P3 : kemungkinan bahwa, dengan algoritma deteksi kesalahan yang digunakan,
sebuah frame tiba dengan satu atau lebih kesalahan yang tidak terdeteksi,
namun tidak ada kesalahan bit yang terdeteksi
Pertama, mempertimbangkan kasus di mana tidak dilakukan apa pun untuk mendeteksi kesalahan. Dengan demikian, probabilitas kesalahan yang terdeteksi (P3) adalah nol. Untuk menyatakan probabilitas yang tersisa, asumsikan probabilitas bit apa pun yyang mengalami kesalahan (Pb) adalah konstan yang tersisa dan indepanden untuk masing-masing bit.

Kemudian kita mendapatkan :
P1 = (1 - Pb)F
P2 = 1 - P1
di mana F adalah jumlah bit per frame. Dengan kata lain, probabilitas sebuah frame tiba tanpa kesalahan bit berkurang ketika probabilitas kesalahan bit tunggal bertambah, seperti yang kita harapkan. Juga, probabilitas sebuah frame tiba tanpa kesalahan bit berkurang dengan penambahan panjang frame, semakin panjang frame maka semakin banyak bit yang dimilikinya dan semakin tinggi probabilitas salah satunya mengalami kerusakan.
Figur 1.3 Proses Deteksi Kesalahan
Hal ini merupakan salah satu hasil yang mendorong penggunaan teknik-teknik deteksi kesalahan. Semua teknik ini beroperasi dengan prinsip-prinsip seperti pada Figur 1.3. Pada kerangka bit tertentu, bit tambahan yang merupakan sebuah kode deteksi kesalahan ditambahkan oleh transmiter. Kode ini dihitung menjadi sebuah fungsi dari bit lain yang ditransmisikan. Biasanya untuk sebuah blok data untuk menghasilkan sebuah kerangka sebesar k bit, algoritma deteksi kesalahan menghasilkan sebuah kode deteksi kesalahan sebesar n - k bit, dengan (n – k)

Sekarang didefinisikan,
T = frame n bit yang akan ditransmisikan
I = blok data k bit (pesan), k bit pertama dai T
F = FCS (n – k) bit, bit (n – k) terakhir dari I
P = pola dari n – k + 1 bit, ini adalah pembahgi yang telah ditentukan
Kita menginginkan T/P tanpa sisa, jadi jelas :
T = 2n – k D +
Jadi dengan mengalikan D dengan 2n – k , kita bergeser ke kiri n – k bit dan memperpanjang hasil tersebut dengan nol. Penambahan F menghasilkan rangkain D dan F , yang merupakan T. Kita menginginkan T dapat dibagi dengan P. Misalkan kita membagi 2n – k D dengan P.
Terdapat hasil bagi dan sisa, oleh karena itu pembagian ini adalah modulo 2, sisanya setidaknya selalu satu bit lebih kecil dari pembagi. Kita akan menggunakan sisa ini sebagai FCS. Maka dari itu di dapat :T = 2n – k D + R
Apakah R ini memenuhi kondisiT/P tanpa sisa? Untuk mengetahui bahwa ini tanpa sisa, lihatlah :
Substitusikan persamaan 1.1, maka akan kita peroleh :
Berapapun juga, angka biner apa pun yang ditambahkan kepada dirinya sendiri, maka modulo 2 akan menghasilkan nol. Dengan demikian :
Tidak terdapat sisa, dan oleh karena itu T dapat dibagi dengan tepat oleh P. Jadi, FCS mudah untuk dibuat hanya dengan membagi 2n – k D dengan P dan menggunakan sisa (n – k) bit sebagai FCS. Pada proses penerimaan, receiver akan membagi T dengan P dan akan menerima tanpa sisa jika tidak terdapat kesalahan.
Pola P dipilih satu bit lebih panjang daripada FCS yang diinginkan, dan pola bit yang tepat bergantung pada tipe kesalahan yang diharapkan. Pada minimum, baik berorde tinggi maupun rendah dari P harus sama dengan 1.
Terdapat metode singkat untuk menentukan kehadiran satu atau lebih kesalahan. Satu kesalahan menghasilkan pembalikan sebuah bit data. Hal ini ekuivalen dengan pengambilan XOR dari bit dan 1 (modulo 2 penambahan 1 ke bit) : 0 + 1 = 1 dan 1 + 1 = 0. Kemudian kesalahan pada frame n bit dapat direpresentasikan oleh field n bit dengan 1 dalam masing-masing posisi kesalahan. Frame Tr yang dihasilkan dapat dinyatakan sebagai :
Dimana :
T = frame yang ditransmisikan
E = pola kesalahan dengan 1 dalam posisi di mana terjadi kesalahan
Tr = frame yang diterima
Jika terdapat kesalahan ( E = 0), receiver akan gagal mendeteksi kesalahan jika dan hanya jika Tr dapat dibagi P yang sama dengan E dapat dibagi P. Secara tidak sengaja, hal ini terlihat tidak seperti kejadian.
Polinom
Proses kedua untuk melihat proses CNC adalah menyatakan semua nilai sebagai polinom dalam veriabel dummy X, dengan koefisien biner. Koefisien yang bersesuaian dengan bit dalam angka biner. Dengan demikian, untuk D = 110011, kita mendapatkan D(X) = X5 + X4 + X + 1, dan untuk P = 11001, kita mendapatkan D(X) = X4 + X3 + 1. Sekali lagi, operasi aritmatikanya adalah modulo 2. Sekarang proses CRC dapat dideskripsikan sebagai :
Bandingkan persamaan ini dengan persamaan (1.1) dan (1.2)
Kesalahan E(X) akan tidak terdeteksi hanya jika dapat dibagi dengan P(X). Hal itu dapat diperlihatkan [PETE61, RAMA88] bahwa semua kesalahan tersebut tidak dapat dibagi dengan P(X) yang dipilih dank arena itu dapat dideteksi.
• Semua kesalahan bit tunggal, jika P(X) mempunyai lebih dari satu bukan nol.
• Semua kesalahan bit ganda, selama P(X) mempunyai tipe polinom special, yang disebut polinom primitive, dengan eksponen maksimum L, dan panjang frame adalah kurang dari 2L -1.
• Beberapa kesalahan jumlahnya ganjil, selama P(X) berisi factor (X + 1).
• Beberapa ledakan kesalahan di mana panjang ledakan adalah kurang dari atau sama dengan n – k; yakni, kurang dari atau sama dengan panjang FCS.
• Fraksi ledakan kesalahan dengan panjang n – k + 1; fraksi sama dengan 1 – 2 –(n – k – 1)
• Fraksi ledakan kesalahan dengan panjangh lebih besar dari n – k + 1; fraksi sama dengan 1 – 2 –(n – k – 1)
• Fraksi ledakan kesalahan dengan panjang lebih besar dari n – k +1 ; fraksi sama dengan 1 – 2 – (n – k)
Pada penambahan, hal itu dapat diperlihatkan jika semua pola kesalahan dianggap hampir sama, kemudian untuk ledakan kesalahan dengan panjang r + 1, probabilitas dari kesalahan yang tidak terdeteksi (E(X) dapat dibagi dengan (P(X)) adalah ½ r – 1, dan untuk ledakan yang paling panjang, kemungkinannya adalah ½ r , dimana r adalah panjang FCS.
Empat versi P(X) yang digunakan secara luas :
CRC-12 = X12 + X11 + X3 + X2 + X + 1
CRC-16 = X16 + X15 + X2 + 1
CRC-CCITT = X16 + X12 + X5 + 1
CRC-32 = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1

Sistem CRC-12 digunakan untuk transmisi aliran karakter 6-bit dan menghasilkan FCS 12-bit. CRC-16 dan CRC-CCITT populer untuk karakter 8-bit, di Amerika Serikat dan Eropa, secara berturut-turut, dan keduanya menghasilkan 16-bit FCS. Hal ini akan terlihat cukup untuk sebagian besar aplikasi, meskipun CRC-32 dispesifikasikan sebagai opsi dalam beberapa transmisi sinkron titik ke titik dan digunakan dalam standar IEEE 802 LAN.
Logic Digital proses CRC dapat dipresentasikan dengan, dan benar-benar diterapkan sebagai, sebuah sirkuit pembagi yang terdiri dari gerbang XOR dan shift register (register geser). Shift register adalah sebuah string dari perangkat storage (penyimpanan) 1-bit. Setiap perangkat memiliki sebuah jalur output, yang mengindikasikan nilai yang tersimpan saat ini, dan sebuah jalur input. Dalam waktu yang terpisah, dikenal sebagai waktu detak (clock time), nilai dalam perangkat storage diganti dengan nilai yang diindikasikan oleh jalur input. Keseluruhan register di-clock secara simultan, menyebabkan pergeseran 1-bit di seluruh register. Sirkuit tersebut diimplementasikan sebagai berikut.
1. Register berisi n – k bit, sama dengan panjang FCS
2. Terdapat lebih dari n – k gerbang XOR
3. Ada atau tidak adanya gerbang berhubungan dengan ada dan tidaknya suku dalam pembagi polinom, P(X), tidak termasuk suku 1 dan X n – k.

Arsitektur sirkuit CRC adalah penjelasan paling baik dengan pertama-tama mempertimbangkan contoh yang diilustrasikan dalam Figur 6.5. Pada contoh ini, kita menggunakan :
Data D = 1010001101 D(X) = X9 + X7 + X3 + X2 + X + 1
Pembagi P = 110101 P(X) = X5 + X4 + X2 + 1
Figur 1.5a memperlihatkan implementasi shift register. Prosesnya dimulai dengan dihapuskannya shift register (semua nol). Pesan atau dividen, kemudian dimasukkan satu bit dalam satu waktu, dimulai dengan shift signifikan. Figur 1.5b merupakan table yang memperlihatkan nilai yang tersimpan saat ini dalam lima elemen shift register. Sebagai tambahan baris memperlihatkan nilai yang terlihat pada output dari tiga sirkuit XOR. Akhirnya, baris memperlihatkan nilai input bit berikutnya, yang tersedia untuk mengoperasikan langkah selanjutnya.
Perhatikan bahwa pengoperasian XOR mempengaruhi C4, C2, dan C0 pada shift berikutnya. Hal ini identik dengan proses panjang divisi biner yang telah diilustrasikan sebelumnya. Proses berlanjut melalui semua pesan bit. Untuk memproduksi output yang tepat, digunakan dua switch. Bit data input diberikan dengan kedua switch pada posisi A. Hasilnya, untuk 10 langkah pertama, bit input diberikan shift register dan juga digunakan sebagai bit output. Setelah data terakhir diproses, shift register akan berisi pengingat (FCS) (diperlihatkan berbayang). Secepat data terakhir menyajikan shift register, kedua switch disetel ke posisi B. Hal ini mempunyai dua efek : 1. Semua gerbang XOR menjadi mudah dilewati ; tidak ada bit yang berubah, dan 2. Seiring dengan berlanjutnya proses shifting, 5 bit CRC adalah outputnya.
Pada receiver, logic yang sama digunakan. Seiring dengan setiap bit M tiba, bit tersebut disisipi ke dalam shift register. Jika di sana tidak terdapat kesalahan, shift register akan berisi pola bit untuk R sebagai hasil dari M. Sekarang, bit dari R yang ditransmisikan mulai berdatangan, dan akibatnya semua nol keluar dari register sehingga pada penerima, register berisi semua 0.
(a) Implementasi Shift-register
(b) Contoh dengan input 1010001101 dimana input (I) adalah pesan yang dikirim

Figur 1.5 Sirkuit dengan Shift Register untuk Pembagian dengan Polinom X5 + X4 +X2 + 1
Figur 1.6 Arsitektur CRC Umum untuk Implementasi Pembagi (1 + A1X + A1X2 + … + An-1Xn-k-1 + Xn-k)
Figur 1.6 menunjukkan arsitektur umum dari implementasi shift register CRC untuk polinom P(X) = Ai X i , dimana A0 = An-k dan semua Ai lain yang sama dengan 0 atau 1.



2.4 Koreksi Kesalahan
Deteksi kesalahan merupakan teknik yang bermanfaat, ditemukan dalam protokol data link control, seperti HDLC, dan dalam protokol transport, seperti TCP. Bagaimanapun juga, koreksi kesalahan menggunakan kode deteksi kesalahan, membutuhkan blok data yang akan ditransmisikan ulang, seperti yang dijelaskan pada Bab 7. Untuk aplikasi nirkabel, pendekatan ini tidaklah mencukupi untuk dua alasan.
1. Laju kesalahan bit pada link nirkabel dapat menjadi sangat tinggi, yang akan menyebabkan sejumlah besar transmisi ulang.
2. Pada beberapa kasus, terutama link satelit, penundaan perambatan sangat lama dibandingkan dengan waktu transmisi sebuah frame tunggal. Hasilnya adalah sistem sangat tidak efisien. Seperti yang dibahas dalam Bab 7, pendekatan umum untuk transmisi ulang adalah untuk menstransmisi ulang frame yang mengalami kesalahan plus semua urutan frame-frame berikutnya. Dengan data link yang panjang, sebuah kesalahan dalam sebuah frame tunggal mengakibatkan transmisi ulang banyak frame.
Oleh karenanya, diharapkan receiver mampu mengoreksi kesalahan dalam sebuah transmisi yang akan datang berdasarkan bit dalam transmisi tersebut. Figur 1.7 menunjukkan bagaimana secara umum hal ini dilakukan. Pada akhir transmisi, setiap blok data k-bit dipetakan ke dalam sebuah blok n-bit (n > k) yang disebut codeword, menggunakan encoder FEC (forward error correction). Codeword tersebut kemudian ditransmisikan. Selama transmisi, sinyal tersebut marepakan sasaran gangguan-gangguan yang mungkin menghasilkan kesalahan bit dalam sinyal. Pada receiver, sinyal yang dating didemodulasi untuk menghasilkan sebuah string bit yang serupa dengan codeword asli, tetapi mungkin berisi kesalahan. Blok ini dikirim melalui sebuah decoder FEC, dengan satu dari tempat hasil yang mungkin terjadi :
1. Jika tidak terdapat kesalahan bit, input ke decoder FEC identik dengan codeword asli, dan decoder tersebut manghasilkan blok data asli sebagai output.
2. Untuk pola kesalahan tertentu, decoder mungkin saja mendeteksi dan mengoreksi kesalahan tersebut. Jadi, meskipun blok data yang datang berbeda dengan codeword yang ditransmisikan, decoder FEC dapat memetakan blok ini ke dalam blok data asli.
3. Untuk pola kesalahan tertentu, decoder dapat mendeteksi, tetapi tidak mengoreksi kesalahan tersebut. Pada kasus ini, decoder tersebut hanya melaporkan kesalahan yang tidak dapat diperbaiki.
4. Untuk pola kesalahan tertentu yang jarang ditemui, decoder tidak mendeteksi adanya kesalahan yang telah terjadi dan memetakan blok data n-bit yang akan datang ke dalam blok k-bit yang berbeda dengan blok k¬-bit yang asli.
Figure 1.7 Proses Koreksi Kesalahan

Bagaimana mungkin decoder mengkoreksi kesalahan bit? Pada dasarnya, koreksi kesalahan bekerja dengan menambahkan pengulangan pada pesan yang ditransmisikan. Pengulangan tersebut memungkinkan receiver tersebut menyimpulkan isi pesan asli, meskipun di hadapan tingkat laju kesalahan tertentu.

Prinsip prinsip Kode Blok
Sebagai permulaan, kita mendefinisikan sebuah istilah yang akan bermanfaat bagi kita. Jarak Hamming d (v1, v2) di antara dua buah deretan biner n-bit, v1 dan v2 adalah jumlah bit di mana v1 dan v2 tidak cocok. Sebagai contoh, jika :
v1 = 011011, v2 = 1100011
kemudian
d(v1,v2) = 3
Mari kita amati teknik kode blok untuk koreksi kesalahan. Misalkan kita ingin mentransmisikan blok-blok data dengan panjang k-bit. Daripada mentransmisikan masing-masing blok sebagai k-bit, kita memetakan setiap deretan k¬-bit ke dalam sebuah codeword n-bit unik.
Kode blok (n,k) mengkodekan bit data ke dalam codeword n-bit. Umumnya, setiap kodeword valid menghasilkan bit data k asli dan menambahkan check bit (n – k) ke mereka untuk membentuk codeword n-bit. Jadi desain sebuah kode blok ekuivalen dengan desain sebuah fungsi berbentuk vc = f(vd) adalah sebuah vector bit data k dan vc adalah sebuah vector bit codeword n.
Dengan sebuah kode blok (n, k) terdapat 2k codeword valid di luar jumlah total codeword 2n yang mungkin. Rasio dari bit pengulangan terhadap bit data, (n – k)/k,disebut pengulangan dari kode tersebut, dan rasio dari bit data terhadap total bit, k/n,disebut kecepatan kode. Kecepatan kode adalah sebuah ukuran dari seberapa banyak bandwidth tambahan yang dibutuhkan untuk membawa data pada kecepatan data yang sama seperti tanpa kode. Sebagai sontoh, kecepatan kode dari ½ membutuhkan kapasitas transmisi dua kali dari sebuah sistem tidak terkode untuk mempertahankan kecepatan yang sama. Contoh yang kita gunakan memiliki kecepatan kode 2/5 sehingga membutuhkan 2,5 kali dari kapasitas sistem tidak terkode. Sebagai contoh, jika input kecepatan data ke encoder adalah 1 Mbps, maka output dari encoder harus berada pada kecepatan 2,5Mbps.
Untuk sebuah kode yang terdiri dari codeword w1, w2, …, ws, dengan s = 2n , jarak minimum dmin dari kode tersebut didefinisikan sebagai :

Dapat ditunjukkan bahwa kondisi berikut ini dipertahankan. Untuk sebuah nilai bilangan bulat t yang ditentukan, jika sebuah kode memenuhi dmin (2t + 1), maka kode tersebut dapat mengkoreksi semua kesalahan bit hingga mencakup kesalahan bit t. Jika dmin 2t, maka semua kesalahan (t – 1) bit dapat diperbaiki dan kesalahan dari t bit dapat dideteksi, tetapi umumnya tidak dapat diperbaiki. Sebaliknya, kode apapun untuk semua kesalahan dengan besar t yang akan diperbaiki harus memenuhi dmin (2t + 10), dank ode apapun untuk semua kesalahan dengan besar (t – 1) diperbaiki dan semua kesalahan dari besar t dideteksi harus memenuhi dmin 2t.
Cara lain untuk menempatkan hubungan antara dmin dan t adalah dengan menyatakan jumlah maksimum dari kesalahan yang dijamin dapat diperbaiki per codeword memenuhi
Dimana [ x ] berarti bilangan bulat terbesar tidak melampaui x (contoh, [ 6,3 ] = 6). Lebih jauh lagi, jika kita hanya memperhatikan deteksi kesalahan dan tidak koreksi kesalahan, maka jumlah kesalahan t yang dapat dideteksi memenuhi
t = dmin – 1
Figur 1.8 Cara Pengkodean Meningkatkan Kinerja Sistem
Untuk melihat ini, perhatikan bahwa jika dmin kesalahan terjadi, hal ini dapat mengubah satu codeword valid ke yang lain. Jumlah yang lebih kecil dari dmin tidak dapat menghasilkan codeword valid lainnya.
Desain dari sebuah kode blok mencakup sejumlah pertimbangan, antara lain :
1. Untuk nilai n dan k yang ditentukan, kita menginginkan nilai dmin terbesar mungkin.
2. Kode tersebut seharusnya relative mudah untuk dikodekan dan didekokan, membutuhkan memori dan waktu pemrosesan minimal.
3. Kita menginginkan sejumlah bit tambahan (n – k) menjadi kecil, untuk mengurangi bandwidth.
4. Kita menginginkan sejumlah bit tambahan (n – k ), menjadi besar untuk bandwidth.


Jelas terlihat bahwa dua tujuan terakhir saling bertentangan, dan tawar-menawar harus dibuat.
Hal yang penting untuk mengamati Figur 1.8 berdasarkan [LEBO98]. Literatur pada kode koreksi kesalahan sering kali melibatkan grafik jenis ini untuk mendemontrasikan keefektifan dari berbagai skema pengkodean. Pada Figur 1.8 ambang batasnya adalah 5,4 dB. Di bawah ambang batas tersebut, check bit tambahan memberikan tambahan ke sistem tersebut yang mengurangi energy per bit data, hal ini menyebabkan kesalahan meningkat. Di atas ambang batas, daya koreksi kesalahan dari kode dikompensasikan lebih untuk Eb yang berkurang menghasilkan sebuah bati pengkodean.

2.5 Konfigurasi Kanal
Dua karekteristik yang membedakan berbagai konfigurasi data link adalah topologi dan apakah link tersebut half duplex atau full duplex
Topologi
Topologi data link menunjukkan susunan stasiun secara fisik pada medium transmisi. Jika hanya terdapat dua stasiun (contohnya terminal dan computer atau dua computer), linknya adalah titik ke titik. Umumnya link multititik digunakan dalam kasusu sebuah computer (stasiun primer) dan serangkaian terminal (stasiun kedua). Saat ini topologi multititik banyak ditemukan pada local area network.
Topologi multititik tradisional memungkinkan jika terminal hanya mentransmisi dalam waktu singkat. Figure 1.9 mengilustrasikan keuntungan konfigurasi multititik. Jika masing-masing terminal mempunyai link titik ke titik pada komputernya, maka computer harus mempunyai satu port I/O untuk masing0masing terminal. Juga terdapat link transmisi terpisah dari computer ke masing-masing terminal. Pada konfigurasi multititik, computer hanya membutuhkan port I/O tunggal dan jalur transmisi tunggal, yang menghemat biaya.



Figur 1.9 Konfigurasi Terminal/Komputer Tradisional

Full Duplex dan Half Duplex
Perpindahan data melalui jalur transmisi dapat diklasifikasikan sebagai full duplex atau half duplex. Dengan transmisi half-duplex, hanya satu dari dua stasiun pada link titik ke titik yang dapat melakukan transmisi saat itu juga. Mode ini juga disebut sebagai alternative dua cara (two-way alternate), fakta sugestifnya adalah dua stasiun harus menjadi alternative dalam transmisi. Hal ini dapat dibandingkan dengan jembatan satu-jalur, dua-cara (one-lane, two-way brigde). Bentuk transmisi ini selalu digunakan untuk interaksi terminal ke computer. Ketika pengguna memasuki dan mentransmisi data, computer dicegah untuk mengirimkan data ke terminal, yang akan muncul pada layar terminal dan menyebabkan kebingungan.
Untuk transmisi half-duplex, dua stasiun dapat secara simultan mengirim dan menerima data dari yang lainnya. Oleh karena itu, mode ini dikenal dengan dua-cara secara simultan (two-way simultaneous) dan mungkin dibandingkan dengan jembatan satu-jalur dua-cara. Untuk perpindahan data computer ke computer bentuk transmisi ini lebih efisien dari pada transmisi half-duplex.
Dengan pensinyalan digital, yang memerlukan transmisi terpandu, operasi full-duplex biasanya memerlukan dua jalur transmisi terpisah (contohnya, dua twisted pairs) , sedangkan half-duplex memerlukan satu saja. Untuk pensinyalan analog, hal itu bergantung pada frekuensi, contohnya jika stasuin transmisi dan receiver berada pada frekuensi yang sama, maka harus dioperasikan pada mode half-duplex untuk transmisi nirkabel, walaupun dimungkinkan untuk dioperasikan pada pada mode full-duplex untuk transmisi terpandu yang menggunakan dua jalur transmisi terpisah. Jika stasuin mentransmisi pada frekuensi dan menerima dari yang lainnya, maka hal itu dapat dioperasikan dalam mode full-duplex untuk transmisi nirkabel dan dalam mode full-duplex dengan jalur tunggal untuk satu transmisi terpandu.
Sangat mungkin untuk mentransmisikan sinyal digital secara simultan ke dua arah pada jalur transmisi tunggal dengan menggunakan teknim yang disebut echo cancellation (pembatalan echo). Hal ini merupakan teknik pengolahan sinyal yang penjelasannya malampaui cakupan pada pembahasan ini.

2.6 Bacaan yang Disarankan
Pembahasan secara klasik mengenai kode deteksi kesalahan dan CRC adalah [PETE61], [RAMA88] merupakan tutorial yang baik untuk CRC.
[STAL05] mendiskusikan penggunaan kode koreksi kesalahan secara luas, [ADAM91] memberikan pembahasanyang komperenshif mengenai kode koreksi kesalahan. [SKLA01] berisi penulisan yang baik dan jelas dari subjek. Dua survey yang bermanfaat untuk artikel adalah [BERL87] dan [BHAR83]. Pembahasan secara teoritis dan matematis dari kode koreksi kesalahan dapat bibaca di [ASH90], dan [FREE98] memberikan cakupan yang baik mengenai standar antarmuka lapisan fisik.





2.7 Istilah Penting
Bit paritas
Cek paritas
Codeword
Circuit interchange
Cyclic redundancy check (CRC)
Deteksi kesalahan
EIA-232
Forward error correction (FEC)
Frame
Frame check sequence (FCS)
Full duplex
Half duplex
Integrated service digital network (ISDN)
Jarak hamming
Kode deteksi kesalahan
Kode hamming
Koreksi kesalahan
Kode koreksi kesalahan(error correcting code – ECC)
Kode siklik
Titik ke titik
Transmisi asinkron
Transmisi sinkron

Perintah Dasar Assembler

Berikut beberapa perintah dasar pada assembler yang biasa digunakan:

• Mov
Perintah untuk mengisi, memindahkan, memperbaharui isi suatu register, variabel ataupun suatu lokasi memori.
Penulisan perintah:
MOV [operand A],[operand B]
Dengan ketentuan operand A merupakan register, variabel, lokasi memori dan ketentuan isi operand B berupa register, variabel, lokasi memori ataupun bilangan.
Operand B merupakan bilangan asal yang akan diisikan ke operand A, dengan kata lain operand A merupakan tujuan pengisian atau penduplikatan dari operand B.

• Int (Interrupt)
Perintah Int (Interrupt) mempunyai cara kerja yang sama dengan perintah GOSUB pada BASIC, hanya pada Int, subrotine yang akan dipaggil sudah tersedia pada memori komputer.
Subrotine yang dipanggil menggunakan perintah Int (interrupt) terdiri dari 2 jenis, yaitu:
1. Bios Interrupt yaitu Int yang disediakan oleh BIOS (Basic Input Output System). Interrupt yang termasuk dalam Interrupt BIOS adalah Int 0 hingga Int 1F hexa.
2. DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operating System). Interupt yang termasuk dalam Interrupt DOS adalah Interrupt diatas Int 1F hexa. Misal: Interrupt 20 hexa, Interrupt 21 hexa dll.

• Q (Quit)
Bila kita mengetik Q dan menekan Enter, maka akan segera kembali ke DOS Prompt.

• H (Hexa)
Perintah yang melaksanakan penjumlahan dan pengurangan terhadap dua bilangan hexa.
Bentuk Umum Instruksi:
H operand1 operand2

• R (Register)
Perintah ini adalah untuk mengetahui isi masing-masing register pada saat mengetik R dan menekan Enter.

• A (Assembler)
Perintah ini berguna untuk tempat menulis program Assembler.

• N (Name)
Perintah ini untuk memasukkan nama program setelah program dibuat.
Bentuk Umum Instruksi:
N [Drive]: [nama program]

• RCX (Register CX)
Perintah untuk mengetahui dan memperbaharui isi register CX yang merupakan tempat penampungan panjang program yang sedang aktif sebelum dijalankan (running).


sumber : http://www.belajarti.co.cc/2010/03/perintah-dasar-assembler.html
DOWNLOAD : http://www.ziddu.com/download/9586433/ModulAssembling.doc.html

Satuan Bit dan Byte

BIT - merupakan satuan data terkecil. Terdiri dari 1 atau 0. Biasa disebut dengan “Binary”.
BYTE – terdiri dari 8 bit. Memiliki nilai maksimal 225 (0-225). Biasa disebut sebagai “base 16 system” sedangkan binary disebut “base 2 system”.
WORD – merupakan 2 byte atau 16 bit. Word memiliki nilai maksimal 0FFFFh atau 65535d.
DOUBLE WORD – terdiri dari 2 word atau 32 bit. Nilai maksimal = 0FFFFFFFF atau 4294967295d.
KILOBYTE – 1000 bytes?? Bukan. 1 kilobyte tidak sama dengan 1000 bytes. 1 kilobyte sama dengan 1024 (32 * 32) bytes.
MEGABYTE – 1 Megabyte tidak sama dengan 1000000 bytes, tetapi 1024 * 1024 atau 1048578 bytes.
II. Register
Register adalah tempat khusus pada komputer, dimana kita bisa melakukan penyimpanan data. Kita bisa melihat register sebagai sebuah “kotak”, dimana di dalamnya kita bisa menyimpan sesuatu seperti : nama, nomor, kalimat. Kita bisa melihat register sebagai tempat penyimpanan.
Saat ini, kebanyakan komputer menggunakan 9 register 32bit. Yaitu :
EAX: Extended Accumulator Register
EBX: Extended Base Register
ECX: Extended Counter Register
EDX: Extended Data Register
ESI: Extended Source Index
EDI: Extended Destination Index
EBP: Extended Base Pointer
ESP: Extended Stack Pointer
EIP: Extended Instruction Pointer
Umumnya, ukuran register adalah 32 bit (4 bytes). Bisa menampung data dari 0 – 0FFFFFFFF. Pada awal, kebanyakan register mempunyai fungsi utama yang memiliki nama yang berarti, seperti ECX = Counter, tetapi saat ini kita bisa menggunakan register apapun yang kita sukai sebagai counter. Fungsi EAX, EBX, ECX, EDX, ESI, dan EDI akan dijelaskan saat saya menjelaskan fungsi tertentu yang digunakan pada register tersebut.

EBP : EBP paling banyak berhubungan dengan stack dan stack frames.
ESP : ESP menunjuk ke stack dari proses yang sedang terjadi. Stack adalah tempat dimana data disimpan, dan akan digunakan nantinya (untuk lebih detail, kita pelajari dahulu proses pop/push)
EIP : EIP selalu menunjuk kepada instruksi berikutnya yang akan dieksekusi.
Ada 1 hal penting yang perlu kita ketahui tentang register : walaupun besarnya 32bit, tapi beberapa bagian (16bit bahkan 8bit) tidak bisa diakses secara langsung. Yang memungkinkan yaitu :
32bit Register 16bit Register 8bit Register
EAX AX AH/AL
EBX BX BH/BL
ECX CX CH/CL
EDX DX DH/DL
ESI SI —–
EDI DI —–
EBP BP —–
ESP SP —–
EIP IP —–
Sebuah register terlihat seperti berikut :
|—————————— EAX: 32bit (=1 DWORD =4BYTES) ————————-|
|——- AX: 16bit (=1 WORD =2 BYTES) —-|
|- AH:8bit (=1 BYTE)-|- AL:8bit (=1 BYTE)-|
Jadi EAX adalah nama dari register 32 bit, AX adalah “Low Word” (16 bit) dari EAX dan AL/AH (8 bit) adalah nama dari “Low Part” dan “High Part” dari AX. Btw, 4 bytes adalah 1 DWORD dan 2 bytes adalah WORD. Masih ingat kan :D ?
Pengelompokkan berdasarkan ukuran
1. Byte-size-register : Seperti namanya, register ini memiliki ukuran tepat 1 byte. Hal ini tidak berarti 32 bit diisi semuanya dengan data. Register yang kosong diisi dengan 0. Berikut adalah register-register byte-size, semuanya berukuran 1 byte atau 8 bit.

* AL dan AH
* BL dan BH
* CL dan CH
* DL dan DH

2. Word-size-register : berukuran 1 word (= 2 bytes = 16 bit). Sebuah register word-size terdiri dari 2 register byte-size. Kita bisa mengelompokkannya berdasarkan tujuan yaitu :
a. Umum

* AX (word-size) = AH + AL -> “+” bukan berarti menjumlahkan. AH dan AL bersifat independent., tapi mereka bersama berada pada AX. Hal ini berarti jika kita mengubah AL atau AH, secara otomatis kita juga mengubah AX. :)
* AX -> accumulator, sering digunakan untuk operasi matematika
* BX -> base , digunakan sebagai konjungsi pada stack
* CX -> counter
* DX -> data , kebanyakan digunakan sebagai reminder pada operasi matematika disimpan
* DI -> Destination Index , sebagai contoh sebuah string dicopykan pada DI
* SI -> Source Index, sebagai contoh sebuah string dicopykan dari SI

b. Index

* BP -> Base Pointer, menunjuk pada posisi tertentu pada stack
* SP -> Stack Pointer, menunjuk pada posisi tertentu pada stack

c. Segment

* CS -> Code Segment, instruksi aplikasi yang dieksekusi
* DS -> Data Segment, data yang dibutuhkan
* ES -> Extra Segment

d. Spesial

* IP -> Instruction Pointer , menunjuk ke instruksi berikutnya

3. DoubleWord-size-register
2 words = 4 bytes = 32 bits. EAX, EBX, ECX, EDX, EDI, …
Jadi kalau ada huruf “E” di depan 16bit, itu berarti 32 bit. Jadi AX = 16 bits, dan EAX adalah versi 32bit.
Sumber : Woodmann

Komunikasi Data

Komunikasi data adalah transmisi atau proses pengiriman dan penerimaan data dari dua atau lebih device (sumber), melalui beberapa media. Media tersebut dapat berupa kabel koaksial, fiber optic (serat optic) , microware dan sebagainya.

Komunikasi data merupakan gabungan dari beberapa teknik pengolahan data. Dimana telekomunikasi yang dapat diartikan segala kegiatan yang berhubungan dengan penyaluran informasi dari titik ke titik lain. Sedangkan pengolahan data adalah segala kegiatan yag berhubungan dengan pengolahan.

1. KOMPONEN DASAR KOMUNIKASI DATA & BAGAN

A. Sumber (pemancar atau pengirim)

yaitu pengirim atau pemancar informasi data. Karena pembahasan berkisar pada sistem computer maka pemancar adalah sistem komputer. Komunikasi data dapat juga berlangsung dua arah sehingga pemancar juga dapat berfungsi sebagai penerima.

B. Media Transmisi

yaitu saluran tempat informasi tersebut disalurkan ketempat tujuan. Media yang dipergunakan dapat berupa : kabel, udara, cahaya dan sebagainya.

C. Penerima

yaitu alat yang menerima informasi yang dikirimkan.

D. Gambar Bagan Proses Komunikasi Data




1. SINYAL ANALOG & SINYAL DIGITAL


A. Sinyal Analog

Sinyal analog adalah sinyal data dalam bentuk gelombang yang yang kontinyu, yang membawa informasi dengan mengubah karakteristik gelombang. Dua parameter/ karakteristik terpenting yang dimiliki oleh isyarat analog adalah amplitude dan frekuensi. Isyarat analog biasanya dinyatakan dengan gelombang sinus, mengingat gelombang sinus merupakan dasar untuk semua bentuk isyarat analog. Hal ini didasarkan kenyataan bahwa berdasarkan analisis fourier, suatu sinyal analog dapat diperoleh dari perpaduan sejumlah gelombang sinus. Dengan menggunakan sinyal analog, maka jangkauan transmisi data dapat mencapai jarak yang jauh, tetapi sinyal ini mudah terpengaruh oleh noise. Gelombang pada sinyal analog yang umumnya berbentuk gelombang sinus memiliki tiga variable dasar, yaitu amplitudo, frekuensi dan phase.

· Amplitudo merupakan ukuran tinggi rendahnya tegangan dari sinyal analog.

· Frekuensi adalah jumlah gelombang sinyal analog dalam satuan detik.

· Phase adalah besar sudut dari sinyal analog pada saat tertentu.

B. Sinyal Digital

Sinyal digital merupakan sinyal data dalam bentuk pulsa yang dapat mengalami perubahan yang tiba-tiba dan mempunyai besaran 0 dan 1. Sinyal digital hanya memiliki dua keadaan, yaitu 0 dan 1, sehingga tidak mudah terpengaruh oleh derau/noise, tetapi transmisi dengan sinyal digital hanya mencapai jarak jangkau pengiriman data yang relatif dekat. Biasanya sinyal ini juga dikenal dengan sinyal diskret. Sinyal yang mempunyai dua keadaan ini biasa disebut dengan bit. Bit merupakan istilah khas pada sinyal digital. Sebuah bit dapat berupa nol (0) atau satu (1). Kemungkinan nilai untuk sebuah bit adalah 2 buah (21). Kemungkinan nilai untuk 2 bit adalah sebanyak 4 (22), berupa 00, 01, 10, dan 11. Secara umum, jumlah kemungkinan nilai yang terbentuk oleh kombinasi n bit adalah sebesar 2n buah.




2. TCP/IP

Transmission Control Protocol/Internet Protocol (TCP/IP) adalah satu set aturan standar komunikasi data yang digunakan dalam proses transfer data dari satu komputer ke komputer lain di jaringan komputer tanpa melihat perbedaan jenis hardware. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di system operasi. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di system operasi.

· IP (internet protocol) yang berperan dalam pentransmisian paket data dari node ke node. IP mendahului setiap paket data berdasarkan 4 byte (untuk versi IPv4) alamat tujuan (nomor IP). Internet authorities menciptakan range angka untuk organisasi yang berbeda. Organisasi menciptakan grup dengan nomornya untuk departemen. IP bekerja pada mesin gateaway yang memindahkan data dari departemen ke organisasi kemudian ke region dan kemudian ke seluruh dunia.

· TCP (transmission transfer protocol) berperan didalam memperbaiki pengiriman data yang benar dari suatu klien ke server. Data dapat hilang di tengah-tengah jaringan. TCP dapat mendeteksi error atau data yang hilang dan kemudian melakukan transmisi ulang sampai data diterima dengan benar dan lengkap.

Sockets yaitu merupakan nama yang diberikan kepada subrutin paket yang menyediakan akses ke TCP/IP pada kebanyakan sistem.


3. ROUTER, BRIDGE & REPEATOR DAN FUNGSI-FUNGSINYA.

A. ROUTER

Router adalah sebuah alat jaringan komputer yang mengirimkan paket data melalui sebuah jaringan atau Internet menuju tujuannya, melalui sebuah proses yang dikenal sebagai routing. Proses routing terjadi pada lapisan 3 (Lapisan jaringan seperti Internet Protocol) dari stack protokol tujuh-lapis OSI.

Router berfungsi sebagai penghubung antar dua atau lebih jaringan untuk meneruskan data dari satu jaringan ke jaringan lainnya. Router berbeda dengan switch. Switch merupakan penghubung beberapa alat untuk membentuk suatu Local Area Network (LAN).



Analogi Router dan Switch

Sebagai ilustrasi perbedaan fungsi dari router dan switch merupakan suatu jalanan, dan router merupakan penghubung antar jalan. Masing-masing rumah berada pada jalan yang memiliki alamat dalam suatu urutan tertentu. Dengan cara yang sama, switch menghubungkan berbagai macam alat, dimana masing-masing alat memiliki alamat IP sendiri pada sebuah LAN.

Router sangat banyak digunakan dalam jaringan berbasis teknologi protokol TCP/IP, dan router jenis itu disebut juga dengan IP Router. Selain IP Router, ada lagi AppleTalk Router, dan masih ada beberapa jenis router lainnya. Internet merupakan contoh utama dari sebuah jaringan yang memiliki banyak router IP. Router dapat digunakan untuk menghubungkan banyak jaringan kecil ke sebuah jaringan yang lebih besar, yang disebut dengan internetwork, atau untuk membagi sebuah jaringan besar ke dalam beberapa subnetwork untuk meningkatkan kinerja dan juga mempermudah manajemennya. Router juga kadang digunakan untuk mengoneksikan dua buah jaringan yang menggunakan media yang berbeda (seperti halnya router wireless yang pada umumnya selain ia dapat menghubungkan komputer dengan menggunakan radio, ia juga mendukung penghubungan komputer dengan kabel UTP), atau berbeda arsitektur jaringan, seperti halnya dari Ethernet ke Token Ring.

Router juga dapat digunakan untuk menghubungkan LAN ke sebuah layanan telekomunikasi seperti halnya telekomunikasi leased line atau Digital Subscriber Line (DSL). Router yang digunakan untuk menghubungkan LAN ke sebuah koneksi leased line seperti T1, atau T3, sering disebut sebagai access server. Sementara itu, router yang digunakan untuk menghubungkan jaringan lokal ke sebuah koneksi DSL disebut juga dengan DSL router. Router-router jenis tersebut umumnya memiliki fungsi firewall untuk melakukan penapisan paket berdasarkan alamat sumber dan alamat tujuan paket tersebut, meski beberapa router tidak memilikinya. Router yang memiliki fitur penapisan paket disebut juga dengan packet-filtering router. Router umumnya memblokir lalu lintas data yang dipancarkan secara broadcast sehingga dapat mencegah adanya broadcast storm yang mampu memperlambat kinerja jaringan.


A. BRIGDE

Bridge itu bisa dikatakan sebagai media expander untuk menambah jangkauan dari sebuah jaringan LAN dan menghubungkannya dengan jaringan yang lain pada lokasi yang berbeda.

Memang ada kemiripannya dengan Hub/Switch, hanya saja Hub/Switch lebih kepada menghubungkan sebuah jaringan lokal saja (menggunakan kabel ethernet) dan masih berada pada satu lokasi yang sama karena jangkauannya yang terbatas, sebagai contoh jika menggunakan kabel ethernet maka maximum jangkauan tidak boleh lebih dari 100 meter dan itupun masih harus berkutat dengan instalasi kabel yang cukup memakan waktu.

Sedangkan bridge biasanya dilakukan dengan mengadopsi teknologi nirkabel, sehingga tidak dibatasi oleh lokasi, tetapi kita tetap harus melakukan pengaturan pada setiap titik point agar dapat saling berkomunikasi satu sama lain, perhatikan model bridging dibawah ini:


LAN A <----------> Bridge <-----------> LAN B


LAN A terdiri atas beberapa client pada sebuah jaringan lokal, demikian juga dengan LAN B. Bridge berfungsi untuk menghubungkan kedua jaringan lokal tersebut meskipun dipisahkan oleh jarak yang cukup jauh misalnya 5 km, dengan menggunakan teknologi nirkabel.



Fungsi BRIDGE adalah sebagai jembatan komunikasi antar komputer

Adapun alasan menggunakan bridge adalah sebagai berikut :

· Keterbatasan jaringan, hal ini terkait erat dengan jumlah maksimum stasiun, panjang maksimum segmen, dan bentang jaringan

· Kehandalan dan keamanan lalu lintas data, bridge dapat menyaring lalu lintas data antar dua segmen jaringan

· Semakin besar jaringan, performa atau unjuk kerja semakin menurun

· Bila dua sistem pada tempat yang berjauhan disambungkan, penggunaan bridge dengan saluran komunikasi jarak jauh jauh lebih masuk akal dibandingkan dengan menghubungkan langsung dua sistem tersebut



B. REPEATER

Repeater adalah suatu perangkat dengan program yang digunakan untuk mengatasi keterbatasan (jarak, kualitas sinyal) fisik suatu segmen jaringan (komputer).Dapat juga digunakan untuk menggabungkan beberapa segmen suatu jaringan yang besar (misalnya Ethernet to Ethernet). Namun dalam membangun jaringan fisik yang besar, perlu diperhatikan bahwa aturan panjang kabel maksimum tidak dapat dilampaui dengan menggunakan repeater ini. Repeater tidak dapat menghubungkan misalnya antara protokol data link layer yang berbeda (misalnya Ethernet dengan Token Ring). Hal ini karena repeater mempunyai bit korespondensi dengan data link atau network layer.
Contoh repeater adalah Hub. Oleh karena itu Hub kadang juga disebut sebagai multiport/modular repeater. Cara kerja repeater menyebarkan traffic data ke seluruh jaringan, tanpa memandang apakah traffic data tsb diperlukan atau tidak di seluruh jaringan. Jika jumlah station semakin banyak, dan traffic data sangat tinggi. Maka akan berakibat kinerja menurun (akses lambat).

Untuk merancang sebuah network, seorang network administrator harus tahu tentang topologi fisik, logic, manajemen traffic jaringan, jenis dan karakteristik protocol pada masing-masing physical sampai dengan application layer sangat diperlukan.

REPEATER berfungsi untuk penguat sinyal dari kabel , misalnya pada sebuah jaringan LAN dengan topologi start yang menggunakan kabel UTP . Bila komputer pada jaringan yang luas, otomatis signal yang dikirimkan dari komputer (node) ke komputer yang lain akan semakin lemah karena hambatan yang ada. Oleh karena itu, repeater digunakan untuk menguatkan signal lemah menjadi kuat kembali sehingga data yang dikirimkan dari komputer ke komputer lain dalam jaringan bisa diterima dengan baik.

Kamis, 21 April 2011

Transmisi Data

TRANSMISI DATA
1. KONSEP DAN TERMINOLOGI
Terminologi Transmisi
Transmisi data terjadi di antara transmiter dan receiver melalui beberapa media transmisi. Media transmisi dapat diklasifikasikan sebagai terpadu atau tak terpadu. Pada kedua hal itu, komunikasi berada dalam bentuk gelombang elektromagnetik. Dengan media terpadu (guided media), gelombang dikendalikan sepanjang jalur fisik, contoh-contoh guided media adalah twister pair, kabel koaksial, serta serat optic. Media tak terpadu (unguided media), juga disebut nirkabel, menyediakan alat untuk mentransmisikan gelombang elektromagnetik, tetapi tidak mengendalikannya, contohnya adalah perambatan (propagation) melalui udara, dan air laut.
Istilah link langsung (direct link) digunakan untuk menunjukkan jalur transmisi antara dua perangkat di mana sinyal dirambatkan secara langsung dari transmitter menuju receiver tanpa melalui peralatan perantara, berbeda dengan amplifier atau repeater yang digunakan untuk meningkatkan kekuatan sinyal. Perhatikan bahwa hal ini dapa diterapkan untuk media terpadu dan tak terpadu.
Media transmisi terpadu adalah titik-ke-titik (point-to-point) jika ia menyediakan link langsung di antara dua perangkat dan membagi media yang sama. Pada konfigurasi multititik (multipoint) terpadu, lebih dari dua perangkat membagi media yang sama.
Sebuah transmisi dapat berupa simplex (simplek), half duplex (dupleks setengah), atau full duplex (duplek penuh). Pada transmisi simplex, sinyal-sinyal ditransmisikan hanya dalam satu arah, satu stasiun sebagai transmitter dan yang lainnya sebagai receiver. Pada operasi half-duplex, kedua stasiun dapat mentrasmisikan, tetapi hanya satu stasiun pada saat yang sama. Pada operasi full-duplex, kedua stasiun dapat mentrasmisikan secara bersamaan. Pada kasus berikutnya, media media membawa sinyal pada kedua arah pada saat yang sama. Bagaimana hal ini dapat terjadi? Kita mencatat bahwa definisi-definisi yang diberikan merupakan yang paling umum digunakan di Amerika Serikat.

(definisi ANSI). Dalam definisi lainnya (definisi ITU-T), istilah simplex digunakan untuk menafsirkan half duplex yang didefinisikan sebelumnya, dan istilah duplex digunakan untuk menafsirkan pada full duplex yang baru saja dijelaskan.
Frekuensi, Spektrum,dan Bandwidht
Sebuah sinyal digerakkan oleh sebuah transmitter dan ditransmisikan melalui sebuah media. Sinyal merupakan fungsi dari waktu, tetapi sinyal juga dapat dinyatakan sebagai fungsi dari frekuensi; oleh karena itu,sinyal terdiri dari komponen-komponen frekunsi yang berbeda. Pandangan domain frekuensi (frequency domain) dari suatu sinyal lebih penting bagi pemahaman mengenai transmisi data dibandingkan denganvpandangan domain waktu (time domain).
Konsep-konsep Domain Waktu jika dipandang sebagai fungsi waktu,sebuah sinyal elektromagnetik dapat berupa analog dan digital. Sinyal analog adalah sinyal yang intensitasnya berubah-ubah dalam bentuk halus sepanjang waktu. Dengan kata lain, tidak ada snyal yang terputus atau dikontiniu. Sinyal digital adalah sinyal yang intensitasnya mempertahankan level yang konstan selama beberapa periode waktu dan dengan tiba-tiba berubah ke level konstan lainnya. Sinyal kontiniu dapat menggambarkan percakapan, dan sinyal diskrit dapat menggambarkan biner 1 dan 0.
Jenis sinyal semacam itu yang paling sederhana adalah sinyal periodik, di mana pola sinyal yang sama berulang sepanjang waktu. Sinyal kontiniu periodik (gelombang sinus) dan sinyal diskrit periodic (gelombang persegi). Secara matematis, sebuah sinyal s(t) didefinisikan periodik jika dan hanya jika
S(t + T) = s(t) -∞< t < + ∞
Dimana T konstanta adalah periode sinyal (T merupakan nilai terkecil yang memenuhi persamaan tersebut). Jika sebaliknya, maka sinyal tersebut tidak periodik (aperiodic).
Gelombang sinus adalah sinyal periodik dasar. Sebuah gelombang sinus umunya dapat digambarkan dengan tiga parameter: amplitudo tertinggi (A), frekuensi (f), dan fase (Ф). Amplitudo tertinggi adalah nilai atau kekuatan sinyal tertinggi sepanjang waktu; biasanya nilai ini diukur dalam ukuran volt. Frekuensi adalah kecepatan [dalam putaran per detik, atau Hertz (Hz)] di mana sinyal berulang-ulang. Parameter yang ekuivalen adalah periode (T) suatu sinyal, merupakan jumlah waktu yang diperlukan untuk melakukan satu pengulanan; jadi, T = 1/f. fase adalah ukuran posisi relative dalam satu waktu di dalam satu periode sinyal. Lebih formalnya, untuk suatu sinyal periodic f(t), fase merupakan sebagian kecil t/T dari periode T dimana t memiliki hubungan yang relative kuat dengan asal. Asal biasanya diambil dari bagian sebelumnya melalui titik 0 dari arah negative kea rah positif. Sebuah fungsi dengan bentuk persamaan sebelumnya dikenal dengan sinusoid.

Konsep-konsep Domain Frekuensi
Pada kenyataannya, sebuah sinyal elektromagnetik dibentuk dari banyak frekuensi. Sebagai contoh, sinyal
s(t) = [(4/π) x (sin(2πft) + (1/3)sin(2π(3f)t)]
Dapat ditunjukkan, dengan menggunakan suatu disiplin ilmu yang dikenal sebagai analisa Fourier, bahwa apa pun sinyal yang dibentuk dari komponen-komponen pada berbagai frekuensi, masing-masing komponen itu disebut sinusoid. Dengan menambahkan sinyal sinusoidal yang cukup, masing-masing dengan amplitude, frekuensi, dan fase yang bersesuaian, sinyal elektromagnetik apa pun dapat dibuat. Dengan kata lain, sinyal elektomagnetik apa pun dapat ditunjukkan memiliki sekumpulan sinyal analog periodik (gelombang sinus) pada amplitude, frekuensi dan fase yang berbeda. Pentingnya melihat sebuah sinyal dari sudut pandang frekuensi (domain frekuensi) dibandingkan dengan sudut pandang waktu (domain waktu).
Spektrum sebuah sinyal adalah rentang frekuensi di mana spectrum berada. Bandwidth mutlak dari suatu sinyal adalah lebar spektrum. Sebagian besar energi dalam sinyal ditempatkan dalam suatu band (pita) frekuensi yang relative sempit. Band ini disebut sebagai bandwidth efektif, atau hanya bandwidth.
Istilah final untuk menentukannya adalah komponen dc (dc component). Jika suatu sinyal mencakup sebuah komponen frekuensi nol, komponen itu adalah suatu arus langsung (dc) atau komponen konstan. Tanpa komponen dc, suatu sinyal memiliki amplitudo rata-rata sebesar 0. Dengan suatu komponen dc, sinyal memiliki frekuensi term pada f = 0 dan amplitudo rata-rata bukan 0.


Hubungan antara Kecepatan Data dan Bandwidth
Telah kita katakana bahwa bandwidth yang efektif adalah band dimana sebagian besar energi sinyal terkonsentrasi didalamnya. Istilah sebagian besar dalam konteks ini sedikit berubah-ubah. Hal terpenting disini adalah meskipun bentuk gelombang tertentuberisi frekuensi sepanjang jarak yang sangat panjang, sebagaimana hal-hal praktis yang berkaitan dengan berbagai system transmisi (transmitter plus media plus receiver) yang dipergunakan akan mampu mengakomodasi hanya satu frekuensi band terbatas. Hal ini, sebaliknya membatasi kecepatan data yang dibawasepanjang media transmisi.
Tentu saja, dapat pula ditunjukkan bahwa komponen-komponen frekuensi dari gelombang persegi dengan amplitude A dan –A dapat dinyatakan sebagai berikut.

Jadi, bentuk gelombang ini memiliki komponen-komponen frekuensi yang tidak terbatas dan oleh korena itu bandwidth yang tidak terbatas. Bagaimanapun juga, amplitude tertinggi dari komponen frekuensi ke-k, kf, hanyalah 1/k, sehingga sebagian besar energy bentuk gelombang ini berada dalam komponen-komponen awal.

3.2 TRANSMISI DATA DIGITAL DAN ANALOG
Secara kasar, istilah analog dan digital disamakan dengan kontiniu dan diskrit, secara berurutan. Dua istilah ini sering digunakan secara berkala dalam komunikasi data, sedikitnya dalam tiga konteks: data, pensinyalan dan transmisi.
Secara singkat, kita mendefinisikan data sebagai entitas yang menyampaikan arti, atau informasi. Sinyal adalah representasi data elektrik atau elektromagnetik. Pensinyalan adalah perambatan sinyal secara fisik melalui suatu media yang sesuai. Transmisi adalah komunikasi data melalui perambatan dan pemrosesan sinyal. Apa yang terjadi selanjutnya, kita berusaha untuk memperjelas konsep-konsep teoretes dengan membahas istilah analog dan digital seperti yang diterapkan terhadap data, sinyal, dan transmisi.

Data Analog dan Digital
Konsep-konsep data analog dan digital cukup sederhana. Data analog menerima nilai yang kontiniu pada beberapa interval. Sebagai contoh, suara dan video mengubah pola-pola intensitas secara kontniu. Sebagian besar data yang dikumpulkan oleh sensor, seperti suhu tan tekanan, dinilai secara kontiniu. Data digital menerima nilai-nilai diskri; contohnya, teks dan bilangan bulat. Contoh yang paling umum dari data analog adalah audio, yang dalam bentuk gelombang suara akustik, dapat dirasakan manusia secara langsung. Contoh umum lainnya mengenai data analog adalah video. Disini , lebih mudah untuk mengarakteristikkan data dipandang dari segi layar TV (tujuan) dibandingkan dengan tampilan asli (sumber) yang direkam oleh kamera TV. Untuk memproduksi suatu gambar pada layar, sebuah sinar elektron memindai (scan) sepanjang permukaan layar dari kiri ke kanan dan dari atas ke bawah. Untuk televise hitam-putih, jumlah iluminasi yang dihasilkan (dalam skala hitam ke putih) di titik manapun proposional terhadap intensitasyang dihasilkan (dalam skala hitam ke putih) di titik manapun proposional terhadap intensitas sinar ketika melewati titik tersebut. Jadi, dalam waktu tertentu sinar yang menerima nilai intensitas analog untuk menghasilkan kecerahan (brightness) yang diinginkan pada titik tersebut di atas layar. Lebih jauh lagi, ketika sinar memindai, nilai-nilai analog berubah. Oleh karena itu, gambar video dapat dianggap sebagai sinyal analog bergantung pada waktu. Untuk mencapai resolusi yang memuaskan, sinar memproduksi sejumlah 483 garis horizontal dengan kecepatan 30 layer penuh per detik.
Contoh umum dari data digital adalah teks dan string karakter. Data tekstual merupakan data yang paling nyaman untuk manusia, tetapi mereka, yang dalam bentuk karakter, tidak mudah untuk disimpan atau ditransmisikan oleh pengelola data dan system komunikasi. System seperti itu didesain untuk data biner. Jadi, sejumlah kode telah direncanakan sehinggakarakter dapat diwakili oleh sederetan bit. Mungkin awalnya contoh paling umum untuk hal ini adalah kode Morse. Saat ini, kode teks yang paling umum digunakan adalah International Reference Alphabet (IRA). Setiap karakter dalam kode ini diakili oleh pola 7-bit yang unik; sehingga 128 karakter yang berbeda dapat diwakili. Jumlah yang jauh lebih besar dari yang dibutuhkan, dan beberapa pola mewakili karakter kontrol yang terlihat. Karakter yang dikodekan dengan IRA hampir selalu disimpan dan ditransmisikan menggunakan 8-bit per karakter. Bit kedelapan adala bit paritas yang digunakan untuk deteksi kesalahan. Bit ini diatur sedemikian rupa hingga jumlah biner 1 dalam setiap oktet, selalu ganjil (paritas ganjil) atau selalu genap (paritas genap). Jadi suatu transmisi kesalahan yang dapat mengubah suatu bit tunggal, atau punjumlah bit yang ganjil, akan terdekteksi.

Sinyal-sinyal Analog dan Digital
Dalam sistem komunikasi, data disebarkan dari satu titik ke titik yang lain melalui sebuah sinyal elektromagnetik. Sinyal Analog adalah gelombang elektromagnetik yang senantiasa bervariasi yang mungkin disebarkan melalui berbagai macam media, bergantung pada spektrum; contohnya media kabel seperti twisted pair dan kabel koaksial; kabel serat optik, dan media media terpadu, seperti atmosfer dan perambatan ruang. Sinyal digital adalah suatu rangkaian pulsa tegangan yang mungkin ditransmisikan melalui media kabel, contohnya tingkat tegangan positif konstan mungkin mewakili biner 0 dan tingkat tegangan negative konstan mungkin mewakili biner 1.
Keuntungan utama dari pensinyalan digital adalah lebih murah dibandingkan pensinyalan analog dan tidak terlalu rentan terdapat gangguan noise. Kerugian utama adalah sinyal digital mengalami atenuasi lebih banyak dibandingkan sinyal analog. Oleh karena adanya atenuasi, atau pengurangan dari kekuatan sinyal pada frekuensi-frekuensi yang lebih tinggi, pulsa-pulsa tersebut membulat dan menjadi lebih kecil. Seharusnya sudah jelas bahwa atenuasi ini dapat segera dapat mengarahkan pada hilangnya informasi yang ada pada sinyal yang disebarkan.
Contoh yang paling dikenal dari informasi analog adalah audio, atau akustik, informasi dalam bentuk gelombang suara, dapat ditangkap secara langsung oleh manusia. Tentu saja, satu bentuk dari informasi akustik adalah percakapan manusia. Bentuk informasi ini mudah dikonversi dalam bentuk sinyal elektromagnetik untuk transmisi. Intinya, semua frekuensi suara, yang amplitudonya dihitung dalam ukuran kekerasan, dikonversi dalam bentuk frekuensi elektromagnetik, yang amplitutonya diukur dalam volt.

Turbo Assembler 5.0

Cara menginstall Turbo Assembler 5.0
  • Langkah pertama:
                Buat folder di drive C:\ bernama install
  •  Langkah kedua:
                Ekstak tasm5.zip hasil download ke folder install
                bisa di download pada link ini http://www.ipanardian.co.cc/2010/01/cara-menginstalasi-turbo-assembler-50.html
  • Langkah ketiga:
                Sekarang buka folder install disana ada folder bernama DISK1, DISK2, DISK3, dst.
Copy semua file dari DISK1, DISK2, DISK3, dst di jadikan dalam satu folder.
  • Langkah keempat:
                Klik INSTALL.EXE untuk menginstal turbo assembler 5.0, maka akan muncul gambar seperti di bawah ini:
Gambar 1
  • Langkah kelima:
Kemudian tekan ENTER, selanjutnya ganti A dengan C maka installasi akan berjalan sebagai gambar berikut:
Gambar source to use : A
Gambar source to use : C
tekan ENTER
  • Langkah keenam:
Setelah mengikuti intruksi gambar di atas, proses installasi pun selesai tinggal menekan intruksi F9 seperti gambar di bawah ini:
Setelah menekan F9 maka akan muncul gambar seperti ini:
  • Langkah ketujuh:
Ini merupakan langkah terakhir tekan tombol ESC pada keybord untuk mengakhiri proses installasi maka akan kembali ke command promt. Gambarnya sebagai berikut:
Aplikasi sudah siap digunakan.
Selamat mencoba semoga succses.




Cara membuat karakter nama pada turbo assembler
  
  • Langkah pertama:
              Buka Folder C:\TASM
  • Langkah kedua:
              Buat folder bernama LAT di dalam folder BIN sehingga struktur foldernya sperti berikut C:\TASM\BIN\LAT
  • Langkah ketiga:
              Buka notepad, sebagai contoh coba ketik syntax di bawah ini:

COBA SEGMENT
ASSUME CS:COBA
ORG 100h

START : MOV AH,02H
MOV DL,49H
INT 21H
MOV DL,20H
INT 21H
MOV DL,4BH
INT 21H
MOV DL,4FH
INT 21H
MOV DL,4DH
INT 21H
MOV DL,41H
INT 21H
MOV DL,4EH
INT 21H
MOV DL,47H
INT 21H
MOV DL,20H
INT 21H
MOV DL,47H
INT 21H
MOV DL,45H
INT 21H
MOV DL,44H
INT 21H
MOV DL,45H
INT 21H
MOV DL,20H
INT 21H
MOV DL,44H
INT 21H
MOV DL,48H
INT 21H
MOV DL,41H
INT 21H
MOV DL,52H
INT 21H
MOV DL,4DH
INT 21H
MOV DL,41H
INT 21H
INT 20H

COBA ENDS
END START

setelah membuat syntak selanjutnya simpan dengan nama COBA.ASM di folder LAT

  • Langkah keempat:
            Buka command prompt, ketik CD C:\TASM\BIN kemudian tekan ENTER, maka akan muncul gambarnya seperti di bawah ini:

  • Langah kelima:
             Ketik TASM LAT\COBA.ASM kemudian tekan ENTER, maka akan muncul gambarnya seperti di bawah ini:
  • Langkah keenam:
               Ketik TLINK/t COBA.OBJ kemudian tekan ENTER, maka akan muncul gambar seperti di bawah ini:
  • Langkah ketujuh:
             Sekarang tinggal mengeksekusi program, caranya ketik COBA kemudian tekan ENTER maka akan tampil gambar seperti di bawah ini:




maka akan muncullah karakter nama yang kita buat.
selamat mencoba