Selasa, 11 Maret 2014

Tantangan Sistem Terdistribusi

Sistem terdidtribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi, obyek dan layanan dari dan kepada pengguna yang terkait didalamnya. Sistem Terdistribusi juga dapat dikatakan sebagai sekumpulan komputer otonom yang  terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat  sebagai satu komputer.

Tantangan yang ada dalam Sistem Terdistribusi yaitu :
1. Keheterogenan komponen (heterogenity)
  • Suatu sistem terdistribusi dapat dibangun dari berbagai network, operation system, hardware dan  programming language yang berbeda.
  • IP dapat digunakan utk mengatasi perbedaan jaringan.
  • Middleware mengatasi perbedaan lainnya.
2. Keterbukaan

  • Mendukung extensibility.
  •  Setiap komponen memiliki antarmuka (interface), yang di-publish ke komponen lain.
  • Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yg berbeda. 
 3. Keamanan

  • Shared resources dan transmisi informasi rahasia perlu dilengkapi dengan enkripsi.
  •  Cegah denial of service.
 4. Scalability
  • Penambahan pemakai membutuhkan penambahan resource yang konstan.
  •  Cegah bottleneck.
  • Jika perlu, gunakan replikasi.
5. Penanganan Kegagalan
  • Setiap proses (komputer atau jaringan) dapat mengalami kegagalan secara independen.
  •  Komponen lain harus tetap berjalan dengan baik.
  • E.g. failed branch in a distributed banking system.
6. Concurrency
  • Multiple users with concurrent requests to a shared resources.
  •  Setiap resource harus aman di lingkungan tersebut di atas.
7. Transparansi
Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebagai satu sistem saja.
  • Access transparency:
          Local & remote resources dapat diakses dengan operasi yang sama.

  • Location transparency:
          – Resource dapat diakses tanpa tahu di mana lokasinya.
          – Bagaimana pendapat Anda mengenai hyperlink & URL?
  • Concurrency transparency:
          – Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
          – Bagaimana jika beberapa pemakai secara bersamaan akan mengubah suatu berkas?
  • Replication transparency:
          Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yang dapat meningkatkan kehandalan dan unjuk kerja.
  • Failure transparency:
          Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
  • Mobility transparency:
          Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
  • Performance transparency:
          Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
  • Scaling transparency:
          Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma aplikasi.

Artikel Terkait :
Definisi Sistem Terdistribusi
Karakteristik Sistem Terdistribusi
Model Sistem Terdistribusi
Permasalahan Sistem Terdistribusi

Referensi :
Adang Suhendra, Kuliah Sistem Terdistribusi 1 & 2
Budi Susanto, Pengantar Sistem Terdistribusi
Willy Sudiarto Raharjo, Pengantar Sistem Terdistribusi

Senin, 10 Maret 2014

Karakteristik Sistem Terdistribusi


Sistem terdidtribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi, obyek dan layanan dari dan kepada pengguna yang terkait didalamnya. Sistem Terdistribusi juga dapat dikatakan sebagai sekumpulan komputer otonom yang  terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat  sebagai satu komputer.



Karakteristik Sistem Terdistribusi
Hal yang diperhatikan dalam membangun sistem terdistribusi :
a. Transparency (Kejelasan)

  • Access transparency
          Local & remote resources dapat diakses dengan operasi yang sama.
  •  Location transparency
           Resource dapat diakses tanpa tahu di mana lokasinya.
  •   Migration (Mobility) transparency 
            Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program
  • Replication transparency
           Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yang dapat meningkatkan kehandalan dan unjuk kerja.
  •  Concurency transparency
            Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
  •   Failure transparency
            Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
  •  Performance transparency
             Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
  •  Scaling transparency
            Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma aplikasi.

b. Communication

Komponen 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, groupmulticast

c. Performance and Scalability

Faktor yang mempengaruhi kinerja (performance) :
  • Kinerja dari pada personal workstations
  • Kecepatan infrastruktur komunikasi
  • Fleksibilitas dalam membagi beban kerja
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.
d. Heterogenity

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 diterapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi dan proses.

e. Opennes

Hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah opennes (keterbukaan) dan flexibility (fleksibilitas) :

  • Setiap layanan (services) harus dapat diakses oleh semua user.
  •  Mudah dalam implementasi, install dan debug services.
  •  User dapat membuat dan menginstall service yang telah dibuat oleh user tersebut.
Aspek kunci pada opennes :
  • Interface dan Protocol yang standard (seperti protokol komunikasi di internet)
  •  Support terhadap keanekaragaman. (dengan membuat midleware seperti CORBA)

f. Reliability dan Fault Tolerance

Availability : kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa.
  • Komponen yang sangat vital (critical resources) berjumlah seminimal mungkin.
  • Software dan Hardware harus direplikasi : kalau terjadi kegagalan / error maka yang lain akan menangani.
  • Data dalam sistem tidak boleh hilang.copy file disimpan secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya. 
Fault Tolerance : Sistem harus bisa mendeteksi kegagalan dan melakukan tindakan dengan dasar sebagai berikut :
  • Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkan dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau informasi.
  • Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah direncanakan dan memungkinkan untuk menghentikan proses dalam waktu yang  singkat tanpa menghilangkan informasi atau data.
g. Security

  • Confidentiality : keamanan terhadap data yang diakses oleh user yang tidak diperbolehkan (unauthorizes user)
  • Integrity : keamanan terhadap kelengkapan dan autentikasi data.
  • Availability : Menjaga agar resource dapat selalu diakses.
  • Hal lain yang harus dijamin dalam sistem terdistribusi : penggunaan rerources yang tepat oleh user yang berlainan.  


Referensi :
http://ade.staff.gunadarma.ac.id/Downloads/files/32064/01+Pengenalan+Sistem+Terdistribusi.pdf
http://www.akademik.unsri.ac.id/download/journal/files/gdr/Pendahuluan%20SisTer.ppt
http://lecturer.ukdw.ac.id/budsus/sil020304/sistemterdistribusi.pdf
http://sitialiyah.staff.gunadarma.ac.id/Downloads/files/11435/Week1+Pengantar+SisTer.pdf

Senin, 28 Oktober 2013

Mobile Forensik

Mobile forensik merupakan cabang dari forensik digital yang berkaitan dengan pemulihan bukti digital atau data dari perangkat mobile di bawah forensik kondisi suara. Perangkat selular frase biasanya merujuk ke ponsel , namun juga dapat berhubungan dengan perangkat digital yang memiliki baik memori internal dan komunikasi kemampuan.
Penggunaan ponsel dalam kejahatan secara luas diakui untuk beberapa tahun, tetapi studi forensik perangkat mobile merupakan bidang yang relatif baru, berasal dari awal 2000-an. Sebuah proliferasi ponsel (terutama smartphone ) di pasar konsumen menyebabkan permintaan untuk pemeriksaan forensik dari perangkat, yang tidak dapat dipenuhi oleh ada komputer forensik teknik.
      Proses investigasi biasanya difokuskan pada data yang sederhana seperti data panggilan, dan komunikasi seperti email atau sms, dan juga data yang sudah terhapus dari media penyimpanan mobile device. Mobile devices biasanya juga bisa digunakan untuk menemukan informasi mengenai lokasi, yaitu mengunakan GPS atau alat pencari lokasi atau melalui cell site logs, yang melacak perangkat yang masuk di dalam range nya.
Informasi yang diambil dari perangkat mobile dapat berguna dalam berbagai masalah hukum, administratif dan investigasi seperti:
  • Pencurian Kekayaan Intelektual
  • Perusahaan Penipuan
  • Penyalahgunaan Properti
  • Perceraian & Hukum Keluarga
  • Geo-Lokasi Kontroversi
  • Bukti Kejahatan    
Perangkat mobile dapat digunakan untuk menyimpan beberapa jenis informasi pribadi seperti kontak, foto, kalender, dan catatan, SMS dan pesan MMS. Smartphone tambahan mungkin berisi informasi video, email, web browsing, informasi lokasi, dan pesan jaringan sosial dan kontak.
Forensik perangkat mobile dapat sangat menantang pada sejumlah tingkat :
Tantangan pembuktian dan teknis yang ada. misalnya, sel situs analisis lanjutan dari penggunaan cakupan penggunaan telepon selular, bukan ilmu pasti. Akibatnya, sementara itu adalah mungkin untuk menentukan kira-kira zona cell situs dari mana panggilan dibuat atau diterima, itu belum mungkin untuk mengatakan dengan tingkat kepastian, bahwa panggilan telepon selular terpancar dari lokasi tertentu misalnya alamat tempat tinggal.
  • Untuk tetap kompetitif, produsen peralatan asli sering mengubah faktor bentuk ponsel, struktur sistem operasi file, penyimpanan data, layanan, peripheral, dan bahkan pin konektor dan kabel. Akibatnya, pemeriksa forensik harus menggunakan proses forensik yang berbeda dibandingkan dengan komputer forensik.
  • Kapasitas penyimpanan terus tumbuh berkat menuntut lebih kuat perangkat “komputer mini” jenis.
  • Tidak hanya jenis data tetapi juga cara perangkat mobile yang digunakan terus-menerus berkembang.
Sebagai hasil dari tantangan ini, berbagai macam alat yang ada untuk mengekstrak bukti dari perangkat mobile, tidak ada satu alat atau metode dapat memperoleh semua bukti dari semua perangkat. Oleh karena itu disarankan bahwa pemeriksa forensik, terutama mereka yang ingin memenuhi syarat sebagai saksi ahli di pengadilan, menjalani pelatihan ekstensif untuk memahami bagaimana setiap alat dan metode memperoleh bukti, bagaimana ia mempertahankan standar untuk kesehatan forensik, dan bagaimana memenuhi persyaratan hukum seperti yang Daubert standar atau Frye standar.
     1.  Sistem Operasi
Sistem operasi windows telah mendominasi pasar komputer pribadi selama bertahun-tahun. Sementara Apple Mac OS terobosan baru akhir-akhir ini, oleh sebab itu wajar jika sistem operasi PC ini cukup matang dan stabil di pasar. Hal yang sama tidak berlaku untuk perangkat mobile. Banyaknya sistem operasi yang digunakan, termasuk Apple IOS, Google Android, RIM BlackBerry OS, Microsoft Windows Mobile, WebOS HP, Nokia Symbian OS, dan banyak lainnya. Keragaman ini menciptakan tantangan untuk pengembangan perangkat lunak forensik, dan untuk forensik perangkat mobile pada umumnya.        
    2. Protokol Komunikasi
Tools Komunikasi utama perangkat mobile melalui tiga teknologi  Seluler, WiFi, dan Bluetooth :
Komunikasi seluler melibatkan teknologi ini membagi sebuah daerah dengan layanan geografis yang besar ke daerah yang lebih kecil yang disebut sel. Setiap sel berisi perangkat komunikasi, biasanya pada sebuah menara yang mentransmisikan sinyal radio ke dan dari perangkat mobile. Teknologi transmisi yang digunakan untuk komunikasi, diantaranya GSM, CDMA, GPRS, EV-DO, EDGE, DECT, TDMA dan iDEN.
WiFi sama seperti seluler, yaitu mentransmisikan komunikasi dengan menggunakan gelombang radio, tetapi menggunakan frekuensi yang lebih tinggi dan umumnya jauh lebih cepat. Perjalanan komunikasi WiFi dari perangkat mobile ke titik akses nirkabel, kira-kira dengan modem/router decode komunikasi dan kemudian meneruskannya sampai ke internet. Titik akses harus dalam jarak relatif sebuah fisik (biasanya sekitar 100 kaki atau kurang) ke perangkat mobile untuk menerima sinyal WiFi-nya.
Bluetooth adalah komunikasi nirkabel, tetapi tujuannya agak berbeda dari selular atau WiFi. Bluetooth dirancang untuk memungkinkan berbagai perangkat yang secara fisik dekat satu sama lain (umumnya kurang dari 30 kaki). Dengan kata lain, Bluetooth dapat mengaktifkan iPhone anda untuk berkomunikasi secara otomatis dengan audio headset, atau iPad anda untuk berkomunikasi secara otomatis dengan keyboard eksternal anda.
     3. Metode Penyimpanan Data
Perangkat mobile pada umumnya dapat menyimpan informasi di tiga lokasi. Salah satunya adalah memori internal. Memori internal pada perangkat mobile terdiri dari RAM ( Random Access Memory) dan ROM (Read Only Memory). Singkatnya, RAM adalah ruang memori pada perangkat mobile yang dapat digunakan untuk menyimpan sementara informasi selama perangkat melakukan tugas. Saat perangkat dimatikan, semua data dalam RAM umumnya akan hilang. ROM umumnya pre-diprogram, sering dirancang untuk melakukan tugas-tugas diskrit tertentu. Perangkat mobile juga menyimpan informasi dalam SIM ( Subscriber Identity Module ) dan kartu memory terakhir, perangkat mobile dapat menyimpan informasi tenang berbagai mesin dan perangkat lainnya yang berinteraksi dengan perangkat mobile, termasuk server email, server dari selular penyedia jasa ( untuk pesan teks), dan komputer pribadi.         

Artikel terkait Mobile Forensik :
1. Sejarah Mobile Forensik 
2. Tools Pada Mobile Forensik
3. Bukti Data Mobile Forensik  
4. Studi Kasus Mobile Forensik

Selasa, 08 Januari 2013

Game AI yang Menggunakan Algoritma Greedy


AI (Artificial Intelligence) atau kecerdasan buatan merupakan salah satu cabang ilmu komputer yang mempelajari bagaimana cara membuat mesin cerdas, yaitu mesin yang mempunyai kemampuan untuk belajar dan beradaptasi terhadap sesuatu. Atau dapat juga diartikan membuat suatu mesin dapat melakukan pekerjaan seperti yang dilakukan oleh manusia, ataupun memasukan pikiran manusia ke dalam sebuah mesin agar mesin tersebut dapat berpikir layaknya manusia. Dalam permainan Ludo ini juga menerapkan konsep AI, yaitu dengan menggunakan komputer sebagai lawan dari pemain dalam memainkan permainan ini.
          Dalam penerapannya, permainan Ludo menggunakan algoritma Greedy. Algoritma Greedy merupakan satu algoritma yang paling sering digunakan dalam mencari solusi dari persoalan optimasi. Atau persoalan dimana kita mencari suatu solusi yang dapat menyelesaikan masalah secara optimal. Algoritma greedy akan membentuk solusi langkah per langkah. Pada setiap langkah penyelesaian masalah terdapat banyak pilihan langkah yang dapat diambil. Algoritma ini berusaha mengambil keputusan terbaik yang dapat diambil pada saat ini.
          Pada permainan Ludo terdapat kelas pion yang memiliki atribut berupa posisi pion. Kelas pion akan dimiliki oleh kelas pemain yang memiliki array yang berisi empat buah pion. Kelas pemain juga memiliki prosedur melangkah yang akan mengubah posisi pion pada kelas papan. Juga terdapat kelas dadu yang berisi angka yang dapat diambil oleh kelas lain.
          Dalam penerapan algoritma greedy pada permainan Ludo terdapat beberapa algoritma greedy yang dapat digunakan, diantaranya :
1.     Greedy By No One Left Behind
Algoritma ini akan berusaha untuk menggerakkan semua pion menuju titik tujuan bersama – sama. Semua langkah yang dapat diambil digunakan untuk menggerakan semua pion agar semakin dekat dengan tujuan dengan memilih pion dengan prioritas tertinggi yaitu pion yang berada paling belakang.
2.    Greedy By Hitter
Algoritma ini berusaha untuk menggerakan pion agar dapat memukul pion lawan. Pemilihan pion yang digerakkan berdasarkan prioritas posisi pion. Pion yang berada lebih dekat dengan pion lawan, maka pion tersebut yang akan digerakkan.
3.    Greedy By Quick Move
Algoritma ini berusaha untuk menggerakkan pion secepat mungkin menuju tujuan. Pergerakkan pion didasarkan pada pion dengan prioritas tertinggi, yaitu pion yang berada paling dekat dengan tujuan.

Referensi :