PEMROGRAMAN JARINGAN – MODUL 1



PEMROGRAMAN JARINGAN – MODUL 21

By Antonius Rachmat C, S.Kom

Pemrograman Jaringan modern sekarang ini berbasis pada model client/server. Pada sebagian besar kasus, server biasanya mengirim data, sedangkan client menerimanya. Pembahasan tentang model Client/Server tidak akan lepas dari konsep sistem terdistribusi. Sebab client/server merupakan model dasar dari sistem terdistribusi.

Pengertian “Sistem Terdistribusi”

"A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing." [Coulouris]

Dengan pembagian fungsi untuk tiap komponen dalam suatu sistem, manfaatnya:

- Berbagi resource

- Berbagi beban kerja

- Tidak membedakan platform

- Meningkatkan efisiensi

Ada dua organisasi yang menstandarisasi pemrograman jaringan dan protokol di internet, yaitu :

- Internet Engineering Task Force (IETF) : TCP/IP, MIME, dan SMTP

- World Wide Web Consortium (W3C) : HTTP, HTML, XHTML, MathML, dan XML

Dokumen-dokument IETF dipublikasikan sebagai Internet drafts dan requests for comments (RFCs). RFCs and Internet drafts berasal dari informational dokumen dari keinginan umum sampai spesifikasi detail dari Internet protokol seperti HTTP.

Dokumen RFCs dipublikasikan jika disetujui oleh Internet Engineering Steering Group (IESG) dari IETF. Semua dokumen standar IETF yang disetujui adalah RFCs, tetapi tidak semua RFCs adalah standar IETF. RFCs banyak terdapat di Internet, misalnya dan

|RFC |Title |Maturity level |Requirement level |Description |

|RFC 791 |Internet Protocol |Standard |Required |The IP internet layer protocol. |

|RFC 919 | | | | |

|RFC 922 | | | | |

|RFC 950 | | | | |

|STD 5 | | | | |

|RFC 768 |User Datagram Protocol |Standard |Recommended |An unreliable, connectionless transport layer protocol. |

|STD 6 | | | | |

|RFC 793 |Transmission Control Protocol |Standard |Recommended |A reliable, connection-oriented, streaming transport |

|STD 7 | | | |layer protocol. |

|RFC |Simple Mail Transfer Protocol |Proposed standard |Recommended |The application layer protocol by which one host |

|2821 | | | |transfers email to another host. This standard doesn't |

| | | | |say anything about email user interfaces; it covers the |

| | | | |mechanism for passing email from one computer to |

| | | | |another. |

|RFC 822 |Format of Electronic Mail |Standard |Recommended |The basic syntax for ASCII text email messages. MIME is |

|STD 11 |Messages | | |designed to extend this to support binary data while |

| | | | |ensuring that the messages transferred still conform to |

| | | | |this standard. |

|RFC 854 |Telnet Protocol |Standard |Recommended |An application-layer remote login service for |

|RFC 855 | | | |command-line environments based around an abstract |

|STD 8 | | | |network virtual terminal (NVT) and TCP. |

|RFC 959 |File Transfer Protocol |Standard |Recommended |An optionally authenticated, two-socket application |

|STD 9 | | | |layer protocol for file transfer that uses TCP. |

|RFC 977 |Network News Transfer Protocol|Proposed standard |Elective |The application layer protocol by which Usenet news is |

| | | | |transferred from machine to machine over TCP; used by |

| | | | |both news clients talking to news servers and news |

| | | | |servers talking to each other. |

|RFC |Domain Name System |Standard |Recommended |The collection of distributed software by which |

|1034 | | | |hostnames that human beings can remember, like |

|RFC 1035 | | | |, are translated into numbers that |

|STD 13 | | | |computers can understand, like 198.112.208.11. This STD |

| | | | |defines how domain name servers on different hosts |

| | | | |communicate with each other using UDP. |

|RFC 1738 |Uniform Resource Locators |Proposed standard |Elective |Full URLs like and |

| | | | |

| | | | |_Of_Red_Mansion/HLM04 .Handkerchief.au. |

|RFC 1808 |Relative Uniform Resource |Proposed standard |Elective |Partial URLs like /javafaq/books/ and |

| |Locators | | |../examples/07/index.html used as values of the HREF |

| | | | |attribute of an HTML A element. |

|RFC 1939 |Post Office Protocol, Version |Standard |Elective |An application-layer protocol used by sporadically |

|STD 53 |3 | | |connected email clients such as Eudora to retrieve mail |

| | | | |from a server over TCP. |

|RFC 1945 |Hypertext Transfer Protocol |Informational |N/A |Version 1.0 of the application layer protocol used by |

| |(HTTP 1.0) | | |web browsers talking to web servers over TCP; developed |

| | | | |by the W3C rather than the IETF. |

|RFC |Multipurpose Internet Mail |Draft standard |Elective |A means of encoding binary data and non-ASCII text for |

|2045 |Extensions | | |transmission through Internet email and other |

|RFC 2046 | | | |ASCII-oriented protocols. |

|RFC 2047 | | | | |

|RFC 2068 |Hypertext Transfer Protocol |Proposed standard |Elective |Version 1.1 of the application layer protocol used by |

| |(HTTP 1.1) | | |web browsers talking to web servers over TCP. |

|RFC 2373 |IP Version 6 Addressing |Proposed standard |Elective |The format and meaning of IPv6 addresses. |

| |Architecture | | | |

|RFC 2396 |Uniform Resource Identifiers |Proposed standard |Elective |Similar to URLs but cut a broader path. For instance, |

| |(URI): Generic Syntax | | |ISBN numbers may be URIs even if the book cannot be |

| | | | |retrieved over the Internet. |

|RFC 3501 |Internet Message Access |Proposed standard |Elective |A protocol for remotely accessing a mailbox stored on a |

| |Protocol Version 4rev1 | | |server including downloading messages, deleting |

| | | | |messages, and moving messages into and out of different |

| | | | |folders. |

Sedangkan W3C hanya boleh terdiri dari perusahaan-perusahaan saja.

ARSITEKTUR CLIENT-SERVER

Client/Server dapat diartikan sebagai kemampuan komputer untuk meminta layanan request data kepada komputer lain. Komputer yang meminta layanan disebut sebagai client, sedangkan yang menyediakan layanan disebut sebagai server.

Pengertian lain, client melakukan permintaan suatu informasi atau mengirim perintah ke server. Server akan menerima permintaan dan perintah client. Kemudian server akan memproses memproses berdasarkan permintaan tersebut, dan mengembalikan kepada client sebagai hasil pemrosesan yang sudah dilakukan.

[pic]

Arsitektur Model Client/Server

Service Request adalah permintaan dari client baik berupa permintaan data maupun perintah ke server.

Service Response berupa balasan dari server atas permintaan dari client berupa hasil proses.

Data yang diminta oleh client dapat diambil dari database pada sisi server yang sering disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server.

Karakteristik Client-Server:

❖ Client dan Server merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan komputer untuk mengerjakan suatu tugas

❖ Service : Menyediakan layanan terpisah yang berbeda

❖ Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource

❖ Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many. Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client. Kondisi tersebut juga memungkinkan komunikasi callback.

❖ Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.

❖ Mix-and-match : tidak tergantung pada platform

❖ Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.

❖ Encapsulation of service : message memberitahu server apa yang akan dikerjakan

❖ Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal

❖ Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri

MIDDLEWARE

Software yang berfungsi sebagai lapisan konversi atau penerjemah. Juga sebagai konsolidator dan integrator. Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.

ARSITEKTUR SOFTWARE

- Data, menyediakan struktur dan fungsi untuk manipulasi informasi, yang terdiri dari banyak objek data. Sebagai contoh : relational Database, file grafik, file suara atau multimedia data stream

- Processing, terfokus pada pemrosesan objek data, yang biasanya disebut sebagai middleware.

- Presentation, terfokus untuk membuat data tersedia untuk user dan menangani interaksi dengan user. Ada dua level :

➢ User interface

➢ Presentation management, menyediakan operasi dasar untuk membangun dan mengontrol user interface di bawah kontrol aplikasi. Meliputi : layanan tampilan, kontrol dialog dan API. Contoh : X-Windows, MS Windows

KONSEP DASAR WEB

Hypertext Transfer Protocol (HTTP) adalah standar untuk mendefiniskan bagaimana client berkomunikasi dengan server dan bagaimana data ditransmisikan dari server kembali ke client.

1. URI (Uniform Resource Identifier)

Uniform Resource Identifier (URI) adalah kumpulan karakter dalam sintaks tertentu yang mengidentifikasi sebuah resource. Resource bisa merupakan file di server tapi juga bisa merupakan email address, berita, buku, host internet, dan lain-lain.

Sintaks : scheme:scheme-specific-part

scheme bisa berupa : data, file, http, ftp, gopher, mailto, news, telnet.

scheme-specific-part bisa berupa : //authority/path?query

Contoh :

URI ada 2 yaitu :

- URN (Uniform Resource Name)

Tujuan URN adalah menghandle resource yang dimirror pada banyak tempat yang berbeda atau telah dipindah dari satu tempat ke tempat lain. URN mengidentifikasi resource itu sendiri, bukan tempat resourcenya. Jika terdapat sebuah URN, sebuah program FTP harus mengambil filenya dari mirror terdekat.

Sebuah URN memiliki format sebagai berikut urn:namespace:resource_name. Sebuah namespace adalah nama dari koleksi dari resource. Sebuah resource_name adalah nama dari resource dari sebuah koleksi. Contohnya, URN dari urn:ISBN:1565924851 mengindentifikasikan sebuah ISBN dengan identifikasi 1565924851. Dan mengacu pada sebuah buku misalnya bernama : Java Network Programming. Masing-masing sintaks tergantung pada resource_name.ISBN namespace terdiri dari 10 atau 13 karakter, semuanya adalah digit—dengan sebuah aturan bahawa karakter terakhir berupa huruf : X (baik huruf besar / kecil).

- URL (Uniform Resource Locator) : penunjuk ke suatu resource di Internet pada lokasi tertentu, misal:

URL ada dua macam :

➢ Absolute URL : contoh

➢ Relative URL : contoh

2. HTML, SGML, dan XML

HTML digunakan untuk memformat dokumen web. HTML digunakan untuk presentasi data dan menyediakan linking antar halaman.

SGML adalah ide untuk mendeskripsikan sematik teks daripada penampilannya yang disebut juga Standard Generalized Markup Language. SGML ditemukan pada pertengahan tahun 1970an oleh Charles Goldfarb, Edward Mosher, dan Raymond Lorie di IBM. SGML merupakan standar International Standards Organization (ISO), yaitu ISO 8879:1986.

XML adalah suatu bahasa Markup, yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti. XML menyediakan format untuk mendeskripsikan data terstruktur. XML menyebabkan isi data mudah dimengerti dan memungkinkan pendefinisian kumpulan tag yang tidak terbatas.

3. MIME (Multipurpose Internet Mail Extensions), RFC 2045.

MIME adalah standar untuk mengirim multipart, multimedia data melalui email di Internet. Data bisa berupa data biner, ASCII atau bukan ASCII. MIME digunakan untuk mendeskripsikan isi file sehingga software client dapat mengetahui perbedaan antara data.

Contoh : text/html, text/css, image/gif, video/mpeg, application/zip.

RETHINGKING JAVA

- Siapkan java sdk yang bisa didownload dari

- Editor java bisa menggunakan teks editor apa saja: notepad? edit plus? Kawa? Netbeans? Jbuilder? JCreator?

- Prinsip-prinsip dasar :

o Satu buah file java harus berekstensi .java, satu file boleh terdiri dari banyak kelas, namun hanya bisa terdiri dari satu public class.

o Nama file java harus sama dengan nama public class nya. Misal nama public class adalah : public class HelloWorld, berarti nama filenya adalah HelloWorld.java

o Ingat di Java case-sensitive, termasuk nama file dan folder nya. Java sangat memperhatikan susunan folder/direktori, terutama untuk sebuah package.

o Satu buah class sederhana minimal ada kata kunci class nama_class. Sebuah class boleh tidak memiliki atribut dan method. Sebuah aplikasi java harus berupa class, dan jika di compile dengan javac akan menghasilkan file berekstensi .class untuk masing-masing class yang ada.

o Sebuah class hanya dapat dieksekusi jika di dalamnya ada method public static void main. Jika tidak ada method main maka class tersebut hanya bisa dicompile dan tidak bisa dieksekusi.

o Sintaks java rata-rata mirip dengan bahasa C.

- Terdapat beberapa konvensi (aturan) dalam java:

o nama variabel primitif biasanya ditulis dalam huruf kecil. Contoh : int

o nama variabel berupa Object / Class ditulis dimulai huruf besar. Contoh : String, Integer, Byte, Boolean.

o nama method untuk mengambil data bisanya diberi awalan getNamaMethod(), sedangkan method untuk mengeset data biasanya diberi awalan setNamaMethod(tipedata variabelset). Contoh:

▪ Public void setNama(String nama);

▪ Public String getNama()

o nama variabel biasanya dimulai dengan huruf kecil dan jika lebih dari satu kata, disambung dan ditulis dengan huruf pertama huruf besar. Contoh: int angkaRandom = 0, String namaMahasiswa

- Ada 3 jenis modifier variabel dalam Java:

➢ private : hanya dapat diakses oleh kelas itu sendiri

➢ protected : hanya dapat diakses oleh kelas itu dan kelas turunannya atau masih dalam satu package.

➢ public : dapat diakses oleh seluruh kelas yang ada.

- Java mengenal operasi control flow :

➢ Percabangan : if-else, switch-case

➢ Perulangan : for, while-do, do-while

➢ Penanganan Exception : try-catch-finally, throws

KONSEP OOP

• Class : prototipe yang mendefinisikan atribut dan method secara umum.

• Object : segala sesuatu yang dapat dilihat dan dirasa. Sebuah instansiasi dari Class.

• Object dapat memiliki atribut dan method. Atribut / variabel / properties adalah apa yang dimiliki oleh sebuah object. Sedangkan method / behaviour / event adalah apa yang dapat dilakukan oleh sebuah object.

• Enkapsulasi : pembungkusan atribut dan method pada suatu object. Manfaatnya adalah: modularitas dan information hiding.

• Message : mekanisme yang digunakan oleh object java untuk berkomunikasi dengan object lain. Sehingga dimungkinkan terjadi aplikasi terdistribusi dan berinteraksi melalui jaringan. Contoh : Java-CORBA dan Java-RMI.

• Inheritance : pewarisan atribut dan method dari class induk ke class anaknya, yang mengextends padanya. Superclass adalah class induk, subclass adalah class anak. Subclass akan mewarisi seluruh sifat super class, namun juga memungkinkan dapat juga memiliki atribut dan method yang lain, yang membedakannya dengan induknya.

• Abstract : kelas yang hanya terdiri dari method yang abstract yang digunakan untuk mendukung inheritance.

• Interface : kelas yang hanya terdiri dari kumpulan method-method saja tanpa implementasi coding.

[pic]

-----------------------

Data Request

Client – Web Browser

Middleware PHP, JSP,ASP

Server – Apache, IIS

Service Request

Services Response

Database: MySQL, Oracle

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download