BAHASA PEMROGAMAN KOMPUTER

Sejarah Bahasa Pemrograman Komputer Sejak pertama komputer difference engine diciptakan oleh Charles Babbage pada tahun 1822, komputer membutuhkan sejumlah instruksi untuk melakukan suatu tugas tertentu. Instruksi-instruksi ini dikenal sebagai bahasa pemrograman. Bahasa komputer mulanya terdiri dari sejumlah langkah pengkabelan untuk membuat suatu program; hal ini dapat dipahami sebagai suatu rangkaian pengetikan kedalam komputer dan kemudian dijalankan. Pada awalnya, difference engine-nya Charles Babbage hanya dibuat untuk menjalankan tugas dengan menggunakan perpindahan gigi roda untuk menjalankan fungsi kalkukasi. Jadi, bentuk awal dari bahasa komputer adalah berupa gerakan secara mekanik, selanjutnya gerakan mekanik tersebut digantikan dengan sinyal listrik ketika pemerintah AS mengembangkan ENIAC pada tahun 1942, tetapi masih banyak mengadopsi prinsip-prinsip dasar dari Babbage’s engine yang mana diprogram dengan mengeset switch dan perkabelan pada seluruh sistem pada setiap “program” maupun kalkulasi. Tentu saja ini merupakan pekerjaan yang membosankan. Pada 1945, John Von Neumann yang bekerja pada Institute for Advanced Study mengemukakan dua konsep yang secara langsung mempengaruhi masa depan dari bahasa pemrograman komputer. Yang pertama dikenal sebagai “shared-program technique” (www.softlord.com). Pada teknik ini dinyatakan bahwa hardware komputer haruslah sederhana dan tidak perlu dilakukan pengkabelan dengan menggunakan tangan untuk setiap program. Sebagai gantinya, instruksi-instruksi yang lebih kompleks harus digunakan untuk mengendalikan perangkat keras yang lebih sederhana, hal ini memungkinkan komputer diprogram ulang dengan cepat. Konsep yang kedua yang juga sangat penting untuk pengembangan bahasa pemrograman. Von Neumann menyebutnya sebagai “conditional control transfer” (www.softlord.com). Ide ini berkembang menjadi bentuk subrutin, atau blok kode yang kecil yang dapat panggil berdasarkan aturan tertentu, dari pada suatu himpunan tunggal urutan kronologis yang harus dijalankan oleh komputer. Bagian kedua dari ide tersebut menyatakan bahwa kode komputer harus dapat bercabang berdasarkan pernyataan logika seperti IF (ekspresi) THEN, dan perulangan seperti FOR statement. “Conditional control transfer” mengembangkan ide adanya “libraries,” yang mana merupakan blok kode yang dapat digunakan berulang kali. Pada 1949, setelah beberapa tahun Von Neumann bekerja, bahasa Short Code dilahirkan (www.byte.com), yang merupakan bahasa komputer yang pertama untuk peralatan elektronik yang membutuhkan programmer untuk mengubah perintah kedalam 0 dan 1 dengan tangan. Pada 1957, bahasa khusus yang pertama muncul dalam bentuk FORTRAN yang merupakan singkatan dari sistem FORmula TRANslating. Bahasa ini dirancang pada IBM untuk perhitungan scientific. Komponen-komponennya sangat sederhana, dan menyediakan bagi programmer akses tingkat rendah kedalam komputer. Sampai saat ini, bahasa ini terbatas pada hanya terdiri dari perintah IF, DO, dan GOTO, tetapi pada waktu itu, perintah-perintah ini merupakan lompatan besar kearah depan. Type data dasar yang digunakan sampai sekarang ini dimulai dari FORTRAN, hal ini meliputi variabel logika (TRUE atau FALSE), dan bilangan integer, real, serta double-precision. FORTRAN sangat baik dalam menangani angka-angka, tetapi tidak terlalu baik untuk menangani proses input dan output, yang mana merupakan hal yang penting pada komputasi bisnis. Komputasi bisnis mulai tinggal landas pada 1959, dengan dikembangkannya COBOL, yang dirancang dari awal sebagai bahasa untuk para pebisnis. Type data yang ada hanya berupa number dan text string. Hal tersebut juga memungkinkan pengelompokan menjadi array dan record, sehingga data di telusuri dan diorganisasikan dengan lebih baik. Sesuatu hal yang menarik untuk dicatat bahwa suatu program COBOL dibuat menyerupai suatu essay, dengan empat atau lima bagian utama yang membentuk keseluruhan yang tertata dengan baik. Perintah-perintah COBOL sangat menyerupai tata bahasa English, sehingga membuatnya agak mudah dipelajari. Semua ciri-ciri ini dikembangkan agar mudah dipelajari dan mudah diterapkan pada dunia bisnis. Pada 1958, John McCarthy di MIT membuat bahasa LISt Processing (atau LISP), yang dirancang untuk riset Artificial Intelligence (AI). Karena dirancang untuk fungsi spesialisasi yang tinggi, maka tata cara penulisannya jaring kelihatan sebelum ataupun sesudahnya. Sesuatu perbedaan yang paling nyata dari bahasa ini dengan bahasa lain adalah dasar dan type satu-satunya adalah list, yang ditandai dengan suatu urutan item yang dicakup dengan tanda kurung. Program LISP sendirinya dibuat sebagai suatu himpunan dari list, sehingga LISP memiliki kemampuan yang khusus untuk memodifikasi dirinya, dan juga dapat berkembang sendiri. Tata cara penulisan LISP dikenal sebagai “Cambridge Polish,” sebagaimana dia sangat berbeda dari logika Boolean (Wexelblat, 177) : x V y – Cambridge Polish, what was used to describe the LISP program OR(x,y) – parenthesized prefix notation, what was used in the LISP program x OR y – standard Boolean logic LISP masih digunakan sampai sekarang karena spesialiasi yang tinggi dari sifat abstraknya. Bahasa Algol dibuat oleh suatu komite untuk pemakaian scientific pada tahun 1958. Kontribusi utamanya adalah merupakan akar dari tiga bahasa selanjutnya yaitu Pascal, C, C++, dan Java. Dia juga merupakan bahasa pertama dengan suatu tata bahasa formal, yang dikenal sebagai Backus-Naar Form atau BNF (McGraw-Hill Encyclopedia of Science and Technology, 454). Pada Algol telah diterapkan konsep-konsep baru, seperti rekursif pada function, bahasa berikutnya Algol 68, menjadi bahasa yang membosankan dan sulit digunakan (www.byte.com). Hal ini mengarah kepada adopsi terhadap bahasa yang lebih kecil dan kompak seperti Pascal. Pascal dimulai pada tahun 1968 oleh Niklaus Wirth. Tujuan pengembangannya adalah untuk kebutuhan pengajaran. Pada awalnya bahasa ini dikembangkan bukan dengan harapan adopsi pemakaian secara luas. Prinsipnya mereka mengembangkannya untuk alat pengajaran pemrograman yang baik seperti kemampuan debug dan perbaikan sistem dan dukungan kepada mikroprosesor komputer yang digunakan pada institusi pendidikan. Pascal dirancang dengan pendekatan yang sangat teratur (terstruktur), dia mengkombinasikan kemampuan yang terbaik dari bahasa-bahasa saat itu, COBOL, FORTRAN, dan ALGOL. Dalam pengerjaannya banyak perintah-perintah yang tidak teratur dan aneh dihilangkan, sehingga sangat menarik bagi pemakai (Bergin, 100-101). Kombinasi dari kemampuan input/output dan kemampuan matematika yang solid, membuatnya menjadi bahasa yang sukses besar. Pascal juga mengembangkan tipe data “pointer”, suatu fasilitas yang sangat bermanfaat pada bahasa yang mengimplementasikannya. Dia juga menambahkan perintah CASE, yang mana memperbolehkan perintah bercabang seperti suatu pohon pada suatu aturan: CASE expression OF possible-expression-value-1: statements to execute… possible-expression-value-2: statements to execute… END Pascal juga mengembangkan variabel dinamis, dimana variabel dapat dibuat ketika suatu program sedang berjalan, melalui perintah NEW dan DISPOSE. Tetapi Pascal tidak mengimplementasikan suatu array dinamis, atau kelompok dari variabel-variabel, yang mana sangat dibutuhkan, dan merupakan salah satu penyebab kekalahannya (Bergin, 101-102). Wirth kemudian membuat lanjutan dari Pascal, Modula-2, tetapi pada saat itu muncul C yang dengan cepat menjadi mengeser posisi Pascal. C dikembangkan pada tahun 1972 oleh Dennis Richie ketika sedang bekerja pada Bell Labs di New Jersey. Transisi pemakaian dari bahasa umum yang pertama ke bahasa umum sampai hari ini yaitu transisi antara Pascal dan C, C merupakan perkembangan dari B dan BCPL, tetapi agak menyerupai Pascal. Semua fasilitas di Pascal, termasuk perintah CASE tersedia di C. C menggunakan pointer secara luas dan dibangun untuk kecepatan dengan kelemahannya yaitu menjadi sulit untuk dibaca. Tetapi karena dia menghilangkan semua kelemahan yang terdapat di Pascal, sehingga dengan cepat mengambil alih posisi Pascal. Ritchie mengembangan C untuk sistem Unix yang baru pada saat yang bersamaan. Oleh karena ini, C dan Unix saling berkaitan. Unix memberikan C beberapa fasilitas besar seperti variabel dinamis, multitasking, penanganan interrupt, forking, dan strong low-level,input-output. Oleh karena itu, C sangat sering digunakan untuk pemrograman sistem operasi seperti Unix, Windows, MacOS, dan Linux. Pada akhir tahun 1970 dan awal 1980, suatu metode pemrograman yang baru telah dikembangkan. Ha tersebut dikenal sebagai Object Oriented Programming, atau OOP. Object merupakan suatu potongan dari data yang dapat dipaket dan dimanipulasi oleh programmer. Bjarne Stroustroup menyukai metode ini dan mengembangkan lanjutan dari C yang dikenal sebagai “C With Classes.” Kemampuan lanjutan ini dikembangkan menjadi bahasa C++ yang diluncurkan pada tahun 1983. C++ dirancang untuk mengorganisasikan kemampuan dasar dari C dengan OOP, dengan tetap mempertahankan kecepatan dari C dan dapat dijalankan pada komputer yang tipe berlainan. C++ sering kali digunakan dalam simulasi, seperti game. C++ menyediakan cara yang baik untuk memanipulasi ratusan instance dari manusia didalan elevator, atau pasukan yang diisi dengan tipe prajurit yang berbeda. Bahasa ini menjadi pilihan pada mata kuliah AP Computer Science sampai hari ini. Pada awal 1990′s, interaktif TV adalah teknologi masa depan. Sun Microsystems memutuskan bahwa interaktif TV membutuhkan suatu hal yang khusus, yaitu bahasa portable (bahasa yang dapat berjalan pada banyak jenis mesin yang berbeda). Bahasa ini dikenal sebagai Java. Pada tahun 1994, team proyek Java mengubah fokus mereka ke web, yang mana berubah menjadi sesuatu yang menjanjikan setelah interactive TV gagal. Pada tahun berikutnya, Netscape menyetujui pemakaian Java pada internet browser mereka, Navigator. Sampai titik ini, Java menjadi bahasa masa depan dan beberapa perusahaan mengumumkan aplikasi harus ditulis dalam Java. Java mempunyai tujuan yang besar dan merupakan bahasa yang baik menurut buku text, pada kenyataanya “bahasa tersebut tidak”. Dia memiliki masalah yang serius dalam optimasi, dengan arti program yang ditulis dengannya berjalan dengan lambat. Dan Sun telah membuat cacat penerimaan terhadap Java dengan pertikaian politis dengan Microsoft. Tetapi Java telah dinyatakan sebagai bahasa untuk instruksi masa depan dan benar-benar menerapkan object-oriented dan teknik tingkat tinggi seperti kode yang portable dan garbage collection. Visual Basic sering diajari sebagai bahasa pemrograman dasar yang mengacu pada bahasa BASIC yang dikembangkan pada tahun 1964 oleh John Kemeny dan Thomas Kurtz. BASIC adalah bahasa yang sangat terbatas dan dirancang untuk orang yang bukan computer science. Perintah-perintah dijalankan secara berurutan, tetapi kendali program dapat berubah berdasarkan IF..THEN, dan GOSUB yang mana menjalankan suatu blok kode dan kembali ketitik semula didalam alur program. Microsoft telah mengembangkan BASIC ke dalam produk Visual Basic (VB). Jantung dari VB adalah form, atau suatu window kosos dimana anda dapat drag dan drop komponen seperti menu, gambarm dan slider bars. Item-item ini dikenal sebagai “widgets.” Widget memiliki properti (seperti warna) dan events (seperti klik dan double klik) dan menjadi pusat dari pengembangan antarmuka dengan pemakai diberbagai bahasa program dewasa ini. VB merupakan program yang banyak digunakan untuk membuat interface sederhana ke produk Microsoft lainnya seperti Excel dan Access tanpa membaca banyak kode, dengannya dapat dimungkinkan untuk dibuat aplikasi yang lengkap. Perl telah sering digambarkan sebagai “duct tape of the Internet,” karena sering digunakan sebagai engine untuk interface web atau pada script untuk memodifikasi file konfigurasi. Dia memiliki fungsi text matching yang sangat baik sehingga membuatnya menjadi hal yang ideal untuk pekerjaan tersebut. Perl dikembangkan oleh Larry Wall pada 1987 karena fasilitas pada sed dan awk pada Unix (digunakan untuk manipulasi text) tidak mencukupi kebutuhannya. Tergantung kepada siapa anda bertanya, Perl adalah singkatan dari Practical Extraction and Reporting Language atau Pathologically Eclectic Rubbish Lister. Bahasa pemrograman telah berkembangan dari masa kemasa dan tetap dikembangkan dimasa depan. Mereka dimulai dari suatu daftar langkap pengkabelan agar komputer menjalankan tugas tertentu. Langkah-langkah ini berkembang menjadi software dan memiliki kemampuan yang lebih baik. Bahasa umum yang pertama menekankan pada kesederhanaan dan untuk satu tujuan saja, sedangkan bahasa dewasa ini terbagi atas bagaimana mereka diprogram, sehingga mereka dapat digunakan untuk semua tujuan. Dan mungkin bahasa yang akan datang lebih natural dengan penemuan pada quantum dan komputer-komputer biologis. Sumber : Indoprog ‘Algoritma & Pemrograman’ oleh Hendra, S.T.

Bahasa Pemrogaman

Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:

  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.

Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.

Kamis, 19 Mei 2011

TCP/IP ( Transmission Control Protocol/ Internet Protocol )

1.SEJARAH TCP/IP
Tahun 1986, lembaga ilmu pengetahuan nasional Amerika Serikat (NSF) mendanai pembuatan jaringan TCP/IP yang dinamai NSFNET. Jaringan ini digunakan untuk menghubungkan lima pusat komputer super dan memungkinkan terhubungnya universitas – universitas di Amerika Serikat dengan kecepatan 56Kbps. Jaringan inilah yang kemudian menjadi embrio yang kita kenal sekarang ini.
Internet Protocol dikembangkan pertama kali oleh Defense Advanced Research Projects Agency ( DARPA) pada tahun 1970 sebagai awal dari usaha untuk mengembangkan protokol yang dapat melakukan interkoneksi berbagai jaringan komputer yang terpisah, yang masing-masing jaringan tersebut menggunakan teknologi yang berbeda. Protokol utama yang dihasilkan proyek ini adalah Internet Protocol (IP). Riset yang sama dikembangkan pula yaitu beberapa protokol level tinggi yang didesain dapat bekerja dengan IP. Yang paling penting dari proyek tersebut adalah Transmission Control Protocol (TCP), dan semua grup protokol diganti dengan TCP/IP suite. Pertama kali TCP/IP diterapkan di ARPANET, dan mulai berkembang setelah Universitas California di Berkeley mulai menggunakan TCP/IP dengan sistem operasi UNIX. Selain Defense Advanced Research Projects Agency (DARPA) ini yang mengembangkan Internet Protocol, yang juga mengembangkan TCP/IP adalah Department of defense (DOD).
Saat ini TCP/IP digunakan sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX ) untuk membentuk jaringan yang heterogen.
Sekumpulan protocol TCP/IP dimodelkan dengan empat layer yaitu : Network Interface Layer (Ethernet, X.25, SLIP,PPP), Internet Layer (IP, ICMP, ARP), Transport Layer (TCP, UDP), dan Application Layer (SMTP, FTP,HTTP, dll).
2.PENGERTIAN
Internet protokol adalah protokol yang memindahkan paket dari mesin sumber ke mesin destinasi, dalam intervening network melalui router. Itulah mengapa IP layer pada stack disebut internet layer atau network layer. Protokol TCP adalah protokol layer yang digunakan oleh World Wide Web, e-mail, FTP, dan aplikasi lain yang mengandalkan trafic dalam internet.

Struktur Protokol TCP/IP
• Protokol lapisan antarmuka jaringan ( network access ): bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM)).
• Protokol lapisan internet: bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
• Protokol lapisan transport: berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless. Protokol dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
• Protokol lapisan aplikasi: bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya. Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).
Keuntungan Protokol TCP/IP
• IP adalah protokol yang tidak handal atau best effort. Protokol ini sangat baik untuk mengirimkan data tetapi paket tersebut dapat hilang dan tidak menimbulkan pesan kesalahan dimanapun, misalnya jika ada kegagalan router atau disconnect. TCP adalah protokol jaringan yang handal. Protokol ini bekerja berkelanjutan untuk menjamin pengiriman semua data dan sesuai dengan urutan pengiriman sehingga dapat diketahui data yang dikirim sampai ke destinasi.
• IP layer me-route paket hanya pada tingkat mesin. IP tidak memiliki mekanisme untuk membedakan paket dari aplikasi dalam mesin atau membedakan antara banyak koneksi dalam aplikasi aplikasi tunggal. Fungsi ini disediakan oleh protokol transport layer, TCP dan UDP. IP layer me-route ke mesin sedangkan layer transport mengirim ke koneksi individu dalam suatu aplikasi, yang diidentifikasi oleh TCP dengan menetapkan “port number” yang unik pada masing-masing koneksi.
• IP adalah tanpa koneksi – paket ditransmisikan secara individu, benar – benar saling bebas. Untuk banyak aplikasi hal ini tidak cocok. Mereka menampilkan komunikasi sebagai suatu sesi secara keseluruhan; pertukaran adalah bagian dari transaksi keseluruhan sehingga aplikasi harus menyimpan informasi tentang keadaan percakapan yang sedang berlangsung. Misalnya, saat menggunakan POP mail server, perintah “retrieve message” hanya dimungkinkan jika user telah memasukkan username dan password yang valid. Atau pada ftp, saat me-request file, misalnya “get readme.txt” file tertentu yang dikirim sangat tergantung pada direktori tempat saat mengeluarkan command tersebut. TCP menjawab kebutuhan ini; TCP adalah protokol connection-oriented yang memungkin mendapatkan sesi berkelanjutan. Sebelum komunikasi menggunakan TCP, aplikasi pada kedua ujung membangun ( membuka ) koneksi antar mereka. Kemudian mereka mempertukarkan data melalui koneksi ini, dan saat mereka selesai, mereka menterminasi koneksi.

Layanan TCP/IP
TCP menggunakan paket – paket yang dilapiskan di atas IP, ARP, ICMP, dan semua mekanisme routing untuk mengirimkan data. Tetapi saat menggunakan mekanisme tersebut, mereka adalah layer terpisah dan TCP tidak menduplikasi fungsionalitas mereka. TCP tidak terlibat di dalamnya atau mengetahui sesuatu tentang routing tersebut: ditangani secara eksklusif oleh IP layer yang ada di bawahnya, sebagaimana ditunjukkan oleh gambar 2 di atas. Bagi TCP layer di mesin sumber tampak bahwa dia berbicara secara langsung ke TCP layer di destinasi. Itulah mengapa layer transport disebut juga layer host to host, TCP dan UDP disebut protokol end to end.
Bentuk layanan default yang dapat berjalan di atas TCP/IP, sebagai berikut
Pengiriman berkas (file transfer). File Transfer Protocol (FTP) memungkinkan pengguna komputer yang satu untuk dapat mengirim ataupun menerima berkas ke sebuah host di dalam jaringan. Metode otentikasi yang digunakannya adalah penggunaan nama pengguna (user name) dan [[password]], meskipun banyak juga FTP yang dapat diakses secara anonim (anonymous), alias tidak berpassword.
• Computer mail. Digunakan untuk menerapkan sistem surat elektronik.
• Remote login. Network terminal Protocol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer di dalam suatu jaringan secara jarak jauh. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.
• Network File System (NFS). Pelayanan akses berkas-berkas yang dapat diakses dari jarak jauh yang memungkinkan klien-klien untuk mengakses berkas pada komputer jaringan, seolah-olah berkas tersebut disimpan secara lokal.
• Remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program tertentu di dalam komputer yang berbeda. Biasanya berguna jika pengguna menggunakan komputer yang terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu sistem komputer. Ada beberapa jenis remote execution, ada yang berupa perintah-perintah dasar saja, yaitu yang dapat dijalankan dalam system komputer yang sama dan ada pula yg menggunakan sistem Remote Procedure Call (RPC), yang memungkinkan program untuk memanggil subrutin yang akan dijalankan di sistem komputer yg berbeda. Misalnya, software Real VNC yang menggunakan IP dalam jaringan untuk me-remote komputer.
• Name server yang berguna sebagai penyimpanan basis data nama host yang digunakan pada internet.
Koneksi dan Port TCP
Aplikasi client menggunakan nomor port untuk memberitahu mesin destinasi, service TCP mana yang diinginkannya. Server untuk aplikasi tertentu mendengarkan well-known port untuk mengetahui koneksi dari client yang meminta service-nya. TCP digunakan untuk berkomunikasi data application to application ( dengan IP layer di bawahnya menangani donkey network untuk mendapatkan paket dari satu mesin ke mesin lainnya melewati jaringan.) Banyal aplikasi yang berbeda – Web, e-mail, FTP, sistem basis data, sistem windows, dan lain – lain menggunakan TCP.
Port adalah alamat yang membedakan koneksi TCP yang berbeda – beda pada mesin yang sama, sedangkan IP address adalah nomor yang mengidentifikasikan mesin mana yang menjadi tujuan suatu paket, port TCP adalah nomor yang mengidentifikasikan koneksi mana dalam mesin spesifik yang dihubungkan dengan paket tersebut.

Telnet >> Port 23
Email >> Port 25
HTTP >> Port 80
Email (POP-3) >> Port 110

Inilah yang disebut sebagai well-known port. Server untuk service tertentu mendengarkan pada well-known port yang sesuai dan memperlakukan permintaan apapun yang datang untuk diproses sesuai dengan permintaan tersebut.
Masalah Pengalamatan
Dalam sebuah jaringan SNA , setiap mesin mempunyai Logical Units dengan alamat jaringan masing-masing. DECNET, Appletalk, dan Novell IPX mempunyai rancangan untuk membuat nomor untuk setiap jaringan lokal dan untuk setiap workstation yang terhubung ke jaringan.
Pada bagian utama pengalamatan lokal network, TCP/IP membuat nomor unik untuk setiap workstation di seluruh dunia. Nomor IP adalah nilai 4 byte (IPv4) dengan konvensi merubah setiap byte ke dalam nomor desimal (0 sampai 255 untuk IP yang digunakan sekarang) dan memisahkan setiap bytes dengan periode. Sebagai contoh misalnya 130.132.59.234.
Sebuah organisasi dimulai dengan mengirimkan electronic mail ke Hostmaster@INTERNIC.NET meminta untuk pembuatan nomor jaringan. Hal ini dimungkinkan bagi hampir setiap orang untuk memperoleh nomor untuk jaringan “small class C” dengan 3 bytes pertama meyatakan jaringan dan byte terakhir menyatakan individual komputer. Organisasi yang lebih besar dapat memperoleh jaringan “Class B” dengan 2 bytes pertama menyatakan jaringan dan 2 bytes terakhir menyatakan menyatakan masing-masing workstation sampai mencapai 64.000 individual workstation. Contoh Jaringan Class B Yale adalah 130.132, jadi semua komputer dengan IP address 130.132.*.* adalah dihubungkan melalui Yale.
Kemudian organisasi berhubungan dengan intenet melalui satu dari beberapa jaringan regional atau jaringan khusus. vendor jaringan diberi nomor pelanggan networks dan ditambahkan ke dalam konfigurasi routing dalam masing-masing mesin.
Tidak ada rumus matematika yang mengubah nomor 192.35.91 atau 130.132 menjadi “Yale University” atau “New Haven”. Mesin-mesin yang mengatur jaringan regional yang besar atau routers Internet pusat dapat menentukan lokasi jaringan-jaringan tersebut dengan mencari setiap nomor jaringan tersebut dalam tabel. Diperkirakan ada ribuan jaringan class B dan jutaan jaringan class C. Pelanggan yang terhubung dengan Internet, bahkan perusahaan besar seperti IBM tidak perlu untuk memelihara informasi pada jaringan-jatingan yang lain. Mereka mengirim semua eksternal data ke regional carrier yang mereka langgan, dan regional carrier mengamati dan memelihara tabel dan melakukan routing yang tepat.
3. Subnets
Meskipun pelanggan individual tidak membutuhkan nomor tabel jaringan atau menyediakan eksplisit routing, tapi untuk kebanyakan jaringan class B dapat diatur secara internal sehingga lebih kecil dan versi organisasi jaringan yang lebih sederhana. Biasanya membagi dua byte internal assignment menjadi satu byte nomor departmen dan satu byte Workstation ID.
Enterprise network dibangun dengan menggunakan TCP/IP router box secara komersial. setiap router mempunyai tabel dengan 255 masukan untuk mengubah satu byte nomor departmen menjadi pilihan tujuan ethernet yang terhubung ke salah satu router. Misalnya, pesan ke 130.132.59.234 melalui jaringan regional National dan New England berdasarkan bagian nomor 130.132. Tiba di Yale, 59 department ID memilih ethernet connector . 234 memilih workstation tertentu pada LAN. Jaringan Yale harus diupdate sebagai ethernet baru dan departemen ditambahkan, tapi tidak dipengaruhi oleh perubahan dari luar atau perpindahan mesin dalam departemen.
4. Jalur-jalur tak tentu
Setiap kali sebuah pesan tiba pada sebuah IP router, maka router akan membuat keputusan ke mana berikutnya pesan tersebut akan dikirimkan. Ada konsep satu waktu tertentu dengan preselected path untuk semua traffic. Misalkan sebuah perusahaan dengan fasilitas di New York, Los Angles, Chicago dan Atlanta. Dapat dibuat jaringan dari empat jalur telepon membentuk sebuah loop (NY ke Chicago ke LA ke Atlanta ke NY). Sebuah pesan tiba di router NY dapat pergi ke LA melalui Chicago atau melalui Atlanta. jawaban dapat kembali ke jalan lain.
Bagaimana sebuah router dapat membuat keputusan antara router dengan router? tidak ada jawaban yang benar. Traffic dapat dipetakan dengan algoritma “clockwise” (pergi ke NY ke Atlanta, LA ke chicago). Router dapat menentukan, mengirimkan pesan ke Atlanta kemudian selanjutnya ke ke Chicago. Routing yang lebih baik adalah dengan mengukur pola traffic dan mengirimkan data melalui link yang paling tidak sibuk.
Jika satu saluran telepon dalam satu jaringan rusak, pesan dapat tetap mencapai tujuannya melalui jalur yang lain. Setelah kehilangan jalur dari NY ke Chicago, data dapat dikirim dari NY ke Atlanta ke LA ke Chicago. Dengan begitu maka jalur akan berlanjut meskipun dengan kerugian performance menurun.

Masalah yang Tidak Diperiksa (Undiagnosed Problem)
Jika ada error terjadi, maka dilaporkan ke network authorities. Error tersebut harus dibenarkan atau diperbaiki. IP, didesain untuk dapat tahan dan kuat. Kehilangan node atau jalur adalah hal biasa, tetapi jaringan harus tetap jalan. Jadi IP secara otomatis menkonfigurasi ulang dirinya sendiri bila terjadi sesuatu yang salah. Jika banyak redundancy yang dibangun ke dalam sistem maka komuniksi tetap berlangsung dan terjaga. TCP dirancang untuk memulihkan node atau saluran yang gagal dimana propagasi routing table berubah untuk semua node router. Karena proses updating memerlukan waktu yang lama , TCP agak lambat untuk menginisiasi pemulihan.

Koneksi TCP Diidentifikasi Oleh Port
Port destinasi sendiri tidak cukup untuk meng-enable TCP untuk mengirimkan paket ke koneksi yang tepat pada saat mesin dan untuk mencegah bercampurnya paket dari koneksi yang berbeda. TCP memecahkan masalah ini dengan menggunakan port sumber dan IP address sumber dan destinasi, yaitu kombinasi dari :
1. Nomor IP sumber ( N1 )
2. Nomor port sumber ( P1 )
3. Nomor IP sumber ( N2 )
4. Nomor port sumber ( P2 )
untuk menetapkan suatu koneksi secar unik sehingga semua paket untuk koneksi ini dapat dikirimkan tanpa bercampur dengan yang lain.
Mengenai Nomor IP
Setiap perusahaan besar atau perguruan tinggi yang terhubung ke internet harus mempunyai level intermediet network. beberapa router mungkin dikonfigurasi untuk berhubungan dengan bebarapa department LAN. Semua traffic di luar organisasi dihubungkan dengan koneksi tunggal ke jaringan provider regional.
Jadi, pemakai akhir dapat menginstall TCP/IP pada PC tanpa harus tahu jaringan regional . Tiga bagian informasi dibutuhkan :
• IP address dibuat pada PC
• Bagian dari IP address (subnet mask) yang membedakan mesin lain dalam LAN yang sama (pesan dapat dikirim secara langsung ) dengan mesin-mesin di departemen lain atao dimanapun di seluruh dunia ( yang dikirimkan ke router mesin)
• IP address dari router mesin yang menghubungkan LAN tersebut dengan dunia luar.
7. Susunan TCP/IP protocol
Internet pada mulanya didesain dengan dua kriteria utama. Dua kriteria ini mempengaruhi dan membentuk hardware dan software yang digunakan sekarang. Kriteria tersebut : Jaringan harus melakukan komunikasi antara para peneliti di belahan dunia yang berbeda, memungkinkan meraka dapat berbagi dan berkomunikasi mengenai penelitian mereka satu sama lain. Sayangnya, riset memerlukan berbagai komputer dari beragam platform dan arsitektur jaringan yang berbeda untuk keperluan keilmuan. Maka untuk itu diperlukan protocol suite untuk dapat berhubungan dengan berbagai platforms hardware yang berbeda dan bahkan sistem jaringan yang berbeda. Lebih jauh lagi, network harus merupakan jaringan komunikasi yang kuat yang mempunyai kemampuan dapat bertahan dari serangan nuklir. Rancangan ini memebawa ke arah desentralisasi jaringan yang terdiri dari jaringan yang terpisah, lebih kecil, jaringan yang diisolasi yang mempunyai kemampuan otomatis bila diperlukan.

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More