Senin, 30 November 2015

Makalah RPC(Remote Procedure Call)

BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan pesat teknologi informasi menyebabkan bertambahnya permintaan suatu sistem, baik berupa perangkat keras maupun perangkat lunak yang dapat digunakan dengan baik dan cepat.
    Permintaan yang terus bertambah ini tidak sebanding dengan kemampuan perangkat keras yang ada. Salah satu cara untuk mengatasi hal itu dibuat pengembangan di sisi perangkat lunak dengan membuat suatu sistem virtual di mana beberapa perangkat keras atau komputer dihubungkan dalam jaringan dan diatur oleh sebuah sistem operasi yang mengatur seluruh proses yang ada pada setiap komputer tersebut sehingga memungkinkan proses berjalan dengan cepat. Sistem operasi yang mengatur proses ini sering disebut sebagai sistem operasi terdistribusi.
    Sistem operasi terdistribusi ini sekarang menjadi trend, terutama untuk research yang kadang membutuhkan cpu yang sangat cepat untuk melakukan perhitungan yang sangat kompleks. Dalam makalah ini akan dibahas mengenai sistem operasi terdistribusi, terutama untuk mengetahui apa dan bagaimana cara sistem ini bekerja.

1.2.Tujuan
            Supaya lebih tahu tentang apa yang dimaksud dengan system terdistribusi contoh system terdistribusi dsb.
1.3.Perumusan Masalah
            -Defenisi system terdistribusi
            - Alasan Sistem Terdistribusi
                - Karakteristik Sistem Terdistribusi
                - Tujuam Sistem Terdistribusi
                - Konsep P/K
                - Konsep P/L
                - Layered Protocol
                - Application Layer
            - RPC (Remote Procedure Call)
            - ROI (Remote Object Invocation)

BAB II
PEMBAHASAN
A.SISTEM TERDISTRIBUSI
1.Defenisi system terdistribusi
Sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network atau pun melalui Wide Area Network dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas komputer terintegrasi. Proses dalam sistem terdistribusi dijalankan secara bersamaan (execute concurrently) dimana proses berinteraksi untuk bekerjasama dalam mencapai tujuan yang sama dan mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui jaringan komunikasi. Struktur sistem terdistribusi dapat dilihat dari gambar dibawah ini:
http://htmlimg3.scribdassets.com/2byxxetpq8tgyy6/images/2-5346bbb08d.jpg


Dalam sistem terdistribusi prosesor yang dimiliki bervariasi, dapat berupa small microprocessor,work station,mini computer, dan lain sebagainya. Sebenarnya ada beberapa hal mendasar yang membedakan antara jaringan komputer yang merupakan dasar dari konsep system terdistribusi dengan sistem terdistribusi itu sendiri yaitu komputer otonom yang secara eksplisit terlihat, sedangkan pada sistem terdistribusi komputer otonom transparan dan juga memiliki lebih banyak masalah dibanding dengan jaringan komputer. Ada beberapa contoh umum yang merupakan aplikasi dari sistem terdistribusi, diantaranya :

Ø  Internet, merupakan global jaringan interkoneksi komputer yang berkomunikasi melaluiIP (Internet Protocol)
Ø  Intranet, merupakan jaringan teradministrasi terpisah dengan batasan pada kebijakankeamanan local.

Ø  Mobile dan komputasi diberbagai tempat, laptop, PDA, mobile phone, printer, peralatanrumah, dll

Ø  World WideWeb (www), sistem untuk publikasi dan akses sumber daya dan layananmelalui Internet.

2.Alasan Sistem Terdistribusi
Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:

1.Resource Sharing Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya,
user di situs A dapat menggunakan laser printer yang di miliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A.

2.Computation Speedup Apabila sebuah komputasi dapat dipartisi menjadi beberapa sub komputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan sub komputasi tersebut kesitus-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi(computation speedup).

3.Reliability Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yangtersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik

4.Communication Ketika banyak situs saling terhubung melalui jaringan komunikasi,user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.Selain alasan-alasan utama diatas ada beberapa alasan lain untuk sistem terdistribusi.
Yaitu:

Ø  Distribusi fungsi Komputer memiliki kemampuan fungsi yang berbeda-beda (client/server, Host/terminal,Data gathering / data processing)
Ø  Distribusi beban/keseimbangan Pemberian tugas ke prosesor secukup nya sehingga unjuk kerja seluruh sistem teroptimasi

Ø  Replika KekuatanKumpulan PC memiliki kekuatan yang lebih besar dari super komputer
Ø  Pemisahan Fisik Untuk kehandalan atau redundansi system.
Ø  Ekonomis Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan dengan main frame.

3.Karakteristik Sistem Terdistribusi
     Karakteristik sistem terdistribusi adalah sebagai berikut:
1.Concurrency of components Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser  mengakses halaman web secara bersamaan
2.No global clock Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
3.Independent failures of components Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.

4.Tujuam Sistem Terdistribusi
Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai,diantaranya :
Ø  Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya sistem.
Ø  Peningkatan kecepatan komputasi.
Ø  meningkatkan availibilitas atau ketersediaan dan reliabilitas data.

5.Konsep P/K
5.1. Multiprosesor
Yaitu konsep dimana sebuah komputer dengan beberapa prosesor. Beberapa prosesor- prosesor tersebut mengakses memori yang sama sehingga konsep ini lebih sulit untuk dibuat,namun interkoneksi dari konsep multiprocessor ini lebih cepat.Ada dua bentuk multiprocessor yaitu :
Ø  Multiprosesor dengan Caching
http://htmlimg2.scribdassets.com/2byxxetpq8tgyy6/images/5-bb2b8debde.jpghttp://htmlimg2.scribdassets.com/2byxxetpq8tgyy6/images/5-bb2b8debde.jpg
Ø  Multiprosesor dengan Switch

6.2Multicomputer
Konsep ini merupakan konsep dimana beberapa PC terhubung dengan jaringan, yang mana setiap CPU memiliki memori sendiri-sendiri. Berbeda dengan konsep multi prosesor tadi,konsep ini lebih mudah dibangun, akan tetapi interkoneksinya lebih lambat. Gambar berikut menunjukkan multi computer berbasis switch Sistem multi computer yang paling banyak digunakan dalam sistem terdistribusi adalah sistem Multi computer Heterogen dimana sistem ini memiliki perbedaan, yaitu baik dari prosesor, memori, I/O bandwidth dan jaringan.

6.Konsep P/L
6.1.DOS (Distributed Operating System)
Merupakan sistem yang dapat memanajemen komputer-komputer dan membuat mereka tampak sebagai single komputer. Selain itu sistem ini pula dapat menjalankan proses di komputer lain tanpa mengetahui siapa yang meresponnya serta mengatur sumber daya pada sistem terdistribusi.
http://htmlimg3.scribdassets.com/2byxxetpq8tgyy6/images/6-b0a4409974.jpg


6.2.NOS (Network Operating System)
     NOS merupakan sistem dimana setiap host menjalankan sistem operasi untuk mengatur sumber daya yang dimilikinya termasuk mengakses sumber daya di jaringan. Untuk mengakses resource jaringan tersebut dengan menggunakan NFS (Network File System) serta Samba(implementasi protokol SMB di Win & Linux).
Selain itu dengan NOS maka Pengguna dapat mengakses suatu proses di komputer lain dengan login ke telnet/ssh.
http://htmlimg2.scribdassets.com/2byxxetpq8tgyy6/images/7-61a6f40d64.jpg
6.3.Middle ware
     Middleware ini Menyediakan transparensi terhadap keaneka ragaman plat form dimana proses dan objek pada sekumpulan mesin yang menerapkan protokol untuk aplikasi terdistribusi.Contoh dari middle ware di antaranya :
Ø  CORBA (OMG)
Ø  DCOM (Microsoft)
Ø  ODP (ITU-T/ISO)
Ø  Java Remote Method Invocation (Sun)

7.Layered Protocol
Model layer OSI (Open System Interconnection) merupakan model layer protocol yang dibuat oleh ISO (International Organization for Standar dization). OSI mengacu pada standar  pertukaran informasi diantara sistem-sistem yang terbuka yaitu sistem yang menerapkan standar OSI. Model Layer OSI dibagi dalam dua group: upper layer dan lower layer.
Upper layer fokus pada aplikasi pengguna dan bagaimana file direpresentasikan di komputer. Untuk Network Engineer, bagian utama yang menjadi perhatiannya adalah pada lower layer.
Lower layer adalah intisari komunikasi data melalui jaringan aktual.
http://htmlimg3.scribdassets.com/2byxxetpq8tgyy6/images/8-3d6d1236c6.jpg

8 Application Layer
Ø  Application Layer Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggung jawab atas pertukaran informasi antara program komputer, seperti program e-mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya. Contoh protocol aplikasi yang banyak digunakan: hypertext transfer protocol (HTTP) yang digunakan diworld wide web, file transfer protocol (FTP) untuk pengiriman file antar komputer,simple mail transfer protocol (SMTP) untuk email.
Ø  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.
Fungsi dari layer ini adalah:
1.Pengendalian dialog: memantau giliran pengiriman
2.Pengelolaan token: mencegah dua pihak untuk melakukan operasi yang sangat kritis dan penting secara bersamaan
3.Sinkronisasi: menandai bagian data yang belum terkirim sesaat crash pengiriman terjadi, sehingga pengiriman bisa dilanjutkan tepat ke bagian tersebut.
Ø  Transport Layer Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika end-to-end antar terminal, dan menyediakan penanganan error (error handling). Fungsinya antara lain: flow control, segmentation/desegmentation, dan error control. Contoh dari layer ini di antaranya: Transmission Control Protocol (TCP), User Data gram Protocol (UDP),Stream Control Transmission Protocol (SCTP).
Ø  Network Layer Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambilselama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk  paket. Contohnya adalah Internet Protocol (IP).
Ø  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. Layer ini Memiliki address secara fisik yang sudah di-kode-kan secara langsung ke network card pada saat pembuatan card tersebut (disebut MAC Address).
Contohnya
Ethernet,HDLC, Aloha, IEEE 802, LAN, FDDI.
Ø  Physical Layer Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media seperti kabel, dan menjaga koneksi fisik antar system. Fungsi utama dari layer ini adalah untuk menentukan:
1.Berapa volt untuk bit 1 dan 0.
2.Berapa nanoseconds bit dapat bertahan di saluran komunikasi.
3.kapan koneksi awal dibuat dan diputuskan ketika dua entiti selesai melakukan pertukaran data.
4.Jumlah pin yang digunakan oleh network connector dan fungsi dari setiap pin.Contoh dari dari layer ini diantaranya : token ring dan IEEE 802.

9.RPC (Remote Procedure Call)
  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 match maker pada sebuah RPC port yang tetap.
Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client. RPC ini merupakan suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk  berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remotesystem).

9.1.Fitur RPC Fitur-fitur dalam RPC diantaranya :
Ø  Batching calls Fitur Batching calls mengijinkan client untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, client tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply.
Ø  Broadcasting Calls Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan
fungsinya.
Ø  Callback Procedures Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.
Ø  Menggunakan select Subrutin Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka
dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsisuatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.

9.2.Model dan Cara Kerja RPC
Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan para meter yang diterima dalam stack tersebut dan pengalokasian ruang untuk lokal variabel.
namun selain itu ada yang disebut dengan Prosedur Call remote, yang berarti pelaksanaan proses diatas namun pada suatu sistem lain yang berhubungan melalui suatu jaringan. Sistem prosedur remote ini memiliki cara kerja yang sedikit banyak mirip, namun berbeda dengan prosedur call biasa.Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu. Server harus membaca tiap parameter yang diberikan,kemudian memberikan prosedur lokal yang sesuai dengan permintaan dan parameter. Kemudian setelah eksekusi, server harus mengirimkan hasil kepada pihak pemanggil proses.

9.3.Kelebihan RPC
Ø  Relatif mudah digunakan Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, Komunikasi Hal. Sistem Terdistribusi 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.
9.4.Kekurangan RPC
Ø  Tidak fleksibel terhadap perubahan Static relationship between client & server at run-time.
Ø  Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

10. ROI (Remote Object Invocation)
Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. ROI merupakan sebuah teknik pemanggilan method remote yang secara umum lebih baik dari pada RPC. ROI ini merupakan teknologi berbasis object yang sudah terbukti bagus untuk pengembangan aplikasi stand alone.
Ada dua istilah dalam remote object  yaitu:
1.Proxy Mirip dengan client stub dalam RPC dimana implementasi interface object sesungguhnya berada di mesin yang lain. Proxy berjalan di address space client.
2.Skeleton Mirip dengan server stub dalam RPC.Implementasi dari ROI sendiri adalah RMI (Remote Method Invocation). RMI merupakan teknologi DS yang memungkinkan sebuah JVM memanggil metode sebuah object yang berjalan di JVM yang lain. RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method padaremote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan. Aplikasi RMI sering terbagi menjadi dua bagian yaitu server dan client. Server mempunyai beberapa remote objects, dan reference nya serta menunggu jika client ingin memanggil remote object tersebut. Sedangkan Client mendapatkan remote refernce untuk satu atau lebih remote object di dalam server, dan kemudian memanggil metode di dalamnya. RMI menyediakan mekanisme sehingga server dan client dapat berkomunikasi dan tukar menukar informasi timbal balik. Aplikasi seperti ini disebut dengan distri buted object application. Aplikasi terdistribusi dengan Java RMI terdiri atas interfaces and classes. Interfaces mendifinisikan methods sedangkan class mengimplementasikan metode yang di definisikan di dalam interfaces Objects (perwujudan dari class) yang mempunyai metode tersebut (yang dapat dipanggil dari jauh) disebut dengan remote objects. Suatu object akan menjadi remote jika mengimplementasikan suatu remote interface, yang mempunyai karakteristik sbb :
1.RMI memperlakukan remote object berbeda dengan yang non-remote object, ketika object tersebut dikirim ke VM yang lain.
2.Selain membuat copy object ke VM penerima, RMI mengirim satu remotes tub untuk satu remote object.
ü  Stub ini beraksi sebagai perwakilan lokal, proxy, untuk remote object tsb, dan untuk  pemanggilnya, remote reference.
ü  Remote reference memanggil metode pada stub lokal, yang bertanggung jawab untuk memanggil ke remote object.
3.Stub (untuk remote object) meng-implements remote interfaces yang remote object juga meng-implements.

BAB III
PENUTUP

A.Kesimpulan
            Dari pembahasan di atas dapat di simpulkan bahwa sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network atau pun melalui Wide Area Network dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas komputer terintegrasi.
            Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai,diantaranya :
Ø  Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya sistem.
Ø  Peningkatan kecepatan komputasi.
Ø  meningkatkan availibilitas atau ketersediaan dan reliabilitas data.

B.Saran
Demikian pengantar yang dapat penulis sampaikan dimana penulis pun sadar bawasannya penulis hanyalah seorang manusia yang tidak luput dari kesalahan dan kekurangan, sedangkan kesempurnaan hanya milik Tuhan Azza Wa’jala hingga dalam penulisan dan penyusununnya masih jauh dari kata sempurna. Oleh karena itu, kritik dan saran yang konstruktif akan senantiasa penulis nanti dalam upaya evaluasi diri.


 DAFTAR PUSTAKA

1.       http://contohskripsiku.com/pdf/pengertian+sistem+distribusi
2.        http://ahmadqusyairi.blogspot.com/2010/02/defini-dan-contoh-sistem-terdistribusi.html
3.      http://www.scribd.com/doc/46807847/Makalah-Sistem-Terdistribusi

Tugas Percobaan dan Laporan Resmi

PERCOBAAN
1.     Buka terminal dan jalankan command arp –a pada host anda masing-masing, catat dan amati hasilnya. Apa maksud output yang dihasilkan command arp –a.



2.     Lakukan command ping no_ip , pilih no_ip yang tidak terdaftar pada hasil percobaan 1 tapi masih dalam satu jaringan.
                     

3.    Jalankan perintah arp –a sekali lagi. Amati pada perbedaan output dibanding waktu percobaan no 1
                                               
4.    Lakukan command ping no_ip , pilih no_ip yang sudah terdaftar pada percobaan no 1.
5.     Jawab pertanyaan berikut ini : Kenapa bisa terjadi perbedaan hasil percobaan meskipun kita memakai command yang sama, jelaskan secara singkat. Jawab: karna setiap ip berbeda beda cachenya dan jaringannya.
6.    Kita bisa melakukan pengurangan ARP Cache atau disable ARP Cache, lakukan percobaan di bawah ini :
a.     Jalankan command arp –d hostname (pakai salah satu hostname yang terdaftar pada Arp cache). Amati hasilnya dengan menjalankan command arp –a.                                            
b.    Jalankan command berikut : ifconfig eth0 –arp down, amati hasilnya dengan menjalankan arp –a.
c.    Jalankan perintah ping ke komputer sebelah apa yang terjadi ?
                                 


7 .   Setelah selesai melakukan percobaan 6, untuk menormalkan koneksi jaringan, jalankan perintah berikut :
a.    ifdown eth0
b.    ifup eth0
c.    ifconfig eth0 arp up -> jika dicek dgn ifconfig, NOARP akan hilang


d.     arp –a
e.     ping ke komputer sebelah
f.     Catat semua hasilnya, dan bandingkan dengan percobaan 6. Berikan kesimpulan.

8.     Selain melakukan pengurangan juga bisa melakukan penambahan Arp Cache, lakukan command berikut :
arp –s hostname phisical_address Sebelum anda mengetik no phisical_address cari dulu di komputer teman anda dengan command ifconfig.
selanjutnya jalankan command arp -a Amati hasil percobaan, berikan kesimpulanmu.

9.     Untuk melakukan pengintaian kita bisa juga memakai tcpdump. Bukalah terminal baru dan jalankan tcpdump, biarkan tcpdump berjalan. Cobalah beberapa varias command-command tambahan di tcpdump untuk mengintai paket yang lewat, misal tcpdump –n, tcpdump –n –t, tcpdump –n –t –e, tcpdump –i eth0, tcpdump –X –i eth0

10.     Buka kembali terminal baru, lakukan langkah berikut pada terminal baru dan tulis hasil percobaannya:
a.     Jalankan perintah ping ke komputer satu jaringan. Amati hasil tcpdump.

b.    Jalankan perintah arp –a, catat hasilnya
                            
c.     Jalankan perintah ping ke komputer diluar jaringan kita, amati hasilnya di tcpdump.


d.     Jalankan arp –a, analisa hasilnya. Amati pada tabel arp ketika kita berhubungan dengan komputer diluar jaringan, apa yang tertera pada tabel arp ?

e.     Hapus semua ip yang terdaftar pada arp dengan perintah arp –d nomorip.Setelah semua terhapus jalankan kembali percobaan a, amati hasilnya di tcpdump.


f.     Jalankan percobaan b dan c kembali dan amati hasilnya di tcpdump.

g.      jalankan browser dan masuklah ke www yang anda suka. Amati traffic yang ada pada tcpdump. Analisa hasil percobaan anda apa maksud output yang dihasilkan.


11.     Dengan menggunakan langkah yang sama seperti pada percobaan 10, gunakan paket wireshark
a.     Pastikan wireshark sudah terinstal pada komputer anda
b.      Buka terminal baru dan jalankan wireshark pada terminal tersebut
c.      Mulailah mencapture data menggunakan wireshark dan filter hanya paket arp dan icmp (ping merupakan paket icmp)
d.     Jalankan percobaan 10.a – 10.g amati hasilnya di wireshark
e.     Amati juga pada bagian data di wireshark, bandingkan dengan isi paket pada tcpdump.
f.     Catatlah paket wireshark (src mac, dst mac, src ip, dst ip) jika kita berhubungan dengan komputer diluar kita, amati dan buat analisa yang terjadi.

LAPORAN RESMI
Daftar Pertanyaan
1.    Bagaimana kesimpulan yang anda dapatkan jika komputer berhubungan dengan komputer di luar jaringan apa yang tercatat pada tabel arp ?.
Jawab: kita melihat perbandingan cache dan kecepatan transfer jaringannya, yang tercatat adalah perbandingan kecepatan dari komputer tsb
2.    Bagaimana kesimpulan yang anda dapatkan jika komputer berhubungan dengan komputer di luar jaringan dengan melihat paket data dari ethereal, rincilah src mac, dst mac, dst ip dan src ip yang terjadi jika kita berhubungan dengan jaringan luar.
Jawab:  akan muncul sorce kode dan membandingkan perbedaan kecepatan transfer dan jaringannya
3.    Berikan kesimpulan hasil praktikum yang anda lakukan.
Jawab: kita bisa mengetahui kecepatan komputer berhubungan dengan komputer di luar jaringan pada arp dan wireshack
berikut adalah hasil screen shot arp tugas percobaan dengan urut

























Tugas Pendahuluan



Tugas Pendahuluan
1. Apa kegunaan ARP?
Jawab :
Untuk keperluan mapping IP address ke Alamat Ethernet maka di buat protokol ARP (Address Resolution Protocol). Proses mapping ini dilakukan hanya untuk datagram yaang dikirim host karena pada saat inilah host menambahkan header Ethernet pada datagram. Penerjemahan dari IP address ke alamat Ethernet dilakukan dengan melihat sebuah tabel yang disebut sebagai cache ARP, lihat tabel 1. Entri cache ARP berisi IP address host beserta alamat Ethernet untuk host tersebut. Tabel ini diperlukan karena tidak ada hubungan sama sekali antara IP address dengan alamat Ethernet. IP address suatu host bergantung pada IP address jaringan tempat host tersebut berada, sementara alamat Ethernet sebuah card bergantung pada alamat yang diberikan oleh pembuatnya.
2. Gambarkan dan jelaskan format datagram ARP Request/Reply !
Jawab :
3. Berada dimanakah tabel ARP cache itu (di directory apa?)
Jawab :
ARP berada pada layer 2, dimana alamat pada layer dua adalah MAC address.  Misalnya sebuah host (contoh: PC) yang terhubung pada sebuah LAN ingin menghubungi host lain pada LAN tersebut, maka dia membutuhkan inforamsi MAC address daru host tujuan.
4. Cari option – option pada command arp (misal arp –a, arp -??), dan jelaskan maksud
dan kegunaannya !
Jawab :
-a [InetAddr] [-N IfaceAddr]
Menampilkan cache Tabel ARP saat ini. Untuk menampilkan Entry dari Cache ARP untuk IP tertentu gunakan Perintah dengan parameter arp-a Dengan InetAddr ,Dimana  InetAddr adalah IP addres. Untuk menampilkan Cache ARP Pada interface yang lain Gunakan Perintah dengan parameter -N IfaceAddr Dimana IfaceAddr adalah IP addres yang Dituju untuk dihubungkan. Parameter -N Sengat sensitif terhadap penekanan tombol ( a,A ).
Contoh : arp -a (Menampilkan isi dari cache ARP )
-g [InetAddr] [-N IfaceAddr]
Mirip dengan to -a.
-d InetAddr [IfaceAddr]
Digunakan untuk menghapus sebuah entry pada alamat IP tertentu, Dimana InetAddr adalah IP addres.Untuk menghapus sebuah entry pada interface tertentu gunakan Perintah dengan parameterIfaceAddr Dimana IfaceAddr adalah IP addres yang dihubungkan pada Interface. Untuk menhapus semua entry gunakan asterik ( * ) Karakter Wildcard pada Perintah InetAddr.
-s InetAddr EtherAddr [IfaceAddr]
Menambahkan entry statis pada Cache ARP InetAddrPada Physical addresEtherAddr.Untuk menambahkan ARP statis pada entry di Cache dengan interface tertentu Gunakan parameterIfaceAddrDimana IfaceAddradalah IP addres yang di assign-kan pada interface itu.
/?
Untuk menampilkan bantuan pada Command Prompt.
  1. Cari informasi tentang software sniffer tcpdump berikut command – command yang ada pada tcpdump dan apa kegunaannya?
Jawab:
Sniffer ialah sebuah aplikasi yang dapat melihat lalu lintas data pada jaringan komputer. Dikarenakan data mengalir secara bolak-balik pada jaringan, aplikasi ini menangkap tiap-tiap paket dan terkadang menguraikan isi dari RFC (Request for Comments) atau spesifikasi yang lain.
TCPdump adalah tools yang berfungsi mengcapture, membaca atau mendumping paket yang sedang ditransmisikan melalui jalur TCP. TCPdump diciptakan untuk menolong programer ataupun administrator dalam menganalisa dan troubleshooting aplikasi networking. Seperti pisau yang bermata dua (hal ini sering kali disebut-sebut), TCPdump bisa digunakan untuk bertahan dan juga bisa digunakan untuk menyerang. Utility ini juga seringkali digunakan oleh para cracker untuk melaksanakan perkerjaannya, karena TCPdump bisa mengcapture atau mensniff semua paket yang diterima oleh network interface. Sama halnya dengan tujuan diciptakannya TCPdump, dalam kesempatan ini kami tidak akan menjelaskan tentang bagaimana cara mengcapture/mensniff semua paket yang diterima oleh network interface, tp kami akan coba membahas bagaimana TCPdump digunakan untuk menganalisa koneksi yang terjadi antara dua system
Parameter TCPDUMP
-n                     seperti parameter arp -n, tcpdump juga menggunakan -n untuk tidak melakukan resolusi nama pada namanya.
-q         q atau quiet mode, memberitahu tcpdump untuk hanya mencetak protokol Layer 4 (tcp, udp, atau ICMP) dan nomor port atau nama.
-t          parameter –t menginstruksikan tcpdump untuk tidak mencetak timestamp pada output.
-x         parameter –x akan menyebabkan tcpdump untuk mencetak paket dalam heksadesimal.
-w        Namafile    ketika output tcpdump perlu disimpan, -w dapat digunakan untuk menyimpan file dalam format lipbcap, yang menghemat ruang, serta meletakkan file dalam format yang dapat dibaca oleh banyak analis jaringan lainnya. File yang dibuat oleh tcpdump dapat tumbuh dengan cepat, sehingga ruang hardisk harus diawasi dengan baik saat menyimpan file.
6.         Jelaskan cara penggunaan software wireshark, dan bagaimana cara melakukan filter
terhadap :
a. Paket arp
b. Hanya dari source atau destination nomor IP yang ditampilkan pada display ?
Jawab :
Menjalankan Wireshark
Setelah menginstall wireshark, lalu jalankan program.

Kita bisa memulai capture dengan langkah-langkah berikut ini :
Klik Menu Captur Interfaces
 Kemudian akan dihadapkan dengan tampilan untuk memilih interface yang akan kita Capture
Pilih interface yang berisi data paket-paket yang sedang berjalan. Seperti gambar diatas, interface Microsoft memiliki paket-paket data. Beri tanda Centang pada interface lalu klik tombol Start.
Setelah itu Wireshark akan meng-capture paket-paket didalam jaringan dan menampilkannya dengan segera. Berikut ini adalah tampilan utama Wireshark saat bekerja mengcapture paket-paket data jaringan.
Menu               : Disini kita bias bernavigasi antar menu-menu yang tersedia pada wireshark
Display Filter  : Kita akan mengisinya dengan sintaks-sintaks untuk memfilter (membatasi) paket-paket apa saja yang akan ditampilkan pada list paket.
Daftar Paket    : Disini akan ditampilkan paket-paket yang berhasil ditangkap oleh wireshark, berurutan mulai dari paket pertama yang ditangkap dan seterusnya.
Detail Paket     : Sebuah paket tentunya membawa informasi tertentu yang bias berbeda-beda anta paketnya, disini akan ditampilkan dari detail paket yang dipilih pada daftar diatasnya.
Detail Heksa    : Detail paket yang terpilih pada daftar paket dalam bentuk heksa, terkadang akan kebih mudah bagi kita mendapatkan informasi dari bagian ini.
Pada bagian Daftar Paket, terdapat kolom-kolom seperti berikut ini :
•    Time                : Menampilkan waktu saat paket tersebut tertangkap
•    Source             : Menampilkan ip sumber dari paket data tersebut
•    Destination      : Menampilkan ip tujuan dari paket data tersebut
•    Protocol           : Menampilkan protocol apa yang dipakai sebuah paket data
•    Info                 : Menampilkan informasi mendetail tentang paket data tersebut.
1.    Langkah-langkah memfilter paket ARP
•    Klik menu Analyze, lalu pilih Display Filter
•    Pada kolom Display Filter, Pilih  Ethernet Type 0x0806 (ARP). Lalu klik OK
•    Hasil Filtering. Hanya paket ARP saja yang ditampilkan.

   
2.    Langkah-langkah memfilter Hanya dari source atau destination nomor IP yang ditampilkan pada display
•    Klik Menu View, lalu pilih Display Coloum
•    Beri tanda Check list (        ) pada display yang ingin ditampilkan, sebagai contoh disini hanya display Source dan Destination yang akan ditampilkan.