'Omank dharmA' BaliRockers

Selasa, 21 Juni 2011

Perintah RECORD

Perintah RECORD merupakan penjelasan kumpulan bit dalam suatu operand byte atau word. Kita menggunakan perintah ini untuk membuat masking bit dan penggeseran bit lebih mudah. Pertama, record harus didefinisikan dengan nama record dan nama dan lebar setiap field. Sintak untuk pendefinisian record adalah :
Recordname RECORD field [,field] …
Sintak untuk field adalah:
Fieldname : width [= ekspresi]
Fieldname adalah nama filed tertentu dalam record; dan field awal disimpan dalam bit yang paling berarti dari byte atau word.
Berikut ini contoh penggunaaan perintah RECORD untuk mendefinisikan susunan bit tanggal 16-bit yang disimpan dalam direktori disk. Tanggal dalam bit-terpetakan, dengan 7-bit untuk tahun, 4 bit untuk bulan dan 5 bit untuk hari:
1111111 1111 11111
Tahun bulan hari
Penggunaan yang sesuai dengan perintah RECORD untuk tanggal adalah:
Date_record record year:7=0, month:4=1, day:5=1
Jika kita mendefinisikan record yang mengandung 8 bit atau kurang, record secara otomatis akan mengacu pada byte-selebihnya, akan mengacu pada word. Jika semua posisi bit tidak digunakan, field bit adalah rapat kanan. Contoh, record berikut hanya mendefinisikan 12 bit. Assembler menset bit posisi rendah dalam field dan menset 4 bit atas tidak bertanda dengan nol:
Bitrec record field1:6=111111b, field2:6=111111b
Nilai seluruh 16 bit adalah:
0000111111111111
Pembuatan Variabel Record. Ketika record telah didefinisikan, mungkin digunakan untuk membuat variabel record. Sintaknya adalah:
[name] recordname <[innitialvalue[,innitialvalue]]…>
Kita dapat memberikan nilai awal pada field tertentu. Jika nilai yang diberikan terlalu besar maka assembler akan menampilkan pesan kesalahan.
Berikut ini contoh variabel record menggunakan definisi date_record di atas, sebagai berikut:
Date_record record year:7=0, month:4=1, day:5=1


Daterec date_record<>
Dengan cara lain, kita dapat menginisialisasikan daterec dengan 30 May 1990:
Daterec date_record<10, 5, 30>
Penggeseran dan Masking. AKhir dari semuanya, nama field dalam record membantu kita untuk menggeser dan mask dengan lebih mudah. Contoh penyimpanan record 10 Maret 1989:
0001001 0011 01010
Tahun=9 bulan=3 hari=10
Misalnya tanggal dipindah ke AX, kita dapat mengisolasi bit yang membuat bulan dengan meng_AND-kan AX kemudian menggesernya ke kanan:
And ax, 0000000111100000b
Mov cl, 5
Shr ax, cl
Operator MASK. Jika kita menggunakan perintah RECORD untuk mendefinisikan date_record kita dapat meningkatkan perintah sebelumnya. Operator MASK membuat mask terhadap bit : semua bit yang berkorespondensi dengan posisi bit diset, dan semua bit lain di nolkan:
Mov ax, file_date
And ax, mask month
Mov cl, month
shr ax,cl
Pada saat date_record didefinisikan, assembler otomatis membuat nilai angka pada masing masing field, tergantung pada nilai penggeserannya. Ini dapat diinterprestasikan sebagai offset bit filed dari posisi nol. Pada contoh sebelumnya, month dipindah ke CL, menyebabkan jumlah penggeseran. Tabel berikut menunjukan nilai geser setiap field:
0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0
Tahun=9 bulan=3 hari=10
Field Nilai geser
Year 9
Month 5
Day 0
Operator WIDTH. Operator WIDTH mengembalikan jumlah bit dalam field record. Contoh berikut mengakses lembar masing masing field dalam date_record dalam berbagai cara. Berikut ini nilai nilai pada saat assembly :
Date_record record year;7=0, month:4=1, day:5=1

Daterec date_record<>
Size_of_year equ width year
Size_of_month equ width month


Mov ax, width day
If(width,date_record) gt 8
Mov ax, daterec
Else
Mov al, daterec
Endif

Perintah STRUC

Perintah STRUC mendefinisikan struktur (template atau pola) yang mungkin membebani ruang memori. Struktur juga dapat menganalisasi area dalam program ke nilai default. Bagian individu struktur disebut field.
Kita mendefinisikan struktur banyak persamaaannya dengan makro. Contoh, kita dapat mendefinisikan struktur menjelaskan field dari record mahasiswa. Definisi struktur berikut harus ditempatkan dalam file sumber di mana saja di depan segmen data:
StudentStruc struc ; awal struktur
stnumber db ‘0000000’
lastname db ‘ ‘ ; 20 spasi
credit dw 0
status dw 0
StudentStruc ends ; akhir struktur

Field dalam struktur berjumlah sampai 30 byte. Dalam segmen data kita dapat mendefinisikan variable struktur, dengan alokasi 30 byte memori.
.data
Srec StudentStruc <>

Tanda kurung siku (<>) diperlukan untuk memerintahkan assembler menjaga nilai field default yang disediakan dalam definisi struktur,
Penggantian nilai default. Kita dapat mengganti nilai default dengan nilai baru. Nilai baru harus dipisah dengan koma. Contoh berikut pelimpahan berbagai field dalam StudentStruc:
srec StudentStruc<’1234567’,’Dedi’,30,1> ; seluruh field
myRecord StudentStruc<,,50,0> ; 2 field terakhir
yourRecord StudentStruc<,’Dodi’> ; field ke 2

Field yang menggunakan operator DUP dalam deklarasi struktur asal tidak dapat dikesampingkan. Misalnya field last =name dalam deklarasi StudentStruc adalah:
Lastname db 20 dup (‘ ‘)
Usaha berikut yang mencoba menggantifield ini akan menimbulkan kesalahan sintak:
Srec StudentStruc <,’Joni’>
MenggunakanVariabel Struktur. Ketika variable struktur dibuat, pengacuan terhadap field individual dibuat deb=ngan pemisahan nama variabel dan nama field oleh tanda titik:
mov dl, srec.stnumber
mov ax, srec.credits
Assembler menambah offset variabel struktur ke offset field dalam struktur untuk membuat alamat efektif. Dalam struktur StudentStruc, offset stnumber adalah 0 karena ini merupakan awal field dalam struktur. Offset kredit adalah 27, offset lastname adalah 7, dan seterusnya.
Jika register basis menunjuk ke variabel struktur, tanda titik memisahkan index dengan field:
mov bx, offset srec


mov ax, [bx].credits
mov dl, [bx].status
Berbagai mode pengalamatan yang mungkin digunakan:
mov ax, srec[si].credit
mov dl, [bx+si].status
mov dl, srec [bx+di].stnumber
Contoh program Input Struktur. Berikut ini program yang mendemontrasikan struktur, dengan menggunakan beberapa makro dari file MACRO.INC. Program terhubung dengan CONSOLE.LIB dan include file MACRO,INC.
Tile Program Input Struktur

dosseg
.model small
.stack 100h
extrn Clrscr:proc
include macro.inc
stnumberSZ = ?
lastnamrSZ = 20
StudentStruc struc
stnumber db stnumberSZ dup(0),0
lastname db lastnameSZ dup(0),0
credit dw 0
StudentStruc ends

.data
srec StudentStruc <>
pspSeg dw ?
progTitle db ‘Contoh Input Struktur Student’

.code
main proc
startup pspSeg
L1 : call ClrScr
display_at 2, 20, progTitle
inputStr 4, 10,‘Student Number : ‘, srec.stnumber, stnumberSz
inputStr 6, 10 ‘Last Name : ‘, srec.lastname,lastnameSz
inputStr 8, 10,’Credits Taken: ‘,srec.credits
locate 12, 10
getYN ’More input (Y/n) ?’,’Y’
jxe L1

call ClrScr
exit 0
main endp
end main

Variabel srec mengimplementasikan STRUC yang disebut StudentStruc sehingga pengacuan srec dilakukan dengan format:
srec.stnumber
srec.lastname
srec.credits
Makro inputScr dalam MACRO.INC melakukan input keyboard untuk program ini. Argumen yang dikirim ke mwkro adalah row, columm, prompt, input nama field , danpanjang field. Makro DISPLAY_AT menampilkan string pada baris dan kolom tertentu di layar.
Makro GETYN adalah makro untuk mengambil respons pengguna apakah akan meneruskan lagi atau tidak.
Akhirnya, makro jxe (jump extended equal) diperlukan karena intruksi JE konvensional akan menyebabkan kesalahan “jump out of range”.

PERUTEAN DALAM JARINGAN SWITCHING

12.1 Perutean Dalam Jaringan Packet-Swithcing

Salah satu aspek desain yang paling rumit dan penting dari jaringan data switched adalah perutean. Bagian ini menyurvei karakteritistik-karakteristik kunci yang dapat digunakan untuk mengklasifikasikan strategi perutean. Prinsip-prinsip yang dideskripsikan dalam bagian ini juga dapat diterapkan dalam perutean internetwork.

12.1.1 Karakteristik-Karakteristik

Fungsi utama dari packet-switching adalah menerima paket dari suatu sumber stasiun dan mengarahkan mereka ke stasiun tujuan.. Untuk menyelesaikan ini, satu jalur atau rute melalui jaringan tersebut harus ditentukan; umumnya, lebih dari satu rute yang memungkinkan. Jadi, fungsi perutean harus dilakukan. Persyaratan-persyaratan untuk fungsi ini mencakup :

* Ketepatan
* Kesederhanaan
* Ketahanan
* Stabilitas
* Kewajaran
* Keoptimalan
* Efisiensi

12.1.1.1 Kriteria Kinerja

Pemilihan sebuah rute umumnya berdasarkan beberapa kriteria kinerja. Kriteria yang paling sederhana adalah memilih rute lompatan-minimum (kriteria yang melewati jumlah node terkecil) melalui jaringan tersebut. Kriteria ini adalah kriteria yang mudah diukur dan seharusnya meminimalkan konsumsi sumber-sumber jaringan. Generalisasi dari kriteria lompatan-minimum adalah perutean dengan biaya terendah.

12.1.1.2 Waktu dan Keputusan

Keputusan perutean dibuat berdasakan beberapa kriteria kinerja. Dua karakteristik utama dari keputusan tersebut adalah waktu dan tempat di mana keputusan tersebut dibuat. Waktu dan keputusan ditentukan oleh apakah keputusan perutean tersebut dibuat berdasarkan paket atau sirkuit maya. Ketika operasi internal dari jaringan adalah datagram, keputusan perutean dibuat masing-masing untuk setiap paket. Untuk operasi sirkuit maya internal, keputusan perutean dibuat pada saat sirkuit maya dibangun.. Pada kasus yang paling sederhana, semua paket berikutnya menggunakan sirkuit maya mengikuti rute yang sama. Pada desain jaringan yang lebih rumit, jaringan tersebut dapat secara dinamis mengganti rute yang ditugaskan pada sirkuit maya khusus sebagai respons dalam kondisi yang berubah (contohnya, kelebihan muatan atau kegagalan dalam sebuah bagian dari jaringan).

12.1.2 Strategi-Strategi Dalam Perutean

Sejumlah besar strategi perutean telah berkembang untuk berhadapan dengan persyaratan perutean dari jaringan packet-switching. Banyak dari strategi ini juga diterapkan pada perutean internetwork. Pada bagian ini kita akan membahas empat strategi pennting yaitu :

1. Perutean tetap

Bagi perutean tetap, sebuah rute tunggal dan permanen dikonfigurasi untuk masing-masing pasangan sumber-tujuan dari node dalam jaringan tersebut. Algoritma perutean biaya-terendah dapat digunakan. Rute tersebut ditetapkan, atau paling tidak hanya diubah ketika tidak ada perubahan dalam topologi jaringan. Jadi, biaya link yang digunakan dalam merancang rute tidak berdasarkan pada variabel dinamis seperti lalu lintas, Bagaimanapun juga, mereka dapat berdasarkan pada lalu lintas atau kapasitas yang diinginkan.

2. Flooding

Teknik ini membutuhkan informasi jaringan apa pun dan bekerja sebagai berikut. Sebuah paket dikirimkan oleh sebuah node sumber ke setiap node tetangganya. Pada setiap node, paket yang datamg ditransmisikan ulang pada semua link yang keluar, kecuali untuk link paket itu tiba.

3. Perutean acak

Perutean acak memiliki kesederhanaan dan ketahanan dari flooding dengan muatan lalu lintas yang jauh lebih sedikit. Dengan perutean acak, sebuah node memilih hanya satu jalur output untuk transmisi ulang dari paket yang datang. Link output dipiluh secara acak, di luar link di mana paket tersebut tiba. Jika semua link memiliki keuntungan yang sama untuk dipilih, maka semua node mungkin secara sederhana menggunakan link output dalam sebuah model

4. Perutean adaptif

Pada semua jaringan packet-switcing secara maya, beberapa jenis teknik perutean adaptif digunakan. Maksudnya, keputusan perutean yang dibuat berubah seiring dengan kondisi perubahan jaringan. Kondisi-kondisi utama yang mempengaruhi keputusan perutean adalah :

* Kegagalan

Ketika sebuah node atau link gagal, ia tidak dapat lagi digunakan sebagai bagian dari sebuah rute

* Kemacetan

Ketika sebuah bagian khusus dari jaringan tidak mengalami kemacetan, akan lebih baik memindahkan paket-paket dengan cara memutar daripada melewati area kemacetan.

12.2 Contoh-Contoh Perutean Dalam ARPANET

Pada bagian ini, kita akan melihat beberapa contoh strategi perutean. Semua ini awalnya dikembangkan untuk ARPANET, yang merupakan jaringan packet-switching yang merupakan fondasi dari internet saat ini. Penting untuk mengamati strategi-strategi ini karena berbagai alasan. Pertama, strategi-strategi ini dan yang serupa juga digunakan dalam jaringan packet-switching yang lain, termasuk sejumlah jaringan dalam internet, Kedua, skema perutean berdasarkan kerja ARPANET juga digunakan untuk perutean internetwork dalam internet dan internetwork pribadi. Terakhir, skema perutean ARPANET berevolusi dengan cara memberikan pencerahan terhadap beberapa isu desain penting yang berhubungan dengan algoritma perutean.

12.2.1 Generasi Pertama

Algoritma perutean awal, dirancang pada tahun 1969, merupakan algoritma adaptif terdistribusi menggunakan penundaan yang diperkirakan sebagai kriteria kinerja dan versi algoritma Bellman-Ford.

12.2.2 Generasi Kedua

Setalah beberapa tahun pengalaman dan beberapa modifikasi minor, algoritma perutean asli digantikan dengan sesuatu yang sangat berbeda pada tahun 1979.

12.2.3 Generasi Ketiga

Pengalaman dengan strategi baru ini mengindikasikan bahwa strategi tersebut lebih responsif dan stabil dibandingkan yang lama. Overhead yang dipengaruhi oleh flooding sedang-sedang saja karena masing-masing node melakukan hal ini paling banyak satu kali setiap 10 detik. Bagaimanapun juga, ketika muatan pada jaringan bertambah. Kekurangan dalam strategi baru mulai muncul, dan strategi tersebut direvisi pada tahun 1987.

12.3 Algoritma Biaya-Terendah (Least-Cost)

Sebagian besar algoritma perutean biaya-terendah (least-cost) digunakan dalam jaringan packet-switching dan internet merupakan variasi salah satu dari dua algoritma umum, dikenal sebagai algoritma dijkstra dan algoritma Bellman-Ford.

12.3.1 Algoritma Dijkstra

Algoritma Dijkstra dapat dinyatakan sebagai; carilah jalur terpendek dari sebuah sumber node tertentu ke semua node lainnya dengan mengembangkan jalur-jalur tersebut dalam urutan meningkatnya panjang jalur. Algoritma tersebut akan melanjutkan ke beberapa tahapan.

12.3.2 Algoritma Bellman-Ford

Algoritma Bellman-Ford dapat dinyatakan sebagai berikut. Carilah jalur terpendek dari suatu node sumber tertentu dengan syarat hambatan yang terkandung dalam jalur maksimum satu link, kemudian carilah jalur terpendek dengan hambatan jalur maksimum dua link, dan seterusnya. Algoritma ini juga akan berlanjut ke beberapa tahapan.

KOMUNIKASI DATA, JARINGAN DATA, DAN INTERNET

1.1 Komunikasi Dan Jaringan Untuk Perusahaan Masa Kini

Fasilitas komunikasi data dan jaringanyang efektif dan efisien adalah hal yang penting bagi semua perusahaan. Dalam bagian ini, pertama-tama kita melihat kecenderungan yang meningkatkn tantangan bagi para manajer bisnis dalam merencanakan dan mengatur fasilitas-fasilitas tersebut. Kemudian, kita akan melihat secara khusus persyaratan untuk kecepatan transmisi yang selalu besar dan kapasitas jaringan.

Tiga yang secara konsisten mengarahkan arsitektur dan evolusi fasilitas komunikasi data dan jaringan adalah :

1. Pertumbuhan lalu lintas
2. Perkembangan layanan baru, dan
3. Kemajuan teknologi

Tren teknologi memungkinkan adanya persediaan dari kapasitas lalu lintas yang meningkat dan pendukung layanan jangkauan luas. Empat tren teknologi yang penting adalah :

1. Tren semakin cepat dan semakin murah, baik dalam berhitung maupun komunikasi, terus berlanjut. Berhitung ini maksudnya komputer yang lebih kuat dan kelompok computer yang mampu menyokong aplikasi yang lebih menantang, seperti aplikasi multimedia. Dalam istilah komunikasi, penggunaan serat optic yang semakin meningkat telah membuat harga transmisi menurun dan meningkatkan kapasitas secara besar-besaran. Sebagai contoh, untuk telekomunikasi jarak-jauh dan link jaringan data, penawaran baru-baru ini untuk dense wavelength division multiplexing (DWDM) memungkinkan kapasitas dari banyak tera-bit per detik. Untuk local area network (LAN), banyak perusahaan saat ini mempunyai jaringan tulang punggung Gigabit Ethernet dan beberapa lainnya mulai menyebarkan Ethernet 10-Gbps.
2. Baik jaringan telekomunikasi berorientasi-suara, seperti public switched telephone network (PSTN) (jaringan telepon pengalih publik), maupun jaringan data, termasuk internet, lebih ‘cerdas’ dari sebelumnya. Terdapat dua bidang ‘kecerdasan’ yang perlu diperhatikan. Pertama, jaringan saat ini dapat memberikan tingkat kualitas layanan (quality of service-QoS) yang berbeda, yang mencakup spesifikasi untuk penundaan maksimum, throughput (lewatan) minimum, dan sebagaimya. Kedua, jarimgan menyediakan berbagai layan manajemen dan pengamanan jaringan yang dapat disesuaikan dengan kebutuhan masing-masing.
3. Internet, Web, dan aplikasi-aplikasi yang berhubungan telah muncul sebagai fitur-fitur dominan, baik dalam dunia bisnis maupun pribadi, membuka banyak peluang dan tantangan untuk para manajer.
4. Terdapat tren mobilitas yang terus meningkat sepanjang decade, membebaskan para pekerja dari kungkungan perusahaan dalam bentuk fisik. Inovasi-inovasinya mencakup voice mail (surat suara), remote area access, pager (penyeranta), faks, e-mail (surat elektronik, telepon nirkabel, telepon dan jaringan seluler serta internet portal. Hasilnya para karyawan dapat membawa pekerjaan mereka ke manapun mereka pergi.

1.1.1 Persyaratan Transmisi Data dan Kapasitas Jaringan

Perubuahan penting dalam cara organisasi-organisasi menjalankan bisnis dan informasi proses telah dipicu oleh perubahan dalam teknologi jaringan dan hal ini juga mengarahkan perubahan itu.Sulit untuk memisahkan anak ayam dan telur. Begitu pila, kegunaan internet, baik untuk bisnis maupun pribadi menunjukkan lingkaran ketergantungan : tersediaanya layanan berbasis-gambar lewat internet (contohnya,Web) telah menghasilkan peningkatan jumlah pengguna dan volume lalu lintas yang dihasilkan oleh masing-masing pengguna. Hal ini akhirnya menghasilkan kebutuhan untuk meningkatkan kecepatan dan efisiensi internet. Di sisi lain, hanya karena kecepatan yang meningkat semacam itulah yang membuat penggunaan aplikasi berbasi-Web cocok bagi para pengguna akhir (end user). Pada bagian ini, kita menyurvei beberapa factor pengguna akhir yang cocok dengan persamaan ini . Kita mulai dengan kebutuhan akan LAN berkecepatan tinggi dalam lingkungan bisnis, Karen kebutuhan ini yang muncul pertama kali dan memaksa perkembangan jaringan. Kemudian, kita beralih pada persyaratan bisnis WAN. Akhirnya, kita memberikan penjelasan singkat tentang dampak dari perubahan elektronik komersial pada persyaratan jaringan.

A. Munculnya LAN Berkecepatan-Tinggi

Komputer pribadi dan workstation mikrokomputer mulai diterima secara luas dalam bisnis menghitung di awal tahun 1980-an dan sekarang telah mencapai status telepon secara maya : sebuah perangkat penting untuk para pekerja kantor. Baru-baru ini, LAN kantor menyajikan layanan konektivitas dasar- menghubungkan personal computer dan terminal mainframe (kerangka induk) dan sistem midrange (kelas menengah) yang menjalankan aplikasi perusahaan, serta menyajikan konektivitas kelompok kerja pada tingkat departemen atau divisi. Di kedua kasus, pola lalu lintas relatif lebih ringan, dengan penekanan pada transfer file dan surat elektronik. LAN yang tersedia untuk tipe beban kerja seperti ini, biasanya Ethernet dan token ring (ring token), cocok untuk lingkungan ini.

Pada tahun 1990-an, dua tern penting ini mengubah peran personal komputer dan karenanya LAN perlu memiliki :

1. Kecepatan dan kekuatan menghitung dari personal komputer tetap mengalami pertumbuhan yang dahsyat.
2. Organisasi-organisasi Sistem Manajemen Informasi (management information system-MIS) telah mengenali LAN sebagai platform menghitung yang dapat berjalan dan penting, menghasilkan fokus pada perhitungan jaringan.

Dampak dari tren-tren ini telah meningkatkan volume data yang harus ditangani melalui LAN dan, karena aplikasi lebih interaktif, untuk mengurangi penundaan transfer data. Generasi Ethernet 10-Mbps sebelumnya dan token ring 16-Mbps tidak menunjang persyaratan-persyaratan ini. Berikut adalah contoh-contoh persyaratan untuk LAN berkecepatan tinggi :

* Centaralized server farm
* Power workgroup
* Backbone local berkecepatan-tinggi

B. Kebutuhan Akan WAN Korporat

Seperti awal tahun 1990-an dan di akhir-akhir ini, terdapat penekanan model pengolahan data terpusat dalam banyak organisasi. Pada lingkungan khusus, mungkin saja terdapat fasilitas menghitung yang penting di beberapa kantor wilayah, terdiri dari mainframe atau system midrange yang lengkap. Fasilitas terpusat ini dapat menangani mayoritas aplikasi korporat, termasuk keuangan dasar, akunting, dan program personali, juga banyak aplikasi bisnis yang spesifik lainnya. Kantor yang lebih kecil dan terpencil (contohnya, suatu cabang bank) dapat dilengkapi dengan terminal atau personal komputer dasar yang terhubung dengan salah satu pusat wilayah pada lingkungan berorientasi-transaksi. Model ini mulai berunah di awal 1990-an, dan perubahan tersebut semakin cepat di pertengahan tahun 1990-an. Banyak organisasi telah menyebarkan pegawainya ke kantor-kantor yang lebih kecil. Terdapat peningkatan penggunaan komunikasi jarak jauh (telekom). Semua tren ini berarti semakin banyak data yang harus dipindahkan dari dan ke dalam area luas. Aliran lalu lintas ini berpindah membawa beban yang lebih besar pada LAN backbone dan, tentu saja, pada fasilitas WAN yang digunakan korporat. Oleh karena itu, seperti dalam area local, perubahan dalam pola lalu lintas korporat mengarahkan pada pembuatan WAN berkecepatan-tinggi.

1.2 Model Komunikasi

Tujuan dasar dari sistem komunikasi adalah menjalankan pertukaran data antara dua pihak. komunikasi antara sebuah workstation dan sebuah server yang dihubungkan dengan sebuah jaringan telepon umum. Contoh lainnya adalah pertukaran sinyal-sinyal suara antara dua telepon pada satu jaringan yang sama.

Berikut ini adalah elemen-elemen penting dari model terdebut :

1. Sumber
2. Transmiter
3. Sistem transmisi
4. Receiver (penerima)
5. Tujuan

Dalam tabel 1.1 terlampir daftar tugas utama yang harus dijalankan dalam sistem komunikasi data. Daftar tersebut dapat diubah: elemen-elemen bias ditambahkan, item-item dalam daftar dapat digabungkan, dan beberapa item yang merepresentasikan beberapa tugas yang berasal dari “tingkat” system yang berbeda.

Utilisasi Sistem Transmisi


Pengalamatan

Pengantarmukaan (interfacing


Perutean (routing)

Pembangkit sinyal


Pemulihan

Sinkronisasi


Pemformatan pesan

Manajemen pertukaran


Pengamanan

Deteksi dan koreksi kesalahan


Manajemen jaringan

Kendali alir (Flow control)

1.3 Komunikasi Data

1.3.1 Transmisi Informasi

Bangunan dasar dari fasilitas komunikasi apa pun adalah jalur transmisi. Salah satu pilihan dasar yang dihadapi oleh pengguna bisnis adalah media transmisi. Untuk komunikasi jarak jauh, pilihan tersebut umumnya tidak selalu dibuat oleh pembawa jarak jauh. Selain itu, perubahan teknologi secara pesat telah mengubah campuran dari media yang digunakan. Salah satu yang perlu diperhatikan adalah transmisi serat optik dan transmisi nikabel (contohnya, satelit dan radio). Sekarang ini, dua media tersebut menggerakkan evolusi dari transmisi komunikasi data.

1.3.2 Transmisi dan Media Transmisi

Informasi dapat dikomunikasikan dengan mengubahnya menjadi sinyal-sinyal elektromagnetik dan mentransmisikan sinyal-sinyal tersebut melalui beberapa media, seperti jaringan telepon twisted-pair (pasangan-berbelit). Media transmisi yang paling sering digunakan adalah jaringan twisted-pair, kabel koaksial, kabel serat optic, serta gelombang mikro terrestrial dan satelit. Kecepatan data yang dapat dicapai dan kecepatan dimana kesalahan dapat terjadi bergatntung pada sifat alami sinyal dan tipe media.

1.3.3 Teknik-Teknik Komunikasi

Transmisi informasi yang melintasi media transmisi mencakup lebih dari sekedar menyisipkan sinyal pada media. Teknik yang digunakan untuk mengkodekan informasi dalam bentuk sinyal elektromagnetik harus ditentukan. Terdapat beragam cara dal pengkodean yang dapat dilakukan, dan pilihan tersebut mempengaruhi kinerja serta keandalan. Lebih jauh lagi, transmisi informasi yang berhasil melibatkan kerja sama yang tinggi antara berbagai komponen.

1.3.4 Efisiensi Transmisi

Biaya terbesar pada komputer/fasilitas komunikasi apa pun adalah biaya transmisi. Oleh karena itu, penting untuk memaksimalkan jumlah informasi yang dapat dibawa dari sumber atau meminimalkan kapasitas transmisi yang diperlukan untuk memenuhi persyaratan komunikasi informasi yang ada. Dua cara untuk mencapi tujuan ini adalah multiplexing dan kompresi. Dua teknik ini dapat digunakan secara terpisah atau digabungkan.

1.4 Jaringan

Terdapat ratusan juta komputer yang digunakan di dunia. Selain itu, perluasan memory dan daya pemrosesan dari komputer-komputer ini berati bahwa pengguna dapat membuat mesin-mesin tersebut bekerja pada jenis-jenis aplikasi dan fungsi baru. Oleh karena itu, tekanan dari para pengguna sistem ini terhadap cara-cara berkomunikasi diantara semua mesin ini tak terelakkan lagi. Hal ini mengubah cara berpikir pra vendor dan bagaimana semua produk serta layanan automasi dijual. Pemintaan untuk konektivitas termanifestasi dalam dua persyaratan khusus; kebutuhan akan perangkat lunak komunikasi, dan kebutuhan akan jaringan. Di bagian ini akan menjelaskan secara singkat beragam jaringan yang ada.

* Wide Area Network (WAN)

Wide area network umumnya mencakup area geografis yang luas, melintasi jalan umum, dan bergantung paling tidak pada sebagian dari sirkuit yang disediakan oleh fasilitas umum. Secara khusus, WAN terdiri dari sejumlah node (simpul) pengalihan yang saling terkoneksi. Transmisi dari perangkat apa pun dikirimkan melalui node internal ke perangkat tujuan yang spesifik. Node-node ini (termasuk node batas) tidak bergantung pada isi data; tetapi, dimaksudkan untuk menyediakan fasilitas pengalihan yang akan memindahkan data dari node ke node sampai mereka mencapai tujuan. Secara tradisional, WAN telah diimplementasikan dengan menggunakan salah satu dari dua teknologi; circuit switching (pengalihan sirkuit) dan packet switching (pengalihan paket). Sedangkan saat ini, frame relay (relay bingkai) dan jaringan ATM telah memiliki peranan penting.

* Circuit Switching

Di dalam jaringan circuit-switching, jalur komunikasi yang tepat dibangun di antara dua station melalui node jaringan. Jalur itu merupakan suatu rangkaian jaringan fisik yang terhubung di antara node. Contoh yang palin umum dalam circuit switching adalah jaringan telepon.

* Paket Switching

Jaringan paket switching menggunakan pendekatan yang berbeda. Pada kasus ini, Tidak perlu mengunakan kapasitas transmisi di sepanjang jalur melewati jaringan. Akan tetapi, data dikirim keluar dengan menggunakan urutan potongan kecil yang disebut paket. Masing-masing paket melewati jaringan dari satu node ke node lainnya di sepanjang jalur dari sumber ke tujuan. Pada setiap node, seluruh paket diterima, disimpan dengan cepat, dan ditransmisikan ke node berikutnya. Jaringan paket switching umumnya digunakan unutk komunikasi dari terminal ke komputer dan komputer ke komputer.

* Frame Relay

Frame relay dikembangkan untuk memamfaatkan kecepatan data yang tinggi dan angka kesalahan yang kecil. Di mana jaringan paket switching yang asli dirancang dengan kecepatan data sampai ke pengguna terakhir sebesar kira-kira 64 kbps, sedangkan jaringan frame relay dirancang agar dapt beroperasi secara efisien pada kecepatan sampai 2 Mbps. Kunci untuk mencapai kecepatan data yang tinggi ini adalah membuang mayoritas tambahan yang berkaitan dengan kontrol kesalahan.

* ATM

Mode transfer asinkron (asynchronous transfer mode-ATM), terkadang disebut cell relay (relay sel), merupakan puncak perkembengan circuit switching dan paket switching. ATM dapat dipandang sebagai sebuah evolusi dari frame relay. Perbedaan yang paling jelas antara frame relay dengan ATM adalah frame relay mengunakan paket variabel-length yang disebut frame, sedangkan ATM menggunakan paket panjang tetap yang disebut cell.

* Local Area Network (LAN)

LAN merupakan suatu jaringan komunikasi yang saling menghubungkan berbagai jenis perangkat dan menyediakan alat untuk pertukaran informasi di antara perangkat-perangkat tersebut. LAN cakupannya lebih kecil, dan kecepatan data internal LAN biasanya lebih besar daripada kecepatan data internal WAN.

* Jaringan Nirkabel

Jaringan nirkabel telah digunakan secara luas dalam lingkungan bisnis. Teknologi nirkabel juga umum, baik untuk wide area voice maupun jaringan data. Jaringan nirkabel memberikan keuntungan dalam pergerakan dalam area serta instalasi dan konfigurasi yang senggang.

1.5 Internet

1.5.1 Asal Mula Internet

Internet merupakan evolusi dari ARPANET, yang dikembangkan pada tahun 1969 oleh Advance Research Project Agency (ARPA) dari Departemen Pertahanan AS. Hal itu merupakan jaringan paket switching yang pertama kali beroperasi. ARPANET mulai beroperasi di empat lokasi. Sekarang, jumlah host telah mencapai ratusan juta, jumlah pengguna mencapai milyaran, dan jumlah negara yang berpartisipasi mencapai 200. Jumlah koneksi terus bertambah secara eksponensial.

1.5.2 Elemen-Elemen Penting

Tujuan dari internet tentu saja untuk saling menghubungkan sistem, yang disebut host; ini mencakup PC, workstation, server, mainframe, dan lain-lain. Sebagian besar host yang menggunakan internet terhubung dalam sebuah jaringan, seperti LAN atau WAN, jaringan-jaringan ini nantinya dihubungkan dengan router (perute), masing-masing perute menyertai dua atau lebih jaringan. Pada dasarnya internet beroperasi sebagai berikut. Suatu host mengirimkan data ke host lainnya di manapun dalam internet. Host sumber memecah data untuk dikirimkan melalui urutan paket, disebut IP datagram (datagram protokol internet) atau IP paket (paket protokol internet). Masing-masing paket mencakup sebuah IP address (alamat protokol internet), karena alamat ini dibawa dalam sebuah paket IP. Berdasarkan alamat tujuan ini, masing-masing paket berjalan melalui serangkaian perute dan jaringan dari sumber ke tujuan. Setiap perute, ketika menerima sebuah paket, akan membuat keputusan perutean dan meneruskan paket tersebut sepanjang jalan hingga mencapai tujuan.

1.5.3 Arsitektur Internet

Sekarang, internet dibangung dari ribuan jaringan bertingkat yang tumpang-tindih. Oleh karena itu, tidaklah mungkin menyajikan deskripsi detail dari arsitektur atau topologi internet secara tepat. Berikut ini adalah terminologi dari internet :

* Central office (CO)
* Customer premise equipment (CPE)
* Internet service provider (ISP)
* Network service provider ( NSP)
* Point of presense (POP)

Salah satu elemen penting dari internet adalah seperangkat hostyang menyertainya. Anggap saja host tersebut adalah sebuah komputer. Sekarang komputer ada dalam banyak bentuk, termasuk telepon genggam, dan bahkan mobil. Semua bentuk ini dapat menjadi host bagi internet.

ARSITEKTUR PROTOKOL, TCP/IP, DAN APLIKASI BERBASIS INTERNET

2.1 Kebutuhan Akan Arsitektur Protokol

Ketika komputer, terminal, dan atau perangkat pengolahan data lainnya saling bertukar data, prosedur-prosedur yang terlibat dapat sangat kompleks. Kita ambil contoh transfer sebuah file antara dua komputer. Jalur data antara dua komputer harus ada, baik secara langsung maupun melalui sebuah jaringan komunikasi. Akan tetapi, lebih banyak jalur dibutuhkan. Tugas-tugas khusus yang dilakukan antara lain :

1. Sistem sumber harus mengaktifkan jalur komunikasi data langsung atau menginformasikan jaringan komunikasi dari identitas sistem tujuan yang diinginkan.
2. Sistem sumber harus memastikan bahwa sistem tujuan dipersiapkan untuk menerima data.
3. Aplikasi transfer file pada sistem harus memastikan program manajemen file pada sistem tujuan telah dipersiapkan untuk menerima dan menyimpan data bagi pengguna tertentu.
4. Jika format yang digunakan dalal dua sistem berbeda, satu atau sistem lainnya harus melakukan fungsi translasi format.

Komunikasi dapat dicapai dengan membuat lapisan yang sama, atau peer, dalam dua sistem berkomunikasi. Lapisan peer berkomunikasi dengan blok data yang telah diformat yang mengikuti seperangkat aturan atau konvensi ynag dikenal sebagai sebuah protokol. Fitur-fitur utama dari sebuah protokol adalah sebagai berikut :

1. Sintaks : Berhubungan dengan format blok-blok data
2. Semantik : Mencakup kendali informasi untuk koordinasi penanganan kesalahan
3. Timing : Mencakup kecepatan pencocokan dan pengurutan

2.2 Arsitektur Potokol TCP/IP

2.2.1 Lapisan TCP/IP

* Lapisan fisik (physical layer)
* Lapisan akses jaringan (network access layer)
* Lapisan internet (internet layer)
* Lapisan host-ke-host, atau lapisan transpor (transport layer)
* Lapisan aplikasi (application layer)

2.2.2 Operasi dari TCP dan IP

Bebeapa jenis protokol akses jaringan, seperti Ethernet logic, dulu digunakan untuk menghubungkan sebuah komputer ke subjaringan. Protokol ini memungkinkan host mengirim data sepanjang subjaringan ke host lainnya atau, jika host target ada di subjaringan yang lain, data akan diteruskan ke sebuah perute. IP diimplementasikan di semua sistem akhir dan perute. Hal itu berperan sebagai sebuah relay untuk memindahkan sebuah blok data dari satu host, melalui satu perute atau lebih, ke host lainnya. TCP diimplementasikan hanya di sistem akhir; TCP mengikuti jejak blok data untuk memastikan bahwa semuanya dikirim dengan benar ke aplikasi yang tepat. Untuk komunikasi yang berhasil, setiap entitas dalam keseluruhan dalam sistem harus memiliki alamat yang unik. Sesungguhnya, dua tingkat pengalamatandibutuhkan setiap host pada subjaringan harus memiliki alamat internet global yang unik; hal ini memungkinkan data disampaikan ke host yang tepat. Masing-masing proses dengan sebuah host harus memiliki sebuah alamat yang unik dalam host tersebut; hal ini memungkinkan protokol host-ke-host (TCP) mengantarkan data ke proses yang tepat . Alamat terakhir ini dikenal dengan sebutan port (porta).

Marilah kita mencari sebuah operasi yang sederhana. Misalkan suatu proses berhubungan dengan port 3 pada host A, ingin mengirimkan sebuah pesan ke proses lainnya, yang berhubungan dengan port 2 pada host B. Proses pada A memindahkan pesan turun ke TCP dengan instruksi mengirimkannya ke host B, port 2. TCP memindahkan pesan turun ke TCP dengan instruksi mengirimkannya ke host B. Perhatikan bahwa IP tidak perlu diberitahukan mengenai identitas dari port tujuan. Apa yang perlu diketahui hanyalah data yang ingin disampaikan ke host B. Selanjutnya, IP memindahkan pesan ke lapisan akses jaringan (contohnya, Ethernet logic) dengan instruksi mengirimkannya ke perute J (lompatan pertama dari jalan menuju B).

Pada setiap potongan ini, TCP membubuhkan kendali informasi yang dikenal dengan header (kepala) TCP, membentuk suatu segmen TCP. Kendali informasi akan digunakan oleh entitas protocol TCP peer pada host B. Contoh item-item yang ada di header ini, antara lain:

* Port tujuan : ketika entitas TCP pada B menerima segmen tersebut, ia harus mengetahui ke mana data tersebut harus dikirimkan.
* Nomor urutan: TCP memberi nomor pada segmen-segmen yang dikirimkan ke port tujuan tertentu secara berurutan, sehingga jika mereka tiba tidak sesuai dengan urutan, maka entitas TCP pada B akan mengurutkan kembali.
* Checksum (ceksum) : TCP pengirim meliputi suatu kode yang merupakan suatu fungsi dari isi sisa segmen. TCP penerima mengerjakan perhitungan yang sama dan membandingkan dengan hasil kode yang datang. Ketidaksesuaian akan terjadi jika terdapat kesalahan dalam transmisi.





2.2.3 TCP dan UDP

Sebagai tambahan pada TCP, terdapat satu protocol tingkat-transpor yang biasanya digunakan sebagai bagian dari deretan protocol TCP/IP; Protocol datagram pengguna (User Datagram Protocol)-UDP). UDP memungkinkan pengiriman, pemeliharaan urutan, atau perlindungan terhadap duplikasi. UDP memungkinkan suatu prosedur untuk mengirimkan pesan ke prosedur lainnya dengan mekanisme protocol yang minimum. Aplikasi yang berorientasi pada transaksi menggunakan UDP; salah satu contohnya adalah SNMP (Simple Neywork Management Protocol atau protokol manajemen jaringan sederhana), protokol manajemen jaringan standar untuk jaringan TCP/IP. Oleh karena UDP tidak berkoneksi, sangat sedikit yang dilakukannya. Pada intinya, hal itu menambahkan sesuatu kemampuan pengalamatan port ke IP.

2.2.4 IP dan IPv6

Pada tahun 1995, internet Engineering Task Force (IETF), yang mengembangkan standar-standar protokol untuk internet, mengeluarkan suatu spesifikasi untuk generasi IP selanjutnya, yang kemudian dikenal sebagai IPng. Spesifikasi ini kemudian berubah menhadi suatu standar pada tahun 1996, dikenal sebagai IPv6, IPv6 menyediakan sejumlah pengayaan fungsi pada IP yang sudah ada, didesain untuk mengakomodasi kecepatan yang lebih tinggi dari jaringan-jaringan masa kini dan campuran dari aliran data, termasuk grafis dan video yang sekarang menjadi lebih umum.

2.2.5 Aplikasi TCP/IP

Sejumlah aplikasi telah distandarisasi untuk berorientasi di atas TCP. Kita menyebutkan tiga dari hal yang paling umum di sini.

1. Protokol pengiriman suratsederhana (Simple mail transfer protocol-SMTP)

Menyediakan fasilitas transfor e-mail dasar. Protokol ini menyediakan suatu mekanisme untuk memindahkan pesan diantara host terpisah. Fitur-fitur SMTP mencakup diskusi lewat e-mail (mailing-list), penerimaan kembali (return receipt), dan meneruskan (forwarding).

1. Protokol transfer berkas (File transfer protocol-FTP)

Digunakan untuk mengirim file dari satu sistem ke yang lainnya di bawah perintah pengguna. Baik file teks maupun biner diakomodasi, dan protokol tersebut menyediakan fitur-fitur untuk mengendalikan akses pengguna.

1. TELNET

Menyediakan kemampuan remote logon, yang memungkinkan seseorang pengguna pada sebuah terminal atau PC untuk melakukan login ke sebuah komputer yang berjauhan seolah-olah terhubung langsung ke komputer itu.

Antarmuka protokol, masing-masing lapisan pada protokol TCP/IP beriteraksi dengan lapisan tetangganya. Pada sumber, lapisan aplikasi mengggunakan layanan dari lapisan ujung-ke-ujung (end-to-end) dan membuat data datang ke lapisan tersebut.Hubungan yang serupa terdapat pada antarmuka ujung-ke-ujung dan lapisan internet. Serta pada antarmuka internet dan lapisan akses jaringan. Di tempat tujuannya, setiap lapisan mengirimkan sampai ke lapisan tinggi lainnya.

2.3 Model OSI

Model acuan Open System Interconnection (OSI) dikembangkan oleh International Organization for Standardization (ISO) sebagai sebuah model untuk arsitektur protokol komputer dan sebagai suatu kerangka untuk mengembangkan standar-standar protokol. Model OSI terdiri dari tujuh lapisan, antara lain :

1. Aplikasi
2. Presentasi
3. Sesi
4. Transpor
5. Jaringan
6. Data link
7. Fisik

Aplikasi



Menyediakan akses ke lingkungan OSI untuk para pengguna dan juga menyediakan layanan informasi terdistribusi.

Presentasi



Menyediakan kebebasan bagi proses aplikasi dari perbedaan-perbedaan representasi data (sintaks)

Sesi



Menyediakan struktur kontrol untuk komunikasi antara aplikasi; membangun, mengatur, dan mengakhiri koneksi (sesi) antara aplikasi yang beroperasi.

Transpor



Menyediakan transfrer data yang handal dan transparan antara tiap titik akhir; menyediakan pemulihan error dari ujung-ke-ujung dan flow-kontrol

Jaringan



Menyediakan lapisan atas dengan kebebasan transmisi data dan teknologi switching yang digunakan untuk menghubungkan sistem; bertanggung jawab untuk membangun, memelihara, dan mengakhiri koneksi.

Link Data



Menyediakan transfer informasi yang handal melalui link fisik; mengirim blok-blok (frame) dengan sinkronisasi yang dibutuhkan, kontrol kesalahan, dan flow kontrol

Fisik



Berhubungan dengan transmisi bit stream yang tidak terstruktur sepanjang media fisik; berhubungan dengan karakteristik-karakteristik mekanik, elektrik, fungsional dan prosedural untuk mengakses media fisik.

2.4 Standarisasi Arsitektur Protokol

2.4.1 Standarisasi Dalam Kerangka Kerja OSI

Motivasi penting untuk pengembangan model OSI adalah menyediakan suatu kerangka untuk distandarisasi. Pada model ini, satu standar protokol atau lebih dapay dikembangkan pada setiap lapisan. Model ini mendefinisikan dalam istilah umum fungsi-fungsi yang dijalankan pada lapisan tersebut dan memfasilitasi proses pembuatan standar dalam dua cara, yaitu :

1. Oleh karena fungsi dari masing-masing lapisan telah terdefinisi, maka standar-standar dapat dikembangkan secara bebas dan bersamaan untuk setiap lapisan . Hal ini mempercepat proses pembuatan standar.
2. Oleh karena batasan antara lapisan telah terdefinisi, perubahan-perubahan dalam standar di satu lapisan tidak mempengaruhi piranti lunak yang telah ada di lapisan lainnya. Hal ini memmpermudah pengenalan standar-standar baru.

Tiga elemen kunci standarisasi yang dibutuhkan di setiap lapisan :

* Spesifikasi kontrol
* Definisi layanan
* Pengalamatan

2.4.2 Layanan Primitif dan Parameter

Layanan-layanan di antara lapisan yang saling berdekatan dalam arsitektur OSI dinyatakan dalam istilah primitif dan parameter. Suatu primitf menetapkan fungsi yang dilakukan, dan parameter digunakan untuk memindahkan data serta mengendalikan informasi. Bentuk aktual dari primitif bergantung pada implementasinya. Contohnya adalah sebuah prosedur panggilan. Empat tipe primitif digunakan dalam standar-standar untuk menentukan interaksi di antara lapisan yang berdekatan dalam arsitektur tersebut. Hal ini didefinisikan dalam tabel 2.1.

Permintaan
Sebuah primitif dikeluarkan oleh pengguna untuk menggunakan beberapa layanan dan memindahkan parameter-parameter yang diperlukan dalam menentukan layanan yang diminta sepenuhnya.

Indikasi
Sebuah primitif yang dikeluarkan oleh provider layan digunakan untuk :

1. Mengindikasi bahwa sebuah prosedur telah digunakan oleh pengguna layanan
2. Memberitahukan pengguna layanan akan apa diinisiatifkan oleh provider..

Respons
Sebuah primitif dikeluarkan oleh pengguna layanan untuk memperkenalkan atau melengkapi beberapa prosedur yang sebelumnya yang digunakan oleh sebuah indikasi pengguna itu.

Konfirmasi
Sebuah primitif yang dikeluarkan oleh provider layanan untuk memperkenalkan dan melengkapi beberapa prosedur yang sebelumnya oleh permintaan pengguna layanan

Tabel 2.1 Tipe-tipe layanan primitif

2.5 Aplikasi Berbasis Internet

Sejumlah aplikasi telah distandarisasi untuk beroperasi di atas TCP. Di sini, kita menyebutkan tiga dari yang paling umum :

1. Protokol pengiriman suratsederhana (Simple mail transfer protocol-SMTP)

Menyediakan fasilitas transfor e-mail dasar. Protokol ini menyediakan suatu mekanisme untuk memindahkan pesan diantara host terpisah. Fitur-fitur SMTP mencakup diskusi lewat e-mail (mailing-list), penerimaan kembali (return receipt), dan meneruskan (forwarding).

1. Protokol transfer berkas (File transfer protocol-FTP)

Digunakan untuk mengirim file dari satu sistem ke yang lainnya di bawah perintah pengguna. Baik file teks maupun biner diakomodasi, dan protokol tersebut menyediakan fitur-fitur untuk mengendalikan akses pengguna.

1. TELNET

Menyediakan kemampuan remote logon, yang memungkinkan seseorang pengguna pada sebuah terminal atau PC untuk melakukan login ke sebuah komputer yang berjauhan seolah-olah terhubung langsung ke komputer itu.

2.6 Multimedia

Dengan meningkatnya ketersediaan akses broadband (jalur lebar) pada internet menyebabkan meningkatnya minat terhadap aplikasi multimedia berbasis-Web dan berbasis-Internet. Satu cara untuk mengatur konsep-konsep yang berhubungan dengan multimedia adalah dengan melihat taksonomi yang menangkap sejumlah dimensi dari bidang ini.

Media
Mengacu pada bentuk informasi yang mencakup teks, gambar tak bergerak, audio, dan video

Multimedia
Interaksi manusia-komputer melibatkan teks, grafis, suara, dan video. Multimedia juga mengacu pada perangkat penyimpanan yang digunakan untuk menyimpan isi multimedia.

Pengaliran media

(Media streaming)
Mengacu pada file-file multimedia, seperti video klip dan audio, yang mulai dimainkan dengan segera atau dalam hitungan detik setelah file tersebut diterima oleh komputer dari internet atau Web. Dengan demikian, isi media tersebut langsung digunakan ketika dikirimkan ddari server, bukan menunggu sampai seluruh isi file diunduh.

Tabel 2.2 Terminologi multimedia

2.6.1 Aplikasi-Aplikasi Multimedia

Domain


Contoh Aplikasi

Manajemen Informasi


Hipermedia, database berkemampuan-multimedia, pencarian berbasis-isi

Hiburan


Game (permainan) komputer, video digital, audio (MP3)

Telekomunikasi


Konferensi video, shared workplace (ruang kerja bersama), komunitas maya

Publikasi/ Pengiriman Informasi


Pelatihan online, buku-buku elektronik, media streaming

Tabel 2.3 Domain dari sistem multimedia dan contoh aplikasi

2.6.2 Lalu Lintas Elastis dan Tidak Elastis

Lalu lintas elastis dapat menyesuaikan diri, di sepanjang jangkauan yang luas, terhadap perubahan-perubahan dalam penundaan serta throughput (lewatan) sepanjang internet dan masih memenuhi kebutuhan dari aplikasi-aplikasinya. Lalu lintas tidak elastis tidak mudah beradaptasi, terhadap semua perubahan dalam penundaan dan throughput dalm internet Contoh utama adalah lalu lintas real-time, seperti suara dan video. Persyaratan-persyaratan untuk lalu lintas tidak elastis mencakup hal-hal berikut :

* Throughput
* Penundaan
* Variasi penundaan
* Kehilangan paket

MEDIA TRANSMISI

4.1 Media Transmisi Terpandu

Untuk media transmisi terpandu, kapasitas transmisi, baik dalam bentuk kecepatan data maupun bandwidth, sangat bergantung pada jarak dan pada apakah media-media tersebut adalah titik-ke-titik atau multititik. Tiga media terpandu yang umum digunakan untuk transmisi data adalah :

1. Twisted pair
2. Kabel koaksial, dan
3. Serat optik

4.1.1 Twisted Pair

- Disekat secara terpisah

- Digulung bersama-sama

- Seringnya “membundel” dalam kabel

- Biasanya dipasang dalam gedung selama konstruksi

Twisted pair adalah media transmisi yang paling hemat dan paling banuak digunakan.

A. Deskripsi Fisik

Sebuah twisted pair terdiri dari dua kawat tembaga berisolasi yang disusun dalam suatu pola spiral beraturan. Pasangan kawat bertindak sebagai link komunikasi tunggal.Biasanya, sejumlah pasangan ini dibundel menjadi satu dalam sebuah kabel dengan cara membungkus mereka dalam selubung yang kuat. Pada jarak yang cukup jauh, kabel mungkin mengandung ratusan pasangan. Gulungan tersebut cenderung mengurangi interferensi crosstalk antara pasangan yang saling berdekatan dalam suatu kabel. Pasangan yang saling berdekatan dalam suatu bundel umumnya memiliki panjang gulungan yang berbeda yang bervariasi dari 5-15 cm. Kabel-kabel dalam suatu pasangan memiliki ketebalan 0,4-0,9 mm.

B. Aplikasi

Sejauh ini, media transmisi terpandu yang paling umum untuk sinyal analog dan digital adalah twisted pair. Media ini adalah media yang paling sering digunakan dalam jaringan telepon dan merupakan penopang beban komunikasi dalam sebuah gedung.



C. Karakteristik Transmisi

Twisted pair dapat digunakan untuk mentransmisikan, baik transmisi analog maupun digital. Untuk sinyal analog, dibutuhkan amplifier kira-kira setiapp 5-6 km. Untuk transmisi digital (baik sinyal analog maupun digital), repeater dibutuhkan kira-kira 2-3 km.

Twisted pair terdiri dari 2 jenis, yaitu :

1. Twisted pair tak terlindung (unshielded twisted pair-UTP)

UTP adalah kabel telepon biasa, gedung-gedung perkantoran, pada umumnya, mengalami kelebihan twisted pair tak terlindung, lebih dari yang dibutuhkan untuk penyokong telepon sederhana. Jenis ini merupakan yang termurah dari semua jenis media transmisi yang umum digunakan untuk LAN mudah ditangani serta mudah untuk diinstal.

1. Twisted pair terlindung (shielded twisted pair-STP)

STP adalah subjek untuk gangguan elektromagnetik eksternal, termasuk gangguan dari twisted pair yang berdekatan dan noise dari lingkungan. STP memberikan kinerja yang lebih baik pada kecepatan data yan lebih tinggi. STP lebih murah dan lebih sulit ditangani dibandingkan dengan UTP.

4.1.2 Kabel Koaksial

1. A. Deskripsi Fisik

Kabel koaksial, seperti twisted pair, terdiri dari dua konduktor, tetapi kabel koaksial dikonstruksi secara berbeda, sehingga memungkinkan untuk beroperasi pada jangkauan frekuensi yang lebih luas. Kabel koaksial terdiri dari konduktor silinder berongga bagian luar yang mengelilingi kabel konduktor tunggal bagian dalam. Konduktor bagian dalam tetap pada tempatnya dengan bantuan cincin isolator atau material dielektrik padat yang ditempatkan teratur. Konduktor bagian luar ditutupi dengan selubung atau pelindung. Satu kabel koaksial memiliki diameter dari 1-2,5 cm. Kabel koaksial dapat digunakan pada jarak yang lebih panjang dan menyokong lebih banyak stasiunpada jalur bersama dibandingkan twisted pair.

B. Aplikasi

Kabel koaksial adalah media transmisi serbaguna, digunakan dalam berbagai aplikasi. Hal yan paling penting adalah :

- Distribusi siaran televisi

- Transmisi telepon jarak jauh

- Link sistem komputer jangkauan pendek

- Local Area Network

1. C. Karakteristik

Kabel koaksial memiliki karakteristik yang superior dibandingkan dengan twisted pair dan oleh karena itu dapat digunakan dengan efektif pada frekuensi dan kecepatan data yang lebih tinggi. Oleh karena memiliki pelindung konstruksi yang konsentris, kabel koaksial jauh tidak rentan dengan gangguan dan crosstalk dibandingkan dengan twisted pair. Hambatan-hambatan dalam kinerja adalah atenuasi, thermal noise, dan intermodulation noise. Untuk transmisi jarak jauh dari sinyal-sinyal analog, amplifier dibutuhkan di setiap beberapa kilometer, jika frekuensi yang digunakan lebih tinggi maka jarak yang dibutuhkan juga lebih dekat. Spektrum yang dapat digunakan untuk pensinyalan analogmeluas hingga sekitar 500 MHz. Untuk pensinyalan digital, repeater dibutuhkan tiap kilometer atau lebih dekat lagi jika kecepatan data lebih tinggi.

4.1.3 Serat Optik

A. Deskripsi Fisik

Serat optik itu tipis (2-125 µm), media fleksibel yang mengarahkan sinar optik. Berbagai kaca dan plastik dapat digunakan untuk membuat serat optik. Kerugian paling rendah dapat diperoleh dengan menggunakan serat ultrapure fused silica. Serat ultrafure sulit diproduksi; jenis lainnya adalah serat kaca highe-loss multicomponent yang memiliki kehilangan yang lebih besar tetapi lebih ekonomis dan tetap dapat menyediakan kinerja yang baik. Serat plastik bahkan lebih murah dan dapat digunakan untuk link muatan pendek, dengan tingkat kehilangan yang masih dapat diterima.

B. Aplikasi

Serat optik telah banyk digunakan dalam telekomunikasi jarak jauh, dan digunakan di aplikasi militer terus meningkat. Peningkatan yang terus-menerus dalam kinerja dan penurunan harganya, disertai dengan keuntungan mendasar dari serat optik, telah membuatnya semakin menarik untuk jaringan area lokal.Lima kategori dasar dari aplikasi telah menjadi penting untuk serat optik :

1. Long-haul trunk
2. Metropolitan trunk
3. Rural exchange trunk
4. Subcriber loop
5. Local area network

C. Karakterisitik Transmisi

Serat optik mentransmisikan sbuah sinar sinyal yang dikodekan dengan cara refleksi internal total. Refleksi internal total dapat terjadi dalam media transparan apa pun yang memiliki indeks refraksi yang lebih tinggi dibandingkan media sekitarnya. Efeknya, serat optik bertindak sebagai pemandu gelombang (waveguide) untuk frekuensi dalam jangkauan 10¹⁴-10¹⁵ Hertz; ini meliputi porsi spektrum inframerah dan spektrum tampak.

4.2 Transmisi Nirkabel

Tiga jangkauan umum frekuensi merupakan perhatian kita dari transmisi nirkabel. Frekuensi-frekuensi dalam jangkauan sekitar 1-40 GHz mengacu sebagai frekuensi gelombang radio. Pada frekuensi ini, sinar searah yang sangat tinggi mungkin dihasilkan, dan gelombang mikro sangat cocok untuk transmisi dari titik-ke-titik. Gelombang mikro juga digunakan untuk komunikasi satelit. Frekuensi-frekuensi dalam jangkauan 30 MHz-1 GHz, cocok untuk aplikasi segala arah. Kita menunjuk jangkauan ini sebagai jangkaun radio.Untuk media tak terpandu, transmisi dan penerimaan dicapai dengan alat sebuah antena. Sebelum melihat pada kategori-kategori khusus dari transmisi nirkabel, kita memberikan sebuah pengenalan singkat mengenai antena.

4.2.1 Antena

Sebuah antena dapat didefinisikan sebagai konduktor elektrik atau sistem konduktor yang digunakan, baik untuk meradiasi energi elektromagnetik maupun mengumpulkan energi elektromagnetik. Antena parabolik reflektif adalah sebuah tipe antena yang penting, yang digunakan dalam gelombang mikro terestrial dan penerapan satelit.. Sebuah parabola adalah lokus/tempat yang jaraknya sama dari sebuah garis tetap dan titik tetap bukan pada garis tertentu. Titik tetap tersebut disebut fokus dan garis tetap disebut direktriks. Bati antena adalah (antenna gain) adalah ukuran keterarahan dari sebuah antena. Bati antena didefinisikan sebagai output daya, pada arah tertentu, berbanding dengan daya yang dihasilkan dari arah manapun oleh sebuah antena segala arah sempurna (antena isotropik). Sebuah konsep yang berkaitan dengan bati antena adalah area efektif dari sebuah antena. Area efektif dari sebuah antena berhubungan dengan ukuran fisik antena dan bentuknya.

4.2.2 Gelombang Mikro Terestrial

A. Deskripsi Fisik

Tipe yang paling umum dari antena gelombang mikro adalah parabolik “piring”. Ukuran umumnya berdiameter sekitar 3 m. Antena pengirim memfokuskan sinar pendek agar mencapai transmisi garis pandanga (line-of-sight) ke antena penerima. Antena gelombang mikro biasanya ditempatkan pada ketinggian tertentu di atas permukaan tanah untuk memperluas jangkauan antarantena dan agar dapat mentransmisikan tanpa adanya penghalang-penghalang. Untuk mencapai transmisi jarak jauh, seperangakat menara pemancar gelombang mikro digunakan, dan link gelombang mikro titik-ke-titik dirangkai bersama pada jarak yang diinginkan.

B. Aplikasi

Kegunaan utama dari sistem gelombang mikro terestrial adalah layanan telekomunikasi long-haul, sebagai alternatif untuk kabel koaksial atau serat optik. Fasilitas gelombang mikro membutuhkan jauh lebih sedikit amplifier atau repeater dibandingkan kabel koaksial pada jarak yang sama, tetapi membutuhkan transmisi garis-pandang. Gelombang mikro biasanya digunakan untuk transmisi suara dan televisi.

C. Karakteristik Transmisi

Transmisi gelombang mikro mencakup porsi yang penting dari spektrum elektromagnetik. Frekuensi-frekuensi umum berada dalam rentang 1-40 GHz. Semakin tinggi frekuensi yang digunakan, semakin tinggi bandwidth potensial dan kecepatan data untuk beberapa sistem umum.

4.2.3 Gelombang Mikro Satelit

A. Deskripsi Fisik

Satelit komunikasi adalah sebuah stasiun relai gelombang mikro. Hal itu digunakan untuk menghubungkan dua atau lebih transmitter/penerima gelombang mikro berbasis-bumi, dikenal sebagai stasiun bumi, atau ground-station. Satelit menerima transmisi pada satu band frekuensi (uplink), menguatkan dan mengulangi sinyal tersebut, serta mentransmisikan ke frekuensi yang lain (downlink). Satelit yang mengorbit tunggal akan beroperasi pada sejumlah band frekeunsi, disebut dengan kanal transponder, atau singkat transponder.

B. Aplikasi

Berikut ini adalah aplikasi yang penting untuk satelit :

- Distribusi siaran TV

- Transmisi telepon jarak jauh

- Jaringan bisnis pribadi

- Penempatan global

C. Karakteristik Transmisi

Rentang frekuensi terbaik untuk transmisi satelit adalah jangkauan hingga 1-10 GHz, terdapat noise yang signifikan dari sumber-sumber alam, termasuk yang berhubungan dengan galaksi, matahari, dan atmosphere noise (derau atmosfer), serta interfernsi yang dibuat oleh manusia dari berbagai perangkat elektronik. Di atas 10 GHz, sinyal tersebut sangat dilemahkan oleh absorpsi atmosfer dan hujan.

4.2.4 Siaran Radio

A. Deskripsi Fisik

Perbedaan utama antara siaran radio dan gelombang mikro adalah siaran radio ke segala arah sedangkan gelombang mikro ke satu arah. Dengan demikian, siaran radio tidak membutuhkan antena berbentuk piring, dan antena tersebut tidak perlu menjulang kokoh dengan lurus sempurna.

B. Aplikasi Radio

Istilah umum yang digunakan untuk mencakup frekuensi-frekuensi dalam jangkauan 3 kHz-300 GHz. Kita menggunakan istilah informasi siaran radio untuk mencakup VHF dan bagian band UHF; 30 MHz- 1 GHz. Jangkauan ini mencakup radio FM serta televisi UHF dan VHF. Jangkauan ini juga digunakan untuk sejumlah aplikasi jaringan data.

C. Karakteristik Transmisi

Jangkauan 30 MHz-1 GHz itu efektif untuk komunikasi siaran. Tidak seperti kasus untuk gelombang elektromagnetik frekuensi lebih rendah, ionosfer transparan terhadap gelombang radio di atas 30 MHz. Oleh karena itu, transmisi dibatasi hingga jarak pandang, dan tarsmitter yang jauh tidak akan menggangggu satu sama lain karena pantulan dari atmosfer. Tidak seperti frekuensi tinggi dari wilayah gelombang mikro, siaran radio lebih tidak sensitif terhadap atenuasi dan curah hujan.

4.2.5 Inframerah

Komunikasi inframerah dicapai dengan menggunakan transmitter/penerima (transceiver) yang memodulasi cahaya inframerah tidak koheren. Transceiver harus beraada dalam jalur pandang satu sama lain, baik secara langsung maupun melalui pemantulan dari permukaan berwarna terang seperti langit-langit ruangan. Perbedaan penting dari transmisi inframerah dan gelombang radio adalah inframerah tidak menembus dinding. Jadi, permasalahan pengamanan dan interferensi yang ditemukan dalam sistem gelombang mikro tidak akan ditemukan di sini. Selain itu, tidak ada isu alokasi frekuensi pada inframerah karena tidak ada perizinan yang dibutuhkan.

4.3 Perambatan Nirkabel

4.3.1 Perambatan Gelombang Bumi

Perambatan gelombang bumi kurang lebih mengikuti kontur bumi dan dapat menyebar pada jarak yang cukup jauh, melampaui cakrawala visual. Efek ini ditemukan dalam frekuensi-frekuensi hingga sekitar 2 MHz. Beberapa faktor meliputi kecenderungan gelombang elektromagnetik dalam band frekuensi ini mengikuti lekukan bumi. Contoh yang paling terkenal dari komunikasi gelombang bumi adalah radio AM.

4.3.2 Perambatan Gelombang Angkasa

Perambatan gelombang angkasa digunakan oleh radio amatir, radio CB, dan siaran international seperti BBC dan Voice of America.

4.3.3 Perambatan Line of Sight

Di atas 30 MHz, bukan perambatan ground wave maupun gelombang angkasa yang beroperasi, maka komunikasi pasti dilakukan oleh garis pandang (line of sight). Untuk komunikasi satelit, sinyal di atas 30 MHz tidak dipantulkan oleh ionosfer dan oleh karena itu suatu sinyal dapat ditransmisikan antara stasiun bumi dan tambahan sateli yang tidak melebihi cakrawala.

4.4 Transmisi Garis Pandang (Line of Sight)

4.4.1 Rugi pada Ruang Bebas

Untuk komunikasi nirkabel apa pun dari sinyal menyebar dengan jarak. Oleh karena itu, semakin jauh sebuah antena tetap dengan antena penerima, semakin lemah daya sinyal diterimanya. Untuk komunikasi satelit ini adalah mode utama dari kehilangan sinyal. Meskipun tidak ada sumber lain dari atenuasi atau kerusakan yang diasumsikan, sinyal yang ditransmisikan akan melemah sepanjang jarak yang ditempuh karena sinyal tersebut telah tersebar pada area yang semakin luas. Bentuk atenuasi ini dikenal sebagai rugi pada ruang bebas.

4.4.2 Absorpsi Atmosferis

Rugi tambahan antara antena transmisi dan penerima adalah absorpsi atmosferis. Uap air dan oksigen berkontribusi paling banyak terhadap atenuasi. Atenuasi tertinggi terjadi di sekitar 22 GHz.

4.4.3 Multijalur

Bagi fasilitas-fasilitas nirkabel di mana kita relatif bebas menentukan lokasi antena, mereka dapat diletakkan pada tempat yang tidak ada penghalang yang akan menggangu, terdapat jalur garis pandang langsung dari transmitter ke penerima. Kasus ini adalah kasus umum untuk banyak fasilitas satelit dan gelombang mikro titik-ke-titik.

4.4.4 Refraksi

Gelombang radio direfraksi (dilengkungkan) ketika mereka merambat melalui atmosfer. Refraksi disebabkan oleh perubahan-perubahan dalam kecepatan sinyal sesuai ketinggian atau dengan perubahan ruang lainnya di kondisi atmosferis.

TEKNIK KOMUNIKASI DATA DIGITAL

6.1 Transmisi Asinkron dan Sinkron

6.1.1 Transmisi Asinkron

Ada dua pendekatan yang umum digunakan untuk mencapai sinkronisasi yang diharapkan. Pertama, dengan nama yang cukup ganjil, 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 panjangnyalima 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.

6.1.2 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 transmitter dan receiver, detaknya bagaimanapun juga harus disinkronisasi. Salah satu kemungkinan adalah dengan menyediakan sebuah jalur detak terpisah di antara transmitter dan receiver. Salah satu sisi (transmitter atau receiver) mengatur jalur secara teratur dengan satu pulsa pendek per waktu bit. Sisi lainnya menggunakan pulsa reguler ini 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.

6.2 Tipe-Tipe Kesalahan

Pada sistem 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 berikut. Ledakan kesalahan: 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 mengalami kesalahan pada ledakan berikutnya dipisahkan oleh x atau lebih bit yang benar.

6.3 Deteksi Kesalahan

6.3.1 Cek Paritas

Skema yang paling sederhana dari deteksi-kesalahan adalah dengan membubuhi sebuah bit paritas pada akhir sebuah blok data. Contoh umumnya adalah transmisi karakter, di mana sebuah bit paritas disertakan pada masing-masing karakter IRA 7-bit. Nilai dari bit ini diplih sehingga karakter memiliki angka genap dari 1 (paritas genap) atau angka ganjil 1 (paritas ganjil).

6.3.2 Cyclic Redudancy Check (CRC)

Satu dari yang paling dan yang paling kuat, dari kode deteksi-kesalahan adalah cyclic redudancy check (CRC) atau cek redudansi siklik. Yang dapat dideskripsikan sebagai berikut. Misalnya terdapat sebuah blok k-bit, atau pesan, sehingga transmitter menghasilkan sebuah deretan (n-k) –bit, dikenal sebagai frame check sequence (FCS) atau urutan cek bingkai, seperti frame hasil, terdiri dari n-bit, dapat dibagi dengan angka yang telah ditentukan. Receiver kemudian membagi frame yang datang dengan angka tersebut dan, jika tidak ada sisa, diasumsikan tidak terjadi kesalahan.

6.4 Koreksi Kesalahan

Deteksi kesalahan merupakan teknik yang bermamfaat, ditemukan dalam protokol data link control, seperti HDLC, dan dalam protokol transpor, seperti TCP. Bagaimanapun juga, koreksi kesalahan menggunakan kode deteksi-kesalahan, membutuhkan blok data yang akan ditransmisikan ulang. Untuk aplikasi nirkabel, pendekatan ini tidaklah mencukupi untuk dua alasan.

1. Laju kesalahan bit pada link nirkabel dapat menjadi dangat tinggi, yang akan menyebabkan sejumlah besar transmisi ulang.
2. Pada beberapa kasus, terutam link satelit, penundaan perambatan sangat lama dibandingkan dengan waktu transmisi debuah frame tunggal. Hasilnya adalah sistem sangat tidak efisien.

Oleh karenanya, receiver diharapkan mampu mengkoreksi kesalahan dalam sebuah transmisi yang akan datang berdasarkan bit dalam transmisi tersebut.

6.5 Konfigurasi Kanal

Dua karakeristik yang membedakan berbagai konfigurasi data link adalah topologi dan apakah link tersebut half duplex atau full duflex.

6.5.1 Topologi

Topologi data link menunjukkan susunan stasiun secara fisik pada medium transmisi. Jika hanya terdapat dua stasiun (contohnya, terminal dan komputer atau dua komputer), linknya adalah titik-ke-titik. Umumnya, link multititik digunakan dalam kasus sebuah komputer (stasiun primer) dan serangkaian terminal (stasiun kedua). Saat ini, topologi multititik banyak ditemukan pada local area network.

PROTOKOL DATA LINK CONTROL

Flow Control

Flow control adalah sebuah teknik untuk meyakinkan bahwa entisitas pengirim tidak melebihi entitas yang diterima data. Entisitas yang diterima secar khas mengalokasi sebuah bufer data dengan beberapa panjang maksimum untuk sebuah transmisi. Ketika data diterima, receiver harus melakukan sejumlah pengolahan tertentu sebelum memindahkan data ke piranti lunak yang levelnya-lebih-tinggi. Dengan tidak adanya flow control, bufer receiver mungkin terisi dan terlalu penuh ketika sedang mengolah data lama.

Stop-and-Wait Control

Bentuk yang paling sederhana dari flow control, dikenal sebagai stop-and-wait flow control, bekerja sebagai berikut. Entisitas sumber mengirimkan sebuah frame. Setelah entisitas tujuan menerima frame tersebut, hal ini mengindikasikan keinginan untuk menerima frame lain dengan mengirimkan kembali jawaban bahwa frame baru saja diterima. Entisitas sumber harus menunggu sampai ia menerima jawaban tersebut sebelum mengirimkan frame tersebut. Dengan demikian, entisitas tujuan dapat memberhentikan aliran data dengan menahan jawaban. Prosedur ini bekerja dengan baik dan, sesungguhnya, mungkin sulit untuk dikembangkan ketika pesan dikirmkan dalam beberapa frame besar. Bagaimanapun, sering kali terjadi kasus di mana sebuah sumber akan memisahkan sejumlah besar blok data ke dalam blok data yang lebih kecil dan mentransmisikan data tersebut dalam banyak frame.

Sliding-Window Flow Control

Inti dari permasalahan yang digambarkan sejauh ini adalah bahwa hanya satu frame pada satu waktu yang dapat dikirimkan. Pada situasi ketika panjang bit dari link lebih besar dari panjang frame (a > 1), menghasilkan ketidakefisienan yang serius. Efisiensi dapat sangat dikembangkan dengan membiarkan berbagai frame dikirimkan pada waktu yang sama operasi ini disebut dengan sliding-window flow control.

Control Kesalahan

Kontrol kesalahan mengarah pada mekanisme untuk mendeteksi dan mengoreksi kesalahan yang terjadi pada saat transmisi frame. Sebagai tambahan, kita mengakui kemungkinan adanya dua tipe kesalahan :

1. Frame hilang

Sebuah frame yang tidak berhasil tiba di tempat tujuannya. Sebagai contoh, sebuah suara ledakan mungkin merusak sebuah frame, sampai pada tingkat di mana penerima tidak sadar bahwa sebuah frame telah dikirimkan.

1. Frame rusak

Sebuah frame dikenali memang tiba, tetapi beberapa bitnya salah (telah berubah selama transmisi)

Teknik yang paling umum untuk kontrol kesalahan didasari oleh beberapa atau seluruh komponen berikut ini :

* Deteksi kesalaha
* Jawaban positif

tujuannya mengembalikan jawaban positif yang berhasi diterima, frame tanpa kesalahan

* Transmisi ulang setelah waktu habis

Sumber mentransmisikan ulang sebuah frame yang belum dijawab setelah sejumlah waktu yang ditentukan

* Jawaban negatif dan transmisi ulang

Tujuan mengembalikan sebuah frame jawaban negatif di mana kesalahan terdeteksi. Sumber akan mentransmisikan ulang. Sumber akan mentransmisikan ulang frame seperti itu

Secara kolektif, mekanisme ini dikenal sebagai pinta automatik pengulangan (autumatic repaeT request­- ARQ); pengaruh ARQ adalah untuk mengubah data link yang tidak dapat diandalkan menjadi dapat diandalkan. Ketiga versi ARQ telah distandarisasi, yaitu :

1. Stop-and-Wait ARQ
2. Go-Back-N ARQ
3. Selective-Reject ARQ

High-Level Data Link Control (HDLC)

Hal yan paling penting dari sebuah protokol data link control adalah HDLC. HDLC sebagai dasar bagi banyak protokol data link control lainnya, yang digunakan untuk format yang sama atau mirip dan mekanisme yang sama seperti dalam HDLC.

Karakteristik

Untuk memuakan berbagai aplikasi, HDLC mendefinisikan tiga tipe stasiun, du alink, dan tiga mode operasi data transfer. Tiga stasiun tersebut, yaitu :

1. Stasiun primer

Bertanggung jawab mengendalikan operasi link. Frame yang dihasilkan dari stasiun primer disebut perintah

1. Stasiun sekunder

Beroperasi di bawah kendali stasiun primer. Frame yang dihasilkan oleh stasiun sekunder disebut respons. Stasiun mempertahankan link logic yang terpisah dengan setiap stasiun sekunder di setiap jalur.

1. Stasiun gabungan

Menggabungkan fitur primer dan sekunder. Sebuah stasiun yang digabungkan menghasilkan perintah da respons.

Konfigurasi dua link tersebut adalah :

1. Konfigurasi tidak seimbang

Terdiri dari satu primer dan satu atau lebih stasiun sekunder serta pendukung, baik transmisi full-duplex maupun half-duplex

1. Konfigurasi seimbang

Terdiri dari dua stasiun yang digabungkan dan pendukung, baik transmisi full-duplex maupun half-duplex

Adatiga mode transfer, yaitu :

1. Normal response mode (NRM)

Digunakan dengan konfigurasi yang tidak seimbang. Stasiun utama mungkin menginisiasi transfer data ke sebuah stasiun sekunder, tetapi sebuah stasiun sekunder hanya dapat mentrasmisikan data sesuai respons dari perintah stasiun primer.

1. Asynchronous balanced mode (ABM)

Digunakan dalam konfigurasi yang seimbang. Stasiun gabungan dapat menginisiasi transmisi tanpa menerima izin dari stasiun gabungan lainnya

1. Asychronous response mode (ARM)

Digunakan dalam konfigurasi yang tidak seimbang. Stasiun sekunder dapat menginisiasi transmisi tanpa secara eksplisit memperoleh izin dari stasiun primer. Stasiun primer masih memiliki tanggunga jawab terhadap jalur, termasuk inisiasi transmisi, pemulihan kesalahan, dan putusnya koneksi logis.

7.3.2 Struktur Frame

HDLC menggunakan transmisi sinkron. Seluruh transmisi dalam bentuk frame, dan sebuah format frame tunggal mencukupi untuk semua pertukaran tipe data dan kontrol. Struktur frame HDLC adalah tanda (flag), alamat, dan kontrol yang mendahului hal-hal yang berkaitan dengan informasi disebut kepala (header). FCS dan field flag yang mengikuti hal-hal yang berkaitan dengan data disebut sebagai trailler. Field-field dalam HDLC :

* Field alamat
* Field kontrol
* Field informasi
* Field frame check sequnce.

JARINGAN SELULER NIRKABEL

Prinsip-Prinsip Jaringan Seluler

Radio seluler adalah sebuah teknik yang dikembangkan untuk meningkatkan kapasitas yang tersedia untuk layanan telepon radio mobile. Sebelum pengenalan radio seluler, layanan telepon radio hanya disediakan oleh transmitter/receiver berdaya tinggi. Sistem umum akan mendukung sekitar 25 kanal dengan jari-jari efektif sekitar 80 km. Cara untuk meningkatkan kapasitas sistem tersebut adalah menggunakan sistem berdaya rendah dengan jari-jari lebih pendek dan untuk menggunakan banyak transmitter/receiver. Kita memulai bagian ini dengan pandangan sebuah organisasi dari sistem seluler kemudian mengamati beberapa detail dari implementasi mereka.

Organisasi Jaringan Seluler

Inti dari jaringan seluler adalah penggunaan transmitter multiple berdaya rendah, dengan urutan 100 W atau kurang. Oleh karena jangkauan dari transmitter seperti itu kecil, sebuah area dapat dibagi dalam sel-sel, masing-masing berperan sebagai antenanya sendiri. Setiap sel dialokasikan sebuah band frekuensi dan dilayani oleh sebuah stasiun dasar, terdiri dari transmitter, receiver, dan unit kontrol. Sel-sel terdekat ditugaskan pada frekuensi-frekuensi yang berbeda untuk mencegah interfrensi atau crosstalk. Bagaimanapun, sel yang cukup jauh satu sama lain dapat menggunakan band frekuensi yang sama.

Operasi Sistem Seluler

Elemen-elemen penting dari sistem seluler. Pada perkiraan pusat dari setiap sel adalah sebuah stasiun dasar (base station-BS). BS mencakup sebuah antena, pengendali, dan sejumlah transceiver, untuk berkomunikasi pada kanal yang diberikan pada sel tersebut. Pengendali tersebut digunakan untuk menangani proses panggilan antara unit mobile dan sisa dari jaringan tersebut. Pada waktu apa pun, sejumlah unit pengguna mobile mungkin aktif dan berpindah di sekitar dalam sel, berkomunikasi dengan BS. Masing-masing BS dikoneksikan ke sebuah mobile telecommunications switching office (MTSO), dengan satu MTSO melayani banyak BS. Umumnya, link antara MTSO dan MS adalah sebuah kabel, meskipun link tanpa kabel juga memungkinkan. MTSO menghubungkan panggilan antara unit mobile. MTSO juga dihubungkan ke telepon umun atau jaringan telekomunikasi dan dapat membuat sebuah koneksi antara pelanggan tak bergerak ke jaringan publik dan pelanggan mobile ke jaringan seluler. MTSO menugaskan kanal suara ke setiap panggilan, melakukan handoff, dan memonitor panggilan untuk informasi penagihan.

Dampak Perambatan Radio Mobile

Komunikasi radio mobile memperkenalkan kerumitan yang tidak ditemukan dalam komunikasi kabel atau komunikasi nirkabel tetap. Dua area umum yang dibahas adalah kekuatan sinyal dan efek perambatan sinyal

* Kekuatan sinyal

Kekuatan sinyal antara stasiun dasar dan unit mobile harus cukup kuat untuk mempertahankan kualitas sinyal pada penerima yang tak bergerak, tetapi tidak sekuat untuk menerima banyak interferensi dari kanal pembantu dengan kanal dalam sel lain yang menggunakan band frekuensi yang sama. Terdapat beberapa faktor yang membuatnya rumit. Derau (noise) yang dibuat manusia sangat beragam, menghasilkan tingkat noise yang bervariasi.

* Fading

Meskipun kekuatan sinyal dalam jangkauan yang efektif, efek perambatan sinyal mungkin menggangu sinyal dan menyebabkan kesalahan.

Ketika merancang layout seluler,, teknisi komunikasi harus memperhitungkan beragam efek perambatan, tingkat daya transmisi maksimum yang diinginkan pada stasiun dasar dan unit mobile, tinggi umum dari antena unit mobile, dan tinggi yang tersedia dari antena BS. Faktor-faktor ini akan menentukan ukuran sel individu. Sayangnya, seperti yang dijelaskan, efek perambatan bersifat dinamiss dan sulit untuk diprediksi. Hal terbaik yang dapat dilakukan adalah dengan menggunakan sebuah model berdasarkan data empiris dan menerapkan model itu ke lingkungan yang diberikan untuk mengembangkan panduan-panduan ukuran sel.

Fading Dalam Lingkungan Mobile

Mungkin masalah teknis yang paling menantang yang dihadapi oleh para teknisi sistem komunikasi adalah fading dalam lingkungan mobile. Istilah fading mengacu pada variasi waktu dari daya sinyal yang diterima yang disebabkan oleh perubahan-perubahan dalam media transmisi atau jalur. Pada lingkungan tetap, fading dipengaruhi oleh perubahan-perubahan dalam kondisi atmosferik, seperti hujan. Akan tetpai, dalam lingkungan mobile, di mana satu dari dua antena dipindahkan relatif terhadap yang lain, lokasi relatif dari berbagai hambatan berubah sepanjang waktu, menciptakan transmisi kompleks.

Analog Generasi Pertama

Jaringan telepon seluler awal menyediakan kanal lau lintas; jaringan ini sekarang disebut sebagai sistem generasi-pertama. Sejak tahun 1980-an, sistem generasi pertama yang paling umum di Amerika Utara adalah Advanced Mobile Phone Service (AMPS) yang dikembangkan oleh AT &T. Pendekatan ini juga umu di Amerika Selatan, Australia, dan China. Meskipun secara perlahan digantikan oleh sistem generasi-kedua. AMPS masih umum digunakan.

CDMA Generasi Kedua

Jaringan seluler generasi pertama, seperti AMPS, cepat sekali menjadi populer, mengancam meluapnya kapasitas yang tersedia. Sistem generasi kedua telah dikembangkan untuk menyediakan sinyal dengan kualitas yang lebih baik, kecepatan data yang lebih tinggi untuk mendukung layanan digital, kapasitas lebih besar. BLAC99b menuliskan hal berikut sebagai perbedaan antara dua generasi :

* Kanal lalu lintas

Perbedaan yang paling penting antara dua generasi tersebut adalah sistem generasi- pertama hampir murni analog, sedangkan sistem generasi-kedua adalah digital

* Enkripsi

Oleh karena semua lalu lintas kontrol, digitalkan dalam sistem generasi-kedua, hal itu relatif sederhana untuk mengkodekan semua lalu lintas untuk mencegah penyadapan. Semua sistem generasi-kedua menyediakan pengamanan seperti ini.

* Deteksi dan koreksi kesalahan

Aliran lalu lintas digital dari sistem generasi-kedua juga memberikan mamfaat teknologi deteksi dan koreksi kesalahan. Hasilnya tentu saja berupa penerimaan suara yang sangat jelas

* Akses kanal

Pada sisteme generasi-pertama, masing-masing sel mendukung sejumlah kanal. Pada waktu tertentu, sebuah kanal dialokasikan hanya ke satu pengguna. Sistem generasi-kedua juga menyediakan banyak kanal per sel, tetapi setiap kanal secara dinamis dibagi oleh sejumlah pengguna menggunakan division multiple access (TDMA) atau code multiple access (CDMA)

Sistem Generasi Ketiga

Tujuan komunikasi nirkabel generasi-ketiga (3G) adalah untuk menyediakan komunikasi nirkabel berkecepatan-tinggi secara wajar untuk mendukung multimedia, data, dan video sebagai penambahan suara. ITU milik International Mobile Telecommunications pada tahun 2000 (IMT-2000) berinisyatif untuk mendefinisikan pandangan ITU mengenai kemampuan generasi-ketiga :

* Kualitas suara yang dapat dibandingkan dengan jaringan telepon umum
* Kecepatan data 144-kbps yang tersedia untuk pengguna dalam kendaraan bermotor berkeecepatan-tinggi di atas area yang besar
* 384 kbps yang tersedia untuk pejalan kaki yang berdiri dan bergerak lambat di atas area yang kecil
* Mendukung (untuk difasekan dalam) untuk 2,084 Mbps untuk penggunaan kantor
* Kecepatan transmisi data yang simetris dan asimetris
* Mendukung, baik untuk layanan data paket-switched maupun sirkuit swithed
* Sebuah antarmuka yang dapat menyesuaikan diri terhadap internet untuk merefleksikan sistem asimetri antara lalu lintas pulang dan pergi secara efisien
* Penggunan yang lebih efisien akan spektrum yang tersedia secara umum
* Mendukung berbagai jenis peralatan mobile
* Fleksibilitas untuk memberikan pengenalan terhadap layanan dan teknologi baru.

Senin, 20 Juni 2011

TIP-TIP TAMBAHAN MAKRO

Menyimpan Makro dalam File Include. Setelah membuat kumpulan makro, akan menjadi tidak baik kalau harus menyalin semuanya pada setiap program baru. Terdapat cara lebih baik, dengan membuat file yang berisi makro dan dengan menggunakan perintah INCLUDE untuk menyalinnya pada waktu assembly. Hanya makro yang digunakan yang menjadi bagan dari program akhir. Jika kita menggunakan two-pass assembler seperti Microsof Assembler, akan lebih baik untuk menyimpan perintah INCLUDE dalam lingkungan pengecekan kondisi IF1, yang memerintah assembler untuk melibatkan makro hanya pada saat pertama kali:

if1
include lib1.mac
endift
Berikut contoh file makro yang dapat digunakan pada aplikasi yang memerlukan salah satu makro yang ada didalamnya:
; Macro.Inc
; File ini harus di-include pada setiap program sumber yang memerlukan. Program juga harus di-link ke CONSOLE.LIB

call_WritInt locate
cCall mDisplay
cmpj mMove
display_at mshl
exit mult
getYN putchar
inputInt repeat
inputStr startup
jx_ write
1Loop
Extern ReadInt : proc, ReadString : proc
; menulis integer ke konsol
call_WriteInt macro value, radix
push ax
push bx
mov ax, value
mov bx, value
call writeint
pop bx
pop ax
endm
; pemanggilan prosedur kondisional
cCall macro cond, procname
local L1, L2
j&cond L1
jmp L2
L1 : call procname
L2 : exitm
endm

; membandingkan dua operand dan loncat ke
; berdasarkan flag

cmpj macro dest, flag, source, label
cmp dest, source
j&flag label
endm
; menampilkan string pada baris, kolom dalam konsol
display_at macro row, col, string
locate row, col
mDisplay string
endm

; keluar ke Dos dan mengembalikan kode
exitm macro ecode
mov ah, 4Ch
mov al, ecode
int 21h
endm

; mengambil respons Y/N (y/n). Argument harus huruf kapital yang akan
menset ZF
GetYN macro prompt, exact
write prompt
mov ah, 1
int 21h
sub al, 32
cmp al, exact
endm

; menampilkan prompt huruf pada , dan meng-input integer dan menyimpannya pada
inputInt macro row, col, prompt, dest
locate row, col
write prompt
call ReadInt
mov dest, ax
endm

; menampilkan prompt huruf pada , . Kemudian, memasukkan string ASCIIZ dan menyimpannya ke . Maksimum karakter =
inputStr macro row, col, prompt, dest, max
locate row, col
write prompt
push cx
push dx
mov dx, pffset dest
mov cx, max
call ReadString
pop dx
pop cx
endm

; jump eXtented (JX_) ; loncat kondisional ke label NEAR (di mana saja dalam segmen)

irp cond,
jxe&cond macro dest
local L1, L2
j&cond L1
jmp short L2
L1 : jmp dest
L2 :
endm
endm

; Loop ke label NEAR (dimana saja dalam segmen)
1Loop macro dest
local A1, A2
loop A1
jmp A2
A1 : jmp dest
A2 :
endm


; meletakkan kursor pada , pada video halaman 0.
locate macro ro, column
push ax
push bx
push dx
mov bx, 0
mov ah, 2
mov dh, row
mov dl, column
int 10h
pop dx
pop bx
pop ax
endm

; menampilkan $-terminated string
mDisplay macro string
push ax
push dx
push ah, 9
mov dx, offset string
int 21h
pop dx
endm

; memindahkan word atau byte dari memori ke memori
mmove macro dest, source
push ax
if (type dest) EQ 1
mov al, source
mov dest, al
else
if (type dest) EQ 2
mov ax, source
mov dest, ax
endif
endif
pop ax
endm

; menggeser ke kiri, kali dengan melakukan instruksi penggeseran tunggal
mshl macro dest, count
rept count
shl dest, 1
endm
endm
; mengalikan dua operand
mult macro dest, source
push ax
push bx
mov ax, dest
mov bx, source
mul bx
mov dest, ax
pop bx
pop ax
endm
; mengeluluarkan karakter ke konsol
putchar macro char
mov ah, 2
mov dl, char
int 21h
endm
; mengeluarkan karakter kali
repeat macro char, count
local L1
mov cx, count
L1 : mov ah, 2
mov dl, char
int 21h
loop L1
endm

; set DS dan ES ke segmen data. Menyimpan alamat segmen PSP dalam variable
startup macro pspSeg
push ds
mov ax, @data
mov ds, ax
mov es, ax
pop pspSeg
endm

; makro WRITE menulis huruf ke output standar. adalah string yang berada antara tanda kutip. Jika tidak kosong, mengindikasikan bahwa carriage return ditampilkan.
write macro text, creturn
local string, crlf
push ax
push dx
mov ah, 9
int 21h

infb
mov dx, offset crlf
int 21h
endif
pop dx
pop ax
.data
string db text, ‘$’
crlf db 0Dh, 0Ah, ‘$’
.code
endm

; makro berikut menghasilkan delapan makro, yang bernama MSHL, MSHR, MSAR, MROL, MROR, MRCL, dan MRCR.
irp styp,
m&styp macro dest, count
rept count
&styp dest, 1
endm
endm
endm

PENGGUNAN MAKRO LEBIH LANJUT

Pendefinisian Blok Berulang
Satu atau lebih perintah dapat diulang menggunakan perintah REPT, IRP dan IRPC. Hal ini memungkinkan bagi sebuah makro untuk membuat struktur data yang besar.
Perintah REPT. Perintah REPT mengulang stu blok instruksi berdasarkan pencacah. Sintaknya sebagai berikut:

REPT ekspresi
Statemen
ENDM
Ekspresi menentukan jumlah pengulangan dan mengevaluasi bilangan tidak bertanda 16-bit. Misalkan, kita ingin menggunakan REPT untuk mendefinisikan ruang untuk table yang mengandung data 100 mahasiswa:
index label byte
rept 100
db ? dup (?)
db 20 dup (?)
dw ?
endm
kita bisa menggunakan cara yang sama untuk makro yang dapat menggeser operand ke kiri dengan jumlah tertentu. Contoh berikut, count menentukan jumlah instruksi SHL yang dibangkitkan oleh assembler:
mshl macro dest, count
rept count
shl dest, 1
endm
endm
Ini merupakan definisi makr bersarang. Kita dapat melihat bagaimana makro ini dipanggil dengan dua cara, seperti berikut ini:
mshl ax, 1
mshl bx, 4
kode yang diperluas
shl ax, 1
shl bx, 1
shl bx, 1
shl bx, 1
shl bx, 1
Perintah IRP. Perintah IRP membuat pengulangan blok jika setiap pengulangan mengandung nilai yang berbeda. Sintaknya sebagai berikut:
IRP parameter,
Statemen
ENDM
Blok diulang sekali untuk setiap argument. Begitu mengulang, nilai argument sekarang digantikan untuk parameter. Perintah ini berguna untuk menginisialisasi table atau blok data dimana terdapat nilainya yang bervariasi. Argument mungkin berupa nama symbol, string atau konstanta numeric.
Statemen sumber
irp parm, <10, 20, 30, 40>
dw parm, parm*2, parm*3, parm*4
endm
Dibangkitkan oleh assembler
dw 10, 10*2, 10*3, 10*4
dw 20, 20*2, 20*3, 20*4
dw 30, 30*2, 30*3, 30*4
dw 40, 40*2, 40*3, 40*4
IRP dapat menginialisai table offset prosedur. Ini membuktikan kegunaan jika kita ingin mengkodekan pencabangan dengan berbagai cara berdasarkan nilai index. Contoh:
mov bx, indexvalue ; memilih table entry
call proctable [bx] ; pemanggilan tidak langsung
Empat nama prosedur dikirim sebagai argument dalam contoh IRP berikut. Masing-masing disisipkan ketika procname tampil, menghasilkan dalam table yang mengandung offset prosedur:
proctable label word
irp procname,
dw procname
endm
perintah-perintah berikut akan dibangkitkan:
proctable label word
dw movup
dw movdn
dw movlft
dw movrt
Makro Jump Tambahan. Program yang menggunakan loncat kondisional atau loop memungkinkan masuk dalam masalah ketika keluar dari range yaitu 127 byte. Seperti dalam makro LLOOP yang telah dibuat, kta dapat membuat makro extended jump yang mengizinkan loncatkondisional ke label terdekat, sebagai berikut:
jxe macro dest
local L1, L2
je L1
jmp short L2
L1 : jmp dest
L2 :
endm
Dengan makro ini, kita dapat membuat instruksi sebagai berikut, dimana loopTop dapat berada di mana saja dalam program.
jxe loopTop
Masalahnya di sini kita harus membuat makro yang terpisah untuk masing-masing instruksi jump yang berbeda. Di sinilah kelebihan instruksi IRP yang hanya perlu satu blok instruksi saja untuk mengakomodasi seluruh kondisi jump, sebagai berikut:
irp cond,
jxe&cond macro dest
local L1, L2
j&cond L1
jmp short L2
L1 : jmp dest
L2 :
endm
endm
Berikut ini contoh pemanggilan yang dapat dilakukan:
jxa L1 ; jump extended if above
jxae L3 ; jump extended if above or equal
jxz L1 ; jump extended if zero
jxne L4 ; jump extended if not equal
jxg L2 ; jump extended if greater
jxo L1 ; jump extended on overflow
Makro Penggeseran Generik. Di atas telah dibuat makro MSHL yang dapat melakukan penggeseran operand ke kiri sejumlah yang kita inginkan. Dengan mengombinasikan perintah IRP dan makro tersebut, kita dapat membuat suatu prosedur penggeseran yang lebih andal, sebagai berikut:
irp styp,
m&styp macro dest, count
rept count
&styp dest, 1
endm
endm
endm
Contoh pemanggilan makro tersebut adalah :
mshl ax, 3
mrcl count, 2
mshr bx, 4
mror ax, 5
Instruksi yang dibangkitkan oleh assembler adalah sebagai berikut:
mshl ax, 3
shl ax, 1
slh ax, 1
slh ax, 1
mrcl count, 2
rcl count, 1
rcl count, 1
Perintah IRPC. Perintah IRPC pada dasarnya sama dengan IRP, kecuali jumlah karakter dalam string argument menentukan jumlah pengulangan.
Sintaknya sebagai berikut:
IRPC parameter, string
Statement
ENDM
String harus ditutup dengan kurung siku (<>) jika mengandung spasi, atau karakter khusus lainnya. Contoh berikut membangkitkan lima variable (value_A, value_B dan sebagainya) menggunakan karakter dalam string ABCD sebagai argument:
irpc parm, ABCDE
value_&parm db ‘&parm’
endm
Menghasilkan perintah sebagai berikut:
value_A db ‘A’
value_B db ‘B’
value_C db ‘C’
value_D db ‘D’
value_E db ‘E’

LIBRARY MAKRO

Makro CCALL. Salah satu penggunaan makro yang sangat baik adalah meningkatkan set intsruksi Intel—ini akan memudahkan program untuk ditulis. Makro CCALL (condition call) memungkinkan untuk memanggil prosedur berdasarkan flag, menggunakan instruksi tunggal:
Ccall macro con, procname
local L1, L2
j&cond L1
jmp L2
L1 : call procname
L2 : exitm
endm
Makro dapat berdasarkan kondisi flag tertentu. Contoh, kita dapat memanggil prosedur DOS_ERROR ketika CF diset. Misalkan sebagai berikut:
Ccall c, DOS_error
Atau, kita memanggil LOWER jika value 1 kurang dari atau sama dengan AX:
Asal Kode yang dibangkitkan
cmp value 1, ax cmp value1, ax
Ccall le, lower jle ??0002
jmp ??0003
??0002 : call lower
??0003 :
Kita dapat memanggil NOT_EQUAL jika AX tidak sama dengan BX :
cmp ax, bx
Ccall ne, not_equal
Setelah membandingkan dua string, kita dapat memanggil EXCHANGE :
call compare
Ccall a, exchange
Makro CMPJ. Makro CMPJ (compare and jump) membandingkan dua operand dan loncat ke kabel berdasarkan flag:
cmpj macro dest, flag, source, label
cmp dest, source
j&flag label
endm
Contoh Pemanggilan
cmpj ax, le, bx, labell ; jika AX <= BX, loncat ke labell
cmpj cx, e, count, exit ; jika CX = count, loncat ke exit
Makro MULT. Seperti kita ketahui, instruksi MUL menyebabkan keterbatasan tertentu; AL atau AX merupakan operand tujuan otomatis, dan operand sumber immediate tidak diperbolehkan. Makro MULT pada contoh berikut melalkukan perkalian operand 16-bit oleh register, operand memori, atau operand immediate:
mult macro dest, source
push ax
push bx
mov ax, dest
mov bx, source
mul bx
mov dest, ax
pop bx
pop ax
endm
Makro MULT mengalikan dest dengan source, menempatkan hasilnya dalam dest. Jika hasilnya lebih besar dari 16 bit, maka CF diset dan bagian atas hasinya disimpan dalam DX.
Contoh berikut memenggil MULT mendemontrasikan fleksibilitas dalam perkalian operand berbagai tipe:
mov cx, value 1
mult cx, 5
mult value1, value2
mult value2, 5


value 1 dw 100h
value2 dw 2
Makro MMOVE. Set intruksi Intel tidak mempunyai instruksi pemindahan dari memor ke memori. Makro MMOVE dapat melakukan hal ini, seperti contoh berikut:
mmove macro dest, source
push ax
if (type dest) EQ 1
mov a1, source
mov dest, al
else
if (type dest) EQ 2
mov ax, source
mov dest, ax
endif
endif
pop ax
endm
Contoh Pemanggilan
mmove word2, word1 ; 16-bit move
mmove byte2, byte1 ; 8-bit move
Oleh karena operator TYPE digunakan pada makro ini maka pesan kesalahan akan ditampilkan jika tdak terdapat perintah. DATA pada file sumber sebelum definisi makro. Hal ini terjadi karena assembler memerlukan untuk meletakkan variable sebelum dapat mengevaluasi tipenya. Segmen berikut mungkin bisa digunakan:
.stack 100h
.data
(variabel)
(definisi makro)
.code
(intruksi)
Loncat Kondisioanal dan Liupan (Conditional Jumps and Loops). Set instruksi Intel mempunyai batasan jangkauan instruksi loncat kondisional—termasuk LOOP—sampai 127 ke depan atau 128 byte ke belakang. Khususnya, ketika program mempunyai sejumlah pemanggilan makro dalam jangkauan loncat kondisional atau liupan, ini mungkin menyebabkan keluar dari range. Misalkan, kita akan mengonversi prosedur WRITESTRNG, READSTRING dan WRITEIN menjadi makro dan menggunakannya dalam program:
Mov cx, 10
L1 : writestring promt
readstring buffer
writein 1000h, 10
loop L1
Contoh ini akan menyebabkan kesalahan sintak karena kode menghasilkan dengan makro di dalamnya, liupan yang lebih dari 127 byte sehingga LOOP akan keluar range.
Makro LLOOP. Makro LLOOP (long loop) mengizinkan kita untuk meliup ke suatu label dalam segment sekarang. Dia melakukan in dengan meliup ke instruksi JMP yang meloncat ke tujuan. JMP, tidak seperti LOOP, dapat menjangkau suatu label dalam segmen:
LLoop macro dest
local A1, A2
loop A1
jmp A2
A1 : jmp dest
A2 :
endm
Makro menggunakan instruksi LOOP tidak seperti biasanya. Dia meloncat ke depan kelabel A1. Pada lokasi ini, instruksi JMP kembali loncat ke dest. Ketika CX = 0, LOOP terjadi dan loncat ke A2, yaitu lokasi instruksi berikutnya.