KOMUNIKASI



Bab 2. Komunikasi

2.1.    Komunikasi Data
Komunikasi data adalah merupakan bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer   dan   piranti-piranti   yang   lain   dalam   bentuk   digital   yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital. Komunikasi data merupakan baguan vital dari suatu masyarakat informasi   karena   sistem   ini   menyediakan   infrastruktur   yang   memungkinkan
komputer-komputer dapat berkomunikasi satu sama lain.

Komponen Komunikasi Data
ƒ   Pengirim, adalah piranti yang mengirimkan data
ƒ   Penerima, adalah piranti yang menerima data
ƒ   Data, adalah informasi yang akan dipindahkan
ƒ    Media   pengiriman adalah   media   atau   saluran   yang   digunakan   untuk mengirimkan data
ƒ   Protokol, adalah aturan-aturan yang berfungsi untuk menyelaraskan hubungan.
















2.2.   Protokol

Protokol dapat diartikan sebagai sebuah aturan yang mendefinisikan beberapa fungsi yang ada dalam sebuah jaringan komputer, misalnya mengirim pesan, data, informasi dan fungsi lain yang harus dipenuhi oleh sisi pengirim dan sisi penerima agar komunikasi dapat berlangsung dengan benar, walaupun sistem yang ada dalam jaringan tersebut berbeda sama sekali. Protokol ini mengurusi perbedaan format data pada kedua sistem hingga pada masalah koneksi listrik.

Komponen Protokol
1.  Aturan atau prosedur, mengatur pembentukan/pemutusan hubungan
2.  Format atau bentuk, mengatur proses transfer data representasi pesan
3.  Kosakata (vocabulary), jenis pesan dan makna masing-masing pesan

Fungsi Protokol
Secara umum fungsi dari protokol adalah untuk menghubungkan sisi pengirim
dan sisi penerima dalam berkomunikasi serta dalam bertukar informasi agar dapat berjalan dengan baik dan benar. Sedangkan fungsi protokol secara detail dapat dijelaskan berikut:




•   Fragmentasi dan reassembly
Fungsi dari fragmentasi dan reassembly adalah membagi informasi yang dikirim menjadi beberapa paket data pada saat sisi pengirim mengirimkan informasi dan setelah diterima maka sisi penerima akan menggabungkan lagi menjadi paket informasi yang lengkap.
•   Encapsulation
Fungsi dari encapsulation adalah melengkapi informasi yang dikirimkan dengan address, kode-kode koreksi dan lain-lain.
•   Connection control
Fungsi dari connection control adalah membangun hubungan (connection) komunikasi dari sisi pengirim dan sisi penerima, dimana dalam membangun hubungan ini juga termasuk dalam hal pengiriman data dan mengakhiri hubungan.
•   Flow control
Berfungsi sebagai pengatur perjalanan datadari sisi pengirim ke sisi penerima.
•   Error control
Dalam pengiriman data tak lepas dari kesalahan, baik itu dalam proses pengiriman maupun pada waktu data itu diterima. Fungsi dari error control adalah mengontrol terjadinya kesalahan yang terjadi pada waktu data dikirimkan.
•   Transmission service
Fungsi dari transmission service adalah memberi pelayanan komunikasi data khususnya yang berkaitan dengan prioritas dan keamanan serta perlindungan data.

Susunan Protokol
Protokol jaringan disusun oleh dalam bentuk lapisan-lapisan (layer). Hal ini mengandung arti supaya jaringan yang dibuat nantinya tidak menjadi rumit. Di dalam layer ini, jumlah, nama, isi dan fungsi setiap layer berbeda-beda. Akan tetapi tujuan dari setiap layer ini adalah memberi layanan ke layer yang ada di atasnya.
Susunan  dari  layer  menunjukkan  tahapan  dalam  melakukan  komunikasi. Antara setiap layer yang berdekatan terdapat sebuah interface. Interface menentukan layanan layer yang di bawah kepada layer yang di atasnya.
Pada   saat   merencanakan   sebuah   jaringan,   hendaknya   memperhatikan
bagaimana menentukan interface yang tepat yang akan ditempatkan di antara dua layer yang bersangkutan.

Standarisasi Protokol (ISO 7498)
Dahulu, komunikasi antar komputer dari vendor yang berbeda adalah sangat sulit dilakukan, karena mereka mengunakan protokol dan format data yang berbeda- beda. Sehingga International Standards Organization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI), model yang mendefinisikan standar untuk menghubungkan komputer-komputer dari vendor- vendor yang berbeda.
Model Layer OSI dibagi dalam dua group: “upper layer” dan “lower layer”. “Upper layer” fokus pada applikasi pengguna dan bagaimana file direpresentasikan di komputer. “Lower layer” adalah intisari komunikasi data melalui jaringan aktual.






Gambar 1: Pembagian Model Layer OSI

Penjelasan Model OSI Layer:


Keterangan

Application Layer: Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran informasi antara program komputer, seperti program e- mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya.

Presentation Layer: Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.



Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”.






Transport Layer: Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan penanganan error (error handling). Transport layer berfungsi untuk menerima data dari session layer, memecah data menjadi bagian-bagian yang lebih kecil, meneruskan data ke network layer dan menjamin semua potongan data tersebut bisa tiba di sisi penerima dengan benar.
Network Layer: Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket.

•   Fungsi    utama    dari    layer    network    adalah pengalamatan  dan  routing.  Pengalamatan  pada layer network merupakan pengalamatan secara logical
•   Routing digunakan untuk pengarah jalur paket data yang akan dikirim.
•   Transport dari suatu informasi
Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media. komunikasinya dengan kartu jaringan, mengatur komunikasi layer physical antara sistem koneksi dan penanganan error. Tugas utama data link layer adalah sebagai       fasilitas      transmisi      raw      data      dan mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi.

Fungsi yang diberikan pada layer data link antara lain
:

    Arbitration, pemilihn media fisik untuk penentuan waktu pengiriman data, metode yang dipakai CSMA/CD(Carrier     Sense     Multiple     Access
/Collision Detection).
    Addressing, pengalamatan bersifat fisik yaitu dgn MAC(media Access Control) yang ditanamkan pada interface perangkat jaringan.
    Error  detection,  menentukan  apakah  data  telah berhasil terkirim, tekniknya FCS( Frame Check Sequence) dan CRC(Cyclic Redundancy Check)
•   Identify Data Encapsulation.


Komunikasi                                                                                                                          Hal. 4






Physical Layer: Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjaga koneksi fisik antar sistem.Layer ini mengatur tentang bentuk interface yang berbeda-beda dari sebuah media transmisi. Spesifikasi yang berbeda misal konektor, pin, penggunaan pin, arus listrik yang lewat, encoding, sumber cahaya dll. Secara umum masalah- masalah  desain  yang  ditemukan  di  sini  berhubungan secara mekanik, elektrik dan interface prosedural, dan media fisik yang berada di bawah physical layer. Contoh : EIA/TIA-232, V35, EIA/TIA- 449, V.24, RJ45, Ethernet, NRZI, NRZ, B8ZS






Hubungan antara model referensi OSI dengan protokol internet dapat dilihat dalam tabel di bawah ini.

Model OSI

TCP/IP
Protokol TCP/IP
No
Lapisan
Nama Protokol
Kegunaan



















7



















Aplikasi




































Aplikasi
DHCP (Dynamic Host
Configuration Protocol)
Protokol untuk distribusi IP
pada jaringan untuk jumlah
IP terbatas
DNS (Domain Name Server)
Database nama domain mesin dan nomer IP
FTP (File Transfer Protocol)
Protokol untuk transfer file
HTTP (HyperText Transfer
Protocol)
Protokol untuk transfer file
HTML dan web
MIME ( (Multiporpose Internet
Mail Extention)
Protokol untuk mengirim file
binary dalam bentuk teks
NNTP (Network News Transfer
Protocol)
Protokol untuk menerima dan mengirim newsgroup
POP (Post Office Protocol)
Protokol untuk mengambil
mail dari server
SMB (Server Message Block)
Protokol untuk transfer
berbagai server file DOS dan
Windows









6









Presentasi
SMTP (Simple Mail Transfer
Protocol)
Protokol untuk pertukaran mail
SNMP (Simple Network
Management Protocol)
Protokol untuk manajemen
jaringan
Telnet
Protokol untuk akses dari
jarak jauh
TFTP (Trivial FTP)
Protokol untuk transfer file






5






Sessi
NETBIOS (Network Basic Input
Output System)
BIOS jaringan standar
RPC (Remote Procedure Call)
Prosedur pemanggilan jarak
jauh
Socket
Input Output untuk network jenis BSD-UNIX










4






Transport






Transport
TCP (Transmission Control
Protocol)
Protokol pertukaran data berorientasi (connection
oriented)
UDP (User Datagram Protocol)
Protokol pertukaran data non-orientasi
(connectionless)











3











Network











Internet
IP (Internet Protocol)
Protokol untuk menetapkan routing
RIP (Routing Information
Protocol)
Protokol untuk memilih
routing
ARP (Address Resolution
Protocol)
Protokol untuk mendapatkan informasi hardware dari
nomer IP
RARP (Reverse ARP)
Protokol untuk mendapatkan
informasi nomer IP dari hardware









2









Datalink

LLC (Logical Link Control)











Network Interface
PPP (Point to Point Protocol)
Protokol untuk poin ke poin
SLIP (Serial Line Internet
Protocol)
Protokol dengan
menggunakan sambungan serial

MAC (Media Access Control)



Ethernet, FDDI, ISDN, ATM

1

Fisik




2.3.   Remote Procedure Call (RPC)

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.

RPC  masih  menggunakan  cara  primitif  dalam  pemrograman,  yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.

Kelebihan RPC
ƒ   Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic,




tidak  perlu  memikirkan  low  level  details  seperti  socket,  marshalling  &
unmarshalling.
ƒ   Robust (Sempurna):
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission- critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC
ƒ   Tidak fleksibel terhadap perubahan:
-    Static relationship between client & server at run-time.
ƒ    Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

Prinsip RPC dalam program Client-Server



Skema  RPC  ini  dilakukan  juga  pada  proses-proses  yang  running  di  komputer berlainan






ƒ    Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling
ƒ    Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote)




ƒ   Stub menerima request, unmarshall data, dan memanggil method yang diminta.
Kemudian proses mengembalikan nilai yang diinginkan

Langkah-langkah dalam RPC


1.   Prosedur client memanggil client stub
2.   Client stub membuat pesan dan memanggil OS client
3.   OS client mengirim pesan ke OS server
4.   OS server memberikan pesan ke server stub
5.   Server stub meng-unpack parameter-parameter untuk memanggil server
6.   Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7.   Server stub mem-pack hasil tsb dan memanggil OS server
8.   OS server mengirim pesan (hasil) ke OS client
9.   OS client memberikan pesan tersebut ke client stub
10.   Client  stub  meng-unpack  hasil  dan  mengembalikan  hasil  tersebut  ke client



2.4.  Object Remote
Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. Sederet teknologi akhirnya benar-benar muncul, antara lain; RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architecture), dan SOAP (Simple Object Access Protocol).

Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan.

Aplikasi RMI seringkali terdiri dari dua program terpisah yaitu server dan client. Aplikasi server semacam ini biasanya membuat beberapa objek remote, menyediakan




referensi terhadap objek-objek tersebut sehingga dapat diakses, serta menunggu client menginvoke/memanggil method dari objek-objek remote tersebut. Aplikasi client mendapatkan referensi remote ke satu atau lebih objek remote di server dan menjalankan method dari objek tersebut.

RMI menyediakan mekanisme dimana server dan client berkomunikasi dan memberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi.

Aplikasi objek terdistribusi seringkali melakukan hal berikut:

      Melokasikan  objek  remote:  Aplikasi  dapat  menggunakan  satu  dari  dua mekanisme untuk mendapatkan referensi ke objek remote. Aplikasi dapat mendaftarkan objek remote dengan fasilitas penamaan RMI (naming facility) yaitu rmiregistry atau aplikasi dapat mem-pass dan mengembalikan referensi objek remote sebagai bagian dari operasi normal.
      Berkomunikasi  dengan  objek  remote:  Detail  dari  komunikasi  antara  objek remote ditangani oleh RMI, bagi programmer komunikasi remote tampak seperti invokasi method Java standar.
      Memanggil   (load bytecode   untuk   objek   yang   di-pass Karena   RMI mengizinkan pemanggil (caller) untuk mem-pass objek ke objek remote, RMI menyediakan mekanisme yang diperlukan objek me-load kode objek, sebagaimana juga mentransmisikan datanya.

Ilustrasi  berikut  menggambarkan  aplikasi  RMI  terdistribusi  yang  menggunakan registry untuk mendapatkan referensi ke objek remote. Server memanggil registry untuk mengasosiasikan (mengikat) suatu nama dengan objek remote. Client mencari objek remote dengan namanya pada registry server dan meng-invoke method dari objek. Ilustrasi ini juga menunjukkan sistem RMI menggunakan Web server untuk memanggil class bytecodes, dari server ke client dan dari client ke server, untuk objek-objek yang diperlukan.



Langkah-Langkah Pembuatan Program dengan RMI
Dalam RMI, semua informasi tentang satu pelayanan server disediakan dalam suatu definisi remote interface. Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan method apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface menentukan karakteristik methods
yang disediakan server yang dapat dilihat oleh client. Client programmer harus dapat




mengetahui methods apa yang disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client mendapatkan referensi ke remote object melalui RMI registry.

Membangun  suatu  aplikasi  terdistribusi  menggunakan  RMI  meliputi  6  langkah. Keenam langkah tersebut adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface dan server
3. Pengembangan client (atau applet) yang menggunakan remote interface
4. Mengkompilasi source files dan mem-buat stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client