Selasa, 18 September 2012

Menengok kembali Object Oriented Programming (OOP)

Edit Posted by with No comments
Object Oriented Programming (OOP) atau Pemrograman Berbasis Object (PBO) merupakan salah satu teknik atau cara memvisualisasikan objek-objek dalam dunia nyata ke dalam objek pemrogaman. Objek-objek tersebut disesuaikan dengan ciri, kelas dan elemen / atribut yang dimiliki objek tersebut.


Object Oriented Programming (OOP)  merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.

Konsep dasar dari Pemrograman Berorientasi Objek adalah sebagai berikut :
o. Class (Kelas)
Class merupakan kumpulan sifat, ciri dan perilaku mengenai suatu objek, dalam souce codenya seperti :

Dalam Class terdapat Method , Atribut dan Constructor.
Method merupakan kumpulan perilaku atau perintah di dalam Class yang ada. Sedangkan Atribut berisi data yang menyangkup informasi dari suatu Class . Serta Constructor  adalah method khusus yang berada di dalam sebuah Class  yang memiliki nama yang sama dengan Class tersebut.
Apabila terdapat beberapa Class maka disatukan dalam sebuah Package.

    o. Enkapsulasi
    Enkapsulasi yaitu merahasiakan detail informasi dan detail proses sistem dari akses secara langsung. Sebagai contoh dalam sorce code :

    o. Abstraksi
    Abstraksi bertujuan untuk lebih memfokuskan pada suatu masalah dengan membangun kerangka dasar dari suatu objek.

    o. Polimorfisme
    Polimorfisme adalah kemampuan sebuah objek untuk membolehkan mengambil beberapa bentuk lainnya.


      Sabtu, 15 September 2012

      Pemampatan Citra

      Edit Posted by with No comments
      Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan menggunakan teknik tertentu.

      A. PENGERTIAN
      Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan
      untuk mengurangi redundansi dari untuk mengurangi redundansi dari data-data yang terdapat dalam citra sehingga dapat disimpan atau ditransmisikan secara efisien.

      B. TUJUAN
      Kompresi citra bertujuan meminimalkan kebutuhan memori untuk merepresentasikan citra digital
      dengan mengurangi duplikasi data di dengan mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit daripada representasi citra semula.



      C. MANFAAT
      • Waktu pengiriman data pada saluran komunikasi data lebih singkat,Contoh : pengiriman gambar dari fax, video conferencing, handphone, download dari internet, pengiriman data medis, pengiriman internet, pengiriman data medis, pengiriman dari satelit, dsb.
      • Membutuhkan ruang memori dalam storage lebih sedikit dibandingkan dengan citra yang tidak dimampatkan. 
      Proses kompresi merupakan proses mereduksi ukuran suatu data untuk menghasilkan
      representasi digital yang padat atau memampatkan namun tetap dapat mewakili kuantitas informasi yang terkandung pada data tersebut.
      Pada citra, video atau audio, kompresi mengarah pada minimisasi jumlah bit rate untuk representasi digital.

      Semakin besar ukuran citra, semakin besar memori yang dibutuhkan. Namun kebanyakan citra mengandung duplikasi data, yaitu :
      • Suatu pixel memiliki intensitas yang sama dengan dengan pixel tetangganya, sehingga penyimpanan setiap pixel memboroskan tempat.
      • citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulangkali karena mubazir atau redundan.
      D. KRITERIA PEMAMPATAN
      • Waktu pemampatan
      • Kebutuhan memory
      • Kualitas pemampatan (fidelity)

      • Format Keluaran

      E. JENIS PEMAMPATAN
      • Pendekatan Statistik
      – Melihat frekuensi kemunculan derajat keabuan pixel
      • Pendekatan Ruang
      – Melihat hubungan antar pixel yang mempunyai derajat
      keabuan yang sama pada wilayah dalam citra
      • Pendekatan Kuantisasi
      – Mengurangi jumlah derajat keabuan yang tersedia
      • Pendekatan Fraktal
      – Kemiripan bagian citra dieksploitasi dengan matriks transformasi.

      D. TEKNIK KOMPRES CITRA
      1. Loseless Compression
      o. Teknik kompresi citra dimana tidak ada satupun informasi citra yang dihilangkan.
      o. Menghasilkan citra yang sama dengan citra semula
      o. Nisbah/ratio pemampatan sangat rendah
      o. Biasa digunakan pada citra medis.
      o. Metode loseless : Run Length Encoding, Entropy Encoding (Huffman, Aritmatik), dan Adaptive
      Dictionary Based (LZW) .

      2. Lossy Compression
      o. Ukuran file citra menjadi lebih kecil dengan menghilangkan beberapa informasi dalam citra asli.
      o. Teknik ini mengubah detail dan warna pada file citra menjadi lebih sederhana tanpa terlihat perbedaan yang mencolok dalam pandangan manusia, sehingga ukurannya menjadi lebih kecil.
      o. Biasanya digunakan pada citra foto atau image lain yang tidak terlalu memerlukan detail citra, dimana kehilangan bit rate foto tidak berpengaruh pada citra.
      o. Menghasilkan citra yang hampir sama dengan citra semula.
      o. Ada informasi yang hilang akibat pemampatan tapi masih bisa ditolerir oleh persepsi mata
      o. Nisbah/ratio pemampatan tinggio
      o. Contoh, JPEG dan Fraktal

      # Metode Pemampatan Huffman
      1. Urutkan nilai keabuan berdasarkan frekuensi kemunculannya.
      2. Gabung dua pohon yang frekuensi kemunculannya paling kecil.
      3. Ulangi 2 langkah diatas sampai tersisa satu pohon biner.
      4. Beri label 0 untuk pohon sisi kiri dan 1 untuk pohon sisi kanan.
      5. Telusuri barisan label sisi dari akar ke daun yang menyatakan kode Huffman.
      Contoh, citra 64x64 dengan 8 derajat keabuan (k)





      o. Kode untuk setiap derajat keabuan

       
      o. Ukuran citra sebelum dimampatkan (1 derajat keabuan = 3bit) adalah 4096x3 bit = 12288 bit
      o. Ukuran citra setelah pemampatan


      #Metode Pemampatan RLE

      • Run Length Encoding
      Cocok untuk pemampatan citra yang memiliki kelompok pixel berderajat keabuan yang sama
      • Contoh citra 10x10 dengan 8 derajat keabuan


      Pasangan derajat keabuan (p)  dan jumlah pixel (q)

      • Ukuran citra sebelum dimampatkan (1 derajat keabuan = 3 bit) adalah 100 x 3 bit = 300 bit
      • Ukuran citra setelah pemampatan (run length =4) adalah (31 x 3) + (31 x 4) bit = 217 bit


      #Metode Pemampatan Kuantisasi

      • Buat histogram citra yang akan dimampatkan. P jumlah pixel
      • Identifikasi n buah kelompok di histogram sedemikian sehingga setiap kelompok mempunyai kira-kira P/n pixel
      • Nyatakan setiap kelompok dengan derajat keabuan 0 sampai n-1.  Setiap kelompok dikodekan kembali dengan nilai derajat keabuan yang baru .
      • Contoh, Citra 5 x 13

      • Akan dimampatkan dengan 4 derajat keabuan (0 - 3) atau dengan 2 bit
      • Setelah dimampatkan

      • Ukuran sebelum pemampatan (1 derajat keabuan = 4 bit) adalah 65 x 4 bit = 260 bit
      • Ukuran citra setelah pemampatan (1 derajat keabuan = 2 bit) adalah 65 x 2 bit = 130 bit



        Rabu, 12 September 2012

        Instalasi Java Eclipse serta Projek Sederhana

        Edit Posted by with No comments
        untuk menjalankan eclipse terlebih dahulu dowonload file-file yang dibutuhkan..
        download eclipse-SDK-3.2-win32.zip  dan download juga java.rar

        langkah-langkah instalasinya.. ::
        1. ekstrak file java.rar
        2. buka file jdk-1_5_0_08-windows-i586-p.exe

         3. ikuti license agreement hingga finish

        hingga
        4. Kemudian instal eclipse-nya
        5. Ekstrak file eclipse-SDK-3.2-win32.zip
        6. Buka  file eclipse.exe
        7. Melakukan pengaturan penempatan workspace  
        • Select Window | Preferences.
        • Click + pada tab General atau double-click General
        • Click Startup and Shutdown
        • Check box labeled Prompt for workspace on startup.
        • Click OK
        8. Memasukkan file .jar pada Eclipse
        • select Windows | Preferences
        • Click + pada tab Java atau double-click Java
        • Click Installed JREs
        • Pada kolom Name, double-click jre1.5.0_08.
        • Click  Add External Jars... button.
        • Pada Jar Selection window, arahkan pada folfer workspace kemudian double-click file cs15-1xx.library.
        • Pada Edit JRE window, click OK
        • Pada Installed JREs window, click OK 


        Menampilkan Selamat Pagi Dunia !
        1. Buka Eclipse
        2. File - New  - Project

        3. Isi form pengisian nama folder dll

         4. Buat Source Folder


        5. Buat Package
         6. Buat Class

         7. Mulai membuat program, ketikkan di field program

        8. Running Program




        Minggu, 03 Juni 2012

        Task 6 Konsep VPN

        Edit Posted by with No comments

        Pengertian VPN
        VPN adalah singkatan dari virtual private network, yaitu Sebuah cara aman untuk mengakses local area network yang berada pada jangkauan, dengan menggunakan internet atau jaringan umum lainnya untuk melakukan transmisi data paket secara pribadi, dengan enkripsi Perlu penerapan teknologi tertentu agar walaupun menggunakan medium yang umum, tetapi traffic (lalu lintas) antar remote-site tidak dapat disadap dengan mudah, juga tidak memungkinkan pihak lain untuk menyusupkan traffic yang tidak semestinya ke dalam remote-site.

        VPN adalah sebuah koneksi Virtual yang bersifat privat mengapa disebut demikian karena pada dasarnya jaringan ini tidak ada secara fisik hanya berupa jaringan virtual dan mengapa disebut privat karena jaringan ini merupakan jaringan yang sifatnya privat yang tidak semua orang bisa mengaksesnya. VPN Menghubungkan PC dengan jaringan publik atau internet namun sifatnya privat, karena bersifat privat maka tidak semua orang bisa terkoneksi ke jaringan ini dan mengaksesnya. Oleh karena itu diperlukan keamanan data

        Konsep kerja VPN pada dasarnya VPN Membutuhkan sebuah server yang berfungsi sebagai penghubung antar PC. Jika digambarkan kira-kira seperti ini :
        internet <—> VPN Server <—-> VPN Client <—-> Client
        bila digunakan untuk menghubungkan 2 komputer secara private dengan jaringan internet maka seperti ini: Komputer A <—> VPN Clinet <—> Internet <—> VPN Server <—> VPN Client <—> Komputer B
        Jadi semua koneksi diatur oleh VPN Server sehingga dibutuhkan kemampuan VPN Server yang memadai agar koneksinya bisa lancar. Pertama-tama VPN Server harus dikonfigurasi terlebih dahulu kemudian di client harus diinstall program VPN baru setelah itu bisa dikoneksikan. VPN di sisi client nanti akan membuat semacam koneksi virtual jadi nanti akan muncul VPN adater network semacam network adapter (Lan card) tetapi virtual. Tugas dari VPN Client ini adalah melakukan authentifikasi dan enkripsi/dekripsi.

        Keamanan Dengan konsep demikian maka jaringan VPN ini menawarkan keamanan dan untraceable, tidak dapat terdeteksi sehingga IP kita tidak diketahui karena yang digunakan adalah IP Public milik VPN server. Dengan ada enkripsi dan dekripsi maka data yang lewat jaringan internet ini tidak dapat diakses oleh orang lain bahkan oleh client lain yang terhubung ke server VPN yang sama sekalipun. Karena kunci untuk membuka enkripsinya hanya diketahui oleh server VPN dan Client yang terhubung. Enkripsi dan dekripsi menyebabkan data tidak dapat dimodifikasi dan dibaca sehingga keamananya terjamin. Untuk menjebol data si pembajak data harus melalukan proses dekripsi tentunya untuk mencari rumus yang tepat dibutuhkan waktu yang sangat lama sehingga biasa menggunakan super computing untuk menjebol dan tentunya tidak semua orang memiliki PC dengan kemampuan super ini dan prosesnya rumit dan memakan waktu lama, agen-agen FBI atau CIA biasanya punya komputer semacam ini untuk membaca data-data rahasia yang dikirim melaui VPN.

        Fungsi dan Manfaat VPN
        Teknologi VPN memiliki tiga fungsi utama, di antaranya adalah :
        1. Confidentially : (Kerahasiaan)Teknologi VPN merupakan teknologi yang memanfaatkan jaringan publik yang tentunya sangat rawan terhadap pencurian data. Untuk itu, VPN menggunakan metode enkripsi untuk mengacak data yang lewat.
        2. Data Integrity (Keutuhan Data) : Ketika melewati jaringan internet, sebenarnya data telah berjalan sangat jauh melintasi berbagai negara.  Pada VPN terdapat teknologi yang dapat menjaga keutuhan data mulai dari data dikirim hingga data sampai di tempat tujuan.
        3. Origin Authentication (Autentikasi Sumber) : Teknologi VPN memiliki kemampuan untuk melakukan autentikasi terhadap sumber-sumber pengirim data yang akan diterimanya. VPN akan melakukan pemeriksaan terhadap semua data yang masuk dan mengambil informasi dari sumber datanya. 

        Implementasi VPN 
        Remote Access VPN
        Pada umumnya implementasi VPN terdiri dari 2 macam. Pertama adalah remote access VPN, dan yang kedua adalah site-to-site VPN. Remote access yang biasa juga disebut virtual private dial-up network (VPDN), menghubungkan antara pengguna yang mobile dengan local area network (LAN).
        Jenis VPN ini digunakan oleh pegawai perusahaan yang ingin terhubung ke jaringan khusus perusahaannya dari berbagai lokasi yang jauh (remote) dari perusahaannya. Biasanya perusahaan yang ingin membuat jaringan VPN tipe ini akan bekerjasama dengan enterprise service provider (ESP). ESP akan memberikan suatu network access server (NAS) bagi perusahaan tersebut. ESP juga akan menyediakan software klien untuk komputer-komputer yang digunakan pegawai perusahaan tersebut. 
        Site-to-site VPN
        Jenis implementasi VPN yang kedua adalah site-to-site VPN. Implementasi jenis ini menghubungkan antara 2 kantor atau lebih yang letaknya berjauhan, baik kantor yang dimiliki perusahaan itu sendiri maupun kantor perusahaan mitra kerjanya. VPN yang digunakan untuk menghubungkansuatu perusahaan dengan perusahaan lain (misalnya mitra kerja, supplier atau pelanggan) disebut ekstranet. Sedangkan bila VPN digunakan untuk menghubungkan kantor pusat dengan kantor cabang, implementasi ini termasuk jenis intranet site-to-site VPN.

        Task 6 Konsep Keamanan Data

        Edit Posted by with 2 comments

        Pengertian Keamanan Komputer
        Pengertian tentang keamanan komputer ini beragam-ragam, sebagai contoh dapat kita lihat beberapa defenisi keamanan komputer menurut para ahlinya, antara lain :
        Menurut John D. Howard dalam bukunya “An Analysis of security incidents on the internet” menyatakan bahwa :
        "Keamanan komputer adalah tindakan pencegahan dari serangan pengguna komputer atau pengakses jaringan yang tidak bertanggung jawab."
        Menurut Gollmann pada tahun 1999 dalam bukunya “Computer Security” menyatakan bahwa :
        "Keamanan komputer adalah berhubungan dengan pencegahan diri dan deteksi terhadap tindakan pengganggu yang tidak dikenali dalam system komputer."

        Dengan semakin berkembangnya eCommerce dan internet, maka masalah keamanan tidak lagi masalah keamanan data belaka. Berikut pernyataan Erkki Liikanen yang disampaikannya pada Information Security Solutions Europe (ISSE 99), berlin 14 october 1999, antara lain :


        • Keamanan merupakan kunci pengaman user untuk lebih percaya diri dalam menggunakan komputer dan internet, ini hanya dapat dicapai jika bentuk keamanan terhubung dengan jaringan internet dan user memiliki jaminan keamanan yang sesuai.
        • Mengamankan pasar internal yang krusial untuk pengembangan selanjutnya pasar security Eropa, dan menciptakan industri kriptografi Eropa. Ini memerlukan evolusi metalitas peraturan dalam batas ketentuan nasional, mari berfikir dengan cara Eropa.
        • Pemeritah Eropa dan komisi lain berhadapan dengan kepercayaan penuh, kita lihat pasar dan dewan perwakilan telah membahasnya , kita harus melakukan pembicaraan lebih lanjut dan memusatkan pada hal perlindungan publik dari pada bahaya publik.
        • Akhirnya mempromosikan system sumber terbuka yang sesuai dengan teknologi adalah tahap penting untuk tahap ke depan guna membuka potensi pasar pengamanan industri kriptografi Eropa.

        Dalam keamanan sistem komputer yang perlu kita lakukan adalah untuk mempersulit orang lain untuk mengganggu sistem yang kita pakai, baik itu kita menggunakan komputer yang sifatnya stand alone, jaringan local maupun jaringan global. Kita harus memastikan system bisa berjalan dengan baik dan kondusif, selain itu program aplikasinya masih bisa dipakai tanpa ada masalah.

        Beberapa hal yang menjadikan kejahatan komputer terus terjadi dan cenderung meningkat adalah sebagai berikut :

        • Meningkatnya pengguna komputer dan internet
        • Banyaknya software yang pada awalnya digunakan untuk melakukan audit sebuah system dengan cara mencari kelemahan dan celah yang mungkin ada disalahgunakan untuk melakukan scanning system orang lain.
        • Banyaknya software-software untuk melakukan probe dan penyusupan yang tersedia di Internet dan bisa di download secara gratis.
        • Meningkatnya kemampuan pengguna komputer dan internet
        • Desentralisasi server sehingga lebih banyak system yang harus ditangani, sementara SDM terbatas.
        • Kurangnya huku yang mengatur kejahatan komputer.
        • Semakin banyaknya perusahaan yang menghubungkan jaringan LAN mereka ke Internet.
        • Meningkatnya aplikasi bisnis yang menggunakan internet.
        • Banyaknya software yang mempunyai kelemahan (bugs).

        Aspek Keamanan Data Komputer   
        Privacy / Confidentiality 
        Defenisi : menjaga informasi dari orang yang tidak berhak mengakses.
        Privacy : lebih kearah data-data yang sifatnya privat , Contoh : e-mail seorang pemakai (user) tidak boleh dibaca oleh administrator.
        Confidentiality : berhubungan dengan data yang diberikan ke pihak lain untuk keperluan tertentu dan hanya diperbolehkan untuk keperluan tertentu tersebut.
        Contoh : data-data yang sifatnya pribadi (seperti nama, tempat tanggal lahir, social security number, agama, status perkawinan, penyakit yang pernah diderita, nomor kartu kredit, dan sebagainya) harus dapat diproteksi dalam penggunaan dan penyebarannya.
        Bentuk Serangan : usaha penyadapan (dengan program sniffer).
        Usaha-usaha yang dapat dilakukan untuk meningkatkan privacy dan confidentiality adalah dengan menggunakan teknologi kriptografi.

        Integrity
        Defenisi : informasi tidak boleh diubah tanpa seijin pemilik informasi.
        Contoh : e-mail di intercept di tengah jalan, diubah isinya, kemudian diteruskan ke alamat yang dituju.
        Bentuk serangan : Adanya virus, trojan horse, atau pemakai lain yang mengubah informasi tanpa ijin, “man in the middle attack” dimana seseorang menempatkan diri di tengah pembicaraan dan menyamar sebagai orang lain.

        Authentication
        Defenisi : metoda untuk menyatakan bahwa informasi betul-betul asli, atau orang yang mengakses atau memberikan informasi adalah betul-betul orang yang dimaksud.
        Dukungan :
        Adanya Tools membuktikan keaslian dokumen, dapat dilakukan dengan teknologi watermarking(untuk menjaga “intellectual property”, yaitu dengan menandai dokumen atau hasil karya dengan “tanda tangan” pembuat ) dan digital signature.
        Access control, yaitu berkaitan dengan pembatasan orang yang dapat mengakses informasi. User harus menggunakan password, biometric (ciri-ciri khas orang), dan sejenisnya.

        Availability
        Defenisi : berhubungan dengan ketersediaan informasi ketika dibutuhkan.
        Contoh hambatan :
        “denial of service attack” (DoS attack), dimana server dikirimi permintaan (biasanya palsu) yang bertubi-tubi atau permintaan yang diluar perkiraan sehingga tidak dapat melayani permintaan lain atau bahkan sampai down, hang, crash.
        mailbomb, dimana seorang pemakai dikirimi e-mail bertubi-tubi (katakan ribuan e-mail) dengan ukuran yang besar sehingga sang pemakai tidak dapat membuka e-mailnya atau kesulitan mengakses e-mailnya.

        Access Control
        Defenisi : cara pengaturan akses kepada informasi. berhubungan dengan masalah authentication dan juga privacy
        Metode : menggunakan kombinasi userid/password atau dengan menggunakan mekanisme lain.

        Non-repudiation
        Defenisi : Aspek ini menjaga agar seseorang tidak dapat menyangkal telah melakukan sebuah transaksi. Dukungan bagi electronic commerce.

        Minggu, 06 Mei 2012

        Static Route

        Edit Posted by with No comments
        Static Route
        Routing adalah proses dimana suatu router mem-forward paket ke jaringan yang dituju. Suatu router membuat keputusan berdasarkan IP address yang dituju oleh paket.

        Cara kerja routing statis dapat dibagi menjadi 3 bagian:
        - Administrator jaringan yang mengkonfigurasi router
        - Router melakukan routing berdasarkan informasi dalam tabel routing
        - Routing statis digunakan untuk melewatkan paket data

        Contoh Penggunaan Static Route


        - routerA(config)# ip route 0.0.0.0 0.0.0.0 10.28.4.1
        - routerC(config)# ip route 0.0.0.0 0.0.0.0 10.28.6.1
        - routerB(config)# ip route 10.28.3.0 255.255.255.0 10.28.4.2
        - routerB(config)# ip route 10.28.7.0 255.255.255.0 10.28.6.2

        Karakteristik Static Route
        * Static routing tidak menangani kegagalan dalam jaringan, sehingga setiap kegagalan atau perubahan harus juga dilakukan secara manual.
        * Static routing akan berfungsi sempurna jika routing table berisi rute untuk setiap jaringan di dalam internetwork. Rute untuk setiap network yang tidak terhubung langsung dari sebuah router harus dikonfigurasikan satu persatu.

        Keuntungan Static Route:
        1. Meringankan kerja prosesor yg ada pd router
        2. Tdk ada BW yg digunakan utk pertukaran informasi isi tabel routing antar router
        3. Tingkat keamanan lebih tinggi vs mekanisme lainnya

        Kekurangan Static Route:
        1. Admin hrs mengetahui informasi tiap2 router yg terhubung jaringan
        2. Jika terdpt penambahan/perubahan topologi jaringan admin hrs mengubah isi tabel routing
        3. Tdk cocok utk jaringan yg besar

        untuk tugas task 4 dapat di unduh di sini