BLOGGER TEMPLATES - TWITTER BACKGROUNDS »

Rabu, 13 Juli 2011

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep dasar dari Pemrograman Berorientasi Objek

Pemrograman orientasi-objek menekankan konsep berikut:
  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Bahasa pemrograman

Bahasa pemrograman yang mendukung OOP antara lain:
  1. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemrograman)
  5. Visual Basic.NET
  6. SIMULA
  7. Smalltalk
  8. Ruby
  9. Python
  10. PHP
  11. C#
  12. Delphi
  13. Eiffel
  14. Perl

Sabtu, 02 Juli 2011

Indonesia Hacker atau Hacker Indonesia atau Indonesian Hacker, di bolak balik ajah sih sebenernya. Haha.. Kini bendera Indonesia mulai berkibar di dunia internet karena komunitas hacker indonesia yang sangat kompak, atraktif, maju, innovatif dan terbuka. Oleh karena itu mari kita teruskan perjuangan para under / up ground Indonesia Hacker. Demi kemajuan dunia teknologi informatika saat ini mari seluruh Indonesia Hacker atau Hacker Indonesia atau Indonesian Hacker pada umumnya dan BinusHacker khususnya mendukung perkembangan teknologi dan opensource.
Berikut ini ulasan yang sedikit gw dapet tentang sejarah hack this stuff dari bang kiwil dengan sedikit banyak gw revisi dolo demi perkembangan Indonesia Hacker. Hehe..

Sejarah tentang Hack, Hacker, dan Hacking
Sebelum terbentuknya komunikasi yang tercipta di Internet, pada tahun 1960-an beberapa mahasiswa ilmu komputer di Massachusetts Institute of Technology (MIT) yang gemar untuk melakukan engineering dan re-engineering terhadap perangkat keras dan perangkat lunak sering melakukan diskusi-diskusi terbuka yang disana membahas masalah :
  • Ide-ide mengenai pengembangan perangkat keras dan perangkat lunak
  • Ide-ide mengenai transformasi terhadap teknologi dan informasi
Pengistilahan dan perkataan “Hack” sebenarnya adalah merupakan slang yang pada saat itu belum memiliki arti yang spesifik dan sebenarnya. Kebiasaan-kebiasaan mengucapkan “I Hack This Stuff” seakan-akan memberikan arti bahwa istilah Hack merupakan kegiatan yang sedang dan memperoleh hasil setelah melakukan pengembangan terhadap segala sesuatu yang dilakukan. Pengembangan-pengembangan yang secara khusus diberikan kepada minicomputer dan microcomputer tersebutlah istilah “Computer Hacker” terbentuk.
Dengan kata lain, Computer Hacker adalah seseorang yang mengaplikasikan kemampuan dalam cakupannya mengenai komputer software, komputer hardware, komputer arsitektur, komputer desain, serta administrasi yang terkandung didalamnya. Seorang Hacker dituntut memiliki kemampuan dalam hal pemrograman untuk tingkatan software, dan keahlian dibidang hardware. Tuntutan yang sedemikian luasnya untuk keamanan disisi sistem aplikasi dan jaringan, memberikan motivasi bagi seorang Hacker untuk mengembangkan keahlian tersebut sehingga hasil dari penelitian yang dilakukan akan memberikan dampak yang positif bagi kelangsungan IT itu sendiri.
Dengan melihat sekelumit penjelasan diatas, kita dapat memberikan kesimpulan bahwa Hacking bukanlah sebatas pada kegiatan illegal yang identik dengan pengrusakan sebuah sistem dan aplikasi, atau sebatas kegiatan-kegiatan tentang pencurian sebuah data-data penting, melainkan kepada tindakan untuk melakukan perubahan yang mendasar atau perbaikan-perbaikan terhadap sistem dan aplikasi, baik yang berupa software ataupun hardware.
KELOMPOK HACKER BERDASARKAN MOTIF
  • Black Hat Para hacker yang menjelma menjadi cracker / attacker yang menggunakan kemampuannya untuk tujuan kriminal dan cenderung membahayakan kepentingan pihak lain. Pada umumnya orang-orang yang tergabung dalam kelompok ini adalah yang bergerak secara individu atau sesuai idealisme tertentu dan tidak terikat atas kepentingan pihak tertentu.
  • Grey Hat Para hacker yang memberikan informasi yang diperoleh ke para attacker maupun para vendor, untuk memperoleh imbalan tertentu. Kelompok ini dikenal juga sebagai cracker, yakni orang-orang yang tidak memiliki keberpihakan pada pihak manapun dan menjual berbagai informasi yang diperlukan sesuai kebutuhan yang ada.
  • White Hat (hacker sejati) Orang-orang yang melakukan aktivitas hacking dalam rangka memperoleh informasi tentang celah-celah keamanan, maupun kelemahan-kelemahan yang dimiliki untuk diberikan kembali kepada pihak yang bersangkutan untuk disempurnakan kembali.
  • Blue Hat yang punya kemampuan seperti white hat, tapi berkecimpung di dunia pendidikan.
TUJUH KELOMPOK HACKER BERDASARKAN PROFILE KEMAMPUAN
Pembagian para hacker berdasarkan profile kemampuan profesionalnya terbagi menjadi tujuh kelompok. Hal ini sebagaimana dijelaskan oleh Marc Rogers MA, seorang guru besar psikologi dari University of Manitoba Hawai, yakni:
  • Tool Kids/NewBies Orang-orang yang baru belajar aktivitas hacking, namun kemampuan kemampuan tentang komputer serta teknik pemrograman relatif terbatas dan hanya baru bisa membuat program-program dasar. Aktivitas hacking yang dilakukan, umumnya menggunakan bantuan aplikasi yang terdapat di internet hingga tidak murni mengandalkan kemampuan individunya.
  • Cyber Punk Orang-orang yang memiliki pengetahuan dan teknik komputer yang lebih tinggi dibandingkan NewBies. Mereka sudah mampu memahami karakteristik dari sistem jaringan ataupun sistem yang sedang mereka serang. Pengetahuan mereka tentang bahasa pemrograman cukup andal, karena mampu mendefinisikan hingga karakteristik umumnya. Dengan kemampuannya ini, ia sudah mampu menciptakan alat bantu infiltrasi sendiri, hingga tidak lagi menggunakan program-program bantu yang tersedia di internet. Aktivitas-aktivitas yang dilakukan memiliki kecenderungan untuk kriminal, seperti defacing web, carding, ataupun spamming.
  • Internals Orang-orang yang masih bergabung ataupun pernah (mantan) dengan perusahaan TI, dengan kemampuan komputer dan programming yang anda. Dan melakukan berbagai aktivitas hacking dengan mengandalkan berbagai kombinasi sumber daya internal maupun eksternal yang ada untuk berbagai tujuan. Contoh, pelanggaran paling sering dilakukan adalah breaking over priviledge activity, yakni segala aktivitas yang melanggar batasan-batasan hak yang dimiliki.
  • Coders Golongan ini dikenal juga sebagai resources, yakni orang-orang yang menjual berbagai informasi yang ada di internet ke pihak-pihak yang membutuhkan. Kemampuan programming dan teknisnya sangat andal dan kelompok ini malakukan berbagai aktivitas infiltrasi dalam rangka untuk memperoleh berbagai data ataupun informasi yang dapat dijual. Coders juga membantu membuat berbagai aplikasi bantu hacking yang dibutuhkan oleh para hacker ataupun attacker/cracker yang membutuhkan.
  • Old Guard Hackers (Idealism Gate Keepers) Para hacker sejati yang murni melakukan aktivitas-kativitas hacking dalam rangka untuk tujuan ilmiah dan kebaikan semua pihak. Jumlah golongan ini relatif sangat sedikit, karena idealisme yang dijunjung memaksa mereka untuk menggunakan kode etik yang dijunjung tinggi oleh para hacker, yakni kemampuan di atas segalanya.
  • Professional Criminals Para attacker/cracker yang bergerak atas nama kelompok ataupun individu dan melakukan berbagai aktivitas cyber crime sebagai sumber kehidupan utamanya. Kemampuan yang dimiliki oleh kelompok ini sangat sempurna karena mengombinasikan berbagai piranti keras dan pengetahuan programming yang bisa diandalkan dibantu data/informasi yang diperoleh dari Coders. Aktivitas kejahatan yang dilakukan tidak lagi dalam kelas cyber punk yang lebih banyak pada target individu, namun justru pada kalangan korporat dengan jalan merampok dana yang tersedia dengan melakukan transfer secara tersembunyi.
  • Cyber Terrorist Sekelompok orang atau individu yang bertindak atas dasar sentimen pada suatu kelompok atau pihak tertentu, dan melakukan berbagai aktivitas yang bertujuan untuk menunjukkan eksistensi mereka pada lingkungan dunia. Tingkatan kemampuan yang dimiliki kelompok ini adalah yang tertinggi karena menggabungkan berbagai sumber daya yang ada, level kemampuan, bahkan menggunakan sarana prasarana bantuan dari pihak sponsor yang membantu seperti satelit komunikasi.
Apapun alasannya ‘hacking’ adalah tindakan yang tidak melangar hukum, namun disebut “cracking” apabila digunakan untuk merusak, menghilangkan data / sesuatu yang bukan milik kita. Akan tetapi yang kita ketahui bersama – sama bahwa tidak adanya jaminan yang memastikan data atau informasi yang kita punya adalah 100 % aman dan kondisi inilah yang digunakan orang untuk memulai “pekerjaan” merusak dari awalnya iseng hingga professional. Hal terpenting yang bisa kita lakukan adalah menutup segala kemungkinan celah keamanan yang terbuka dan selalu mengupdate data / informasi [ siaga ].