interoperabilitas - client server
DESCRIPTION
makalah client server InteroprabilitasTRANSCRIPT
MAKALAH CLIENT SERVER
Dibuat untuk memenuhi tugasMatakuliah interoperabilitas
Di susunoleh :
Nama :RikiWiswandi
Moch. Rizky Ananda F
Moch. Ridwanto
Nrp : 152009071
152009049
152009095
FAKULTAS TEKNIK INDUSTRI
JURUSAN TEKNIK INFORMATIKA
INSTITUT TEKNOLOGI NASIONAL
BANDUNG
2012
Pendahuluan
Kata ‘server’ seringkali diucapkan oleh pengguna komputer, terutama ketika sedang membicarakan ‘jaringan komputer’ atau ‘internet’. Dalam bahasa Inggris, kata server berasal dari kata serve yang artinya melayani, meladeni, menghidangkan, menyajikan. Sehingga dalam pembicaraan ‘jaringan komputer’ atau ‘internet’, server adalah sebuah komputer (atau sebuah sistem komputer) yang tugasnya melayani komputer-komputer lainnya. Tentu saja, komputer-komputer yang dilayani adalah komputer-komputer yang terhubung dengan server tersebut. Dengan demikian, komputer server dapat berfungsi sebagai:
- Situs intenet atau ilmu pengetahuan
- Penyimpan data atau file, dan membuat data atau file tersebut dapat diambil kembali saat dibutuhkan.
- Mengkoneksikan komputer client ke Internet.
Banyak sekali kaum komputeris yang mencoba mendefinisikan arti kata/istilah server dalam hubungannya dengan komputer. Berikut ini disajikan beberapa definisinya:
- Server adalah sebuah komputer di Internet atau di jaringan lainnya yang menyimpan file dan membuat file tersebut tersedia untuk diambil jika dibutuhkan.
- Server adalah sebuah aplikasi jaringan komputer yang digunakan untuk melayani banyak pengguna dalam satu jaringan.
- Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer.
Komputer server biasanya memiliki RAM yang besar dan dalam operasionalnya menggunakan sistem operasi khusus, yang disebut sistem operasi jaringan atau network operating system. Server juga menjalankan software administratif yang berguna untuk mengontrol akses ke jaringan, dan mengelola perangkat (sumber daya) yang terdapat di dalamnya, misalnya printer, serta memberikan akses kepada workstation yang menjadi anggota jaringan (workstation yang tersambung ke jaringan).
Kata atau istilah workstation berasal dari bahasa Inggris yang terjemahan bebasnya bermakna stasiun kerja. Dalam bahasan jaringan komputer, istilah workstation biasanya dipakai untuk menyebut komputer (yang dipakai oleh pengguna) yang terhubung ke suatu jaringan. Dalam pengertian yang lain, workstation diartikan sebagai single user komputer yang berdaya penuh yang penggunaannya biasanya ditujukan untuk aplikasi high end graphics dan aplikasi desain tambahan. Disebut juga dengan nama graphics workstation.
1. Pengertian Client ServerClient-server adalah suatu bentuk arsitektur, dimana client adalah perangkat
yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya. Server biasanya terhubung dengan client melalui kabel UTP dan sebuah kartu jaringan (network card). Kartu jaringan ini biasanya berupa kartu PCI atau ISA.
Dalam teknologi informasi, client-server merujuk kepada cara mendistribusikan aplikasi ke pihak client dan pihak server. Dalam model client-server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah (tetapi masih dalam sebuah kesatuan) yakni komponen client dan komponen server.Komponen client dijalankan pada sebuah workstation. Pemakai workstation memasukkan data dengan menggunakan teknologi pemrosesan tertentu, kemudian mengirimkannya ke komponen server, umumnya berupa permintaan layanan tertentu yang dimiliki oleh server. Komponen server akan menerima permintaan layanan tersebut dan langsung memprosesnya serta mengembalikan hasil pemrosesan kepada client. Client pun menerima informasi hasil pemrosesan data tadi dan menampilkannya kepada pemakai dengan menggunakan aplikasi yang digunakan oleh pemakai.
Sebuah contoh dari aplikasi client-server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP). Skrip ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak client akan dijalankan oleh web browser pada komputer client (workstation). Client-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database. Dengan metode client-server database dapat diinstal pada komputer server dan aplikasinya diinstal pada client.Komponen client juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end.
Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa
perbedaan karakteristik yaitu :
1.Servis (layanan)
a) Hubungan antara proses yang berjalan pada mesin yang berbeda
b)Pemisahan fungsi berdasarkan ide layanannya.
c)Server sebagai provider, client sebagai konsumen
2.Sharing resources (sumber daya)
Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi
akses bersama untuk share sumber daya dalam menjamin konsistensinya.
3.Asymmetrical protocol (protokol yang tidak simetris )
Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dariclient.
4.Transparansi lokasi
Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada
mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.
5.Mix-and-Match
Perbedaan server client platforms
6.Pesan berbasiskan komunikasi
Interaksi server dan client melalui pengiriman pesan yang menyertakan
permintaan dan jawaban.
7.Pemisahan interface dan implementasi
Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang
diterbitkan tidak berubah.
Client Server System
Client / Server Application
Perbedaan Tipe Client-Server
1.File Servers
a) File server vendors mengklaim bahwa mereka pertama menemukan istilah client-server.
b)Untuk sharing file melalui jaringan
2.Database Servers
a) Client mengirimkan SQL requests sebagai pesan pada database server,selanjutnya hasil perintah SQL dikembalikan.
b) Server menggunakan kekuatan proses yang diinginkan untuk menemukan data yang diminta dan kemudian semua record dikembalikan pada client.
3. Transaction Servers (Transaksi Server)
a)Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine.
b)Remote procedures ini mengeksekusi sebuah grup dari SQL statement
c) Hanya satu permintaan / jawaban yang dibutuhkan untuk melakukan transaksi.
4.Groupsware Servers
a) Dikenal sebagai Computer-supported cooperative working.
b) Manajemen semi-struktur informasi seperti teks, image, bulletin boards dan aliaran kerja.
d) Data diatur sebagai dokumen.
5.Object Application Servers
a)Aplikasi client/server ditulis sebagai satu set objek komunikasi.
b) Client objects berkomunikasi dengan server objects melalui Object Request Broker (ORB).
c) Client meminta sebuah method pada remote object.
6.Web Application Servers (Aplikasi Web Servers)
a) World Wide Web adalah aplikasi client server yang pertama yang digunakan untuk web.
b) Client dan servers berkomunikasi menggunakan RPC seperti protokol yang disebut HTTP.
Kelebihan dan Kekurangan Client Server
Kelebihan
Kecepatan akses lebih tinggi karena penyediaan fasilitas jaringan dan
pengelolaannya dilakukan secara khusus oleh satu komputer (server)
yang tidak dibebani dengan tugas lain seperti sebagai workstation.
Sistem keamanan dan administrasi jaringan lebih baik, karena
terdapat sebuah komputer yang bertugas sebagai administrator
jaringan, yang mengelola administrasi dan sistem keamanan jaringan.
Sistem backup data lebih baik, karena pada jaringan client-server
backup dilakukan terpusat di server, yang akan membackup seluruh
data yang digunakan di dalam jaringan.
Memberikan keamanan yang lebih baik
Lebih mudah pengaturannya bila networknya besar karena administrasinya disentralkan, Semua data dapat dibackup pada satu lokasi sentral (pusat)
Kelemahan
Biaya operasional relatif lebih mahal.
Diperlukan adanya satu komputer khusus yang berkemampuan lebih
untuk ditugaskan sebagai server.
Kelangsungan jaringan sangat tergantung pada server. Bila server
mengalami gangguan maka secara keseluruhan jaringan akan
terganggu.
Membutuhkan software NOS yang mahal contoh : NT atau
server Windows 2000, XP,Novell, UNIX
Membutuhkan hardware yang lebih tinggi dan mahal untuk
mesin server
Membutuhkan administrator yang Profesional
Mempunyai satu titik lemah jika
menggunakan satu server, data user menjadi tak ada jika
server mati.
Kendala atau Hambatan dalam Client Server
Kenadala atau Hambatan Implementasi Sistem Client Server
Organisasi Skill personel yang kurang memadai untuk implementasi sistem client
server. Anti perubahan terhadap teknologi baru. Biaya konversi Membutuhkan koordinasi dan kontrol yang lebih pada end user.
Teknologi
Membutuhkan infrastruktur LAN dan WAN Skill dan peralatan yang belum memadai Belum adanya pemahaman dan pengalaman dalam merencanakan sistem
client server Tidak tersedianya produk dan tools pengembangan sistem client server Sedikitnya applikasi client server Sedikitnya standar nasional dan internasional untuk sistem client server.
Arsitektur Client Server
Kita tahu bahwa perkembangan teknologi kini telah banyak membuat perubahan pada
cara berpikir kita (manusia). Dengan laju pertumbuhan teknologi yang makin cepat,
kebutuhan akan informasi dari hari ke hari meningkat sehingga menuntu kelancaran, dan
kecepatan proses distribusi informasi.
Arsitektur jaringan Client Server merupakan model konektivitas pada jaringan yang
membedakan fungsi computer sebagai Client dan Server. Arsitektur ini menempatkan sebuah
komputer sebagai Server. Nah Server ini yang bertugas memberikan pelayanan kepada
terminal-terminal lainnya tang terhubung dalam system jaringan atau yang kita sebut
Clientnya. Server juga dapat bertugas untuk memberikan layanan berbagi pakai berkas (file
server), printer (printer server), jalur komunikasi (server komunikasi).
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), sedangkam 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
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:
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
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.
Bahasa pemrograman yang di gunakan Client Server
Pemrograman Client/Server Dengan Java
Java adalah bahasa pemrograman yang berorientasi objek (OOP) yang dapat
dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya
terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi
dan bersifat open source.
Keunggulan java antara lain :
1. Sederhana
Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit
dan multiple inheritance. Java juga menggunakan automatic memory allocation dan
memory garbage collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat
dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi
objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-
objek tersebut.
3. Dapat didistribusi dengan mudahJava dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. Interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM).
Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java
bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan
mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java
mempunyai runtime-Exception handling untuk membantu mengatasi error pada
pemrograman.
6. Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki
beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk
merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu
buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual
Machine.
8. Portabel
Source code maupun program Java dapat dengan mudah dibawa ke platform yang
berbeda-beda tanpa harus dikompilasi ulang.
9. Multithreading
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan
beberapa pekerjaan secara sekaligus dan simultan.
11. Dinamis
Perubahan pada suatu class dengan menambahkan properties ataupun method dapat
dilakukan tanpa menggangu program yang menggunakan class tersebut.
Komponen penting java antara lain : By : Dita Gojack
Java Virtual Machine (JVM)
Sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah
mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi
kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi
bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.
Garbage Collection
Program Java melakukan garbage collection yang berarti program tidak perlu
menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi
beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi
sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi
dinamis.
Code Security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime
Environment (JRE)
Saat program java dikompilasi, kompilator akan terlebih dahulu menentukan struktur
program. Yaitu akan membaca kode sumber kemudian menerapkan aturan-aturan
secara progresif menjadi identifier, ekspresi, kalimat dan kelas.
1. Lexical Analyze.
Melakukan analisi leksik yaitu scan untuk mencari sekuen karakter (token) ,
membentuk identifier, operator dan sebagainya.
2. Parser.
Melakukan proses parsing yang bertanggungjawab untuk menemukan level yang
lebih tinggi pada sekuen token yang dihasilkan pada lexical analyzer.
Token adalah element terkecil program yang mempunyai arti bag kompilator
Token java dibagi menjadi 5 macam :
A. Identifier
Identifier adaah token yang merepresentasikan nama yang mewakili variabel, method,
class, paket dan interface. Contoh dari Identifier adalah : Hello, main, System, out.
B. Variabel
digunakan data untuk menyimpan pernyataan objek.Variabel memiliki tipe data dan
nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri.
int panjang , String nama, boolean siswa
C. Konstanta
merupakan variabel yang telah diberi nilai sekali saja dan tidak dapat diubah
selamanya.
D. Keyword
Kata kunci adalah identifier yang telah didefinisikan sebelumnya oleh java untuk
tujuan tertentu. Kita tidak dapat menggunakan keyword sebagai nama variabel, class,
dan method.
E. Literal
Literal adalah tanda bahwa tidak terjadi perubahan atau konstan. Secara garis besar
literal terbagi menjadi angka, karakter, string
Bahasa pemrograman Java mendefinisikan delapan tipe data. Yaitu boolean (untuk
bentuk logika), char (untuk bentuk tekstual), byte, short, int, long (integral), double
dan float (floating point).
Konversi Saat kita melakukan pemberian nilai suatu tipe data dengan tipe data lain.
Jika kedua tipe data tersebut kompatibel maka java akan melakukan konversi secara
otomatis. Java akan melakukan konversi tipe data secara otomatis dengan syarat :
• Kedua tipe data (atau lebih) saling kompatibel.
• Tipe data tujuan ukurannya lebih besar dari tipe data sumber
Java, ada operator aritmatika, operator relasi, operator increment-decrement, operator
logika, operator kondisi dsb. Operator ini mengikuti bermacam-macam prioritas yang
pasti sehingga kompiler java akan tahu yang mana operator untuk dijalankan lebih
dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu
pernyataan.
Percabangan merupakan bagian dari struktur kontrol. Struktur kontrol percabangan
adalah pernyataan dari program yang mengijinkan user untuk memilih dan
mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain
A. Percabangan If => akan menentukan sebuah pernyataan (blok kode) yang akan
eksekusi jika persyaratan bernilai benar(true).
B. Percabangan If – Else => digunakan apabila kita ingin mengeksekusi beberapa
pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false
C. Percabangan Switch-Case
Cara lain untuk membuat percabangan adalah menggunakan switch. Switch
mengkonstruksikan cabang untuk beberapa kondisi dari nilai
Perulangan juga merupakan bagian dari struktur kontrol. Dalam perulangan java
mengijinkan kita untuk mengeksekusi blok kode berulang-ulang sesuai dengan jumlah
tertentu yang diinginkan.
A. Perulangan For digunakan untuk melakukan pengulangan dalam mengeksekusi
kode yang sama sebanyak jumlah tertentu.
B. Perulangan While digunakan untuk melakukan pengulangan dalam blok kode
hingga mencapai kondisi yang cocok.
C. Perulangan Do-While akan dieksekusi beberapa kali selama kondisi bernilai
benar(true). Perbedaan antara while dan do-while adalah dimana pernyataan di dalam
do-while akan dieksekusi sedikitnya satu kali.
Array adalah variabel yang menyimpan beberapa data dengan tipe data yang sama.
Array dapat berupa data ssederhana atau komposit. Dideklarasikan dengan kurung
siku.
Format penulisan array:
tipe_data nama_variabel [];
Array multidimensi dapat dikatakan sebagai array di dalam sebuah array. Array
multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama
array.
OOP (Object Oriented Programming). Artinya program dipusatkan pada object dan
class berdasarkan gambaran (object) dunia nyata. Hal ini menyediakan manfaat akan
kebebasan pengembangan, meningkatkan kualitas, mempermudah pemeliharaan,
mempertinggi kemampuan dalam modifikasi dan meningkatkan penggunaan kembali
software. Bebrapa istilah yang harus diketahui sebagai konsep OOP adalah :
a. Class mengizinkan kita dalam mendeklarasikan tipe data baru. Ia dijalankan
sebagai blueprint,dimana model dari object yang kita buat berdasarkan pada tipe data
baru ini
b. Object adalah sebuah entiti yang memiliki keadaan, behaviour dan identitas yang
yang
tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Object juga dikenal
sebagai instance. Instance dibuat sewaktu kita meng-instantiate class menggunakan
kata kunci new. Object dapat berupa benda, manusia, kejadian, tempat dll. Dapat
konkret maupun abstrak
c. Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan
informasi tentang object. Dikenal juga sebagai member data, variabel instance,
properti atau sebuah field data. Misal attribute object siswa adalah nama, nim, nilai
dll.
d. Method menjelaskan behaviour dari sebuah object. Method juga dikenal sebagai
fungsi atau prosedur. Misal method getNilai, yang mungkin untuk mendapatkan
informasi nilai siswa.
e. Constructor adalah sebuah tipe khusus dari method yang digunakan untuk membuat
dan menginisialisasi sebuah object baru. Ingat bahwa constructor bukan atribut,
method atau inner class dari sebuah object.
f. Package menunjuk pada pengelompokkan class dan/atau subpackages. Strukturnya
dapat disamakan dengan direktorinya.
g. Enkapsulasi menunjuk pada prinsip dari menyembunyikan desain atau
mengimplementasikan informasi yang tidak sesuai pada object yang ada.
h. Abstraksi mengabaikan aspek dari subyek yang tidak sesuai dengan tujuan yang
ada supaya lebih banyak mengkonsentrasikan yang ada.
i. Pewarisan (Inheritance) adalah hubungan antara class dimana dalam satu class ada
superclass atau class induk dari class yang lain. Pewarisan menunjuk pada properti
dan behaviour yang diterima dari nenek moyang dari class.
j. Polimorfisme adalah kemampuan dari sebuah object untuk membolehkan
mengambil beberapa bentuk yang berbeda.
k. Interface adalah sebuah contract dalam bentuk kumpulan method dan deklarasi
konstanta. Ketika sebuah class implements sebuah interface, ini
mengimplementasikan semua method yang dideklarasikan dalam interface.
Kesimpulan
Client-server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang
menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan
server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi,
data, dan keamanannya, Dalam teknologi informasi, client-server merujuk kepada cara
mendistribusikan aplikasi ke pihak client dan pihak server. Dalam model client-server,
sebuah aplikasi dibagi menjadi dua bagian yang terpisah (tetapi masih dalam sebuah
kesatuan) yakni komponen client dan komponen server.