Posted in UTAMA AQIL LUBBY on 2 April 2010 by aqil lubby

Surabaya, 10 Agustus 1990

08.04.111.00033

lubby@mail.com


MY PROMOTION: 


Sejarah Hacker dan Cracker

Posted in UTAMA AQIL LUBBY on 2 April 2010 by aqil lubby

Ditulis oleh students by santos
Diterjemahkan Oleh Reza

Hacker muncul pada awal tahun 1960-an diantara para anggota organisasi mahasiswa Tech Model Railroad Club di Laboratorium Kecerdasan Artifisial Massachusetts Institute of Technology (MIT). Kelompok mahasiswa tersebut merupakan salah satu perintis perkembangan teknologi komputer dan mereka beroperasi dengan sejumlah komputer mainframe. Kata hacker pertama kali muncul dengan arti positif untuk menyebut seorang anggota yang memiliki keahlian dalam bidang komputer dan mampu membuat program komputer yang lebih baik dari yang telah dirancang bersama. Kemudian pada tahun 1983, analogi hacker semakin berkembang untuk menyebut seseorang yang memiliki obsesi untuk memahami dan menguasai sistem komputer. Pasalnya, pada tahun tersebut untuk pertama kalinya FBI menangkap kelompok kriminal komputer The 414s yang berbasis di Milwaukee AS. 414 merupakan kode area lokal mereka. Kelompok yang kemudian disebut hacker tersebut dinyatakan bersalah atas pembobolan 60 buah komputer, dari komputer milik Pusat Kanker Memorial Sloan-Kettering hingga komputer milik Laboratorium Nasional Los Alamos. Salah seorang dari antara pelaku tersebut mendapatkan kekebalan karena testimonialnya, sedangkan 5 pelaku lainnya mendapatkan hukuman masa percobaan.

Kemudian pada perkembangan selanjutnya muncul kelompok lain yang menyebut-nyebut diri hacker, padahal bukan. Mereka ini (terutama para pria dewasa) yang mendapat kepuasan lewat membobol komputer dan mengakali telepon (phreaking). Hacker sejati menyebut orang-orang ini ‘cracker’ dan tidak suka bergaul dengan mereka. Hacker sejati memandang cracker sebagai orang malas, tidak
bertanggung jawab, dan tidak terlalu cerdas. Hacker sejati tidak setuju jika dikatakan bahwa dengan menerobos keamanan seseorang telah menjadi hacker.

Para hacker mengadakan pertemuan setiap setahun sekali yaitu diadakan setiap pertengahan bulan Juli di Las Vegas. Ajang pertemuan hacker terbesar di dunia tersebut dinamakan Def Con. Acara Def Con tersebut lebih kepada ajang pertukaran informasi dan teknologi yang berkaitan dengan aktivitas hacking.

Pengertian Hacker dan Cracker

1. Hacker

Hacker adalah sebutan untuk mereka yang memberikan sumbangan yang bermanfaat kepada jaringan komputer, membuat program kecil dan membagikannya dengan orang-orang di Internet. Sebagai contoh : digigumi (Grup Digital) adalah sebuah kelompok yang mengkhususkan diri bergerak dalam bidang game dan komputer. Digigumi ini menggunakan teknik teknik hexadecimal untuk mengubah teks yang terdapat di dalam game. Contohnya, game Chrono Trigger berbahasa Inggris dapat diubah menjadi bahasa Indonesia. Oleh karena itu, status Digigumi adalah hacker, namun bukan sebagai perusak. Hacker disini artinya, mencari, mempelajari dan mengubah sesuatu untuk keperluan hobi dan pengembangan dengan mengikuti legalitas yang telah ditentukan oleh developer game. Para hacker biasanya melakukan penyusupan-penyusupan dengan maksud memuaskan pengetahuan dan teknik. Rata – rata perusahaan yang bergerak di dunia jaringan global (internet) juga memiliki hacker. Tugasnya yaitu untuk menjaga jaringan dari kemungkinan perusakan pihak luar “cracker”, menguji jaringan dari kemungkinan lobang yang menjadi peluang para cracker mengobrak – abrik jaringannya, sebagai contoh : perusahaan asuransi dan auditing “Price Waterhouse”. Ia memiliki team hacker yang disebut dengan Tiger Team. Mereka bekerja untuk menguji sistem sekuriti client mereka.

2. Cracker

Cracker adalah sebutan untuk mereka yang masuk ke sistem orang lain dan cracker lebih bersifat destruktif, biasanya di jaringan komputer, mem-bypass password atau lisensi program komputer, secara sengaja melawan keamanan komputer, men-deface (merubah halaman muka web) milik orang lain bahkan hingga men-delete data orang lain, mencuri data dan umumnya melakukan cracking untuk keuntungan sendiri, maksud jahat, atau karena sebab lainnya karena ada tantangan. Beberapa proses pembobolan dilakukan untuk menunjukan kelemahan keamanan sistem.

Hirarki / Tingkatan Hacker

1. Elite

Ciri-ciri : mengerti sistem operasi luar dalam, sanggup mengkonfigurasi & menyambungkan jaringan secara global, melakukan pemrogramman setiap harinya, effisien & trampil, menggunakan pengetahuannya dengan tepat, tidak menghancurkan data-data, dan selalu mengikuti peraturan yang ada. Tingkat Elite ini sering disebut sebagai ‘suhu’.

2. Semi Elite

Ciri-ciri : lebih muda dari golongan elite, mempunyai kemampuan & pengetahuan luas tentang komputer, mengerti tentang sistem operasi (termasuk lubangnya), kemampuan programnya cukup untuk mengubah program eksploit.

3. Developed Kiddie

Ciri-ciri : umurnya masih muda (ABG) & masih sekolah, mereka membaca tentang metoda hacking & caranya di berbagai kesempatan, mencoba berbagai sistem sampai akhirnya berhasil & memproklamirkan kemenangan ke lainnya, umumnya masih menggunakan Grafik User Interface (GUI) & baru belajar basic dari UNIX tanpa mampu menemukan lubang kelemahan baru di sistem operasi.

4. Script Kiddie

Ciri-ciri : seperti developed kiddie dan juga seperti Lamers, mereka hanya mempunyai pengetahuan teknis networking yang sangat minimal, tidak lepas dari GUI, hacking dilakukan menggunakan trojan untuk menakuti & menyusahkan hidup sebagian pengguna Internet.

5. Lamer

Ciri-ciri : tidak mempunyai pengalaman & pengetahuan tapi ingin menjadi hacker sehingga lamer sering disebut sebagai ‘wanna-be’ hacker, penggunaan komputer mereka terutama untuk main game, IRC, tukar menukar software prirate, mencuri kartu kredit, melakukan hacking dengan menggunakan software trojan, nuke & DoS, suka menyombongkan diri melalui IRC channel, dan sebagainya. Karena banyak kekurangannya untuk mencapai elite, dalam perkembangannya mereka hanya akan sampai level developed kiddie atau script kiddie saja.

Cracker tidak mempunyai hirarki khusus karena sifatnya hanya membongkar dan merusak.

Kode Etik Hacker

1. Mampu mengakses komputer tak terbatas dan totalitas.

2. Semua informasi haruslah FREE.

3. Tidak percaya pada otoritas, artinya memperluas desentralisasi.

4. Tidak memakai identitas palsu, seperti nama samaran yang konyol, umur, posisi, dll.

5. Mampu membuat seni keindahan dalam komputer.

6. Komputer dapat mengubah hidup menjadi lebih baik.

7. Pekerjaan yang di lakukan semata-mata demi kebenaran informasi yang harus disebar luaskan.

8. Memegang teguh komitmen tidak membela dominasi ekonomi industri software tertentu.

9. Hacking adalah senjata mayoritas dalam perang melawan pelanggaran batas teknologi komputer.

10. Baik Hacking maupun Phreaking adalah satu-satunya jalan lain untuk menyebarkan informasi pada massa agar tak gagap dalam komputer.
Cracker tidak memiliki kode etik apapun.

Aturan Main Hacker

Gambaran umum aturan main yang perlu di ikuti seorang hacker seperti di jelaskan oleh Scorpio, yaitu:

· Di atas segalanya, hormati pengetahuan & kebebasan informasi.

· Memberitahukan sistem administrator akan adanya pelanggaran keamanan / lubang di keamanan yang anda lihat.

· Jangan mengambil keuntungan yang tidak fair dari hack.

· Tidak mendistribusikan & mengumpulkan software bajakan.

· Tidak pernah mengambil resiko yang bodoh – selalu mengetahui kemampuan sendiri.

· Selalu bersedia untuk secara terbuka / bebas / gratis memberitahukan & mengajarkan berbagai informasi & metoda yang diperoleh.

· Tidak pernah meng-hack sebuah sistem untuk mencuri uang.

· Tidak pernah memberikan akses ke seseorang yang akan membuat kerusakan.

· Tidak pernah secara sengaja menghapus & merusak file di komputer yang dihack.

· Hormati mesin yang di hack, dan memperlakukan dia seperti mesin sendiri.

Hacker sejati akan selalu bertindak berlandaskan kode etik dan aturan main sedang cracker tidak mempunyai kode etik ataupun aturan main karena cracker sifatnya merusak.

Perbedaan Hacker dan Cracker

a. Hacker

1.Mempunyai kemampuan menganalisa kelemahan suatu sistem atau situs. Sebagai contoh : jika seorang hacker mencoba menguji situs Yahoo! dipastikan isi situs tersebut tak akan berantakan dan mengganggu yang lain. Biasanya hacker melaporkan kejadian ini untuk diperbaiki menjadi sempurna.

2.Hacker mempunyai etika serta kreatif dalam merancang suatu program yang berguna bagi siapa saja.

3. Seorang Hacker tidak pelit membagi ilmunya kepada orang-orang yang serius atas nama ilmu pengetahuan dan kebaikan.

b. Cracker

1. Mampu membuat suatu program bagi kepentingan dirinya sendiri dan bersifat destruktif atau merusak dan menjadikannya suatu keuntungan. Sebagia contoh : Virus, Pencurian Kartu Kredit, Kode Warez, Pembobolan Rekening Bank, Pencurian Password E-mail/Web Server.

2. Bisa berdiri sendiri atau berkelompok dalam bertindak.

3. Mempunyai situs atau cenel dalam IRC yang tersembunyi, hanya orang-orang tertentu yang bisa mengaksesnya.

4. Mempunyai IP yang tidak bisa dilacak.

5. Kasus yang paling sering ialah Carding yaitu Pencurian Kartu Kredit, kemudian pembobolan situs dan mengubah segala isinya menjadi berantakan. Sebagai contoh : Yahoo! pernah mengalami kejadian seperti ini sehingga tidak bisa diakses dalam waktu yang lama, kasus clickBCA.com yang paling hangat dibicarakan tahun 2001 lalu.

Dua Jenis Kegiatan Hacking

1. Social Hacking, yang perlu diketahui : informasi tentang system apa yang dipergunakan oleh server, siapa pemilik server, siapa Admin yang mengelola server, koneksi yang dipergunakan jenis apa lalu bagaimana server itu tersambung internet, mempergunakan koneksi siapa lalu informasi apa saja yang disediakan oleh server tersebut, apakah server tersebut juga tersambung dengan LAN di sebuah organisasi dan informasi lainnya

2. Technical Hacking, merupakan tindakan teknis untuk melakukan penyusupan ke dalam system, baik dengan alat bantu (tool) atau dengan mempergunakan fasilitas system itu sendiri yang dipergunakan untuk menyerang kelemahan (lubang keamanan) yang terdapat dalam system atau service. Inti dari kegiatan ini adalah mendapatkan akses penuh kedalam system dengan cara apapun dan bagaimana pun.

Contoh Kasus Hacker

1. Pada tahun 1983, pertama kalinya FBI menangkap kelompok kriminal komputer The 414s(414 merupakan kode area lokal mereka) yang berbasis di Milwaukee AS. Kelompok yang kemudian disebut hacker tersebut melakukan pembobolan 60 buah komputer, dari komputer milik Pusat Kanker Memorial Sloan-Kettering hingga komputer milik Laboratorium Nasional Los Alamos. Salah seorang dari antara pelaku tersebut mendapatkan kekebalan karena testimonialnya, sedangkan 5 pelaku lainnya mendapatkan hukuman masa percobaan.

2. Digigumi (Grup Digital) adalah sebuah kelompok yang mengkhususkan diri bergerak dalam bidang game dan komputer dengan menggunakan teknik teknik hexadecimal untuk mengubah teks yang terdapat di dalam game. Contohnya : game Chrono Trigger berbahasa Inggris dapat diubah menjadi bahasa Indonesia. Oleh karena itu, status Digigumi adalah hacker, namun bukan sebagai perusak.

3. Pada hari Sabtu, 17 April 2004, Dani Firmansyah, konsultan Teknologi Informasi (TI) PT Danareksa di Jakarta berhasil membobol situs milik Komisi Pemilihan Umum (KPU) di http://tnp.kpu.go.id dan mengubah nama-nama partai di dalamnya menjadi nama-nama “unik”, seperti Partai Kolor Ijo, Partai Mbah Jambon, Partai Jambu, dan lain sebagainya. Dani menggunakan teknik SQL Injection(pada dasarnya teknik tersebut adalah dengan cara mengetikkan string atau perintah tertentu di address bar browser) untuk menjebol situs KPU. Kemudian Dani tertangkap pada hari Kamis, 22 April 2004.

Akibat yang Ditimbulakan oleh Hacker dan Cracker

Hacker : membuat teknologi internet semakin maju karena hacker menggunakan keahliannya dalam hal komputer untuk melihat, menemukan dan memperbaiki kelemahan sistem keamanan dalam sebuah sistem komputer ataupun dalam sebuah software, membuat gairah bekerja seorang administrator kembali hidup karena hacker membantu administrator untuk memperkuat jaringan mereka.

Cracker : merusak dan melumpuhkan keseluruhan sistem komputer, sehingga data-data pengguna jaringan rusak, hilang, ataupun berubah.

Kesimpulan

Para hacker menggunakan keahliannya dalam hal komputer untuk melihat, menemukan dan memperbaiki kelemahan sistem keamanan dalam sebuah sistem komputer ataupun dalam sebuah software. Oleh karena itu, berkat para hacker-lah Internet ada dan dapat kita nikmati seperti sekarang ini, bahkan terus di perbaiki untuk menjadi sistem yang lebih baik lagi. Maka hacker dapat disebut sebagai pahlawan jaringan sedang cracker dapat disebut sebagai penjahat jaringan karena melakukan melakukan penyusupan dengan maksud menguntungkan dirinya secara personallity dengan maksud merugikan orang lain. Hacker sering disebut hacker putih (yang merupakan hacker sejati yang sifatnya membangun) dan hacker hitam (cracker yang sifatnya membongkar dan merusak)

pemrograman JAVA

Posted in UTAMA AQIL LUBBY on 2 April 2010 by aqil lubby

Dasar Pemrograman

Java2 adalah generasi kedua dari Java platform (generasi awalnya adalah Java Development Kit). Java berdiri di atas sebuah mesin interpreter yang diberi nama JVM. JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu, bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.

Platform Java terdiri dari kumpulan library, JVM, kelas- kelas loader yang dipaket dalam sebuah lingkungan rutin Java, dan sebuah compiler, debuger, dan perangkat lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah generasi yang sekarang sedang berkembang dari platformJava. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi ”.java” harus dikompilasi menjadi file bytecode. Untuk menjalankan bytecode tersebut dibutuhkan JRE ( Java Runtime Environment) yang memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan libraryJava yang digunakan.

PlatformJava memiliki tiga buah edisi yang berbeda, yaitu J2EE ( Java2 Enterprose Edition), J2ME ( Java2 Micro Edition) dan J2SE ( Java2 Second Edition). J2EE adalah kelompok dari beberapa API ( Application Programming Interface) dari Java dan teknologi selain Java. J2EE sering dianggap sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat digunakan di semua lapisan dari sebuah sistem informasi. Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dari rutin standar untuk aplikasi klien maupun server, termasuk aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java, sedangkan J2ME merupakan edisi library yang dirancang untuk digunakan pada device tertentu seperti pagers dan mobile phone.

Java merupakan bahasa pemrogrman yang bersifat case sensitive yang berarti penulisan menggunakan huruf besar ataupun huruf kecil pada kode program dapat berarti lain. Misalnya penulisan “System” akan diartikan berbeda dengan “system” oleh interpreter. Java tidak seperti C++, Java tidak mendukung pemrograman prosedural, tapi mendukung pemrograman berorientasi objek sehingga ada sintaks class pada kode programnya.

Objek dan Kelas

Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur tapi mengenal apa yang disebut dengan kelas.

Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain. Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List.java berisi kelas List. Namun jika kelas yang dibuat misalnya public class nama_kelas, maka kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada sebuah file ”.class” yang berisi bytecode dari setiap kelas. Jika sebuah file terdiri dari dua kelas maka setelah dikompilasi akan dihasilkan dua buah file ”.class” yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi.

Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat sebuah objek. Objek adalah elemen pada saat runtime yang akan diciptakan, dimanipulasi dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada saat sebuah program dieksekusi, jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, di dalam teks program yang kita lihat hanyalah kelas.

Atribut

Atribut dari sebuah kelas adalah variabel global yang dimilki sebuah kelas, misalkan pada kelas sebagai berikut:

class Elemen

NilaiMatKul elmt
Elemen next

Elemen()
{end constructor}
{end class}

maka elmt dan next adalah atribut dari kelas Elemen. Atribut pada sebuah kelas memiliki izin akses jika kelas digunakan oleh kelas lain, izin akses itu seperti private, public dan protected.

Atribut Private

Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atribut-atributnya agar tidak dapat diakses oleh kelas lain. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangakan kelas lainnya tidak dapat mengakses atribut ini secara langsung, misalkan kelas sebagai berikut:

class Elemen
private NilaiMatKul elmt
private Elemen next

Elemen()
{end constructor}

{end class}

maka yang dapat mengakses elmt dan next hanyalah kelas Elemen sehingga jika sebuah kelas List di dalamnya mempunyai kode sebagai berikut:

Elemen e <- new Elemen

maka pengaksesan e.next tidak dizinkan pada kelas List. Agar isi dari sebuah atribut private dapat diakses oleh kelas lain dapat dibuat sebuah metode yang mengembalikan nilai atribut itu, misalnya sebagai berikut:

public getNext() -> Elemen
-> next
{end getNext}

sehingga kelas lain akan mengakses atribut next pada kelas Elemen dengan kode Elemen n < e.getNext().

Atribut Public

Izin akses public sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, misalkan pada kelas Elemen sebagai berikut:

class Elemen
public NilaiMatKul elmt
Elemen next

Elemen ()
{end constructor}
{end class}

maka aatribut elmt dan next dapat diakses secara langsung oleh kelas lain, misalkan dengan kode:

Elemen e <- new Elemen()
e.next <- NULL

Jika sebuah atribut tidak ditulis izin aksesnya misalkan hanya ditulis Element next, maka interpreter Java akan menganggap atribut next mempunyai izin akses public.

Atribut Protected

Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain yang merupakan kelas turunannya ( inheritance). Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya, misalkan pada kelas Elemen sebagai berikut:

class Elemen
protected NilaiMatKul elmt
protected Elemen next

Elemen()
{end constructor}
{end class}

maka atribut elmt dan next dapat diakses secara langsung oleh kelas lain yang merupakan turunan kelas Elemen. Izin akses protecteddimaksudkan untuk melindungi atribut agar tidak diakses secara langsung oleh sembarang kelas lain, namun diizinkan diakses secara langsung oleh kelas turunannya.

Konstruktor

Sebuah kelas harus memiliki sebuah metode yang disebut sebagai konstruktor. nama sebuah konstruktor harus sama dengan nama dari sebuah kelas, misalkan kelas Elemen maka konstruktornya adalah Elemen(). Sebuah konstruktor juga dapat menerima sebuah masukan seperti halnya prosedur pada pemrograman prosedural. Fungsi dari sebuah konstruktor adalah: mengalokasikan sebuah objek saat program dieksekusi, memberikan nilai awal sebagai inisialisasi dari semua atribut yang perlu diinisialisasi dan mengerjakan proses- proses yang diperlukan saat sebuah objek dibuat.

Namun pada kenyataannya sebuah konstruktor dapat tidak berisi apa-apa, hal ini jika memang tidak diperlukan adanya inisialisasi atau proses yang dikerjakan ketika sebuah objek dibuat. Konstruktor harus bersifat publickarena sebuah konstruktor akan diakses oleh kelas lain untuk membuat objek suatu kelas.

Sebuah kelas dapat memiliki konstruktor lebih dari satu. Pada saat eksekusi program, kompiler atau interpreter akan mencari konstruktor mana yang sesuai dengan konstruktor yang dipanggil, hal ini disebut sebagai overloading.

Metode

Metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural. Pada sebuah metode di dalam sebuah kelas juga memiliki izin akses seperti halnya atribut pada kelas, izin akses itu antara lain private, publicdan protectedyang memiliki arti sama pada izin akses atribut yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu metode dengan nama yang sama asalkan memiliki parameter masukan yang berbeda sehingga kompiler atau interpreter dapat mengenali metode mana yang dipanggil.

Di dalam sebuah kelas, terdapat juga yang disebut sebagai metode atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini adalah metode yang dapat diakses secara berbagi dengan semua objek lain tanpa harus membuat objek yang memiliki metode statis tadi (tanpa proses new), tapi sebuah metode statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut atau metode lain di dalam kelas yang membungkusnya yang juga bersifat statis. Metode statis biasanya diimplementasikan untuk metode main.

Inheritance

Inheritanceatau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya. Sebagai contoh, misalkan ada sebuah kelas Titik yang mempunyai kelas turunan Titik3D:

class Titik
private integer x
private integer y
Titik()
x < 0
y < 0
{end Titik}

public getX() -> integer
-> x
{end getX}

public getY() -> integer
-> y
{end getY}
{end class}
class Titik3D: Titik
private integer z

Titik3D()
z <- 0
{end Titik3D}

public getZ() -> integer
-> z
{end getZ}

{end class}

Keterkaitan antara kelas Titik dan Titik3D adalah kelas Titik3D merupakan kelas turunan dari kelas Titik. Dalam hal ini kelas Titik disebut dengan kelas dasar atau super classatau base classsedangkan kelas Titik3D disebut sebagai kelas turunan atau derived classatau subclass.

Pada contoh di atas, ketika kelas Titik3D dibuat objeknya maka objek tersebut dapat menggunakan metode yang ada pada kelas Titik walau pada kode programnya metode itu tidak dituliskan, misalkan sebagai berikut:

Titik3D p <- new Titik3D()
integer x <- p.getX()
integer y <- p.getY()
integer z <- p.getZ()

Keuntungan dari pewarisan adalah tidak perlu mengutak atik kode kelas yang membutuhkan tambahan atribut atau metode saja, karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas dasarnya. Kelas dasar akan mewariskan semua atribut dan kodenya kecuali konstruktor dan destruktor yang memiliki izin akses publicdan protectedke kelas turunannya dengan izin akses yang sama dengan pada kelas dasar.

Ketika sebuah kelas turunan dibuat objeknya saat eksekusi, maka secara implisit konstruktor kelas dasar dipanggil terlebih dahulu baru kemudian konstruktor kelas turunan dijalankan. Begitu juga saat objek dimusnahkan maka secara destruktor kelas turunan akan dijalankan baru kemudian destruktor kelas dasar dijalankan.

Abstract

Pada bahasa pemrograman Java juga ada sebuah kata kunci abstractyang dapat digunakan pada sebuah metode, namun jika digunakan pada sebuah metode, maka metode tersebut harus berada di dalam sebuah kelas yang juga menggunakan kata kunci abstract. Metode abstracttidak boleh memiliki badan program, badan program metode ini dapat diimplementasikan pada kelas turunannya.

Fungsi dari kelas atau metode abstractpada bahasa pemrograman Java adalah menyediakan sebuah abstraksi kelas atau metode sehingga dapat dilihat metode apa saja yang ada di dalam kelas tanpa harus melihat isi badan program dari metode-metode itu. Prinsipnya sama dengan fungsi sebuah daftar isi pada sebuah buku, dengan melihat daftar isi bisa diketahui isi sebuah buku tanpa harus membaca semua isi buku terlebih dahulu.

Package

Packageadalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas- kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam packageyang berbeda. Sebuah packagepada Java dapat digunakan oleh packageyang lain ataupun kelas-kelas di luar Package. Jika dalam bahasa pemrograman Java terdapat kode import example.animal.Mamalia; maka program tersebut memakai kelas mamalia yang ada pada packageexample.animal. Jika terdapat kode import example.animal.*; maka program tersebut memakai semua kelas yang ada pada packageexample.animal.

Packagepada bahasa pemrograman Java dinyatakan dengan kode: package nama_package;

Misalnya: package example.animal;

yang ditulis pada bagian atas kode program kelas anggota package. Misal sebuah kelas dengan nama Mamalia ada di dalam packagedengan nama example.animal maka file yang menyimpan kode program kelas Mamalia dimasukkan dalam direktori.

Interface

Interfaceatau antar muka pada bahasa pemrograman Java sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interfacedapat diimplementasikan oleh kelas lain. Sebuah kelas dapat mengimplementasikan lebih dari satu interfacebahwa kelas ini akan mendeklarasikan metode pada interfaceyang dibutuhkan kelas itu sekaligus mendefiniskan isinya pada kode program kelas itu. Metode pada interfaceyang diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada interface. Misalnya pada interfaceterdapat deklarasi void printAnimal(); maka pada kelas yang mengimplementasikan metode itu harus ditulis sama yaitu:

void printAnimal(){ …………………
}

Sebuah interfacedideklarasikan dengan kode:

interface nama_antarmuka{ metode_1 metode_2
………………… metode_n }

misalnya:

interface Animal{ void printAnimal();
}

Adapun deklarasi kelas yang mengimplementasikan interface sebagai berikut:

class nama_kelas implements interface_1,
interface_2, …, interface_n{ metode_1 metode_2
……………………………….. metode_n }

misalnya:

class Mamalia implements Animal{ Mamalia (){ }
void prontAnimal(){ system.out.println(“printAnimal dalam kelas
Mamalia”); } }

Rangkuman

Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat luinak pada komputer standaloneataupun pada lingkungan jaringan. Teknologi Java memiliki tiga komponen penting, yaitu: Programming-language specification, Application- programming interface, Application-programming interface.

Java2 adalah generasi kedua dari Java platform(generasi awalnya adalah Java Development Kit). Java berdiri di atas sebuah mesin interpreter yang diberi nama JVM. JVM inilah yang akan membaca bytecodedalam file .classdari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu, bahasa Java disebut sebagai bahasa pemrograman yang portablekarena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.

______CONTOH JAVA SEDERHANA________

import javax.swing.*;
public class penilaian {
public static void main (String [] args) {

int [] nim= new int[10];
String [] nama= new String[10];
Double [] uts = new Double[10];
Double [] uas = new Double [10];
String [] index= new String [10];
String tanya=””;
int i = 0;
int [] no=new int[10];
Double [] akhir=new Double[10];

do{
nim[i]=Integer.valueOf(JOptionPane.showInputDialog(”Masukkan Nim”));
nama[i]=JOptionPane.showInputDialog(”Masukkan Nama”);
uts[i]=Double.valueOf(JOptionPane.showInputDialog(”Masukkan Nilai UTS”));
uas[i]=Double.valueOf(JOptionPane.showInputDialog(”Masukkan Nilai UAS”));
tanya=JOptionPane.showInputDialog(”Mau Tambah Data Lagi”);

akhir[i]=(uts[i]+uas[i])/2;

if (akhir[i] >=85){
index[i]=”A”;
}
else if (akhir[i]>=75){
index[i]=”B”;
}
else if (akhir[i]>=65){
index[i]=”C”;
}
else if (akhir[i]>=50){
index[i]=”D”;
}
else{
index[i]=”E”;
}
no[i]=i;
i++;

}while(tanya.equalsIgnoreCase(”Y”) && i<10);
System.out.println(”==============================================================”);
System.out.println(”No \t Nim \t Nama \t UTS \t UAS \t Nilai Akhir \t index”);
System.out.println(”==============================================================”);

for (int j=0; j<i; j++){

System.out.println(no[j]+”\t”+nim[j]+”\t”+nama[j]+”\t”+uts[j]+”\t”+uas[j]+”\t”+akhir[j]+”\t”+index[j]);

}
}
}

KOREK (KOMUNITAS AREK KREATIF)

Posted in UTAMA AQIL LUBBY on 2 April 2010 by aqil lubby

KOREK: 22-12-2009

komunitasarekkreatif@gmail.com