Rabu, 24 Juni 2015

Biometrik

Seiring berkembangnya teknologi tentu tak terlepas juga dengan semakin maraknya tindak kejahatan, seperti halnya penipuan, pemalusan identitas, dan lain sebagainya. Ini membuat kita menjadi semakin khawatir akan kurangnya tingkat keamanan tersebut. Dan biasanya dalam suatu sistem keamanan kita diharuskan memliki password. Password atau kata sandi ini sangat rentan akan kemanannya, maka dari pada itu para peneliti teknologi terus melakukan penelitian untuk membuat  inovasi baru tentang suatu sistem kemanan yang lebih aman dari password, yakni Biometrik.
Biometrik berasal dari bahasa Yunani yaitu bios yang artinya hidup dan metron yang artinya mengukur, maka dapat diartikan sebagai studi tentang metode otomatis untuk mengenali manusia berdasarkan satu atau lebih bagian tubuh manusia atau kelakuan dari manusia itu sendiri yang memiliki keunikan.
Biometrik adalah hal-hal unik yang ada di setiap orang, misalkan cara bicara, cara bergerak, kode genetik yang ada di dalam tubuh seperti iris mata, sidik jari, dan lain sebagainya. "Dengan mengombinasikan berbagai jenis biometrik dengan metodologi yang berbeda kita bisa meningkatkan keamanan". Beberapa kombinasi yang bisa digunakan dan akan populer di masa depan adalah kartu identitas, genetik (termasuk suara, raut muka, sidik jari, dan sebagainya) serta informasi rahasia yang cuma diketahui personal.  Kalau sudah begini, kita tidak lagi repot menghafal 50 password yang berbeda-beda.
Yang dilakukan, sederhananya, adalah mencocokkan gambaran digital dari karakter-karakter yang diamati dengan dengan rekaman karakter di gudang data (database). Komputer memungkinkan pencocokkan itu berlangsung lebih cepat.

Mengapa harus biometrik?
Ada dua faktor yang mempengaruhi penggunaan Biometrik, yaitu :
  1. Verifikasi berdasarkan benda: Semua data-data yang dibutuhkan berada pada suatu benda (seperti dokumen atau kartu kredit). Apabila hilang maka orang lain dapat memalsukannya.
  2. Verifikasi berdasarkan pengetahuan: Biasanya menggunakan password. Bahkan jika kita menggunakan algoritma enkripsi terbaik pun, tetap terdapat kunci yang bisa membukanya.

Biometrik memiliki beberapa keunggulan antara lain :
  1. Tidak dapat hilang atau lupa 
  2. Sulit diduplikasi, di-share ataupun dipindah tangankan 
  3. Keaslian lebih terjamin
Karakteristik Biometrik
  • Physiological : dihubungkan dengan bentuk tubuh/badan. Misalnya sidik jari, pengenalan wajah, garis tangan dan iris mata.
  • Behavioral : dihubungkan dengan tingkah laku seseorang. Misalnya cara mengetik, tanda tangan, suara.
Sistem Biometrik

Gambar 1 (Sistem Biometrik)

Bagan Karakteristik Biometrik

Gambar 2 (Bagan Karakteristik Biometrik)

Faktor Perbandingan Penggunaan Biometrik

  1. Ke- umuman: Tingkat keumuman biometrik  bisa ditemui di setiap  individu 
  2. Keunikan: Tingkat keunikan biometrik pada setiap individu 
  3. Ketahanan: Tingkat ketahanan terhadap penuaan
  4. Pengumpulan: Tingkat kemudahan pengumpulan data untuk biometrik 
  5. Performa: Tingkat akurasi dan kecepatan alat pengumpul data
  6. Penerimaan: Tingkat penerimaan publik dalam penggunaan sehari-hari
  7. Keamanan: Tingkat keamanan sistem terhadap pemalsuan
Terdapat 2 terminologi pada biometrik, yaitu :
  • Verifikasi (1:1) dan Identifikasi (1:N)
Verifikasi – Mencocokkan pengguna biometrik untuk mengklaim satu identitas
Identifikasi – Membandingkan pengguna biometrik untuk semua orang lain dalam database untuk memastikan mereka tidak terdaftar sebelumnya.


Perbandingan Teknik Pengambilan Biometrik

Gambar 3 (Perbandingan Teknik Pengambilan Biometrik)

Untuk dapat menutupi kekurangan teknik pengambilan biometrik biasanya digunakan lebih dari satu teknik pengambilan biometrik. Pada dokumen-dokumen berpengaman misalnya Paspor dilakukan pengambilan biometrik dengan sidik jari dan pengenalan foto wajah. Hingga saat ini penggunaan DNA sebagai teknik identifikasi adalah yang paling terpercaya namun sayangnya teknologi ini sangat mahal sehingga sangat jarang digunakan.

Reffrensi:

Jumat, 05 Juni 2015

Installasi Server (Install Ftp-Server)

Pada kesempatan kali ini kita akan menginstall FTP, dimana FTP ( File Transfer Protocol )adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP.  Cara kerja protokol FTP hampir sama dengan protokol lainnya. Apabila protokol HTTP bertugas untuk urusan web, kemudian protkol SMTP bertugas dalam urusan mail, maka FTP ini bertugas untuk urusan pertukaran file. Intinya FTP adalah protokol yang bertugas dalam hal pertukaran file baik itudownload ataupun upload di jaringan. Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client.




  1. FTP server adalah suatu server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client.
  2. FTP client  adalah computer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file. Setelah terhubung dengan FTP server, maka client dapat men-download, meng-upload, merename, men-delete, dll sesuai dengan permission yang diberikan oleh FTP server.

Installasi ftp-server
Disini saya menggunakan Proftp, Proftpd adalah sebuah aplikasi yang di gunakan untuk melakukan transfer data Dengan menggunakan proftpd kita dapat membuat sebuah server FTP dimana nantinya kita bisa membuat sebuah server yang bisa memberikan fasilitas upload dan download
pertama kita install proftpd, dengan mengetikkan perintah :
$ sudo apt-get install proftpd


Kemudian akan muncul pertanyaan untuk memilih from inetd atau standalone, untuk skala jaringan besar yang trafficnya padat disarankan untuk memilih yang standalone. Kemudian tekan Enter.



tunggu hingga instalasi selesai dan pastikan tidak ada pesan error

selanjutnya kita lakukan konfigurasi proftpd

Untuk konfigurasi Proftpd, cukup mengedit satu file saja yang berada di /etc/proftpd/proftpd.conf. disini saya akan mempraktekkan  cara mengkonfigurasi FTP Server dengan sistem Anonymous login, jadi siapapun dapat secara bebas mengakses file yang telah disediakan oleh FTP Server. Pertama buka file konfigurasi Proftpd dengan perintah ini :

$ sudo nano /etc/proftpd/proftpd.conf

 pada baris paling bawah tambahkan skrip berikut

<Anonymous ~ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 1000
DisplayLogin welcome.msg

<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>

</Anonymous>

IdentLookups off
UseReverseDNS off
ListOptions “” maxdepth 3
ListOptions “” maxdirs 10
ListOptions “” maxfiles 1000 


simpan perubahan dengan menekan CTRL + X, lalu tekan Y, lalu Enter. Lalu terakhir restart service dari Proftpd nya dengan mengeksekusi perintah berikut :

$ sudo service proftpd restart

untuk pengetesan coba kita upload data dari komputer client ke direktori /srv/ftp pad Ubuntu Server menggunakan Filezilla. masukan IP Address Server 192.168.10.254 lalu masukan user dan password root Ubuntu Server kalian.



selanjutnya buka browser dari salah satu komputer Client dan arahkan pada URL ke ftp://192.168.10.254 Jika berhasil akan muncul daftar file-file yang telah kalian letakkan pada folder /srv/ftp seperti yang ditunjukkan oleh gambar dibawah ini.



Untuk mendownloadnya silahkan klik pada salah satu file tersebut. Sampai sini berarti FTP Server telah berjalan dengan baik.

Installasi Server (DNS Server)

DNS adalah sebuah layanan internet yang menerjemahkan nama domain menjadi alamat Internet Protocol (IP). DNS secara otomatis mengkonversi nama ketika ada mengeketik alamat di adress bar web browes ke alamat IP dari server Web hosting situs tersebut. Contohnya ketika anda mengetik www.google.com maka secara otomatis DNS akan mengganti domain www.google.com ke ip 202.70.xxx.xxx inilah fungsi dari Domain Name System atau DNS.






Installasi DNS Server

Untuk membuat DNS server di Linux menggunakan adalah Bind9.  Bind9 cukup banyak digunakan oleh komputer-komputer di seluruh dunia dalam mengimplementasikan DNS Server. Untuk menginstallnya di Ubuntu Server silakkan ketikkan perintah :

$sudo apt-get install bind9

Selanjutnya edit file hosts

$ sudo nano /etc/hosts
Kemudian edit seperti tampak gambar di bawah ini:


Setelah itu copy file db.local kedalam folder/direktori yang sama dengan nama db.tkj
cp /etc/bind/db.local /etc/bind/db.cook
begitu juga dengan file db.127 menjadi db.192
cp /etc/bind/db.127 /etc/bind/db.192

kemudian edit file db.cook dengan mengetikkan perintah
$ sudo nano /etc/bind/db.cook
Kemudian konfigurasi file tersebut seperti gambar dibawah ini:



 Save - selanjutnya edit pula file db.192, gunakan perintah :
$ sudo nano /etc/bind/db.192
sesuaikan konfigurasinya seperti berikut :



Seperti biasa simpan - setelah itu, edit file named.conf
$ sudo nano /etc/bind/named.conf.local



Simpan lalu restart dns-server,
$sudo /etc/init.d/bind9 restart



oke sekarang kita akan melakukan pengetesan DNS apakah sudah terinstal atau belum
Jika berhasil nama domain akan mengarah pada IP Server 192.168.10.254, Sekarang kita akan mencoba ping dari salah satu komputer Client.


Selanjutnya kita akan menginstall ftp-server klik disini

Installasi Server (Install PHP5)

Setelah kita menginstall apache dan mysql web-server pada artikel sebelumnya, selanjutnya kita akan menginstall PHP5, PHP adalah bahasa pemrograman yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis dan juga PHP dapat digunakan untuk membangun sebuah CMS.

Installasi PHP5



Untuk menginstall PHP5 dengan mengetikkan perintah di bawah ini:
$ sudo apt-get install php5

Tunggu hingga proses install selesai:
Setelah installasi selesai, selanjutnya kita lakukan pengetesan, caranya adalah dengan membuat file test.php di direktori /var/www/html
Ketikkan perintah
$ sudo nano /var/www/test.php



Kemudian edit file menjadi seperti gambar di bawah ini:



Selanjutnya kita lakukan pengecekan di sisi client apakah php sudah terinstal atau belum caranya adalah dengan megetikkan 192.168.10.254/test.php



Selanjutnya kita akan menginstal DNS server klik disini

Installasi Server (Installasi Apache Web-Server dan mysql-server)

Pada artikel kali ini akan membuat tutorial dalam menginstal Web-server, web server yang akan kita install adalah Apache. Apache merupakan aplikasi free berbasis Open Source yang dikenal tangguh dan sering dipakai oleh server-server di seluruh dunia. Apache dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP.


Installasi apache

Untuk menginstall apache pertama pastikan terhubung dengan internet selanjutnya ketikkan perintah :
$ sudo apt-get install apache2 

Selanjutnya kita cek apakah apache kita sudah terinstall atau belum, yaitu dengan cara menembak ip di browser client, jika berhasil akan tampak seperti gambar dibawah  ini:


Installasi mysql-server

Setelah menginstall apache web-server selanjutnya kita akan menginstall mysql-server,
Untuk menginstall ketikan perintah di bawah ini dan pastikan terhubung dengan internet:

$ sudo apt-get install mysql-server

Dalam menginstall nanti akan muncul form untuk memasukkan password, masukkan saja password baru untuk user root dari Mysql kemudian pilih ok



Kemudian masukkan lagi password yang telah di isikan sebelumnya



Kemudian pilih ok dan tunggu saja hingga proses installasi selesai,
Setelah selesai selanjutnya kita cek apakah mysql sudah berjalan dengan baik, caranya adalah dengan mengetikkan perintah :

$ mysl –u root –p

Kemudian masukkan password yang telah di konffigurasi sebelumnya, jika berhasil maka akan muncul tampilan seperti gambar di bawah ini:



Selanjutnya kita akan menginstall PHP5 klik disini

Installasi Server (DHCP-Server)

Pada artikel kali ini saya akan mengaktifkan Service DHCP Server. seperti kita ketahui bahwa DHCP (Dynamic Configuration Protocol) adalah layanan yang secara otomatis memberikan nomor IP kepada komputer yang memintanya. Komputer yang memberikan nomor IP disebut sebagai DHCP server, sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client. Dengan demikian administrator tidak perlu lagi harus memberikan nomor IP secara manual pada saat konfigurasi TCP/IP, tapi cukup dengan memberikan referensi kepada DHCP Server.

Langsung aja kita lakukan install DHCP:

Install dhcp-server dengan perintah:
$ sudo apt-get install isc-dhcp-server




Edit file dhcpd.conf
$ sudo nano /etc/dhcp/dhcpd.conf



Simpan perubahan dengan menekan CTRL + X, dan tekan Y, lalu tekan Enter. kemudian restart layanan dari dhcp-Server dengan mengeksekusi perintah berikut :

$ sudo service isc-dhcp-server restart

oke sekarang kita akan mengecek apakah layanan DHCP Server telah berfungsi atau tidak, silahkan buka salah satu Komputer client. jangan lupa untuk konfigurasi TCP/IP nya menjadi otomatic.



Terima kasih, selanjutnya installasi apache web server dan mysql-server klik di sini

Instalasi Server


Pada postingan kali ini saya akan membuat sebuah tutorial bagaimana cara menginstall server untuk tugas mata kuliah pemrograman Jaringan. langsung aja disini saya akan menjelaskan langkah-langkah dalam menginstal server. disini saya menggunakan virtualbox, jadi untuk mengikuti tutorial dibawah ini anda harus menginstal virtualbox. untuk os(sistem operasi) dibagian server saya menggunakan ubuntu-server14 dan bagian client menggunakan sistem operasi windowsXp. Untuk itu langsung aja kita praktek.



Langkah pertama kita install dulu ubuntu-server dan indowsXp di virtualbox, untuk tutorial cara install ubuntu-server bisa di lihat di cara install ubuntu server. pastikan komputer atau laptop anda terhubung dengan internet karena kita akan menginstall aplikasi-aplikasi yang dibutuhkan pada Server. Sebelumnya kita lakukan pengaturan pada bagian Network di virtualbox seperti dibawah ini. Untuk IP Address dan nama silahkan sesuaikan dengan kebutuhan masing-masing.
               

IP Address Ubuntu Server:

  • IP Address : 192.168.10.254
  • Netmask    : 255.255.255.0
  • Domain      : cooking.com
Network Setting pada Virtualbox:


  • Ubuntu Server 12.04 
  • Adapter 1 = NAT
  • Adapter 2 = Bridge Adapter
Windows XP :


  • Adapter 1 = Bridge Adapter

Setelah langkah-langkah diatas dilakukan, kemudian langkah selanjutnya adalah aktifkan Ubuntu server yang telah diinstal anda dan pastikan pada ubuntu server anda sudah terhubung ke   internet. Jika belum terhubung ke internet coba jalankan perintah berikut untuk merestart network.

$sudo /etc/init.d/networking restarting

Setelah itu lakukan ping ke salah satu website contohnya ping google.com, pastikan intenet   dapat diakses.

Langkah selanjutnya adalah menambahkan Repository Lokal
Repository  yang akan ditambahkan adalah repository lokal yaitu repository Kambing, untuk itu kita edit file /etc/apt/sources.list kemudian masukan daftar repository pada bagian bawah:
ketikkan perintah:


$ sudo nano /etc/apt/sources.list

     


Kemudian simpan konfigurasi dan lakukan update dengan perintah:
$ sudo apt-get update


Langkah selanjutnya adalah melakukan konfigurasi TCP/IP
Untuk mengkonfigurasi TCP/IP di ubuntu server, caranya dengan mengedit file/etc/network/interfaces, silahkan edit file /etc/network/interfaces dengan perintah:

 $ sudo nano /etc/network/interfaces



pada gambar di atas terlihat bahwa network interface yang aktif adalah eth0 dengan setingan dhcp, disini kita akan menambahkan network interface baru yaitu eth1 dengan setingan static. tambahkan perintah berikut.

 untuk melihat ip address yang sudah kita assign jalankan perintah ifconfig

 $ ifconfig



Pada bagian ini kita sidah melakukan konfigurasi awal seperti menambahkan repository local dan mengkonfigurasi IP Address pada ubuntu-server, selanjutnya kita akan melakukan installasi layanan-layanan pada Ubuntu Server seperti: DHCP Server, Web-Server, FTP-Server dll.

Untuk itu langkah selanjutnya adalah instal DHCP-Server (installasi DHCP-Server)

referensi :

Senin, 25 Mei 2015

Sistem Terdistribusi

Apakah yang dimaksud dengan SistemTerdistribusi?

     Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer. Maksud komputer otonomi adalah walaupun komputer tidak terhubung ke jaringan, komputer tersebut tetap data berjalan. Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :

  • Koordinasi Aktifitas
  • Berbagi sumber daya : hardware, software dan data
Dengan definisi tersebut diatas maka internet sesungguhnya bukanlah suatu sistem terdistribusi, melainkan infrastruktur dimana sistem terdistribusi dapat di aplikasikan pada jaringan tersebut.

Contoh Sistem Terdistribusi 
- Sistem Telepon
  ISDN, PSTN

- Manajemen Jaringan
  Adminstrasi sesumber jaringan


                            Gambar~1.1: Contoh sistem terdistribusi, Automatic Banking (teller machine)


- Network File System (NFS)
  Arsitektur untuk mengakses sistem file melalui jaringan

- WWW
   Arsitektur client/server yang diterapkan di atas infrastruktur internet
   Shared Resource (melalui URL)


Keuntungan dan Permasalahan SistemTerditribusi

Keuntungan Sistem Terdistribusi
Keuntungan yang didapatkan dalam menerapkan sistem terdistribusi, antara
lain :


  • Performance
Kumpulan dari beberapa prosesor akan memberikan kinerja yang lebih baik dari pada komputer yang terpusat. Begitu juga kalau dilihat dari sisi biaya.

  • Distribution
  • Reliability (Fault tolerance)
Apabila salah satu komponen terjadi kerusakan, system tetap dapat berjalan

  • Incremental Growth
Mudah dalam melakukan penambahan komputer/komponen


  • Sharing Data/Resources
Berbagi data adalah salah satu hal yang pokok pada kebanyakan aplikasi.

Permasalahan dalam Sistem Terdistribusi

Kelemahan pada sistem terdistribusi adalah :

  • Kesulitan dalam membangun perangkat lunak .
Kesulitan yang akan dihadapi antara lain : bahasa pemrogramman yang  harus dipakai, sistem operasi


  • Masalah Jaringan

Karena sistem terdistribusi di implementasikan dalam jaringan komputer, maka isu2 yang berkaitan
dengan jaringan komputer akan menjadi pertimbangan utama dalam merancang dan mengimplementasikan sistem.



  • Masalah Keamanan

Karena pada sistem terdistribusi berbagi data/sumber daya merupakan hal yang mutlak maka muncul masalah2 yang berkaitan dengan keamanan data dll.

Karakteristik Sistem Terdistribusi

Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi, yaitu :

Transparency (Kejelasan)
Communication (Komunikasi)
Performance & Scalability (Kinerja dan Ruang Lingkup)
Heterogeneity (Keanekaragaman)
Opennes (Keterbukaan)
Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
Security (Kemanan)

Transparency

1. Access transparency
      Sumber daya lokal dan remote di akses dengan menggunakan operasi yang sama.Location transparencyPengguna sistem tidak tahu mengetahui keberadaan hardware dan software(CPU file dan data).Migration (Mobility) transparency Sumber daya (baik berupa Hardware dan/atau software) dapat bebas berpindah tanpa mengubah sistem penamaan.
    2. Replication transparency
     Sistem bebas untuk menambah …le atau sumber daya tanpa diketahui oleh user (dalam rangkan meningkatkan kinerja)
    3. Concurency transparency
     User tidak akan mengetahui keberadaan user lain dalam sistem, walaupun user tersebut menggunakan sumber daya yang sama.

    4. Failure transparency
     Aplikasi harus dapat menyelesaikan proses nya walaupun terdapat kegagalan pada beberapa pada komponen sistem.
    5. Performance transparency
      Beban kerja yang bervariasi tidak akan menyebabkan turunnya kinerja sistem, hal ini dapat di capai dengan melakukan automatisasi konfigurasi terhadap perubahan beban.

Communication
     Komponen2 pada sistem terdistribusi harus melakukan komunikasi dalam suatu urutan. Sebagai berikut :

Infrastruktur jaringan (interkoneksi dan software jaringan)
Metode dan Model komunikasi yang cocok

Metode komunikasi :
- Send
- Receive
- Remote Procedure Call

Model Komunikasi
- Client - server communication : pertukaran pesan antara dua proses
: dimana satu proses (client) menggunakan / meminta layanan pada server dan server menyediakan hasil dari   proses tersebut.

- Groupmulitcast : target dari pesan yang dikirimkan adalah gabungan
dari proses, yang berasal dari suatu grup.

Performance and Scalability

      Ada beberapa faktor yang mempengaruhi kinerja (performance) dari pada
sistem terdistribusi :

Kinerja dari pada personal workstations
Kecepatan infrastruktur komunikasi
Fleksibilitas dalam membagi beban kerja : contoh, apabila terdapat prosesor (workstation) yang idle maka dapat di alokasikan secara otomatis untuk mengerjakan tugas2 user.
Scalability
Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan
secara signifikan user atau sumber daya yang terhubung :

Cost (biaya) penambahan sumber daya (resources) harus reasonable.
Penurunan kinerja (performance) diakibatkan oleh penambahan user atau sumber daya harus terkontrol.

Heterogeneity
     Aplikasi yang terdistribusi biasa berjalan dalam keberagaman :

Hardware : mainframes, workstations, PC’s, server dll.
Software : UNIX, MS Windows, IMB OS/2, LINUX dll.
Devices : teller machine, robot, sistem manufacturing dll.
Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP dll
Melihat keaneka ragaman di atas maka salah satu solusi yang bisa di
terapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi
dan proses.



                                  Gambar~1.2: Arsitektur sofware pada sistem terdistribusi

Opennes

     Salah satu hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah
opennes (keterbukaan) dan ‡exibility (‡eksibilitas) :

Setiap layanan (services) harus dapat di akses oleh semua user.
Mudah dalam implementasi, install dan debug services;
User dapat membuat dan menginstall service yang telah dibuat oleh si user tersebut.
Aspek kunci pada opennes :

Interface dan Protocol yang standard (seperti protokol komunikasi di internet)
Support terhadap keanekaragaman. ( denganmembuatmidleware seperti CORBA)



                                            Gambar~1.3: Sistem Terdistribusi pada dua titik

Reliability dan Fault Tolerance

     Salah satu tujuan dalam membangun sistemterdistribusi adalahmemunkinkan untuk melakukan improvisasi terhadap kehandalan sistem. Availability : kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa.

Dalam sistem terdistribusi componen yang sangat vital (critical resources)berjumlah se minimal mungkin. Yang dimaksud dengan critical resources adalah komponen yang harus ada untuk menjalankan sistem terdistribusi.
Masing - masing Software dan Hardware harus di replikasi : kalau terjadikegagalan / error maka yang lain akan menangani.
Data dalam sistem tidak boleh hilang, copy dari file tersebut disimpan pada secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya. Fault Tolerance : Sistemharus bisa mendeteksi kegagalan danmelakukan tindakan dengan dasar sebagai berikut :

Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkandengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau informasi.
Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa menghilangkan informasi atau data.

Security

 Confidentiality :keamanan terhadap data yang di akses oleh user yang tidak di perbolehkan(unauthorizes user)
Integrty:keamanan terhadap kelengkapan dan autentikasi data.
Availability Menjaga agar resource dapat selalu di akses.Sistem terdistribusi harus memperbolehkan komunikasi antara program/user/resources pada computer yang berbeda, maka resiko keamanan akan muncul apabila memberlakukan free access. Dan ada hal lain juga yang harus dijamin dalam sistem terdistribusi, yaitu : penggunaan rerources yang tepat oleh user yang berlainan.

Model dalam Sistem Terdistribusi

Model dalam sistem terdistribusi :

Model Arsitektur (Architectural Models)
Model Interaksi (Interaction Models)
Model Kegagalan (Failure Models)
     Resources dalam sistem terdistribusi dipakai secara bersama oleh users.Biasa nya di bungkus (encapsulated) dalam suatu komputer dan dapat di akses oleh komputer lain dengan komunikasi.Setiap resource di atur oleh program yang disebut dengan resource manager.Resource manager memberikan kemungkinan komunikasi interface antar resource.
     Resource Managers dapat digeneralisasi sebagai proses, kalau sistem di design dengan sudut pandang object (Object Oriented), resource dibungkus
dalam suatu objek.

Architectural Models

     Bagaimana cara kerja sistem terdisribusi antara komponen - komponen sistem dan bagaimana komponen tersebu berada pada sistem terdistribusi :

1. Client - Server Model
2. Proxy Server
3. Peer processes ( peer to peer )
1. Client - Server Model
     Sistem yang terdiri dari kumpulan2 proses disebut dengan server, dan memberikan
layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh
implementasi nya, atara lain: RPC (Remote Procedure Calling) dan RMI
(Remote Method Invocation) :
Client mengirimkan request berupa pesan ke server untuk mengakses suatu service.
Server menerima pesan tersebut dan mengeksekusi request client dan mereply hasil ke client



                                              Gambar~1.4: Model arsitektur client - server



                                                   Gambar~1.5: Model Proxy Server

2. Proxy Server
     Proxy server menyediakan hasil copy (replikasi) dari resource yang di atur oleh server lain Biasa nya proxy server di pakai untuk menyimpan hasil copy web resources. Ketika client melakukan request ke server, hal yang pertama dilakukan adalah memeriksa proxy server apakah yang dimita oleh client terdapat pada proxy server. Proxy server dapat diletakkan pada setiap client atau dapat di pakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity denganmencegah frekwensi akses ke server.
Peer Process Semua proses (object) mempunyai peran yang sama.

Proses berinteraksi tanpa ada nya perbedaan antara client dan server.
Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan.
Merupakan model yang paling general dan fleksible.


Interaction Modelstem Terdistribusi

Untuk interaksi nya sisstribusi dibagi menjadi dua bagian :
Synchrounous distributed system
Asynchronous distributed system
Synchronous Distributed System
Batas atas dan batas bawah waktu pengeksekusian dapat di set.
Pesan yang dikirim di terima dalam waktu yang sudah di tentukan
Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Beberapa hal yang penting untuk di perhatikan :

Dalam synchronous distributed system terdapat satu waktu global.
Hanya synchronous distributed system dapat memprediksi perilaku (waktu).
Dalam synchornous distributed system dimungkinkan dan aman untukmenggunakan mekanisme timeout dalam mendekteksi error atau kegagalan dalam proses atau komunikasi.
Asynchronous Distributed System
Banyak sistem terdistribusi yangmenggunakan model interaksi ini (termasuk Internet)

Tidak ada batasan dalam waktu pengkeksekusian.
Tidak ada batasan dalam delay transmission (penundaan pengiriman)
Tidak ada batasan terhadap fluktuasi waktu local.
Asynchronous system secara parktek lebih banyak digunakan.

Failure Models

Kegagalan apa saja yang dapat terjadi dan bagaimana efek yang ditimbulkan?
1. Omission Faluires
2. Arbitary Failures
3. Timing Failures
Kegagalan dapat terjadi pada proses atau kanal komunikasi. Dan penyebabnya bisa berasal dari hardware ataupun software. Model Kegagalan (Failure Models) dibutuhkan dalam membangun suatu sistem dengan prediksi terhadap kagagalan2 yang mungkin terjadi.

Ommision Failures
     Yang dimaksud dengan Ommision Failures adalah ketika prosesor dan kanal komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan. Dikatakan tidak mempunyai ommision failures apabila :

Terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi.
Sebuah aksi di eksekusi walaupun terdapat kesalahan pada hasil.
Dengan synchronous system, ommision failures dapat dideteksi dengan timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior pada sistem.

Arbitary Failures
     Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi. Sehingga hasil yang diharapkan tidak terjadi ataumegeluarkan hasil yang salah.

Timing Failures
     Timing Failures dapat terjadi pada synchronous system, dimana batas waktu di atur untuk eksekusi proses, komunikasi dan fluktuasi waktu. Timing Failures terjadi apabila waktu yang telah ditentukan terlampaui.