Minggu, 18 Mei 2014

CLIENT - SERVER


Kata Pengantar
Assalamualaikum Wr. Wb.
            Segala puji kami panjatkan kehadirat Allah SWT karena atas rahmat dan karunia sehingga Penyusun dapat menyelesaikan Tugas softskill mata kuliah PENGANTAR WEB SCIENCE tentang “Client-Server“ ini tepat pada waktu yang telah di tentukan. Tak lupa pula Shalawat serta salam kami panjatkan kepada junjungan Nabi kita Nabi Muhammad.SAW. para sahabat serta keluarganya dan para pengikutnya yang senantiasa selalu menjalankan sunnah-sunnah nya hingga akhir zaman nanti.
Penyusun menyadari bahwa masih banyak kekurangan dalam Tugas softskill ini baik dari segi penulisan maupun segi bahasa. Untuk itu saran dan kritik yang bersifat membangun senantiasa saya terima dengan tangan terbuka. Semoga Tugas softskill ini dapat memberikan manfaat berupa informasi bagi saudara/i dan memberi semangat untuk melakukan hal yang lebih baik lagi dan lagi.
Demikian penyusun sampaikan terima kasih kepada semua pihak yang telah membaca ataupun sekedar melihat Tugas softskill ini dari awal sampai akhir. Semoga Allah SWT meridhoi segala usaha dan langkah kita. Amin.
Wassalamualaikum Wr. Wb.



Bekasi, Mei 2014

PENYUSUN.


PENDAHULUAN
A.   Latar Belakang
Klien-server atau client-server merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.
Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal pada client.
B.   Rumusan Masalah
Berdasarkan latar belakang materi tersebut berikut rumusan masalahnya mengenai pengertian, cara kerja, contoh aplikasi yang di gunakan untuk client-server.
C.   Tujuan
Tujuan materi ini di bahas adalah agar pembaca mengerti dan memahami tentang keseluruhan dari client-server.


PEMBAHASAN
A.   Pengertian client & server
Pada server seperti artinya yaitu penyedia, pelayan, atau yang melayani. jadi komputer yang menyediakan jasa berupa pelayanan atau melayani permintaan dari client atau bisa di bilang seorang owner atau pemilik suatu restoran. jika client menginginkan atau meminta layanan  kepada server, maka akan disediakan atau dilayani oleh server. Server itu ada bermacam-macam. Mulai dari Web Server, Komputer Server, Server Aplikasi, dan lain-lain. Intinya, server ini digunakan untuk melayani para client. Sedangkan client artinya Pelanggan atau Klien. Berarti sebuah komputer yang harus dilayani. Segala sesuatu yang diinginkan oleh client harus dilayani oleh server konsep nya sama seperti penjual dan pembeli. Pada model arsitektur ini, Client tidak dapat berfungsi sebagai Server, tetapi Server dapat berfungsi menjadi Client (server non-dedicated). Prinsip kerja pada arsitektur ini sangat sederhana, dimana Server akan menunggu permintaan dari Client, memproses dan memberikan hasil kepada Client, sedangkan Client akan mengirimkan permintaan ke Server, menunggu proses dan melihat visualisasi hasil prosesnya. Sistem Client Server ini tidak hanya diperuntukkan bagi pembangunan jaringan komputer skala luas. Sistem ini menggunakan protokol utama Transmision Control Protocol/Internet Protocol (TCP/IP), sedangkan sistem operasi yang digunakan antara lain Unix, Linux dan Windows NT. Lingkungan Database Client/Server di Internet
·         Menggunakan LAN untuk mendukung jaringan PC
·         Masing-masing PC memiliki penyimpan tersendiri
·         Berbagi hardware atau software

1.      Komponen dasar Client Server
Pada dasarnya Client Server terdiri dari 3 komponen pembentuk dasar, yaitu Client, Middleware, dan Server. Gubungan dari ketiganya dapat digambarkan sebagai berikut:

2.      Arsitektur File Server
  • Model pertama Client/Server
  • Semua pemrosesan dilakukan pada sisi workstation
  • Satu atau beberapa server terhubungkan dalam jaringan
  • Server bertindak sebagai file server
  • File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut
  • Setiap klien dilengkapi DBMS tersendiri
  • DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server
  • Aktivitas pada klien:
  • Meminta data
  • Meminta penguncian data
  • Tanggapan dari klien
  • Memberikan data
  • Mengunci data dan memberikan statusnya

3.      Batasan File Server
  • Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan
  • Setiap klien harus memasang DBMS sehingga mengurangi memori
  • Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus
  • Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama ð tanggung jawab diserahkan kepada programmer
4.      Arsitektur Database Server
  • Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis)
  • Database server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database
  • Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi
  • Beban jaringan menjadi berkurang
  • Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server
  • Database server merupakan implementasi dari two-tier architecture

a.      Contoh Two-Tier Architecture
Kelebihan dari Two-Tier Architecture
·         Mudah
·         Menangani Database Server secara khusus
·         Relatif lebih sederhana untuk di develop dan diimplementasikan.
·         Lebih cocok diterapkan untuk bisnis kecil.
Kekurangan dari Two-Tier Architecture
·         Kurangnya skalabilitas
·         Koneksi database dijaga
·         Tidak ada keterbaharuan kode
·         Tidak ada tingkat menengah untuk menangani keamanan dan transaksi skala kecil.
·         Susah di amankan.
·         Lebih mahal.

b.      Contoh Three-tier Architecture

  • Melibatkan lapisan server yang lain selain lapisan database server

Beberapa Keuntungan Arsitektur Three-Tier
  • Keluwesan teknologi
  • Mudah untuk mengubah DBMS engine
  • Memungkinkan pula middle tier ke platform yang berbeda
  • Biaya jangka panjang yang rendah
  • Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan
  • Keunggulan kompetitif
  • Kekampuan untuk bereaksi terhadap perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi
Kekurangan arsitekture Three Tier :
·         Lebih susah untuk merancang
·         Lebih susah untuk mengatur
·         Lebih mahal
Sehubung pada penjelasan kali ini mengenai client-server pada web maka akan di jelaskan di bawah ini secara singkat padat dan mudah-mudahan jelas.
B.   Pengertian HTML dan HTTP
HTML  (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser. HTTP  Singkatan dari Hypertext Transfer Protocol, yang mana adalah suatu protokol yang digunakan oleh World Wide Web.
HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. Sebagai contoh, ketika Kalian mengetikkan suatu alamat atau URL pada internet browser Kalian, maka sebenarnya web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser (misalnya akses ke database, file, e-mail dan lain sebagainya). Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada pengguna.
C.   Definisi Web Server
Web server adalah software yang menjadi tulang belakang dari world wide web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Modzilla, dan program browser lainnya Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (standar general markup language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja. Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai protokol sendiri, yaitu HTTP (hypertext tarnsfer protocol). Dengan protokol ini, komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, format data pada world wide web adalah SGML.
Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML (hypertext markup language) karena penggunaannya lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halamanhalaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.

D.   Pengertian Web
Web merupakan sebuah situs atau halaman yang dapat memberikan gambaran tentang sesuatu hal bisa berupa info, berita, gambar, video, game, dan masih banyak lagi yang lainnya. Dan pada situs web ini hanya dapat diakses melalui jaringan seperti internet, ataupun jaringan wilayah lokal (LAN) melalui alamat internet yang dikenali sebagai URL. Kumpulan situs halaman yang dapat di akses oleh public di internet disebut dengan World Wide Web di singkatan menjadi WWW. Di jaman yang serba modern ini web amat sangat berguna bagi kita terutama buat para bro and sista yang lagi baca artikel ini ^_^. Semua hal yang ada di dunia ini dapat di cari atau dapat kalian temukan dengan mudah di web. Web dapat mempermudah kita dalam memperoleh informasi secara cepat, tepat dan akurat. Karena sangat mudahnya memperoleh atau mengakses web di internet kadang kala ada beberapa situs web yang tidak dapat di akses secara bebas beberapa situs web mewajibkan pengunjung untuk melakukan pendaftaran sebagai anggota, atau bahkan meminta pembayaran untuk dapat menjadi aggota untuk dapat mengakses isi yang terdapat dalam situs web tersebut, misalnya situs-situs yang menampilkan pornografi, situs-situs berita, layanan surel (e-mail), dan lain-lain. Pembatasan-pembatasan ini umumnya dilakukan karena alasan keamanan, menghormati privasi, atau karena tujuan komersil tertentu.
E.   Konsep dasar web
Secara teknis web terdiri dari 2 bagian, yaitu Web Server dan Web Browser:
·         Web Server yaitu Suatu komputer dan software yang menyimpan serta mendistribusikan data ke komputer client melalui internet yang meminta informasi tersebut, Software webserver ini diantaranya: Apache, MySQL, dan PHP. Sebut saja dengan hostingan, atau kalau di komputer lokal juga bisa dengan menggunakan program PHPTriad, Apache2Triad, Xampp, dll.
·         Web Browser yaitu Software/program yang beroperasi untuk melakukan proses permintaan dari server dan menampilkannya di mata client, sehingga informasi tersebut dapat diakses, contohnya adalah: IE, Mozila Firefox, Opera, Clock, Google Chrome,dll.
Selain konsep web diatas web terdiri dari script-script programming, script ini terbagi 2 macam, yaitu Server Side Programming dan Client Side Programming.
·         Server side programming yaitu Script/pemrograman yang diterjemahkan dan dijalankan pada sisi server yang hasil eksekusinya dikirimkan ke client, contohnya adalah script PHP, ASP, dll. Keuntungan dari server side programming adalah membuat halaman website lebih dinamis, sehingga kita sebagai admin dapat berkomunikasi dengan para client.
·         Client side programming  yaitu Script/pemrograman yang diterjemahkan disisi client dimana script tersebut akan langsung dikirimkan ke browser client tanpa harus diterjemahkan oleh web server, contohnya Script HTML, Java Script, txt, dll, namun sayangnya script ini dapat dibaca oleh client dengan fasilitas "view souerce" pada browser, tapi salah satu keuntungannya transfer data dapat lebih cepat dibandingkan dengan script side server.
Aplikasi web berjalan pada protokol HTTP, dan semua protokol di internet selalu melibatkan antara server dan client. Ketika seseorang mengetikkan suatu alamat di browser, maka browser akan mengirimkan perintah tersebut ke web server. Jika yang diminta oleh client adalah file yang mengandung perintah server side maka server web akan menjalankan dahulu program tersebut lalu mengirimkannya kembali ke browser dalam bentuk HTML sehingga dapat diterjemahkan oleh browser. Sedangkan jika yang diminta oleh client adalah file yang mengandung file client side maka oleh server file tersebut akan langsung dikirimkan ke browser. untuk server side programming seperti php dan asp, memang terkenal handal, apalagi php saya dapat merasakannya sendiri, betapa hebatnya bahasa yang satu ini, untuk penggunaan database gak perlu di tanya lagi, sangat canggih, dan masih banyak lagi yang bisa di lakukan oleh php. namun tidak semua layanan efektive menggunakan server side saja.
Contohnya kalian ingin membuat content yang realtime update seperti bursa saham contohnya, gak mungkin donk kalian pake php atau asp yang berbasis server side untuk menampilkan data yang up to date itu, karena kita tau bahasa tersebut berjalan / dieksekusi pada saat page load, dan membutuhkan proses lagi di server baru kemudian di kirimkan ke browser, sebenarnya bisa saja dilakukan tapi gak lucu kalo kita harus membuat web browser refresh tiap detiknnya, karena akan memakan waktu dan tidak efektif. Apakah kalian tau kehandalan java script, sejak kemunculannya hingga saat ini, kita dapat membuat aplikasi yang berjalan di browser tanpa harus melakukan load page ketika harus melakukan suatu proses, beberapa contoh yang sering di gunakan seperti menu rollover, pop up menu dan animasi animasi web, kebanyakan menggunakan java sebagai client side programming, Coba kalian lihat waktu yang update pada halaman web ini di atas ssebelah kiri, itu adalah contoh kecil dari javascript. Untuk membuat sebuah situs kalian harus mengenal terlebih dahulu jenis-jenis file yang bisa di eksekusi/akses oleh web browser.




DAFTAR PUSTAKA
http://d-tcn.blogspot.com/2013/11/arsitektur-client-server.html
http://id.wikipedia.org/wiki/Klien-server
http://dunovteck.wordpress.com/2011/06/07/client-server/