26
Kata Pengantar Puji syukur penyusun panjatkan ke hadirat Allah Subhanahu wata΄ala, karena berkat rahmat-Nya penulis bisa menyelesaikan makalah yang berjudul Media transmisi melalui listrik. Makalah ini diajukan guna memenuhi tugas mata kuliah Jaringan Internet. Penulis mengucapkan terima kasih kepada pihak yang telah membantu sehingga makalah ini dapat diselesaikan tepat pada waktunya. Makalah ini masih jauh dari sempurna, oleh karena itu, kritik dan saran yang bersifat membangun sangat kami harapkan demi sempurnanya makalah ini. Semoga makalah ini memberikan informasi bagi masyarakat dan bermanfaat untuk pengembangan wawasan dan peningkatan ilmu pengetahuan bagi kita semua. Makassar, Maret 2012 Penulis

System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Kata Pengantar

Puji syukur penyusun panjatkan ke hadirat Allah Subhanahu wata΄ala, karena berkat rahmat-Nya penulis bisa menyelesaikan makalah yang berjudul Media transmisi melalui listrik. Makalah ini diajukan guna memenuhi tugas mata kuliah Jaringan Internet.

Penulis mengucapkan terima kasih kepada pihak yang telah membantu sehingga makalah ini dapat diselesaikan tepat pada waktunya. Makalah ini masih jauh dari sempurna, oleh karena itu, kritik dan saran yang bersifat membangun sangat kami harapkan demi sempurnanya makalah ini. 

Semoga makalah ini memberikan informasi bagi masyarakat dan bermanfaat untuk pengembangan wawasan dan peningkatan ilmu pengetahuan bagi kita semua.

Makassar, Maret 2012

Penulis

Daftar Isi

Kata Pengantar

Page 2: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Daftar IsiPemprograman Sistem Terdistribusi

1. Perkembangan teknik pemprogaman1.1 istilah-istilah dasar1.2 pemecahan masalah1.3 teknik pemprograman

1.3.1 pemprograman terstruktur1.3.2 pemprograman modular1.3.3 pemprograman berorientasi objek

1.4 teknik pemodelan 2. peprograman internet

2.1 apa itu socket?2.2 Tipe socket2.3 Windows socket (winsock)2.4 Pemprograman winsock

2.4.1 properti2.4.2 metode2.4.3 event

2.5 latihan pemprograman winsock2.5.1 aplikasi client2.5.2program server

Pemrograman Sistem Terdistribusi1 Perkembangan Teknik Pemrograman

Dewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan mulai membangun aplikasi-aplikasi bisnis berbasis system jaringan Client Server untuk memberi layanan dan respons yang cepat kepada konsumen. Peningkatan penggunaan sistem Client Server telah mendorong pengembangan teknik-teknik pemrograman untuk menciptakan aplikasi-aplikasi Client server tersebut.

1.1 lstilah-lstilah Dasar

Page 3: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Dewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan mulai membangun aplikasi-aplikasi bisnis berbasis sistem jaringan Client Server untuk memberi layanan dan respon yang cepat kepada konsumen. Peningkatan penggunaan sistem Client servertelah mendorong pengembangan teknik-teknik pemrograman untuk menciptakan aplikasi-aplikasi Client Server tersebut.

Sebelum mempelajari pemrograman lebih lanjut, ada beberapa istilah mendasar (Sutedjo, 2002, hal. 1) yang perlu dipahami lebih dahulu yaitu:

a. Program adalah kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh computer.

b. Bahasa pemrograman merupakan prosedur/tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting, yaitu sintaks dan semantik. Sintaks adalah aturan-atwan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan sedangkan semantic adalah afuran-aturan untuk menyatakan suatu arti. Selain itu, bahasa pemrograman memiliki beberapa elemen dasar, yaitu data, variabel, ekspresi dan fungsi (Nugroho,2000, hal25).

c. Pemrograman merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.

1.2 Pemecahan Masalah

Program merupakan suatu bentuk pemecahan masalah yang sudah diterjemahkan dalam bahasa pemrograman. Jadi sebelum menyusun suatu program, seorang programer harus terlebih dahulu memahami permasalahan, merumuskannya dan membatasi permasalahan yg akandipecahkan.

Setelah masalahnya dipahami dengan baik, seorang programmer tentu membutuhkan suatu teknik untuk memecahkan masalah tersebut, antara lain teknik Top-Down dan teknik Bottom-up (sutedjo,2002,hal. 5).

a. Teknik Top-Down merupakan teknik pemecahan masalah yang paling umum digunakan, di mana suatu masalah yang kompleks

Page 4: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

dibagi-bagi ke dalam beberapa tingkatan kelompok masalah hingga sub bagian yang paling kecil. Setelah itu, mulai disusun langkah-langkah untui menyelesaikannya secara detail.

b. Teknik Bottom-up merupakan teknik pemecahan masalah yang mulai ditinggalkan karena sulit untuk melakukan standardisasi proses dari prosedur-prosedur yang sudah ada untuk digabungkan menjadi satu kesatuan.

setelah itu,programer harus menemukan langkah-langkah pemecahan masalah yang dikenal dengan istilah algoritma

Kemudian, langkah-langkah pemecahan masalah disusun secara sistematis dan mendetail yang istilahkan algoritma yang berasal dari kata algoris dan ritmis; Yang pertama kali oleh Abu Ja’far Mohammed Ibn Musa al Khowarizmi (852 M) dalam buku Al-Jabr Waal Muqabla. Selanjutnya ALGORITMA di defenisikan suatu metode khusus yg tepat dan terdiri dari serangkaian langkah yang terstruktur yang di tuliskan secara sistematis yang akan di kerjakan untuk menyelesaikan suatu masalah dengan bantuan computer (Sutedjo, 2002, hal. 5).

Proses dari masalah hingga terbentuk suatu algoritma disebut tahap pemecahan masalah , sedangkan tahap dari algoritma hingga terbentuk suatu solusi disebut tahap Implemantasi. Solusi yang di maksud adalah suatu program yang merupakan implementasi dari algoritma yang di susun.

1.3. Teknik PemrogramanUntuk menyusun suatu program, secara evolusi para ahli

pemrograman telah menciptakan teknik-teknik pemrograman yang dikembangkan untuk menjiwab tantangan di rnana kasus-kasus pemrograman makin lama makin kompleks dan luas. Oleh karena itu, dengan menggunakan teknik-teknik tersebut, para programer akan semakiir dimudahkan walaupun program yang harus dihasilkannya sangat kompleks.

1.3.1. Pemrograman terstrukturKonsep teknik pemrogranum terstruktur memegang peranpenting

dalam merancang menyusun, memelihara dan mengembangkan suatu program, khususnya program aplikasi yang besar dan kompleks. Konsep ini diungkapkan'pertama kali pada tahun 1960-an oleh Profesor Edsger Djikstra dari Universitas Eindhoven. Profesor Djikstra mengungkapkan bahaya dari penggunaan instruksi peralihan proses tanpa syarat tertentu (GOTO) dalam pembuatan segala bentuk pemrograman karena akan menjadikan proglam tidak terstn-rktur dengan baik. Oleh sebab itu,. mulailah dikembangkan teknik pemrograman terstruktur. Penerapan teknik ini tidaksemata-mata

Page 5: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

untuk menghindari penggunaan instruksi GOTO, tetaPi juga menciptakan program yang terstruktur dan sistematis. Pemrograman terstruktur merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk Program yang memiliki rancang bangun yang terstruktur dan tidak berbelit-belit sehingga mudah ditelusuri dipahami dan dikembangkan oleh siapa saja (Sutedjo,2002,ha1. 2).Teknik pemrograman terstruktur ini memiliki ciri-ciri atau karakteristik sebagai berikut:

a. Mengandung algoritma pemecahan masalah yang tepat, bena4 sederhana, standar dan efektif .

b. Memiliki struktur logika dan struktur Program yang benar dan yang dipahami, serta menghindari penggunaan instruksi GOTO.

c. Membutuhkan biaya testing,pemeliharaan dan pengembangan yang rendah.

d. memiliki dokumentasi yang baik.

1.3.2. Pemrograman ModularPada teknik top down;masarah yang besar dan kompleks dibagi-bagi

dalam beberapa kelompok masalah yang lebih kecil. Kelompok masalah yangkecil itu disebut moduldan teknik pemrograman terstrukturnyadigunakan untuk mengimplementasikannya dalam pemecahan masalah pada kelompok masalah yang kecii tersebut dikenal dengansebutan teknik pemrograman modular. Namun setelah masing masing modul disusun maka harus dibuat suatu sistem untuk mengintegrasikannya sehingga menjadi satu kesatuan program lengkap. Dengan metode ini, di mana suatu masalah dibagi menjadi beberapa modul maka masalah tersebut akan menjadi lebih sederhanasehingga program dapat lebih mudah disusun dan dipahami.Modul program adalah kumpulan instruksi yang memiliki operasi operasi dan data didefenisikan; memiliki struktur internal yang tidak tergantung pada subprogram yang lain, dan merupakan suatu kesatuan yang utuh yang akan dieksekusi secara berulang-ulang untuk menyesuaikan program modular dapat digunakan konsep prosedur ataupun subrutin.Ada tiga macam struktur penting dalam pemrograman modular yang masih dipakai dalam pemrograman berorientasi objek :

a. Sekuensial (berurutan), di mana setiap fungsi atau perint diruliskan dan dikerjakan secara berurutan. pemrograman ini adalah struktur yang paling tua dalam pemrograman modular. Ketika mesin penghitung pertama kali dikeluarkan maka proses pemasukan perintah dengan masukan-masukan yang tentu saja diproses berdasarkan miliki struktur logika dan struktur Program yangurutan masukan Yang diberikan.

b. Kondisional, di mana suatu fungsi atau perintah dikerjakan hanya apabila suatu kondisi terpenuhi. Struktur pemrograman kondisional ini sangat memperkaya Pemrograman sekuensial.

c. c.Perulangan,dimana suatufungsiatauperintahakandikerjakan beberapa kali. Teknik inl berawal dari teknik loncatan program JUMP untuk

Page 6: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

berpindah ke suafu instruksi terbentuk yang digabungkan dengan teknik pemrograman kondisional.

1.3.3 Pemrograman Berorientasi ObjekPemrograman berorientasi objek diciptakan suPaya konsep yang ada di

dunia nyata dapat diterapkan dalam pemrograman.Di dalam pemrograman berorientasi obiek, komponen-komponen dalam program disebut sebagai sebuah objek, yaitu sesuatuyang memiliki sifat,kerja dan respons terhadap kesadaran (event). Objek tersebut disusun dari sekumpulan data,prosedur dan fungsi yang dibungkus rnenjadi satu. Berbeda dengan konseP pemrograman konvensional di mana prosedur, fungsi dan data tersebar di manamana. Dalam pemrograman berbasis objek ada beberapa konsep yang perlu untukdipahami, yaitu encapsulation, inheritance dan polymorphism yang membedakannya dengan konsep pemrograman modular.

a. Encapsulation(pengkapsulan)Seperti kapsul obat yang terdiri dari beberapa zatkimia yang berlainan

dan dikumpulkan menjadi satu dalam wadah sebuah pemrograman berbasis obje( prosedur-prosedur yangfungsi- fungsi dikumpulkan menjadi satu didalam wadah sebuah objek. Tidak seperti pemrograman konvensional di mana data, prosedur dan fungsinya tersebar di mana-mana. Dengan adanya pengkapsulan maka muncul konsep information hiding (penyembunyian informasi), tidak setiap sifat atau kerja milik sebuah objek dapat diakses dari luar objek tersebut. Pengguna hanya dapat mengakses objek tersebut dengan menggunakan antarmuka yang sudah didefinisikan oleh ob]ek tersebut. Sebagai contoh adalah bank. Sebagai seorang nasabah, mereka hanya tahu bahwa mereka dapat membuka rekening, menabung dan menarik uang melalui loket yang tersedia, tetapi tanpa perlu tahu proses dibaliknya. Inilah yang disebut penyembunyian informasi. Contoh lainnya adalah sebuah chip atau IC, seseorang yang ingin membuat perangkat elektronik menggunakan chip tersebut tidak periu membongkamya untuk mempelajari isi chip tersebut, melainkan cukup dengan mengakses chip tersebut melalui kaki-kakinya.

b. Inheritance (Pewarisan Sifat)Inheritance dapat diterjemahkan sebagai pewarisan sifat. Konsep ini

dapat dijeiaskan dengan analogi ilmu taksonomi. Ilmu ini mempelajari golongan-golongan hidup tertentu, misalnya-dalam kategori serangga, ada dua buah golongan utama, yaitu seranggabersayap kelihatan dan serangga dengan sayap yang tidak terlihat atau tidak bersayap. Dalam kategori serangga bersayap, ada nyamuk, lalat dan sebagainya, tiap kategori memiliki subkategori sehingga membentuk sebuah pohon di mana makin ke bawah, penggolongannya akan semakin spesifik lagi. Setiap serangga yang ada di bawah akan mewarisi sifat dari kategori di atasnya. Demikian juga di dalam pemrograman berbasis objek, setiap objek yangdibuat dapat dan

Page 7: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

memang akan diturunkan menjadi Objek lainnya yang lebih mendetail. Setiap objek akan mewarisi sifat-sifat ataukemampuan dari objek yang ada di atasnya. Misalnya sebuah objek titik, memiliki data berupa koordinatnyadan memiliki sebuah operasi untuk memindahkan posisi titik tersebut. Ketika objek tersebut diturunkan menjadi objek segi empat maka objek segi empat tersebut juga memiliki data koordinat dan memiliki operasi untuk memindahkan posisi objek segi empat tersebut.

c. Polymorphism (Keanekaragaman Bentuk)Dalam pemrograman konvensional, untuk dapat mengerjakan dua hal

yang berbeda, kita harus membuat dua buah fungsi yang berbeda dengan nama yang berbeda pula. Namun dalam pemrograman berorientasi objek, operasi yang berbeda dapat dipanggil dengan nama yang sama, penentuan operaslmana yang akan dijalankan didasarkan pada parameter yang disertakan. Ada dua sifat utama dafi polymorphism, yaitu: overloading, dimana kemampuan penulisan kerja (method) dalam suatu kelas untuk dituliskan dengan nama yang sama, narnun dengan parameter dan fungsi yang berbeda, sehingga terjadi kemudahan mengingat dan mengendalikan program dengan adanya kesamaan nama tersebut. Kedua, overridding, yaitu kemampuan penimpaan suatu kerja (method) dari suatu kelasyang diturunkan ke kelas lain. seperti diketahui, ketika suatukelas diturunkan ke kelas lainnya, kelas turunannya otomatisakan memiliki kerja yang dimililiki oleh kelas "orangtua"nya.Kerja yang diturunkan ini dapat ditulis kembali atau diubah isinya pada kelas yang baru dengan kerja yang sama. konsep objek sudah digunakan dalam kehidupan sehari-hari. Misalnya ketika seorang supir akan menyetir mobil, ia tidak perlu tahu bagaimanacara mesin mobil bekerja. Ia hanya perlu tahu bagaimana cara membuat mobil tersebut berjalan. Itu adalah konsep encapsulation. Kemudian, sewaktu ia membuat mobil tersebut menjadi mobil balap denganmenambahkan mesin balap dan asesoris balap lainnya, itu adalah konsep inheritance. Kemampuan mobil untuk berbelok tergantung pada parameter kanan atau kiri yang dimasukkan merupakan konsep

d. polymorphism.Pemrograman berbasis objek memiliki konsep yang berbeda dengan

pemrograman konvensional. Memang pada wakfu proses mendesainobjek tenaga dan waktu yang dikeluarkan akan lebih besar daripadamembuat program dengan metode konvensional tetapi dalam pengembangannya, program yang ditulis dengan metode pemrograman berorientasi objek akan sangat mudah untuk dikembangkan dan digunakan kembali.

1.4. Teknik PemodelanPada tahun !990-an, berbagai macam teknik untuk melakukan analisis

dan perancangan sistem berorientasi objek dikembangkan dan digunakan secara luas di seluruh industi TI. Di antaranya yang paling terkenal adalah Unified Modeling Language(UML)1yang dikembangkan oleh Grady Booch, Ivar Jacobson, James Rumbaugh (Kendall,2003, hal 430).

Page 8: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Sebenarnya UMLinimerupakan kolaborasidaritiga metode yaitu metode Booch yang diciiptakan oleh Grady Booch, Obiect Oriented Softrware yang diciptakan oleh Ivar Jacobson dan obiect Model Techniqueyang diciptakan oleh ]ames Rumbaugh. Terdapat tiga macam model utama dari sistem pembentukan model DariUML, Yaitu:

a. Model Fungsi yang menuniukkan fungsi suatu sistem dari sudut pandang pengguna, di mana termasuk di dalamnya adalah diagram use case.

b. Model Objek yang menunjukkan struktur dan substruktur suatu sistem dengan menggunakan obiek, atribut operasi dan asosiasi, termasuk di dalamnya adalah diagram kelas.

c. Model Dinamik yang menunjukkan perilaku intemal,suatu sistem, termasuk di dalamnya Diagram Sekuensial, Diagram Aktifitlmdan statechart Diaggram.

2 Pemrograman Internet

Pemrograman internet adalah proses mengimplementasikan algoritma dengan menggunakan bahasa pemrograman sehingga sebuah komputer dapat saling berkomunikasi dalam satu jaringan melalui protokol, antar muka basis data, pemrograman Graphics User Interface (GUI) atau struktur informasi. Sebagaimana diketahui bahwa sebuah komputer dapat berkomunikasi dengan komputer lain menggunakan protokol (salah satu protokol yang sudah dikenal disebut IP). Hal ini dapat memberi inspirasi untuk melakukan eksplorasi pemrograman lebih lanjut, seperti pemrograman Sistem Informasi berbasis web yang melibatkan penggunaan sistem basis data, pemrograman aplikasi pengendalian jarak jauh dan lain sebagainya.

Salah satu pemrograman yang penting dipelajari dalam lingkup client server ini adalah pemrograman socket. Dengan mempelajari teknik pemrograman socket, dapat diketahui bagaimana cara sebuah komputer dapat mengirim pesan berupa teks, citra video, musik, atau lainnya melalui internet.

2.1 Apa itu Socket?

Socket adalah salah satu titik akhir dari jalur komunikasi dua arah antara dua program yang berjalan pada jaringan dengan protokol TCP/IP atau UDP. Socket terhubung pada sebuah nomor port sehingga lapisan TCP dapat mengidentifikalsi aplikasi di mana pengiriman data ditujukan. Socket merupakan sebuah aplikasi yang dibuat, dikontrol antarmuka sistem operasi di mana aplikasi dapat saling mengirim dan menerima pesan dari atau pada aplikasi yang lain.

Page 9: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Definisi tentang socket sebagai berikut (Shuttleworth ,2003, hal.5):a. Mengizinkan suatu proses unik untuk berkomunikasi satu dengan yang

lainb. Memberitahukan proses mana untuk menulis atau membacac. Komunikasi pada mesin yang sama, jaringan dan lnternetd. Komunikasi dua arah membuatnya cocok untuk model client servere. Dibentuk tahun 1980 oleh Berkeley Unix Distribution

Pada umumnya, sebuah server merupakan sebuah komputer yang khusus dan memiliki sebuah socket yang terhubung pada sebuah nomor port yang khusus. Server hanya menunggu socket untuk menerima permintaan koneksi (request) dari sebuah client (passive open). Client mengetahui nama mesin tempat server dijalankan dan nomor porf tempat server tersebut dihubungkan. Untuk membuat koneksi permintaan, client mencoba untuk melakukan koneksi dengan server pada mesin server dan port (active open).

Apabila semuanya berjalan dengan baik maka server menerima koneksi (virtual circuit). Saat penerimaan, server membuka socket baru yang terhubung pada port yang berbeda. Untuk dapat melanjutkan penerimaan dari socket awal untuk koneksi permintaan saat melayani kebutuhan client

Page 10: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

yang terhubung, dibutuhkan sebuah socket baru (dengan nomor port yang beda).

Pada sisi client, jika koneksi diterima, sebuah socket berhasil dibentuk dan client dapat menggunakan socket tersebut untuk berkomunikasi dengan server. Client dan server sekarang dapat berkomunikasi untuk menulis atau membaca dari socket tersebut.

Ada 2 macam protokol yang dapat digunakan pada socket, yaitu:a. TCP bersifat connection-oriented dan reliable.

i. Connection-oriented, untuk melakukan komunikasi diperlukan koneksi terlebih dahulu

ii. Reliable, menjamin sampainya paket data ke komputer tujuan dan melakukan pengecekan. Apabila ada paket data yang hilang atau rusak maka socket TCP akan meminta paket data yang rusak atau hilang tersebut sampai semua paket data yang diterima dalam kondisi yang baik.

b. UDP bersifat connectionless dan unreliable.

Beberapa nomor port yang sering digunakan 21 (FTP), 23 (telnet), 25 (SMTP), 69 (TFTP), 80 (HTTP), 161 (SNMP).

Ada beberapa langkah agar sebuah aplikasi client-seruer dapat saling berkomunikasi, yaitu:

Page 11: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Gambar 9.6 Komunikasi Client-Server

2.2 Tipe Socket

Pada saat sebuah socket terbentuk, program harus menetapkan address domain dan tipe socket-nya. Dua buah proses dapat saling berkomunikasi satu dengan yang lainnya hanya jika tipe dan domain-nya sama. Ada dua domain address umum yang digunakan, yaitu:

a. Unix domain adalah socket yang tidak dapat dijangkau dari Internet secara langsung, tetapi bersama dengan datangnya permintaan pada server.

b. Internet domain adalah dua proses yang berjalan pada dua buah host di komunikasi lnternet. Alamat socket dari lnternet domain terdiri atas Internet address dari mesin host. Selain itu, setiap socket membutuhkan nomor port pada host-nya. Nomor port berupa 16 bit unsigned integers. Angka yang rendah disediakan dalam Unix untuk layanan standar. Sebagai contoh, nomor port untuk FTP server adalah 21. Hal ini penting bahwa layanan standar akan berada pada port yang

Server akan menutup socketketika komunikasi telah

selesai

Server membuat socket baru

Server akan mengirimkan danmenerima informasi yang diminta/dikirimkan client

Server menanti datangnya permintaan koneksi dari client

Server menerima permintaankoneksi client

Client membuat socket baru

Client mengidentifikasi alamat dari port layanan server

Client membangun koneksi dengan server

Client mengirimkan danmenerima informasi yang

dikirimkan/diterima server

Client akan menutup socketketika komunikasi telah

selesai

Page 12: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

sama pada semua komputer sehingga client akan mengetahui alamatnya. Well-known port ada 65536 nomor port yang tersedia.

Untuk tipe socket ada 2 macam, Stream socket dan Datagram socket (www.redbrick.dcu.ie/~vamprus/sockets.html).

a. Stream socket adalah komunikasi continous stream dari karakter (menggunakan protokol TCP)

b. Datagram socket adalah pembacaan seluruh pesan dengan segera (menggunakan protokol UDP)

2.3 Windows Socket (WinSock)

Sistem operasi Windows memiliki Application Programming lnterface (API) untuk berkomunikasi melalui TCP/IP yang terkenal dengan nama WinSock API. Pemrograman API sendiri sudah sangatlah sulit karena pemrograman API sudah berurusan dengan aras rendah. Aras rendah tidak diizinkan secara langsung untuk diakses. Akan tetapi, windows telah menyediakan API, yaitu berupa sekumpulan fungsi untuk mengakses aras rendah. Untuk membantu para programer dalam hal pembuatan software yang dapat berkomunikasi dengan komputer lain maka disediakanlah sebuah komponen ActiveX control yang bemama Winsock Control.Winsock secara khusus didefinisikan dengan bagaimana sebuah sofware jaringan Windows harus mengakses layanan jaringan, terutama TCP/IP (definition-info.com). Winsock menyediakan layanan API tunggal di mana pengembang aplikasi dan software jaringan perlu untuk menyesuaikan diri. Untuk beberapa versi dari Windows, winsock didefinisikan sebagai binary interface yang menjamin sebuah aplikasi cocok pada Winsock API yang dapat berjalan pada software jaringan dari berbagai pengembang. Winsock berbasiskan BSD (Berkeley) socket, tetapi memberikan fungsi tambahan yang mengizinkan API bekerja pada standar pemrograman window.

Dengan Winsock control maka programer tidak perlu mengetahui detail TCP/IP dan pemanggilan fungsi API untuk membuat sebuah aplikasi jaringan karena programer hanya menggunakan metode, properti atau event yang dimiliki oleh Winsock. Proses komunikasi client-server menggunakan socket dapat dilihat pada gambar berikut ini:

Page 13: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

2.4 pemprograman WinSock

Pada pemprograman WinSock ini, ada beberapa hal yang perlu diperhatikan yaitu property, metode dan event karena pemprograman Winsock merupakan pemprograman berorientasi objeck.semua bagian ini akan dibahas satu persatu.

2.4.1 Properti

Kecenderungan sebuah property adalah meminta nilai awal sabelum WinSock. Misalnya property remote host yang digunakan untuk mengetahui remote IP yang menunjukkan gambaran computer tujuan. Selain remote host yang dubutuhkan juga property yang berkaitan dengan computer likal, diantaranya LocalHost dan LocalIP. Bagian ini akan membahas 9 properti yang dimiliki oleh WinSock ini.

a. BytesReceivedProperti ini memiliki fungsi mengembalikan nilai/jurnlah dari data yang diterima. Nilai kembalian dari prop"rti ini bertipe databyte atau-lo-ng,. sifat properti ini adalah reid-onry sehrngga properti ini tidak dapat untuk diisi. Sintaks: Object. ByteReceived

b. LocalHostNameProperti ini memiliki fungsi mengembalikan nama dari komputer lokal. Data yang dikembuiiku' bertipe string dan memiliki sifat read-only seperhproperti BytesReceiued Sintaks: Object.LocalHostName

c. LocalIPProperti ini memiliki fungsi mengembalikan Ip nddress dari komputer lokal dan memiliki tipe data string serta property ini bersifat read-only. Format data yang didapat terdiri atas 4 segmen (xxx. xxx.xxx. xxx) Sintaks : Object. Locallp

d. LocalPort

Page 14: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Properti ini memiliki fungsi untuk mengembalikan nomor porf dari komputer lokal dan nilai kembaliannya berupa long daurr bersifat read/zarite.Sintaks: Object. LocalPort

e. ProtokolTipe dari properti ini adalah read /write. Sintaks : Object.protocolAda2 jenis protokol yang digunakan/ditawarkan, yaitu:i. UDP (1-SckUDPProtocol)ii. TCP (GSckTCPProtocol), yang merupakan nilai default dari properti

ini.f. RemoteHost

Properti ini memiliki fungsi menentukan nama atau Ip address komputer tujuan. Nilai data yang dikembalikan bertip e string.Sintaks: Object.RemoteHost = String

g. RemoteIPProperti ini memiliki fungsi mengembalikan nomor port dari komputer remote dan jenis data kembaliannya bertipe string.Sintaks: Object.Remotelp

h. RemotePortProperti ini memiliki fungsi mengembalikan maupun menentukal nomor port yang dituju pada komp uter remotuAarr nilai kembaliannya adalah long.Sintaks : Object.RemotelP

I. StateProperti ini memiliki fungsi mengembalikan nilai integer yang berkaitan dengan kondisi dari koneksi maupun error yangterladI pada saat pengoperasian Winsock control dan tipekembaliannya adalah integer.Sintaks: Object.StateBerdasarkan nilai kembaliannya, dapat diketahui apa saja yang terjadi saat pengoperasian WinSock control yang bisa dilihat pada tabelberikut.

Page 15: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

4.2. MetodeAda7 metode yang dimiliki olehWinsock control dan metode ini dapat dikatakan sebagai perintah yang tersedia dalam WinSock'a. Accept

Metode ini memiliki fungsi menerima koneksi yang ingln berhubungan dan setiap koneksi yang berhubungan memiliki ID yang berbeda-beda yang disebut RequestlD (bertipe Long). Pada umumnya, metode ini digunakandieaent Obiect-DataArriaalSintaks: Object.Accept RequestlDb. BindMetode ini memiliki fungsi binding localPort dan LocalIP yang digunakan dalam koneksi yang menggunakan protocol TCP. Pada urnumnya, metode ini jarang digunakan, kecuali menggunakan lebih dari 1 protokol adapter misal TCP/IP dan NWLink.Sintaks: Object.Bind LocalPort, LocalIPc. close Metode ini memiliki fungsi menutup koneksi yang sedang aktif.Sintaks: Object.Clos"d. GetData Metode ini memiliki fr.mgsi menerima data yang dikirim dari client umumnya digunakan pada event Object-DataArriaalSintaks: Object.GetData variable, [type], [panjang data]Bagian, [Type] bersifat optional dan tidak harus diisi. [type] dapat dispesifikasikan lebih jelas tentang jenis data yang diterima. Ada beberapa jenis data yang didukung oleh Winsock Control dapat dilihat pada tabel berikut:

e. Listen

Page 16: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Metode ini memiliki fungsi membuat winsock masuk dalam mode "mendengarkan" yang artinya WinSock siap menerima permintaan koneksi baru pada port yang telah ditentukan.Sintaks: Object.Listenf. PeekDataMetode ini memiliki fungsi seperti Getdata, tetapi metode ini tidak menghapus data pada bufer sehingga data pada buffer akan bertambah terus-menerus seiring meningkatnya trafik data dan tidak dihapus. Hal tersebutlah yang menyebabkanSintaks: Object.PeekData variable, [type], [panjang data]g. SendData Metode ini memiliki fungsi mengirim data ke komputer tujuan setelah koneksi ke komputer tersebut terbentuk.Sintaks: Object.SendData variable

2.4.2. EventEvent akan membantu untuk memonitor kejadian pada winsock

control. Ada 7 event pada WinSock control, yaitu:a. CloseEvent ini terjadi pada saat komputer remote menutup koneksi.Sintaks : Object_Close$b. ConnectEvent ini terjadi pada saat komputer tujuan berhasil dihubungi.Sintaks: Object_ConnectQc. ConnectionRequestEaent tni terjadi pada saat komputer remote mengonfirmasi untuk membuka koneksi baru pada komputerAnda.Sintaks: Object-ConnectionRequest(Request lD as Long)d. DataArivalEaent tni terjadi pada saat komputer Anda menerima data dari computer lain.Sintaks : Object-DataArrival(BytesTotal as Long)e. ErrorEvent ini terladi pada saat suatu error terjadi, baik yang berkaitan dengan WinSock control maupun koneksi.Sintaks: Object-Error(Number as jnteger, Description as String, Scode as Long, Source as String, HelpFile as String, HelpContext as String, CancelDisplay as Boolean)Deskripsi tentang nomor error dapat dilihat pada table berikut:

Page 17: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

f. SendCompleteEvent ini terjadi, pada saat data yang Anda kirim dengan metode SendData telah diterima semua oleh komputer tujuan.Sintaks obiect_SendCompleteg. SendProgressEvent ini terladi pada saatdata yang dikirimkan dengan metode SendData,sedang diterima oleh komputer tujuan"

Page 18: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

Sintaks : Objgctjendprogress(BytesSent as Long, BytesRemaining as Long)

2.5 Latihan Pemrograman WinSockLatihan ini akan menggunakan microsoft WinSock Control 6.0 (MS\

AINSCK.OCX) yang disertakan dalam visual basic 6.0. Control ini akan ditampilkan dalam control box itka kita membuat project baru dengan templateVB enterprize editioncontrol atau menggunakan standar EXE dengan menambahkan komponen control tersebut dalam toolbox. Pada pembuatan program ini, ada 2 buah aplikasi yang harus dibuat, yaltu client adalah komputer yang menjalankan progtam client dan selver adalah proglam yang menjalankan Program server (bukan selver jaringan). Jadi, dalam pemrogrammanWinSock ini kita dapat membuat dua/lebih komputer dengan sistem operasi windows untuk saling berkomunikasi.2.5.1 Aplikasi Client

Untuk membuat aplikasi client, aplikasi client ini digunakan untuk menghubungi program server dan rneminta layanan, kemudian aplikasi client dapat mengirimkan pesan pada server. Untuk mernbuat aplikasi client, pertama kali aturlah tampilan/orm seperti tampak pada garnbar berikut ini:

Kode program ini tidak terlalu banyak sehingga menjadi sisi baik dari penggunaanWinsock control. Tambahkan kode program berikut sesuai kontrol dan event-nya:

Page 19: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan
Page 20: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan

2.5.2 Program ServerAplikasi server yang akan dibangun ini digunakan untuk menerima permintaan layanan dari client. Aplikasi server ini akan menampilkan pesan yang dikirimkan dari client. Untuk membuat aplikasi server, rancanglah tampilan untuk program server seperti pada gambar berikut ini:

Isikan kode program berikut:

Page 21: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan
Page 22: System Terdistribusi€¦  · Web viewDewasa ini, sistem jaringan Client Server semakin dikembangkan dan digunakan untuk dasar aplikasi dalam berbagai model bisnis. Banyak perusahaan