Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Jumat, 27 Februari 2009

Konsep Dasar TCP/IP (Transmission Control Protocol/Internet Protocol)

TCP/IP merupakan dasar dari segalanya, tanpa mempelajari TCP/PI
kemungkinan kita tidak dapat melakah maju di dunia pehackingan. Dengan
kata lain, TCP/IP merupakan awal dari segalanya. Banyak orang yg
menyepelekan pentingnya mempelajari TCP/IP, mereka mengaku dirinya
"hacker" tetapi tidak mengerti sama sekali apa itu TCP/IP. Merasa hacker
hanya apabila bisa mencrash ataupun menjebol server, tetapi sebetulnya
bukan itulah maksud dari segala itu. Hacker itu adalah orang yg haus
akan pengetahuan, bukan haus akan penghancuran. Untuk menjadi hacker
dibutuhkan kerja keras, semangat, motivasi yg tinggi serta pemahaman
seluk-beluk internet itu sendiri, tanpa hal-hal tersebut mustahil anda
dapat menjadi seorang hacker yang tangguh.

Tulisan ini didedikasikan terutama untuk member Kecoak Elektronik dan
siapa saja yang ingin mempelajari TCP/IP, bukan untuk mereka yang hanya
ingin mencari jalan pintas menjadi hacker sejati. Bagi anda yg memang
udah profhacking mungkin tulisan ini tidak penting, karena memang
tulisan ini hanyalah pengantar belaka dan bukan merupakan referensi yg
sempurna (dan jauh dari sempurna) oleh karenanya hanya dikhususkan bagi
mereka yg pendatang baru (newbies).

1. Apa itu TCP/IP ?
-------------------
TCP/IP adalah salah satu jenis protokol* yg memungkinkan kumpulan
komputer untuk berkomunikasi dan bertukar data didalam suatu network
(jaringan).

************************************************************************
Merupakan himpunan aturan yg memungkinkan komputer untuk berhubungan
antara satu dengan yg lain, biasanya berupa bentuk / waktu / barisan /
pemeriksaan error saat transmisi data.
***********************************************************************
2. Apa yg membuat TCP/IP menjadi penting ?
------------------------------------------
Karena TCP/IP merupakan protokol yg telah diterapkan pada hampir semua
perangkat keras dan sistem operasi. Tidak ada rangkaian protokol lain yg
tersedia pada semua sistem berikut ini :

a. Novel Netware.
b. Mainframe IBM.
c. Sistem digital VMS.
d. Server Microsoft Windows NT
e. Workstation UNIX, LinuX, FreeBSD
f. Personal komputer DOS.

3. Bagaimana awalnya keberadaan TCP/IP ?
----------------------------------------
Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) AS
akan suatu komunikasi di antara berbagai variasi komputer yg telah ada.
Komputer-komputer DoD ini seringkali harus berhubungan antara satu
organisasi peneliti dg organisasi peneliti lainnya, dan harus tetap
berhubungan sehingga pertahanan negara tetap berjalan selama terjadi
bencana, seperti ledakan nuklir. Oleh karenanya pada tahun 1969
dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara
tujuan-tujuan penelitian ini adalah sebagai berikut :

1. Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg
dapat ditentukan untuk semua jaringan.
2. Meningkatkan efisiensi komunikasi data.
3. Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah
ada.
4. Mudah dikonfigurasikan.

Tahun 1968 DoD ARPAnet (Advanced Reseach Project Agency) memulai
penelitian yg kemudian menjadi cikal bakal packet switching . Packet
switching inilah yg memungkinkan komunikasi antara lapisan network
(dibahas nanti) dimana data dijalankan dan disalurkan melalui jaringan
dalam bentuk unit-unit kecil yg disebut packet*. Tiap-tiap packet ini
membawa informasi alamatnya masing-masing yg ditangani dengan khusus
oleh jaringan tersebut dan tidak tergantung dengan paket-paket lain.
Jaringan yg dikembangkan ini, yg menggunakan ARPAnet sebagai tulang
punggungnya, menjadi terkenal sebagai internet.

Protokol-protokol TCP/IP dikembangkan lebih lanjut pada awal 1980 dan
menjadi protokol-protokol standar untuk ARPAnet pada tahun 1983.
Protokol-protokol ini mengalami peningkatan popularitas di komunitas
pemakai ketika TCP/IP digabungkan menjadi versi 4.2 dari BSD (Berkeley
Standard Distribution) UNIX. Versi ini digunakan secara luas pada
institusi penelitian dan pendidikan dan digunakan sebagai dasar dari
beberapa penerapan UNIX komersial, termasuk SunOS dari Sun dan Ultrix
dari Digital. Karena BSD UNIX mendirikan hubungan antara TCP/IP dan
sistem operasi UNIX, banyak implementasi UNIX sekarang menggabungkan
TCP/IP.

************************************************************************
unit informasi yg mana jaringan berkomunikasi. Tiap-tiap paket berisi
identitas (header) station pengirim dan penerima, informasi error-
control, permintaan suatu layanan dalam lapisan network, informasi
bagaimana menangani permintaan dan sembarang data penting yg harus
ditransfer.
************************************************************************

4. Layanan apa saja yg diberikan oleh TCP/IP ?
----------------------------------------------
Berikut ini adalah layanan "tradisional" yg dilakukan TCP/IP :

a. Pengiriman file (file transfer). File Transfer Protokol (FTP)
memungkinkan pengguna komputer yg satu untuk dapat mengirim ataupun
menerima file ke komputer jaringan. Karena masalah keamanan data,
maka FTP seringkali memerlukan nama pengguna (user name) dan
password, meskipun banyak juga FTP yg dapat diakses melalui
anonymous, alias tidak berpassword. (lihat RFC 959 untuk spesifikasi
FTP)
b. Remote login. Network terminal Protokol (telnet) memungkinkan
pengguna komputer dapat melakukan log in ke dalam suatu komputer
didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna
menggunakan komputernya sebagai perpanjangan tangan dari komputer
jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet
lebih lanjut)
c. Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
(lihat RFC 821 dan 822)

d. Network File System (NFS). Pelayanan akses file-file jarak jauh yg
memungkinkan klien-klien untuk mengakses file-file pada komputer
jaringan jarak jauh walaupun file tersebut disimpan secara lokal.
(lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut)
e. remote execution. Memungkinkan pengguna komputer untuk menjalankan
suatu program didalam komputer yg berbeda. Biasanya berguna jika
pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan
sumber yg banyak dalam suatu system komputer. Ada beberapa jenis
remote execution, ada yg berupa perintah-perintah dasar saja, yaitu
yg dapat dijalankan dalam system komputer yg sama dan ada pula yg
menggunakan "prosedure remote call system", yg memungkinkan program
untuk memanggil subroutine yg akan dijalankan di system komputer yg
berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah "rsh" dan
"rexec")
f. name servers. Nama database alamat yg digunakan pada internet (lihat
RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name
server yg bertujuan untuk menentukan nama host di internet.)

************************************************************************
RFC (Request For Comments) adalah merupakan standar yg digunakan dalam
internet, meskipun ada juga isinya yg merupakan bahan diskusi ataupun
omong kosong belaka. Diterbitkan oleh IAB (Internet Activities Board)
yg merupakan komite independen para peneliti dan profesional yg
mengerti teknis, kondisi dan evolusi sistem internet. Sebuah surat yg
mengikuti nomor RFC menunjukan status RFC :
S: standard, standar resmi bagi internet
DS: Draft standard, protokol tahap akhir sebelum disetujui sebagai
standar
PS: Proposed Standard, protokol pertimbangan untuk standar masa depan
I: Informational, berisikan bahan-bahan diskusi yg sifatnya informasi
E: Experimental, protokol dalam tahap percobaan tetapi bukan pada jalur
standar.
H: Historic, protokol-protokol yg telah digantikan atau tidak lagi
dipertimbankan utk standarisasi.
************************************************************************
5. Bagaimanakah bentuk arsitektur dari TCP/IP itu ?
---------------------------------------------------
Dikarenakan TCP/IP adalah serangkaian protokol di mana setiap protokol
melakukan sebagian dari keseluruhan tugas komunikasi jaringan, maka
tentulah implementasinya tak lepas dari arsitektur jaringan itu sendiri.
Arsitektur rangkaian protokol TCP/IP mendifinisikan berbagai cara agar
TCP/IP dapat saling menyesuaikan.

Karena TCP/IP merupakan salah satu lapisan protokol OSI * (Open System
Interconnections), berarti bahwa hierarki TCP/IP merujuk kepada 7
lapisan OSI tersebut. Berikut adalah model referensi OSI 7 lapisan, yg
mana setiap lapisan menyediakan tipe khusus pelayanan jaringan :

Peer process
|Application layer |<----------------->|Application layer |
|Presentation layer|<----------------->|Presentation layer|
|Session layer |<----------------->|Session layer |
|Transport layer |<----------------->|Transport layer |
|Network layer |<----------------->|Network layer |
|Data link layer |<----------------->|Data link layer |
|Physical layer |<----------------->|Physical layer |

Tiga lapisan teratas biasa dikenal sebagai "upper lever protocol"
sedangkan empat lapisan terbawah dikenal sebagai "lower level protocol".
Tiap lapisan berdiri sendiri tetapi fungsi dari masing-masing lapisan
bergantung dari keberhasilan operasi layer sebelumnya. Sebuah lapisan
pengirim hanya perlu berhubungan dengan lapisan yang sama di penerima
(jadi misalnya lapisan data link penerima hanya berhubungan dengan data
link pengirim) selain dengan satu layer di atas atau dibawahnya
(misalnya lapisan network berhubungan dengan lapisan transport
diatasnya atau dengan lapisan data link dibawahnya).

Model dengan menggunakan lapisan ini merupakan sebuah konsep yg penting
karena suatu fungsi yg rumit yg berkaitan dengan komunikasi dapat
dipecahkan menjadi sejumlah unit yg lebih kecil. Tiap lapisan bertugas
memberikan layanan tertentu pada lapisan diatasnya dan juga melindungi
lapisan diatasnya dari rincian cara pemberian layanan tersebut. Tiap
lapisan harus transparan sehingga modifikasi yg dilakukan atasnya tidak
akan menyebabkan perubahan pada lapisan yang lain. Lapisan menjalankan
perannya dalam pengalihan data dengan mengikuti peraturan yang berlaku
untuknya dan hanya berkomunikasi dengan lapisan yang setingkat.
Akibatnya sebuah layer pada satu sistem tertentu hanya akan berhubungan
dengan lapisan yang sama dari sistem yang lain. Proses ini dikenal
sebagai "Peer process". Dalam keadaan sebenarnya tidak ada data yang
langsung dialihkan antar lapisan yang sama dari dua sistem yang berbeda
ini. Lapisan atas akan memberikan data dan kendali ke lapisan dibawahnya
sampai lapisan yang terendah dicapai. Antara dua lapisan yang berdekatan
terdapat "interface" (antarmuka). Interface ini mendifinisikan operasi
dan layanan yang diberikan olehnya ke lapisan lebih atas. Tiap lapisan
harus melaksanakan sekumpulan fungsi khusus yang dipahami dengan
sempurna. Himpunan lapisan dan protokol dikenal sebagai "arsitektur
jaringan".

Pengendalian komunikasi dalam bentuk lapisan menambah overhead karena
tiap lapisan berkomunikasi dengan lawannya melalui "header". Walaupun
rumit tetapi fungsi tiap lapisan dapat dibuat dalam bentuk modul
sehingga kerumitan dapat ditanggulangi dengan mudah.
Disini kita tidak akan membahas model OSI secara mendalam secara
keseluruhannya, karena protokol TCP/IP tidak mengikuti benar model
referensi OSI tersebut. Walaupun demikian, TCP/IP model akan terlihat
seperti ini :

=========================================
|Application layer | |
|Presentation layer | Application layer |
|Session layer | |
|===================|===================|
|Transport layer | Transport layer/ |
| | Host to host |
|=======================================|
|Network layer | Network layer/ |
| | internet layer |
|===================|===================|
|Data Link layer | Network access |
|Physical layer | |
|===================|===================|
Model OSI model internet

Sekarang mari kita bahas keempat lapisan tersebut.

a. Network Access
Lapisan ini hanya menggambarkan bagaimana data dikodekan menjadi sinyal-
sinyal dan karakteristik antarmuka tambahan media.
b. Internet layer/ network layer
Untuk mengirimkan pesan pada suatu internetwork (suatu jaringan yang
mengandung beberapa segmen jaringan), tiap jaringan harus secara unik
diidentifikasi oleh alamat jaringan. Ketika jaringan menerima suatu
pesan dari lapisan yang lebih atas, lapisan network akan menambahkan
header pada pesan yang termasuk alamat asal dan tujuan jaringan.
Kombinasi dari data dan lapisan network disebut "paket". Informasi
alamat jaringan digunakan untuk mengirimkan pesan ke jaringan yang
benar, setelah pesan tersebut sampai pada jaringan yg benar, lapisan
data link dapat menggunakan alamat node untuk mengirimkan pesan ke node
tertentu.
_____ _____
|=====| |=====| ################### end nodes
\-----/ \-----/ # #
|===| |===| # #
| | # #
---|---------- |---- # routers # #
| # # # #
| # # # #
|=---=| # # # #
|=---=| # # #
| # _____ _____
komputer ******* # |=====| |=====|
Lainnya --- * token * -----|=---=| \-----/ \-----/
* ring * |=---=| |===| |===|
******* | | |
| -|-------- |---------|---------
-----
|
Komputer
Lainnya

meneruskan paket ke jaringan yang benar disebut "routing" dan peralatan
yang meneruskan paket adalah "routers". Suatu antar jaringan mempunyai
dua tipe node :

- "End nodes", menyediakan pelayanan kepada pemakai. End nodes
menggunakan lapisan network utk menambah informasi alamat jaringan
kepada paket, tetapi tidak melakukan routing. End nodes kadang-kadang
disebut "end system" (istilah OSI) atau "host" (istilah TCP/IP)
- Router memasukan mekanisme khusus untuk melakukan routing. Karena
routing merupakan tugas yg kompleks, router biasanya merupakan peralatan
tersendiri yg tidak menyediakan pelayanan kepada pengguna akhir. Router
kadang-kadang disebut "intermediate system" (istilah OSI) atau "gateway"
(istilah TCP/IP).

Selain itu juga lapisan ini bertanggung jawab untuk pengiriman data
melalui antar jaringan. Protokol lapisan intenet yang utama adalah
internet protokol, IP (RFC 791, lihat juga RFC 919, 922,950).
IP menggunakan protokol-protokol lain untuk tugas-tugas khusus internet.
ICMP(dibahas nanti) digunakan untuk mengirimkan pesan-pesan ke lapisan
host ke host. Adapun fungsi IP :

1. Pengalamatan
2. Fragmentasi datagram pada antar jaringan
3. Pengiriman datagram pada antar jaringan
c. Transport layer /host to host

Salah satu tanggung jawab lapisan transport adalah membagi pesan-pesan
menjadi fragment-fragment yang cocok dengan pembatasan ukuran yg
dibentuk oleh jaringan. Pada sisi penerima, lapisan transport
menggabungkan kembali fragment untuk mengembalikan pesan aslinya,
sehingga dapat diketahui bahwa lapisan transport memerlukan proses
khusus pada satu komputer ke proses yg bersesuaian pada komputer tujuan.
Hal ini dikenal sebagai Service Access Point (SAP) ID kepada setiap
paket (berlaku pada model OSI, istilah TCP/IP untuk SAP ini disebut port
*).

Mengenali pesan-pesan dari beberapa proses sedemikian rupa sehingga
pesan tersebut dikirimkan melalui media jaringan yg sama disebut
“multiplexing”. Prosedur mengembalikan pesan dan mengarahkannya pada
proses yg benar disebut “demultiplexing”.
Tanggung javab lapisan transport yg paling berat dalam hal pengiriman
pesan adalah mendeteksi kesalahan dalam pengiriman data tersebut. Ada
dua kategori umum deteksi kesalahan dapat dilakukan oleh lapisan
transport :

a. Reliable delivery, berarti kesalahan tidak dapat terjadi, tetapi
kesalahan akan dideteksi jika terjadi. Pemulihan kesalahan dilakukan
dengan jalan memberitahukan lapisan atas bahwa kesalahan telah
terjadi dan meminta pengirimna kembali paket yg kesalahannya
terdeteksi.
b. Unreliable delivery, bukan berarti kesalahan mungkin terjadi, tetapi
menunjukkan bahwa lapisan transport tidak memeriksa kesalahan
tersebut. Karena pemeriksaan kesalahan memerlukan waktu dan
mengurangi penampilan jaringan. Biasanya kategori ini digunakan jika
setiap paket mengandung pesan yg lengkap, sedangkan reliable
delivery, jika mengandung banyak paket. Unreliable delivery, sering
disebut “datagram delivery” dan paket-paket bebas yg dikerimkan
dengan cara ini sering disebut “datagram”.

Karena proses lapisan atas (application layer) memiliki kebutuhan yg
bervariasi, terdapat dua protokol lapisan transport /host to host, TCP
dan UDP. TCP adalah protokol yg handal. Protokol ini berusaha secara
seksama untuk mengirimkan data ke tujuan, memeriksa kesalahan,
mengirimkan data ulang bila diperlukan dan mengirimkan error ke lapisan
ats hanya bila TCP tidak berhasil mengadakan komunikasi (dibahas nanti).
Tetapi perlu dicatat bahwa kehandalan TCP tercapai dengan mengorbankan
bandwidth jaringan yg besar.

UDP (User Datagram Protocol) disisi lain adalah protokol yg tidak
handal. Protokol ini hanya “semampunya” saja mengirimkan data. UDP tidak
akan berusaha untuk mengembalikan datagram yg hilang dan proses pada
lapisan atas harus bertanggung jawab untuk mendeteksi data yg hilang
atau rusak dan mengirimkan ulang data tersebut bila dibutuhkan.
c. Application layer
Lapisan inilah biasa disebut lapisan akhir (front end) atau bisa disebut
user program. Lapisan inilah yg menjadi alasan keberadaan lapisan
sebelumnya. Lapisan sebelumnya hanya bertugas mengirimkan pesan yg
ditujukan utk lapisan ini. Di lapisan ini dapat ditemukan program yg
menyediakan pelayanan jaringan, seperti mail server (email program),
file transfer server (FTP program), remote terminal.

************************************************************************
Token Ring merupakan teknologi LAN data link yg didefinisikan oleh IEEE
802.4 dimana sistem dihubungkan satu sama lain dengan menggunakan
segmen kabel twisted-pair point-to-point untuk membentuk suatu struktur
ring. Sebuah sistem diijinkan untuk mengirim hanya bila sistem tersebut
memiliki token (data unit khsusus yg digunakan bersama-sama) yg akan
dilewarkan dari satu sistem ke sistem lain sekitar ring.
========================================================================
komputer port adalah tempat adalah tempat dimana informasi masuk dan
keluar. Di PC contohnya monitor sebagai keluaran informasi, keyboard dan
mouse sebagai masukan informasi. Tetapi dalam istilah internet, port
berbentuk virtual (software) bukan berbentuk fisik seperti RS232 serial
port (utk koneksi modem).
************************************************************************
6. Bagaimana TCP dan IP bekerja ?
---------------------------------
Seperti yg telah dikemukakan diatas TCP/IP hanyalah merupakan suatu
lapisan protokol(penghubung) antara satu komputer dg yg lainnya dalam
network, meskipun ke dua komputer tersebut memiliki OS yg berbeda. Untuk
mengerti lebih jauh marilah kita tinjau pengiriman sebuah email.
Dalam pengiriman email ada beberapa prinsip dasar yg harus dilakukan.
Pertama, mencakup hal-hal umum berupa siapa yg mengirim email, siapa yg
menerima email tersebut serta isi dari email tersebut. Kedua, bagaimana
cara agar email tersebut sampai pada tujuannya.Dari konsep ini kita
dapat mengetahui bahwa pengirim email memerlukan "perantara" yg
memungkinkan emailnya sampai ke tujuan (seperti layaknya pak pos). Dan
ini adalah tugas dari TCP/IP. Antara TCP dan IP ada pembagian tugas
masing-masing.

TCP merupakan connection-oriented, yg berarti bahwa kedua komputer yg
ikut serta dalam pertukaran data harus melakukan hubungan terlebih dulu
sebelum pertukaran data ( dalam hal ini email) berlangsung. Selain itu
TCP juga bertanggung jawab untuk menyakinkan bahwa email tersebut sampai
ke tujuan, memeriksa kesalahan dan mengirimkan error ke lapisan atas
hanya bila TCP tidak berhasil melakukan hubungan (hal inilah yg membuat
TCP sukar untuk dikelabuhi). Jika isi email tersebut terlalu besar
untuk satu datagram * , TCP akan membaginya kedalam beberapa datagram.
IP bertanggung jawab setelah hubungan berlangsung, tugasnya adalah untuk
meroute data packet . didalam network. IP hanya bertugas sebagai kurir
dari TCP dalam penyampaian datagram dan "tidak bertanggung jawab" jika
data tersebut tidak sampai dengan utuh (hal ini disebabkan IP tidak
memiliki informasi mengenai isi data yg dikirimkan) maka IP akan
mengirimkan pesan kesalahan ICMP*. Jika hal ini terjadi maka IP hanya
akan memberikan pesan kesalahan (error message) kembali ke sumber data.
Karena IP "hanya" mengirimkan data "tanpa" mengetahui mana data yg akan
disusun berikutnya menyebabkan IP mudah untuk dimodifikasi daerah
"sumber dan tujuan" datagram. Hal inilah penyebab banyak paket hilang
sebelum sampai kembali ke sumber awalnya. (jelas ! sumber dan tujuannya
sudah dimodifikasi)

Kalimat Datagram dan paket sering dipertukarkan penggunaanya. Secara
teknis, datagram adalah kalimat yg digunakan jika kita hendak
menggambarkan TCP/IP. Datagram adalah unit dari data, yg tercakup dalam
protokol.

************************************************************************
ICPM adalah kependekan dari Internet Control Message Protocol yg
bertugas memberikan pesan dalam IP. Berikut adalah beberapa pesan
potensial sering timbul (lengkapnya lihat RFC 792):

a. Destination unreachable, terjadi jika host,jaringan,port atau protokol
tertentu tidak dapat dijangkau.
b. Time exceded, dimana datagram tidak bisa dikirim karena time to live
habis.
c. Parameter problem, terjadi kesalahan parameter dan letak oktert dimana
kesalahan terdeteksi.
d. Source quench, terjadi karena router/host tujuan membuang datagram
karena batasan ruang buffer atau karena datagram tidak dapat diproses.
e. Redirect, pesan ini memberi saran kepada host asal datagram mengenai
router yang lebih tepat untuk menerima datagram tsb.
f. Echo request dan echo reply message, pesan ini saling mempertukarkan
data antara host.

Selain RFC 792 ada juga RFC 1256 yg isinya berupa ICMP router discovery
message dan merupakan perluasan dari ICMP, terutama membahas mengenai
kemampuan bagi host untuk menempatkan rute ke gateway.
************************************************************************

7. Bagaimanakah bentuk format header protokol UDP,TCP,IP ?
----------------------------------------------------------
1. UDP
------
UDP memberikan alternatif transport untuk proses yg tidak membutuhkan
pengiriman yg handal. Seperti yg telah dibahas sebelumnya, UDP merupakan
protokol yg tidak handal, karena tidak menjamin pengiriman data atau
perlindungan duplikasi. UDP tidak mengurus masalah penerimaan aliran
data dan pembuatan segmen yg sesuai untuk IP.Akibatnya, UDP adalah
protokol sederhana yg berjalan dengan kemampuan jauh dibawah TCP. Header
UDP tidak mengandung banyak informasi, berikut bentuk headernya :

++++++++++++++++++++++++++++++++++++++
+ Source Port + Destination Port +
++++++++++++++++++++++++++++++++++++++
+ Length + Checksum +
++++++++++++++++++++++++++++++++++++++

source port, adalah port asal dimana system mengirimkan datagram.
Destination port, adalah port tujuan pada host penerima.
Length, berisikan panjang datagram dan termasuk data.
Checksum, bersifat optional yg berfungsi utk meyakinkan bahwa data tidak
akan mengalami rusak (korup)

2. TCP
------
Seperti yg telah dibahas sebelumnya, TCP merupakan protokol yg handal
dan bertanggung jawab untuk mengirimkan aliran data ke tujuannya secara
handal dan berurutan. Untuk memastikan diterimanya data, TCP menggunakan
nomor urutan segmen dan acknowlegement (jawaban). Misalkan anda ingin
mengirim file berbentuk seperti berikut :
----------------------------------------------------------
TCP kemudian akan memecah pesan itu menjadi beberapa datagram (untuk
melakukan hal ini, TCP tidak mengetahui berapa besar datagram yg bisa
ditampung jaringan. Biasanya, TCP akan memberitahukan besarnya datagram
yg bisa dibuat, kemudian mengambil nilai yg terkecil darinya, untuk
memudahkan).
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
TCP kemudian akan meletakan header di depan setiap datagram tersebut.
Header ini biasanya terdiri dari 20 oktet, tetapi yg terpenting adalah
oktet ini berisikan sumber dan tujuan “nomor port (port number)” dan
“nomor urut (sequence number)”. Nomor port digunakan untuk menjaga data
dari banyaknya data yg lalu lalang. Misalkan ada 3 orang yg mengirim
file. TCP anda akan mengalokasikan nomor port 1000, 1001, dan 1002 untuk
transfer file. Ketika datagram dikirim, nomor port ini menjadi “sumber
port (source port)” number untuk masing-masing jenis transfer.
Yg perlu diperhatikan yaitu bahwa TCP perlu mengetahui juga port yg
dapat digunakan oleh tujuan (dilakukan diawal hubungan). Port ini
diletakan pada daerah “tujuan port (destination port)”. Tentu saja jika
ada datagram yg kembali, maka source dan destination portnya akan
terbalik, dan sejak itu port anda menjadi destination port dan port
tujuan menjadi source port.

Setiap datagram mempunyai nomor urut (sequence number) masing-masing yg
berguna agar datagram tersebut dapat tersusun pada urutan yg benar dan
agar tidak ada datagram yg hilang. TCP tidak memberi “nomor” datagram,
tetapi pada oktetnya. Jadi jika ada 500 oktet data dalam setiap
datagram, datagram yg pertama mungkin akan bernomor urut 0, kedua 500,
ketiga 1000, selanjutnya 1500 dan eterusnya. Kemudian semua susunan
oktet didalam datagram akan diperiksa keadaannya benar atau salah, dan
biasa disebut dg “checksum”. Hasilnya kemudian diletakan ke header TCP.
Yg perlu diperhatikan ialah bahwa checksum ini dilakukan di kedua
komputer yg melakukan hubungan. Jika nilai keberadaan susunan oktet
antara satu checksum dg checksum yg lain tidak sama, maka sesuatu yg
tidak diinginkan akan terjadi pada datagram tersebut, yaitu gagalnya
koneksi (lihat bahasan sebelumnya). Jadi inilah bentuk datagram
tersebut:

++++++++++++++++++++++++++++++++++++++++++++++++
+ Source Port + Destination port +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Sequence number +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Acknowledgment number +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Data + |U|A|P|R|S|F| +
+ offset+ Reserved |R|C|S|S|Y|I| Window +
+ + |G|K|H|T|N|N| +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Checksum | Urgent pointer +
++++++++++++++++++++++++++++++++++++++++++++++++
+ data anda ------ sampai 500 oktet berikut +


Jika kita misalkan TCP header sebagai “T”, maka seluruh file akan
berbentuk sebagai berikut :
T---- T---- T---- T---- T---- T---- T---- T---- T---- T---- T----

Ada beberapa bagian dari header yg belum kita bahas. Biasanya bagian
header ini terlibat sewaktu hubungan berlangsung.

- Seperti 'acknowledgement number' misalnya, yg bertugas untuk menunggu
jawaban apakah datagram yg dikirim sudah sampai atau belum. Jika tidak
ada jawaban (acknowledgement) dalam batas waktu tertentu, maka data akan
dikirim lagi.
- Window berfungsi untuk mengontrol berapa banyak data yg bisa singgah
dalam satu waktu. Jika Window sudah terisi, ia akan segera langsung
mengirim data tersebut dan tidak akan menunggu data yg terlambat, karena
akan menyebabkan hubungan menjadi lambat.
- Urgent pointer menunjukan nomor urutan oktet menyusul data yg
mendesak. Urgent pointer adalah bilangan positif berisi posisi dari
nomor urutan pada segmen.
Reserved selalu berisi nol. Dicadangkan untuk penggunaan mendatang.
- Control bit (disamping kanan reserved, baca dari atas ke bawah). Ada
enam kontrol bit :
a. URG, Saat di set 1 ruang urgent pointer memiliki makna, set 0
diabaikan.
b. ACK saat di set ruang acknowledgement number memiliki arti.
c. PSH, memulai fungsi push.
d. RST, memaksa hubungan di reset.
e. SYN, melakukan sinkronisasi nomor urutan untuk hubungan. Bila diset maka
hubungan di buka.
f. FIN, hubungan tidak ada lagi.

3. IP
-----
TCP akan mengirim setiap datagram ke IP dan meminta IP untuk
mengirimkannya ke tujuan(tentu saja dg cara mengirimkan IP alamat
tujuan). Inilah tugas IP sebenarnya. IP tidak peduli apa isi dari
datagram, atau isi dari TCP header. Tugas IP sangat sederhana, yaitu
hanya mengantarkan datagram tersebut sampai tujuan (lihat bahasan
sebelumnya). Jika IP melewati suatu gateway, maka ia kemudian akan
menambahkan header miliknya. Hal yg penting dari header ini adalah
“source address” dan “Destination address”, “protocol number” dan
“checksum”. “source address” adalah alamat asal datagram. “Destination
address” adalah alamat tujuan datagram (ini penting agar gateway
mengetahui ke mana datagram akan pergi). “Protocol number” meminta IP
tujuan untuk mengirim datagram ke TCP. Karena meskipun jalannya IP
menggunakan TCP, tetapi ada juga protokol tertentu yg dapat menggunakan
IP, jadi kita harus memastikan IP menggunakan protokol apa untuk
mengirim datagram tersebut. Akhirnya, “checksum” akan meminta IP tujuan
untuk meyakinkan bahwa header tidak mengalami kerusakan. Yang perlu
dicatat yaitu bahwa TCP dan IP menggunakan checksum yang berbeda.

Sabtu, 21 Februari 2009

7 Layer OSI

Model referensi OSI (Open System Interconnection) menggambarkan bagaimana informasi dari suatu software aplikasi di sebuah komputer berpindah melewati sebuah media jaringan ke suatu software aplikasi di komputer lain. Model referensi OSI secara konseptual terbagi ke dalam 7 lapisan dimana masing-masing lapisan memiliki fungsi jaringan yang spesifik. Model ini diciptakan berdasarkan sebuah proposal yang dibuat oleh the International Standards Organization (ISO) sebagai langkah awal menuju standarisasi protokol internasional yang digunakan pada berbagai layer . Model ini disebut ISO OSI (Open System Interconnection) Reference Model karena model ini ditujukan bagi pengkoneksian open system. Open System dapat diartikan sebagai suatu sistem yang terbuka untuk berkomunikasi dengan sistem-sistem lainnya. Untuk ringkas-nya, kita akan menyebut model tersebut sebagai model OSI.

ISO OSI Seven Layer Model

7.) Application-
6.) Presentation
5.) --Session---
4.) -Transport--
3.) --Network---
2.) -Data Link--
1.) --Physical--

Model OSI memiliki tujuh layer. Prinsip-prinsip yang digunakan bagi ketujuh layer tersebut adalah :

1. Sebuah layer harus dibuat bila diperlukan tingkat abstraksi yang berbeda.

2. Setiap layer harus memiliki fungsi-fungsi tertentu.

3. Fungsi setiap layer harus dipilih dengan teliti sesuai dengan ketentuan standar protocol internasional.

4. Batas-batas layer diusahakan agar meminimalkan aliran informasi yang melewati interface.

5. Jumlah layer harus cukup banyak, sehingga fungsi-fungsi yang berbeda tidak perlu disatukan dalam satu layer diluar keperluannya. Akan tetapi jumlah layer juga harus diusahakan sesedikit mungkin sehingga arsitektur jaringan tidak menjadi sulit dipakai.

Di bawah ini kita membahas setiap layer pada model OSI secara berurutan, dimulai dari layer terbawah. Perlu dicatat bahwa model OSI itu sendiri bukanlah merupakan arsitektur jaringan, karena model ini tidak menjelaskan secara pasti layanan dan protokolnya untuk digunakan pada setiap layernya. Model OSI hanya menjelaskan tentang apa yang harus dikerjakan oleh sebuah layer. Akan tetapi ISO juga telah membuat standard untuk semua layer, walaupun standard-standard ini bukan merupakan model referensi itu sendiri. Setiap layer telah dinyatakan sebagai standard internasional yang terpisah.

2.1 Karakteristik Lapisan OSI

Ke tujuh lapisan dari model referensi OSI dapat dibagi ke dalam dua kategori, yaitu lapisan atas dan lapisan bawah.

Lapisan atas dari model OSI berurusan dengan persoalan aplikasi dan pada umumnya diimplementasi hanya pada software. Lapisan tertinggi (lapisan applikasi) adalah lapisan penutup sebelum ke pengguna (user), keduanya, pengguna dan lapisan aplikasi saling berinteraksi proses dengan software aplikasi yang berisi sebuah komponen komunikasi. Istilah lapisan atas kadang-kadang digunakan untuk menunjuk ke beberapa lapisan atas dari lapisan lapisan yang lain di model OSI.

Lapisan bawah dari model OSI mengendalikan persoalan transport data. Lapisan fisik dan lapisan data link diimplementasikan ke dalam hardware dan software. Lapisan-lapisan bawah yang lain pada umumnya hanya diimplementasikan dalam software. Lapisan terbawah, yaitu lapisan fisik adalah lapisan penutup bagi media jaringan fisik (misalnya jaringan kabel), dan sebagai penanggung jawab bagi penempatan informasi pada media jaringan. Tabel berikut ini menampilkan pemisahan kedua lapisan tersebut pada lapisan-lapisan model OSI.

Application

Application

Lapisan Atas

Tabel 2.1 Pemisahan Lapisan atas dan Lapisan bawah pada model OSI

2.2 Protokol

Model OSI menyediakan secara konseptual kerangka kerja untuk komunikasi antar komputer, tetapi model ini bukan merupakan metoda komunikasi. Sebenarnya komunikasi dapat terjadi karena menggunakan protokol komunikasi. Di dalam konteks jaringan data, sebuah protokol adalah suatu aturan formal dan kesepakatan yang menentukan bagaimana komputer bertukar informasi melewati sebuah media jaringan. Sebuah protokol mengimplementasikan salah satu atau lebih dari lapisan-lapisan OSI. Sebuah variasi yang lebar dari adanya protokol komunikasi, tetapi semua memelihara pada salah satu aliran group: protokol LAN, protokol WAN, protokol jaringan, dan protokol routing. Protokol LAN beroperasi pada lapisan fisik dan data link dari model OSI dan mendefinisikan komunikasi di atas macam-macam media LAN. Protokol WAN beroperasi pada ketiga lapisan terbawah dari model OSI dan mendefinisikan komunikasi di atas macam-macam WAN. Protokol routing adalah protokol lapisan jaringan yang bertanggung jawab untuk menentukan jalan dan pengaturan lalu lintas. Akhirnya protokol jaringan adalah berbagai protokol dari lapisan teratas yang ada dalam sederetan protokol.

2.3 Lapisan-lapisan Model OSI

2.3.1 Physical Layer

Physical Layer berfungsi dalam pengiriman raw bit ke channel komunikasi. Masalah desain yang harus diperhatikan disini adalah memastikan bahwa bila satu sisi mengirim data 1 bit, data tersebut harus diterima oleh sisi lainnya sebagai 1 bit pula, dan bukan 0 bit. Pertanyaan yang timbul dalam hal ini adalah : berapa volt yang perlu digunakan untuk menyatakan nilai 1? dan berapa volt pula yang diperlukan untuk angka 0?. Diperlukan berapa mikrosekon suatu bit akan habis? Apakah transmisi dapat diproses secara simultan pada kedua arahnya? Berapa jumlah pin yang dimiliki jaringan dan apa kegunaan masing-masing pin? 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.

2.3.2 Data Link Layer

Tugas utama data link layer adalah sebagai fasilitas transmisi raw data dan mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi. Sebelum diteruskan kenetwork layer, data link layer melaksanakan tugas ini dengan memungkinkan pengirim memecag-mecah data input menjadi sejumlah data frame (biasanya berjumlah ratusan atau ribuan byte). Kemudian data link layer mentransmisikan frame tersebut secara berurutan, dan memproses acknowledgement frame yang dikirim kembali oleh penerima. Karena physical layer menerima dan mengirim aliran bit tanpa mengindahkan arti atau arsitektur frame, maka tergantung pada data link layer-lah untuk membuat dan mengenali batas-batas frame itu. Hal ini bisa dilakukan dengan cara membubuhkan bit khusus ke awal dan akhir frame. Bila secara insidental pola-pola bit ini bisa ditemui pada data, maka diperlukan perhatian khusus untuk menyakinkan bahwa pola tersebut tidak secara salah dianggap sebagai batas-batas frame.

Terjadinya noise pada saluran dapat merusak frame. Dalam hal ini, perangkat lunak data link layer pada mesin sumber dapat mengirim kembali frame yang rusak tersebut. Akan tetapi transmisi frame sama secara berulang-ulang bisa menimbulkan duplikasi frame. Frame duplikat perlu dikirim apabila acknowledgement frame dari penerima yang dikembalikan ke pengirim telah hilang. Tergantung pada layer inilah untuk mengatasi masalah-masalah yang disebabkan rusaknya, hilangnya dan duplikasi frame. Data link layer menyediakan beberapa kelas layanan bagi network layer. Kelas layanan ini dapat dibedakan dalam hal kualitas dan harganya.

Masalah-masalah lainnya yang timbul pada data link layer (dan juga sebagian besar layer-layer di atasnya) adalah mengusahakan kelancaran proses pengiriman data dari pengirim yang cepat ke penerima yang lambat. Mekanisme pengaturan lalu-lintas data harus memungkinkan pengirim mengetahui jumlah ruang buffer yang dimiliki penerima pada suatu saat tertentu. Seringkali pengaturan aliran dan penanganan error ini dilakukan secara terintegrasi.

Saluran yang dapat mengirim data pada kedua arahnya juga bisa menimbulkan masalah. Sehingga dengan demikian perlu dijadikan bahan pertimbangan bagi software data link layer. Masalah yang dapat timbul di sini adalah bahwa frame-frame acknoeledgement yang mengalir dari A ke B bersaing saling mendahului dengan aliran dari B ke A. Penyelesaian yang terbaik (piggy backing) telah bisa digunakan; nanti kita akan membahasnya secara mendalam.

Jaringan broadcast memiliki masalah tambahan pada data link layer. Masalah tersebut adalah dalam hal mengontrol akses ke saluran yang dipakai bersama. Untuk mengatasinya dapat digunakan sublayer khusus data link layer, yang disebut medium access sublayer.

Masalah mengenai data link control akan diuraikan lebih detail lagi pada bab tiga.

2.3.3 Network Layer

Network layer berfungsi untuk pengendalian operasi subnet. Masalah desain yang penting adalah bagaimana caranya menentukan route pengiriman paket dari sumber ke tujuannya. Route dapat didasarkan pada table statik yang “dihubungkan ke” network. Route juga dapat ditentukan pada saat awal percakapan misalnya session terminal. Terakhir, route dapat juga sangat dinamik, dapat berbeda bagi setiap paketnya. Oleh karena itu, route pengiriman sebuah paket tergantung beban jaringan saat itu.

Bila pada saat yang sama dalam sebuah subnet terdapat terlalu banyak paket, maka ada kemungkinan paket-paket tersebut tiba pada saat yang bersamaan. Hal ini dapat menyebabkan terjadinya bottleneck. Pengendalian kemacetan seperti itu juga merupakan tugas network layer.

Karena operator subnet mengharap bayaran yang baik atas tugas pekerjaannya. seringkali terdapat beberapa fungsi accounting yang dibuat pada network layer. Untuk membuat informasi tagihan, setidaknya software mesti menghitung jumlah paket atau karakter atau bit yang dikirimkan oleh setiap pelanggannya. Accounting menjadi lebih rumit, bilamana sebuah paket melintasi batas negara yang memiliki tarip yang berbeda.

Perpindahan paket dari satu jaringan ke jaringan lainnya juga dapat menimbulkan masalah yang tidak sedikit. Cara pengalamatan yang digunakan oleh sebuah jaringan dapat berbeda dengan cara yang dipakai oleh jaringan lainnya. Suatu jaringan mungkin tidak dapat menerima paket sama sekali karena ukuran paket yang terlalu besar. Protokolnyapun bisa berbeda pula, demikian juga dengan yang lainnya. Network layer telah mendapat tugas untuk mengatasi semua masalah seperti ini, sehingga memungkinkan jaringan-jaringan yang berbeda untuk saling terinterkoneksi.

2.3.4 Transport Layer

Fungsi dasar transport layer adalah menerima data dari session layer, memecah data menjadi bagian-bagian yang lebih kecil bila perlu, meneruskan data ke network layer, dan menjamin bahwa semua potongan data tersebut bisa tiba di sisi lainnya dengan benar. Selain itu, semua hal tersebut harus dilaksanakan secara efisien, dan bertujuan dapat melindungi layer-layer bagian atas dari perubahan teknologi hardware yang tidak dapat dihindari.

Dalam keadaan normal, transport layer membuat koneksi jaringan yang berbeda bagi setiap koneksi transport yang diperlukan oleh session layer. Bila koneksi transport memerlukan throughput yang tinggi, maka transport layer dapat membuat koneksi jaringan yang banyak. Transport layer membagi-bagi pengiriman data ke sejumlah jaringan untuk meningkatkan throughput. Di lain pihak, bila pembuatan atau pemeliharaan koneksi jaringan cukup mahal, transport layer dapat menggabungkan beberapa koneksi transport ke koneksi jaringan yang sama. Hal tersebut dilakukan untuk membuat penggabungan ini tidak terlihat oleh session layer.

Transport layer juga menentukan jenis layanan untuk session layer, dan pada gilirannya jenis layanan bagi para pengguna jaringan. Jenis transport layer yang paling populer adalah saluran error-free point to point yang meneruskan pesan atau byte sesuai dengan urutan pengirimannya. Akan tetapi, terdapat pula jenis layanan transport lainnya. Layanan tersebut adalah transport pesan terisolasi yang tidak menjamin urutan pengiriman, dan membroadcast pesan-pesan ke sejumlah tujuan. Jenis layanan ditentukan pada saat koneksi dimulai.

Transport layer merupakan layer end to end sebenarnya, dari sumber ke tujuan. Dengan kata lain, sebuah program pada mesin sumber membawa percakapan dengan program yang sama dengan pada mesin yang dituju. Pada layer-layer bawah, protokol terdapat di antara kedua mesin dan mesin-mesin lain yang berada didekatnya. Protokol tidak terdapat pada mesin sumber terluar atau mesin tujuan terluar, yang mungkin dipisahkan oleh sejumlah router. Perbedaan antara layer 1 sampai 3 yang terjalin, dan layer 4 sampai 7 yang end to end. Hal ini dapat dijelaskan seperti pada gambar 2-1.

Sebagai tambahan bagi penggabungan beberapa aliran pesan ke satu channel, transport layer harus hati-hati dalam menetapkan dan memutuskan koneksi pada jaringan. Proses ini memerlukan mekanisma penamaan, sehingga suatu proses pada sebuah mesin mempunyai cara untuk menerangkan dengan siapa mesin itu ingin bercakap-cakap. Juga harus ada mekanisme untuk mengatur arus informasi, sehingga arus informasi dari host yang cepat tidak membanjiri host yang lambat. Mekanisme seperti itu disebut pengendalian aliran dan memainkan peranan penting pada transport layer (juga pada layer-layer lainnya). Pengendalian aliran antara host dengan host berbeda dengan pengendalian aliran router dengan router. Kita akan mengetahui nanti bahwa prinsip-prinsip yang sama digunakan untuk kedua jenis pengendalian tersebut.

2.3.5 Session Layer

Session layer mengijinkan para pengguna untuk menetapkan session dengan pengguna lainnya. Sebuah session selain memungkinkan transport data biasa, seperti yang dilakukan oleh transport layer, juga menyediakan layanan yang istimewa untuk aplikasi-aplikasi tertentu. Sebuah session digunakan untuk memungkinkan seseorang pengguna log ke remote timesharing system atau untuk memindahkan file dari satu mesin kemesin lainnya.

Sebuah layanan session layer adalah untuk melaksanakan pengendalian dialog. Session dapat memungkinkan lalu lintas bergerak dalam bentuk dua arah pada suatu saat, atau hanya satu arah saja. Jika pada satu saat lalu lintas hanya satu arah saja (analog dengan rel kereta api tunggal), session layer membantu untuk menentukan giliran yang berhak menggunakan saluran pada suatu saat.

Layanan session di atas disebut manajemen token. Untuk sebagian protokol, adalah penting untuk memastikan bahwa kedua pihak yang bersangkutan tidak melakukan operasi pada saat yang sama. Untuk mengatur aktivitas ini, session layer menyediakan token-token yang dapat digilirkan. Hanya pihak yang memegang token yang diijinkan melakukan operasi kritis.

Layanan session lainnya adalah sinkronisasi. Ambil contoh yang dapat terjadi ketika mencoba transfer file yang berdurasi 2 jam dari mesin yang satu ke mesin lainnya dengan kemungkinan mempunyai selang waktu 1 jam antara dua crash yang dapat terjadi. Setelah masing-masing transfer dibatalkan, seluruh transfer mungkin perlu diulangi lagi dari awal, dan mungkin saja mengalami kegagalan lain. Untuk mengurangi kemungkinan terjadinya masalah ini, session layer dapat menyisipkan tanda tertentu ke aliran data. Karena itu bila terjadi crash, hanya data yang berada sesudah tanda tersebut yang akan ditransfer ulang.

2.3.6 Pressentation Layer

Pressentation layer melakukan fungsi-fungsi tertentu yang diminta untuk menjamin penemuan sebuah penyelesaian umum bagi masalah tertentu. Pressentation Layer tidak mengijinkan pengguna untuk menyelesaikan sendiri suatu masalah. Tidak seperti layer-layer di bawahnya yang hanya melakukan pemindahan bit dari satu tempat ke tempat lainnya, presentation layer memperhatikan syntax dan semantik informasi yang dikirimkan.

Satu contoh layanan pressentation adalah encoding data. Kebanyakan pengguna tidak memindahkan string bit biner yang random. Para pengguna saling bertukar data sperti nama orang, tanggal, jumlah uang, dan tagihan. Item-item tersebut dinyatakan dalam bentuk string karakter, bilangan interger, bilangan floating point, struktur data yang dibentuk dari beberapa item yang lebih sederhana. Terdapat perbedaan antara satu komputer dengan komputer lainnya dalam memberi kode untuk menyatakan string karakter (misalnya, ASCII dan Unicode), integer (misalnya komplemen satu dan komplemen dua), dan sebagainya. Untuk memungkinkan dua buah komputer yang memiliki presentation yang berbeda untuk dapat berkomunikasi, struktur data yang akan dipertukarkan dapat dinyatakan dengan cara abstrak, sesuai dengan encoding standard yang akan digunakan “pada saluran”. Presentation layer mengatur data-struktur abstrak ini dan mengkonversi dari representation yang digunakan pada sebuah komputer menjadi representation standard jaringan, dan sebaliknya.

2.3.7 Application Layer

Application layer terdiri dari bermacam-macam protokol. Misalnya terdapat ratusan jenis terminal yang tidak kompatibel di seluruh dunia. Ambil keadaan dimana editor layar penuh yang diharapkan bekerja pada jaringan dengan bermacam-macam terminal, yang masing-masing memiliki layout layar yang berlainan, mempunyai cara urutan penekanan tombol yang berbeda untuk penyisipan dan penghapusan teks, memindahkan sensor dan sebagainya.

Suatu cara untuk mengatasi masalah seperti di ata, adalah dengan menentukan terminal virtual jaringan abstrak, serhingga editor dan program-program lainnya dapat ditulis agar saling bersesuaian. Untuk menangani setiap jenis terminal, satu bagian software harus ditulis untuk memetakan fungsi terminal virtual jaringan ke terminal sebenarnya. Misalnya, saat editor menggerakkan cursor terminal virtual ke sudut layar kiri, software tersebut harus mengeluarkan urutan perintah yang sesuai untuk mencapai cursor tersebut. Seluruh software terminal virtual berada pada application layer.

Fungsi application layer lainnya adalah pemindahan file. Sistem file yang satu dengan yang lainnya memiliki konvensi penamaan yang berbeda, cara menyatakan baris-baris teks yang berbeda, dan sebagainya. Perpindahan file dari sebuah sistem ke sistem lainnya yang berbeda memerlukan penanganan untuk mengatasi adanya ketidak-kompatibelan ini. Tugas tersebut juga merupakan pekerjaan appication layer, seperti pada surat elektronik, remote job entry, directory lookup, dan berbagai fasilitas bertujuan umum dan fasilitas bertujuan khusus lainnya.

2.4 Transmisi Data Pada Model OSI

Proses pengiriman memiliki data yang akan dikirimkan ke proses penerima. Proses pengirim menyerahkan data ke application layer, yang kemudian menambahkan aplication header, AH (yang mungkin juga kosong), ke ujung depannya dan menyerahkan hasilnya ke presentation layer.

Pressentation layer dapat membentuk data ini dalam berbagai cara dan mungkin saja menambahkan sebuah header di ujung depannya, yang diberikan oleh session layer. Penting untuk diingat bahwa presentation layer tidak menyadari tentang bagian data yang mana yang diberi tanda AH oleh application layer yang merupakan data pengguna yang sebenarnya.

Proses pemberian header ini berulang terus sampai data tersebut mencapai physical layer, dimana data akan ditransmisikan ke mesin lainnya. Pada mesin tersebut, semua header tadi dicopoti satu per satu sampai mencapai proses penerimaan.

Yang menjadi kunci di sini adalah bahwa walaupun transmisi data aktual berbentuk vertikal seperti pada gambar 1-17, setiap layer diprogram seolah-olah sebagai transmisi yang bersangkutan berlangsung secara horizontal. Misalnya, saat transport layer pengiriman mendapatkan pesan dari session layer, maka transport layer akan membubuhkan header transport layer dan mengirimkannya ke transport layer penerima.

Rabu, 10 Desember 2008

Tutorial Forex 2

High,Low,Open,Close
  1. High : Rekor Harga tertinggi dari saat pembukaan (open) sampai akhir (closing) periode tertentu. (contoh : pada chart periode / timeframe 5 menit, maka harga tertinggi yang terjadi selama 5 menit itu merupakan harga high)
  2. Low : Rekor Harga terendah dari saat pembukaan (open) sampai akhir (closing) periode tertentu. (contoh : pada chart periode / timeframe daily, maka harga terendah yang terjadi selama hari itu merupakan harga low)
  3. Open : Harga pembukaan periode tertentu. (contoh : pada chart periode / timeframe 5 menit, harga diawali dengan harga 2.0000. Maka harga open pada range 5 menit itu adalah 2.0000)
  4. Close: Harga penutupan periode tertentu. (contoh : pada chart periode / timeframe 5 menit pada contoh di atas di akhiri dengan harga 2.0050. Maka harga close pada range 5 menit adalah 2.0050)
Market Order
Market order berarti trader akan melakukan transaksi pada harga yang berlaku saat itu. Untuk Buy berarti membeli harga "ask" yang berlaku pada saat itu juga, atau untuk Sell berarti menjual pada harga "bid" yang berlaku pada saat itu juga

Misalnya anda akan membeli pair EUR/USD, pasar saat itu menunjukkan 1.2934/1.2938. Ini berarti broker anda mau membeli EUR/USD dari anda pada harga 1.2934 dan menjual ke anda seharga 1.2938.

Stop Order dan Limit Order (Pending Order)
Pending order adalah order otomatis untuk membuka posisi Long / Short hanya bila harga yang anda order / pesan tercapai. Bila harga yang anda order belum tercapai, maka pending order masih akan aktif dan akan menunggu hingga harga yang anda order tersentuh. Pending order dapat dibagi menjadi 2 yaitu Pending Order Stop dan Pending Order Limit.

Bila anda hanya ingin membeli di ATAS harga sekarang, gunakan Stop Order Buy. Dan bila anda hanya ingin menjual di BAWAH harga sekarang, gunakan Stop Order Sell.

Bila anda hanya ingin membeli di BAWAH harga sekarang, gunakan Limit Order Buy. Dan bila anda hanya ingin menjual di ATAS harga sekarang, gunakan Limit Order Sell.

Contoh : Harga ASK sekarang adalah 2.0000 dan anda hanya ingin membeli (LONG) jika harga bergerak ke 2.0050 maka anda dapat menggunakan Stop Order Buy. (Ingat open buy/Long harga yang digunakan adalah harga ASK! )

Contoh : Harga BID sekarang adalah 2.0000 dan anda hanya ingin menjual (SHORT) jika harga bergerak ke 1.9950 maka anda dapat menggunakan Stop Order Sell. (Ingat open sell/Short harga yang digunakan adalah harga BID! )

Contoh : Harga ASK sekarang adalah 2.0000 dan anda hanya ingin membeli (LONG) jika harga bergerak ke 1.9950 maka anda dapat menggunakan Limit Order Buy. (Ingat open buy/Long harga yang digunakan adalah harga ASK! )

Contoh : Harga BID sekarang adalah 2.0000 dan anda hanya ingin menjual (SHORT) jika harga bergerak ke 2.0050 maka anda dapat menggunakan Limit Order Sell. (Ingat open sell/Short harga yang digunakan adalah harga BID! )

Jenis Order Buy (Long) Sell (Short)
Market Membeli pada harga Ask saat itu Menjual pada harga Bid saat itu
Stop Pending Order Membeli di atas harga saat itu (Ask) Menjual di bawah harga saat itu (Bid)
Limit Pending Order Membeli di bawah harga saat itu (Ask) Menjual di atas harga saat itu (Bid)

Masa aktif Pending Order
  1. GTC (Good Till Cancelled)
    Good Till Cancelled berarti pending order akan tetap aktif tanpa ada batas waktu, kecuali trader melakukan cancel secara manual. GTC merupakan default dari Pending Order
  2. GTD (Good Till Date)
    Good Till Date berarti pending order akan tetap aktif hingga batas waktu yang diset
  3. OCO (Order Cancels Other)
    Order Cancels Other berarti trader mengorder 2 pending order sekaligus. Jika salah satu pending order tersentuh, maka otomatis order lainnya akan dibatalkan
Menghitung Profit/Loss (Keuntungan/Kerugian)
Pergerakan harga terkecil dihitung dalam satuan point/pip. Nilai dari setiap point ini bervariasi sesuai jenis pasangan mata uang (pair), jumlah contract size yang digunakan.

Contract size biasanya disebutkan dalam satuan lot, yaitu Standard lot (100.000), Mini lot (10.000), atau Micro lot (1000).

Ada 3 jenis Pasangan Mata Uang (Pair) :
  1. Direct Rates
    Adalah Pair dengan USD sebagai counter currency (USD terletak di belakang), contoh : GBP/USD, EUR/USD, AUD/USD, dan NZD/USD
  2. Indirect Rates
    Adalah Pair dengan USD sebagai base currency (USD terletak di depan), contoh : USD/JPY, USD/CHF, dan USD/CAD
  3. Cross Rates
    Adalah Pair yang tidak mengandung USD, contoh : GBP/JPY, EUR/JPY, AUD/JPY, EUR/GBP, dan GBP/CHF
Untuk mata uang Direct Rates misalnya (GBP/USD, EUR/USD, AUD/USD, dan NZD/USD) cara perhitungan profit/loss adalah sebagai berikut :

(Harga Jual – Harga Beli) x contract size x lot = Perhitungan profit / loss

Contoh :
  1. Buy 3 lot standard EUR/USD 1.2000
    Sell (liquid) 3 lot EUR/USD 1.2010

    Profit = (1.2010 - 1.2000) x 100.000 x 3 = $300

  2. Sell 1 lot standard GBP/USD 2.0001
    Buy (liquid) 1 lot GBP/USD 2.0000

    Profit = (1.2001 - 1.2000) x 100.000 x 1 = $10
Khusus mata uang yang berakhiran /USD, ada cara perhitungan mudah yaitu :
Dari kesimpulan di atas, maka berarti keuntungan 1 point untuk standard lot (100K) mata uang berakhiran /usd profitnya adalah $10. Sedangkan nilai 1 point untuk 1 lot mini (10K) adalah $1 dan untuk micro lot (1K) per point bernilai $0.1

Untuk mata uang Indirect Rates misalnya (USD/JPY, USD/CHF, dan USD/CAD) cara perhitungan profit/loss adalah sebagai berikut :

[ (Harga Jual – Harga Beli) / Harga Likuidasi ] x contract size x lot = Perhitungan profit / loss

Contoh :
  1. Buy 1 lot standard USD/JPY 110.00
    Sell (liquid) 1 lot USD/JPY 110.01

    Profit = [ (110.01 - 110.00) / 110.01 ] x 100.000 x 1 = $9.09

Untuk mata uang Cross Rates misalnya (GBP/JPY, EUR/JPY, AUD/JPY, EUR/GBP,dan GBP/CHF) cara perhitungan profit/loss adalah sebagai berikut :

{[(Harga Jual – Harga Beli) x Rate Base Currency Saat Ini] / Rate Pair Saat Ini} x contract size x lot = Perhitungan profit / loss

Contoh :
  1. Sell 1 lot EUR/GBP pada harga 0.6760 (EUR/USD merupakan base currency dari EUR/GBP, karena bagian depan EUR/GBP adalah Base Currency)
    Buy (Liquid) EUR/GBP pada harga 0.6750
    Rate EUR/USD : 1.1840

    Profit = {[(0.6760 – 0.6750) x 1.1840] / 0.6750} x 100.000 = $175,4

Margin dan Leverage
Istilah leverage (faktor pengungkit, biasanya dalam rasio 1:50, 1:100, 1:250, atau 1:500) dalam forex margin trading berarti jika anda ingin trading sebesar $10.000, anda tak perlu menyediakan $10.000 tapi cukup ,menyediakan margin $100 (leverage 1:100) sebagai dana jaminan kepada broker anda.

Jadi margin dapat diartikan jaminan yang ditahan sementara oleh broker sewaktu anda melakukan trade. Margin akan segera dikembalikan ke account anda setelah anda menutup/liquid posisi yang anda buka.

Misalnya anda memiliki cash $1000 di broker yang memiliki Leverage 1:100. Artinya anda dapat trading dengan jumlah hingga mendekati $100.000 (atau hampir 100X lipat modal anda). Hal ini juga berarti bahwa untuk menggunakan contract size $100.000 anda memerlukan 1% margin yaitu $1000.

Contoh lain : Anda memiliki modal $500 dan broker anda memiliki leverage 1:100, maka bila anda ingin buy menggunakan 1 lot mini (10.000) maka margin yang ditahan adalah sebesar 1% dari jumlah contract sizenya (10.000) yaitu (1% x 10.000) atau menggunakan margin $100.

Artinya modal anda yang akan ditahan sementara dan dijadikan jaminan / margin oleh broker adalah sebesar $100, sisanya $400 digunakan untuk menahan loss anda.
Dan bila suatu saat anda telah melikuidasi posisi tersebut maka margin yang $100 tadi akan dikembalikan kepada anda.

Keuntungan dari leverage adalah dengan modal lebih kecil anda dapat bertrading dengan jumlah contract size / lot yang sama dengan jika anda tak menggunakan Leverage.

Atau dapat dikatakan, dengan modal yang sama besar, Anda dapat menggunakan contract size lebih besar daripada tak menggunakan Leverage. Maka dengan modal sama, anda memiliki peluang mendapatkan profit per pip yang lebih besar.

Dengan Leverage atau Tanpa Leverage ?

Leverage Kebutuhan Margin Margin Yang Digunakan Contract Size Profit
1:1 (tanpa leverage) 100 % $1,000 $1000 $0.1/pip
1:100 1 % $10 $1000 $0.1/pip


Leverage Besar atau Kecil ?

Leverage Kebutuhan Margin Margin Yang Digunakan Contract Size Profit
1:100 1 % $1,000 $100,000 $10/pip
1:200 0.5 % $1,000 $200,000 $20/pip
1:500 0.2 % $1,000 $500,000 $50/pip


Cara Perhitungan Margin

Ada 3 jenis Pasangan Mata Uang (Pair) :
  1. Direct Rates
    Adalah Pair dengan USD sebagai counter currency (USD terletak di belakang), contoh : GBP/USD, EUR/USD, AUD/USD, dan NZD/USD
  2. Indirect Rates
    Adalah Pair dengan USD sebagai base currency (USD terletak di depan), contoh : USD/JPY, USD/CHF, dan USD/CAD
  3. Cross Rates
    Adalah Pair yang tidak mengandung USD, contoh : GBP/JPY, EUR/JPY, AUD/JPY, EUR/GBP, dan GBP/CHF
Cara Perhitungan Margin Direct Rates (GBP/USD, EUR/USD, AUD/USD, dan NZD/USD):

Persentase Margin x Contract Size x Lot x Harga Sekarang = Margin

Contoh :
  1. Sell 3 mini lot GBP/USD pada harga Bid 2.0000 (Ingat open Sell menggunakan harga bid!)
    0.01 x 10.000 x 3 x 2.0000 = $600 (Leverage 1:100)
    0.002 x 10.000 x 3 x 2.0000 = $120 (Leverage 1:500) -> Kebutuhan margin lebih sedikit daripada 1:100!
Cara Perhitungan Margin Indirect Rates (USD/JPY, USD/CHF, dan USD/CAD):

Persentase Margin x Contract Size x Lot = Margin

Contoh :
  1. Buy 2 mini lot USD/JPY pada harga Ask 110.00 (Ingat open Buy menggunakan harga ask!)
    0.01 x 10.000 x 2 = $200 (Leverage 1:100)
    0.002 x 10.000 x 2 = $40 (Leverage 1:500) -> Kebutuhan margin lebih sedikit daripada 1:100!
Cara Perhitungan Margin Cross Rates (GBP/JPY, EUR/JPY, AUD/JPY, EUR/GBP, dan GBP/CHF):

Persentase Margin x Contract Size x Lot x Harga Tengah(*) Sekarang = Margin

Harga Tengah(*) = (Harga Bid + Harga Ask ) / 2

(Jangan lupa Base Currency merupakan Currency dasar yang terletak di depan pair. Misalnya pair EUR/GBP -> EUR merupakan BASE Currency, GBP merupakan QUOTE Currency)

Contoh :
  1. Buy 1 mini lot EUR/GBP pada harga Ask 0.8020 (Ingat open Buy menggunakan harga ask!)
    Harga Bid/Ask EUR/USD 1.5800/02 (karena Base Currency adalah EUR, maka harga yang dipakai adalah harga EUR/USD)

    Harga tengah EUR/USD = (1.5800 + 1.5802) / 2 = 1.5801

    0.01 x 10.000 x 1 x 1.5801 = $158.01 (Leverage 1:100)
    0.002 x 10.000 x 1 x 1.5801 = $31.60 (Leverage 1:500) -> Kebutuhan margin lebih sedikit daripada 1:100!
Dari contoh di atas tampak bahwa dengan menggunakan Leverage yang lebih besar, margin / modal yang dibutuhkan untuk jaminan adalah lebih sedikit

Fungsi Leverage Terhadap Ketahanan Margin

Sebagai contoh deposit modal awal anda sebesar $300. Jika anda membuka 1 posisi trading mini lot (10000) membutuhkan margin : 10000 (mini lot) x 0.002 (leverage 1:500) = $20. Maka modal yang ditahan sementara sebagai jaminan (margin) untuk membuka 1 mini lot gbp/usd adalah $20. Jadi sisa margin anda untuk menahan loss adalah : $300 - $20 = $280.

Profit dari mata uang gbp/usd untuk mini lot (10000) adalah $1 per point(pip). Maka dengan contoh di atas (margin yang tersisa adalah $280) dapat dihitung kekuatan anda untuk menahan loss adalah $280 (margin yang tersisa) dibagi dengan profit per point(pip) = 1 yaitu : 280 / 1 = 280 point. Jadi kekuatan untuk menahan loss maksimal (sebelum terjadi margin call) adalah 280 point dengan asumsi mata uang yang anda gunakan adalah gbp/usd dengan profit $1/point.

Bandingkan dengan leverage 1:100 yang berarti anda harus menyediakan modal margin sebesar 10000 x 0.01, yaitu : $100 untuk membuka 1 posisi mini lot (10000) mata uang gbp/usd. Margin yang tersisa untuk menahan loss adalah 300 - 100 = 200. Profit per point gbp/usd mini lot adalah $1. Sehingga kekuatan anda untuk menahan loss adalah 200 / 1 = 200 point saja.

Kesimpulannya : Leverage berfungsi melipatgandakan nilai profit anda dengan modal awal yang relatif kecil, sekaligus meningkatkan kekuatan anda menahan loss.

Target Profit, Stop Loss, dan Trailing Stop
Target profit adalah order untuk melikuidasi suatu posisi secara otomatis pada harga tertentu ketika trader telah memperoleh sejumlah profit.
  • Bila anda Open Buy/Long maka target terletak di ATAS harga anda membuka posisi Open Buy/Long.
    (Ingat ! Open Buy/Long menggunakan harga ASK sedangkan Target maupun Stop Loss berdasarkan harga BID)

    Contoh : Buy EUR/USD 1.2000, Target Profit 1.2050 (untuk target 50 point profit)

  • Bila anda Open Sell/Short maka target terletak di BAWAH harga anda membuka posisi Open Sell/Short.
    (Ingat ! Open Sell/Short menggunakan harga BID sedangkan Target maupun Stop Loss berdasarkan harga ASK)

    Contoh : Sell EUR/USD 1.2050, Target Profit 1.2000 (untuk target 50 point profit)
Stop Loss adalah order untuk melikuidasi suatu posisi secara otomatis pada harga tertentu untuk membatasi kerugian yang mungkin terjadi jika market bergerak berlawanan dengan posisi trader.
  • Bila anda Open Buy/Long maka stop loss terletak di BAWAH harga anda membuka posisi Open Buy/Long.
    (Ingat ! Open Buy/Long menggunakan harga ASK sedangkan Target maupun Stop Loss berdasarkan harga BID)

    Contoh : Buy EUR/USD 1.2050, Stop Loss 1.2000 (untuk stop loss 50 point loss)

  • Bila anda Open Sell/Short maka stop loss terletak di ATAS harga anda membuka posisi Open Sell/Short.
    (Ingat ! Open Sell/Short menggunakan harga BID sedangkan Target maupun Stop Loss berdasarkan harga ASK)

    Contoh : Sell EUR/USD 1.2000, Stop Loss 1.2050 (untuk stop loss 50 point loss)
Stop Loss dapat juga berfungsi untuk melindungi profit yang telah anda dapatkan (lock profit). Caranya yaitu dengan mengubah posisi stop loss ke atas (untuk Buy) atau ke bawah (untuk Sell).

Contoh :
Seorang trader melakukan Open Buy pada posisi 2.0000, TP (Take Profit) pada level 2.0050, SL (Stop Loss) pada level 1.9970. Setelah beberapa saat, harga telah bergerak ke arah yang diharapkan (naik) pada posisi 2.0040. Dalam hal ini trader tersebut berada pada posisi floating profit (posisi open dan dalam keadaan profit) sebesar 40 point. Untuk melindungi profit sebanyak 20 points, trader tersebut dapat memindah stop loss pada harga open + 20 point, yaitu 2.0020. Mengapa 20 point ? Syaratnya adalah profit yang ingin anda lock, harus lebih kecil dari floating profit saat ini (20 < 40 point). Bila kemudian floating profit bergerak menjadi 60 point, trader tersebut dapat menaikkan lagi stop loss ke posisi 2.0040 untuk lock profit sebesar 40 point, dan seterusnya. Hal inilah yang menjadi dasar dari trailing stop.

Setelah menginput Take Profit dan Stop Loss, maka data tersebut akan tersimpan pada server Broker Forex. Jadi anda tak perlu khawatir dan bisa setiap saat mematikan komputer / memutus koneksi internet. Take Profit dan Stop Loss akan tetap berfungsi TANPA harus menyalakan komputer dan terhubung dengan broker forex via internet

Posisi Target Profit Stop Loss
Buy (Long) Lebih Tinggi dari Harga Open (berdasarkan harga bid) Lebih Rendah dari Harga Open (berdasarkan harga bid)
Sell (Short) Lebih Rendah dari Harga Open (berdasarkan harga ask) Lebih Tinggi dari Harga Open (berdasarkan harga ask)

Trailing Stop adalah fasilitas yang disediakan oleh broker forex yang dapat mengubah stop loss untuk mengunci profit secara otomatis dalam kelipatan jumlah tertentu. Trailing Stop merupakan pengembangan dari stop loss.

Trailing Stop umumnya hanya akan berfungsi bila posisi trader TELAH PROFIT LEBIH DARI NILAI MINIMUM TERTENTU yang telah ditentukan broker (misalnya minimum 15 point). (PENTING: Umumnya trailing stop berjalan secara lokal pada komputer anda, bukan pada server broker! Bila komputer anda mati, trailing stop juga menjadi tak aktif)

Jadi bila anda belum profit lebih dari jumlah minimum trailing stop yang anda set, berarti posisi anda masih BERBAHAYA (kecuali anda telah menggunakan stop loss). Jadi sebaiknya anda set stop loss dahulu, kemudian bila perlu dapat ditambahkan fitur trailing stop sebagai pelengkap. Dengan menggunakan fitur ini anda akan terhindar dari loss jika profit anda telah melebihi batas minimum trailing stop.

Contoh :
Buy EUR/USD 1.2050, Stop Loss 1.2000, Trailing Stop 15 point.
Bila harga BID sekarang telah berada pada 1.2070 (telah profit 20 point) maka trailing stop akan mengubah stop loss ke harga 1.2055 (20 point profit dikurangi 15 point, yaitu profit +5 point). Artinya profit anda telah dilock 5 point (pada posisi stop loss baru yang berada pada 1.2055).

Point A : Dan bila harga ternyata bergerak turun ke 1.2055 maka otomatis akan terlikudasi pada profit 5 point. Artinya anda sudah tak mungkin loss lagi karena telah dilock.

Tetapi bila harga tidak turun (sesuai point A) melainkan harga terus naik dari 1.2050 ke 1.2095 (telah profit 45 point) maka trailing stop akan mengubah stop loss ke harga 1.2080 (45 point profit dikurangi 15 point, yaitu profit +30 point). Artinya profit anda telah dilock 30 point (pada posisi stop loss baru yang berada pada 1.2080).

Margin Call
Margin call berarti likuidasi secara "paksa" yang dilakukan oleh broker karena account anda tak memiliki dana yang cukup untuk mengcover/menutupi posisi anda yang merugi.

Dasar untuk menentukan Margin Call biasanya ada 2 (bergantung peraturan setiap broker):
  1. Margin Level
    Sistem margin level digunakan pada platform MetaTrader. (Silahkan melakukan order dengan demo account agar anda lebih memahami perhitungan margin pada platform MetaTrader)

    Rumus perhitungan margin level adalah :

    Margin Level = Equity / Margin yang digunakan

    Equity = Margin + Free Margin + Profit - Loss

    Balance = Modal aktual saat ini (belum dikurangi profit & loss)

    Equity merupakan Balance anda setelah ditambah/dikurangi profit & loss

    Pada saat semua posisi clear (tak ada open), maka Balance = Equity. Karena Margin yang digunakan=0, Profit/Loss=0, sehingga Free Margin menjadi sama dengan Balance. (Lihat rumus Equity di atas!). Free Margin merupakan dana yang bisa anda withdraw bila ada posisi open (sisakan dana free margin secukupnya untuk menahan loss dan mencegah Margin Call)

    Misalnya broker menentukan Margin Call terjadi jika Margin Level 5% (contoh : FCMarket.com), maka bila "Margin yang digunakan" x 5% = Equity, margin call akan terjadi. (satu per satu posisi open akan ditutup otomatis oleh broker hingga dana trader cukup untuk mengcover loss).

    Pada platform MetaTrader, seorang trader tak perlu menghitung Margin Level secara manual, karena bila ada open posisi otomatis Margin Level akan nampak pada Tab “Trade” dalam satuan persen (%). Yang perlu trader lakukan adalah menjaga agar Margin Level tidak mendekati batas Margin Call broker. (misalnya 5%)

  2. Modal awal – Margin – Loss = 0
    Ada juga broker yang menentukan margin call bila Modal awal – Margin yang digunakan – Loss total = 0. (Hal ini juga dapat anda bayangkan bahwa broker tersebut menggunakan Margin Level 100% bila menggunakan cara perhitungan MetaTrader)

    Deposit modal awal sebesar $300. Jika seorang trader membuka 1 posisi trading GBP/USD mini lot (10000) membutuhkan margin : 10000 (mini lot) x 0.002 (leverage 1:500) x 2.0000 = $40. Maka modal yang ditahan sementara sebagai jaminan (margin) untuk membuka 1 mini lot gbp/usd adalah $40. Jadi sisa margin trader tersebut untuk menahan loss adalah : $300 - $40 = $260

    Bila floating loss (rugi) anda mencapai $260 maka tak ada margin / dana tersisa untuk menahan loss, sehingga satu per satu posisi anda akan ditutup otomatis oleh broker. Kemudian margin $40 yang dilock sementara sebagai jaminan untuk open 1 posisi GBP/USD tersebut, akan kembali masuk ke account anda setelah posisi tersebut clear / close sehingga margin anda tersisa $40 saja).
Perhitungan Interest / Swap / Rollover / Bunga Menginap
Interest / Swap / Rollover / Bunga Menginap merupakan bunga yang didapat atau harus dibayar trader jika ada posisi open melebihi 1 hari trading. Batas 1 hari trading adalah jika posisi tersebut tidak ditutup hingga waktu penutupan Pasar Forex dunia, yaitu pada saat closing Pasar New York pada pukul 17.00 (waktu New York).

Untuk mengkonversi waktu New York ke waktu local anda, silahkan masuk ke : http://www.timeanddate.com/worldclock/timezone.html?n=179

Ketika melakukan trading forex, hari aktual yang digunakan adalah 2 hari ke depan. Contoh : Trading pada hari Kamis maka hari aktualnya adalah Senin (bunga dihitung 1 hari). Trading pada hari Jumat maka hari aktualnya adalah Selasa (bunga dihitung 1 hari), dan seterusnya. Sedangkan khusus untuk hari Rabu, hari aktualnya adalah 3 hari, yaitu Jumat, Sabtu, dan Minggu. (bunga dihitung 3 hari). Meskipun hari Sabtu dan Minggu pasar forex tutup, bunga dihitung 3 hari sebagai kompensasi libur trading.

Pada perhitungan bunga : Trader akan mendapatkan bunga positif jika mata uang yang dibeli memiliki suku bunga lebih besar daripada yang dipinjam

Contoh :
Pair USD/JPY. Suku Bunga USD = 5.25% , Suku Bunga JPY = 0.5%
Buy USD/JPY artinya trader membeli USD dengan cara meminjam JPY. Karena suku bunga mata uang yang dibeli (USD) lebih besar dari yang dipinjam (JPY), maka trader akan mendapatkan bunga sebesar : 5.25% - 0.5% = 4.75% Bila trader melakukan Sell USD/JPY (berarti meminjam USD dan membeli JPY), maka akan dikenakan charge sebesar : -5.25% + 0.5% = -4.75%

Contoh 2 :
Pair EUR/USD. Suku Bunga EUR= 3.75%, Suku Bunga USD = 5.25%
Buy EUR/USD artinya trader membeli EUR dengan cara meminjam USD. Karena suku bunga mata uang yang dibeli (EUR) lebih kecil dari yang dipinjam (USD), maka trader akan dikenakan charge sebesar : 3.75% - 5.25% = -1.5% Bila trader melakukan Sell EUR/USD (berarti membeli USD dan meminjam EUR), maka akan mendapatkan bunga sebesar : -3.75% + 5.25% = 1.5%

Setiap Broker forex umumnya menyediakan list suku bunga (per hari) untuk setiap pair yang digunakan. List tersebut biasanya mencantumkan bunga yang dikenakan untuk posis Buy dan Sell. (bisa dalam $ atau dalam point). Jika dalam point maka trader harus mengconvert dulu menjadi dollar dengan cara menghitung nilai per point pair yang bersangkutan.

Teknik Hedging
Hedging adalah suatu keadaan dimana kita membuka 2 posisi berlawanan dengan mata uang dan jumlah lot yang sama. Seringkali hedging dipergunakan jika harga berbalik arah dan trader tak ingin kerugian bertambah besar tanpa cut loss (menutup posisi tersebut meskipun rugi). Pada umumnya, mereka menggunakan teknik ini tanpa stop loss. Istilah lain dari hedging adalah locking.

Contoh : Seorang trader open Buy EUR/USD 1 lot lalu harga bergerak tak sesuai harapan (turun) dan posisi masih floating loss (rugi mengambang) 20 point, trader tersebut dapat melakukan open Sell EUR/USD 1 lot pada mata uang yang sama sehingga kerugian tersebut dilock hanya 20 point. Meskipun harga bergerak ke arah manapun, floating loss tetap 20 point

Teknik Average
Averaging adalah salah satu cara untuk meminimalkan kekalahan dengan cara membuka posisi sejenis pada level yang berbeda. Tujuan dari averaging ini adalah menggunakan rata-rata dari perbedaan level harga yang diorder untuk meminimalkan loss.

Contoh : Seorang trader open Buy EUR/USD 1 lot pada harga 2.0100, tetapi harga bergerak turun ke level 2.0000 sehingga mengalami floating loss -100 point. Trader tersebut dapat melakukan averaging dengan cara membuka posisi Buy EUR/USD 1 lot pada harga 2.0000 saat itu juga. Hal ini berarti ada 2 open posisi. Posisi pertama floating loss -100 point. Posisi kedua 0 point. (asumsi tanpa memperhitungkan spread).

Bila kemudian harga bergerak naik menuju 2.0050 maka posisi pertama floating loss -50 point, posisi kedua profit 50 point. Secara total kedua posisi tersebut impas (BEP). Ketika harga bergerak naik di atas level 2.0050. Maka berarti trader tersebut telah profit.