Bush Farewell Dinner

Januari 20, 2009
Bush Farewell Dinner

Bush Farewell Dinner

Untuk mencegah terulangnya lagi peristiwa serupa yang memalukan di Iraq, maka seluruh tamu harus mengikuti protokoler yang baru


Barak Obama Fam

Januari 14, 2009

Barak Obama Fam

Barak Obama Fam

Barak Obama Fam

Saudara-saudara keluarga besar “Barak Obama” dari Kenya dan Indonesia yang berbodong-bondong ingin menghadiri pelantikannya sebagai President pertama Amrik yang berasal dari turunan kulit berwarna.


Konsep OOP

Januari 14, 2009

Konsep Pemrograman Berorientasi Objek
(Object Oriented Programming/OOP)

Sebelum membahas bagaimana kosep OOP, pertama-tama mari kita tinjau terlebih dahulu awal dari rekayasa pemrograman yang paling dasar, yang masih dalam kategori primitif, suatu bahasa pemrograman tingkat rendah. Komputer seperti yang sudah kita ketahui, adalah suatu perangkat keras yang dalam bekerjanya hanya mengenal ada tegangan atau tidak adanya tegangan listrik dalam rangkaian elektroniknya, yang dipasok dari catu daya baik dari bateray maupun dari adaptor. Ada dan tidak adanya tegangan listrik ini kemudian dijadikan sebagai kode dengan dua status yaitu 1 (untuk kondisi ada tegangan/high) dan 0 (tidak ada tegangan/low). Dari dua kondisi pengkodean ini yang kemudian kita kenal dengan nama kode binary 0 dan 1.

Pada tingkat yang paling dasar, satu perintah atau instruksi pada komputer adalah sederetan 0 dan 1 yang merupakan urutan fisik, yang harus dijalankan oleh sebuah prosesor, dalam menjalankan suatu operasi tertentu, misalnya “Tambah” , “Hapus” atau instruksi lainnya, tergantung dari tipe instruksinya, bisa berupa data tertentu yang berisi perintah dalam register yang harus dijalankan atau sebuah petunjuk alamat data yang berada dalam memori komputer.

Untuk menyusun sederetan 0 dan 1 menjadi sesuatu yang bermakna perintah tertentu pada prosesor, tentunya sangatlah rumit dan tidak gampang untuk  mengerjakannya, dan untuk tiap tipe dan merk prosesor akan berbeda susunan 0 dan 1 nya, sekalipun menghasilkan fungsi akhir yang sama. Fungsi satu set perintah ini kemudian diberi nama sesuai dengan fungsinya, add, subtract dll.

Guna mempermudah dalam menyusun perintah agar menghasilkan suatu fungsi tertentu, dibuatlah suatu bahasa pemrograman (Assembler) yang terdiri dari kode-kode singkatan (mneomonic) dalam bahasa (Inggris) yang lebih mudah dimengerti oleh manusia, ketimbang sederetan 0 dan 1 yang dimengerti oleh mesin. Mneomonic tersebut didefinisikan oleh pabrikan prosesor sesuai arsitekturnya. Susunan perintah yang dibuat oleh programer dengan bahasa Asembler ini, selanjutnya dikonversi menjadi sederatan 0 dan 1 dengan menggunakan kompiler, yang hasilnya berupa suatu program operasional dan bisa langsung dimengerti dan dijalankan oleh prosesor komputer.
Sebagai contoh misalnya perintah dalam susunan binary dengan menggunakan prosesor x86/IA-32 sbb:

•    Binary : 10110000 01100001 (Hex: B0 61).

Perintah tersebut dalam bahasa Assembler adalah:
•    Assembler :MOV AL, 61h.

Perintah diatas artinya sbb:
•    Pindahkan (move) nilai 61 hexadecimal atau = 97 decimal ke register prosesor yang bernama AL. Dalam bahasa Assembler MOV (1011) disebut opcode

Komputer juga tidak mengerti data yang berupa angka dan huruf yang kita kenal, oleh karena itu agar komputer bisa mengetahui maksudnya, angka dan huruf tersebut harus dirobah terlebih dahulu menjadi data yang berupa 1 dan 0 sesuai tabel ANSI, ASCII atau tabel data yang  lainnya melalui interpreter, sehingga bisa diproses untuk  menghasilkan output yang diinginkan. Pada awal-awal ditemukannya, program aplikasi komputer masih dalam tingkat program dengan logika yang masih sederhana, sesuai kemajuan saat itu, berbeda dengan saat ini yang rumit dan sangat kompleks. Program yang disusun dalam aplikasi ini, pada umumnya belum terlalu kompleks, dan sebagai contoh misalnya seperti untuk mengontrol peralatan rumah tangga, proses industri (PLC), pembukuan dan proses aplikasi lainnya.

Dalam bahasa Assembler, seorang programer harus menghafal arti dari mneomonic dan opcode, mengingat alamat memori, yang dalam prakteknya  tidak mudah untuk menyusunnya menjadi satu aplikasi. Dalam perkembangan bahasa program selanjutnya, diciptakan lagi suatu bahasa program yang dalam perintah-perintahnya itu disusun dengan menggunakan bahasa Inggris, yang bisa digunakan dan dimengerti oleh manusia, namun kata-kata yang dipakai sebagai perintah untuk menjalankan komputer ini, terbatas hanya kata-kata tertentu saja, misalnya read, write, delete, close, open dsb. Dengan menggunakan perintah yang dimengerti manusia ini, pembuatan program yang sesuai dengan kebutuhan aplikasi menjadi lebih mudah. Program  yang telah disusun sesuai aturan yang ditentukan itu, kemudian dirubah menjadi bahasa mesin dengan menggunakan interpreter atau kompiler, agar bisa dijalankan
oleh komputer. Adapun konsep pemrograman yang berisi susunan alur perintah atau subroutine itu, adalah merupakan suatu prosedur perintah pada komputer  bagaimana suatu aplikasi dijalankan. Konsep ini dikenal dengan istilah Bahasa Program Prosedural, dan bahasa ini tergolong dalam bahasa tingkat tinggi, misal bahasa BASIC, Cobol dsb.

Bahasa Prosedural adalah suatu bahasa yang merupakan cerminan dari bagaimana cara sebuah komputer menjalankan sederetan perintah, oleh karena itu program yang kita buat, sama halnya dengan mengatur bagaimana cara kerja komputer dalam menjalankan perintah yang sesuai dengan yang kita inginkan. Dengan menggunakan teknik ini, pertama-tama yang harus dipelajari oleh seorang programmer adalah, bagaimana memecahkan masalah yang besar ke dalam sederetan langkah-langkah kecil yang sederhana, yang disebut subroutine.

Untuk membuat sebuah konsep pemrograman komputer, para ahli menggunakan berbagai macam cara yang berbeda, dan dalam perkembangan bahasa pemrograman selanjutnya, kebanyak cenderung mengambil suatu konsep pada pemrograman yang berorientasi pada objek (Object Oriented Programming/OOP). Bahasa pemrograman yang berorientasi objek  ini, mengambil sudut pandang yang berbeda dibanding bahasa pemrograman prosedural, dimana OOP lebih terfokus pada bagaimana menyelesaikan suatu masalah pekerjaan dengan  menggunakan komputer, sedang dalam pemrograman prosedural  lebih melihat bagaimana cara kerja komputer dalam menangani suatu satuan tugas.

OOP adalah salah satu bentuk pendekatan dalam membangun program komputer dengan meniru bagaimana cara membuat suatu objek seperti yang terjadi dalam dunia nyata, suatu methodologi pengembangan software dimana program secara konsep dipandang sebagai satu kelompok atau sebuah grup, yang terdiri dari kumpulan objek yang saling berinteraksi.  Untuk membuat suatu Objek, OOP menggunakan kerangka abstrak yang disebut dengan Kelas, yang berisi data dan pernyataan-pernyataan yang diperlukan untuk mempergunakan data tersebut. Dengan mempergunakan cara pendekatan seperti ini, kita dapat membuat program yang bisa dipakai kembali (reuseable), lebih handal (reliable) dan mudah dipahami (understandable).

Bahasa yang berorientasi pada objek salah satunya adalah Java, yang menerapkan konsep Virtual Machine sehingga program yang dibangun dengan Java, bisa berjalan dalam berbagai platform, bersifat netral, artinya program bisa dijalankan tanpa modifikasi yang tidak terikat pada lingkungan perangkat keras atau perangkat lunak yang dipergunakan.  Program Java sudah ditulis, kemudian dikompile kedalam format bytecode yang bisa dijalankan oleh Java

interpreter atau yang dinamakan juga dengan Java Virtual Machine (JVM), dimana implementasinya bisa berjalan dilingkungan system operasi Linux, Microsoft, Apple MAC maupun dan OS yang lainnya, dan dengan perangkat keras yang berbeda-beda. Dengan mempelajari Java, maka sekaligus juga mempelajari OOP, suatu bahasa pemrograman yang direkayasa lebih aman, mudah dipelajari dan lebih sulit untuk disalah gunakan bila dibanding dengan C maupun C++ , karena tidak menggunakan system pointer.

Bahasa pemrograman Java diatur dalam elemen-elemen yang disebut kelas, dimana kelas inilah yang kemudian dipergunakan untuk membentuk objek. Setiap objek dalam bahasa pemrograman Java adalah merupakan satu bagian program sendiri yang terpisah, dirancang secara spesifik untuk mejalankan suatu fitur, yang saling berinteraksi dengan bagian atau objek lain membentuk suatu sistem, dan dalam suatu pengontrolan yang ketat, bisa dipergunakan
untuk mengolah pekerjaan tertentu sesuai dengan yang diinginkan.

Struktur dari kelas mempunyai dua aspek yaitu bagaimana sifatnya dan apa atribut atau kelengkapannya. Misalnya objek kelas mobil mempunyai kelengkapan roda, mesin, setir, rem, gearbox dan lain sebagainya, sedang sifat, fungsi atau behavior nya  bisa maju, mundur, belok kiri, kanan dan sebagainya. Kelengkapan dan sifat  atau fungsi dalam bahasa program Java disebut atribut dan method. Objek  mobil ini bisa bermacam-macam, ada mobil sedan, mobil barang, truk, bus dan lain-lainya yang semuanya masuk dalam kelas Mobil. Dengan kata lain Kelas Mobil, bisa mejadi objek sedan, truk, bus dan lain-lain yang ciri-cirinya mempunyai atribut roda, stir, mesin, gearbox dan sebagainya dan mempunyai sifat maju, mundur , belok kiri, belok kanan.  Atribut roda dari kelas mobil bisa digunakan pada objek mobil apa saja dalam kelas mobil. Sifat atau Fungsi dari satu kelas bisa diturunkan ke subkelas, dan dari subkelas bisa diturunkan lagi ke subkelas berikutnya, demikian seterusnya. Dari kelas-kelas ini, kita bisa menggabungkannya melalui paket dan interface.

Atribut sebuah kelas dari objek  adalah data yang membedakan satu objek dengan objek lainnya. Tiap objek merupakan bagian program tersendiri, seperti halnya subroutin dalam system prosedural, yang saling berinteraksi dengan objek lain secara khusus, membentuk satu satuan system tugas kerja. Kebanyakan system dibangun dengan menggabungkan menjadi satu dari sekumpulan objek yang berlainan, yang umumnya disebut komponen, dan sebagi
contoh misalnya sound system yang terdiri dari beberapa komponen sbb:

- komponen speaker yang bisa bekerja pada frekwensi menengah dan  atas.
- subwoofer yang bekerja difrekwensi rendah atau bas.
- pemutar CD yang bisa membaca data audio dari CD.
- mikropon yang berfungsi sebagai pengubah getaran suara ke data audio.

Komponen-koomponen ini dirancang sebagai objek untuk berinteraksi satu sama lain dengan menggunakan standard koneksi untuk input dan output . Sekalipun komponen-komponen tadi kita beli secara terpisah, dan dengan merk yang berbeda-beda, asalkan mempunyai koneksi yang standard, maka sound system itu bisa kita gabungkan dan bisa bekerja sesuai dengan yang kita inginkan. Begitu juga dengan OOP, bekerja dengan prinsip yang sama.

Kita bisa membangun sebuah program dengan mengkombinasikan objek yang baru kita buat dengan objek lainnya yang sudah ada, asal menggunakan cara-cara perancangan yang standard. Tiap objek yang dibangun akan menjalankan fungsi spesific dalam keseluruhan program. Jadi setiap objek adalah merupakan elemen yang mempunyai isi tersendiri pada sebuah program komputer, yang berkaitan dengan fitur-fitur dari rekayasa program yang ditujukan untuk  menjalankan tugas-tugas dari fungsi spesifik tersebut.

Dibawah ini  adalah salah satu contoh dari OOP dengan menggunakan bahasa Java:

import java.io.*;

public class KeyIn{
public static String MasukkanData(){
int masukkan; String kata= ” ” ; boolean rampung=false;
while (!rampung){
try{
masukkan= System.in.read();
if (masukkan<0 ||(char) masukkan==’\n’) rampung=true;
else if ((char) masukkan !=’\r’) kata= kata+ (char) masukkan;
}catch(java.io.IOException e){
System.err.println(“Salah”);
rampung=true;
}
}
return kata;
}
}

public class HitungPondasi{
public static void main(String[] args){
String dataMasuk; double volume; int pembulatan;

System.out.print(“Masukkan panjang pondasi ) = “);
dataMasuk= KeyIn.MasukkanData();
Double panjang= Double.valueOf(dataMasuk).doubleValue();

System.out.print(“Masukkan tinggi pondasi = “);
dataMasuk= KeyIn.MasukkanData();
double tinggi= Double.valueOf(dataMasuk).doubleValue();

System.out.print(“Masukkan lebar pondasi = “);
dataMasuk= KeyIn.MasukkanData();
double lebar= Double.valueOf(dataMasuk).doubleValue();

volume=panjang*lebar*tinggi;
pembulatan= (int) volume;

System.out.println(“Volume Pondasi = ( “+ panjang+ ” x “+ tinggi+ ” x “+ lebar+ ” ) = “+ pembulatan+ ” meter kubik.”);
}
}

Semoga tulisan yang singkat ini bisa bermanfaat.

Ditulis oleh: Muhammad Setiawan Ahmad
STTI BI Eresha 331207620


Hello Kawan!

Januari 7, 2009
Selamat datang,
Generasi Penerusku

Generasi Penerusku

Perkenalkan nama saya Muhammad Setiawan Ahmad, nama panggilan Memed, saat ini saya masih meneruskan kuliah di STTI BI Eresha untuk mengambil S2.

Salah satu tujuan pembuatan Blog ini, adalah untuk memenuhi tugas praktek membuat blogging dan sarana belajar writing sesuai anjuran Bpk Romi SW sebagai dosen kami, yang begitu hebat dalam mendorong semua mahasiswanya, untuk memperbaiki mental dan spiritual belajar yang benar. Blog ini sebagai sarana belajar menulis, dimulai dari yang sederhana, sebelum membuat yang lebih serius dan lebih bagus baik isi maupun tampilannya.

Silahkan beri comment atau inputan dari performance blog ini, agar saya bisa menyusun lebih baik dalam penyajian selanjutnya.

Terima kasih atas kunjungan anda.

Salam,

Memed


Ikuti

Get every new post delivered to your Inbox.