Rabu, 18 April 2012

Inheritance dan Polymorphysm pada Java

Inheritance adalah pewarisan. Pewarisan dalam pemrograman berorientasi objek, Inheritance memungkinkan suatu Class bisa mewariskan atribut dan Method kepada Class yang lainnya atau subClass, sehingga membentuk Class hirarki. Inheritance sangat mirip dengan hubungan orang tua dengan anak. Manakala suatu kelas menerima warisan dari semua anggota data dan fungsi menerima warisan, walaupun tidak semua di antara mereka dapat diakses oleh anggota fungsi dari kelas.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.

Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

Listing program :

# Pertama buat class utamanya *save dengan matematika.java*

class matematika
{
                private int a,b;
                public matematika ()
                {
                                a = 1;
                                b = 2;
                }
                public int tambah ()
                {
                                return a + b;
                }
                public int kurang ()
                {
                                return a - b;
                }
                public int kali ()
                {
                                return a * b;
                }
                public int bagi ()
                {
                                return a / b;
                }
}

# kemudian buat subclass ke-1 nya *save dengan penambahan.java*

class penambahan extends matematika
{
                private int x,y ;
                public penambahan ()
                {
                                x = 1;
                                y = 2;
                }
                public penambahan (int i,int j)
                {
                                x = i;
                                y = j;
                }
                public int tambah ()
                {
                                return x + y;
                }
}

# lalu buat subclass ke-2 nya *save dengan perkalian.java*

class perkalian extends matematika
{
                private int x,y ;
                public perkalian ()
                {
                                x = 1;
                                y = 2;
                }
                public perkalian (int i,int j)
                {
                                x = i;
                                y = j;
                }
                public int kali ()
                {
                                return x * y;
                }
}

# terus buat subclass ke-3 nya *save dengan pengurangan.java*

class pengurangan extends matematika
{
                private int x,y ;
                public pengurangan ()
                {
                                x = 1;
                                y = 2;
                }
                public pengurangan (int i,int j)
                {
                                x = i;
                                y = j;
                }
                public int kurang ()
                {
                                return x - y;
                }
}

# setelah itu buat subclass ke-4 nya *save dengan pembagian.java*

class pembagian extends matematika
{
// Pada saat class Pembagian menurunkan atau memperluas (extend) class matematika, maka ia mewarisi data member yang dipunyai oleh class Matematika. Dengan demikian, class pembagian mempunyai data member yang diwarisi oleh Matematika, ditambah dengan data member yang ia punyai

                private int x,y ;
                public pembagian ()
                {
                                x = 1;
                                y = 2;
                }
                public pembagian (int i,int j)
                {
                                x = i;
                                y = j;
                }
                public int bagi ()
                {
                                return x / y;
                }
}

# yang terakhir buat class lagi untuk memanggil class-class yang sudah dibuat *save dengan pbo.java*

class pbo
{
                public static void main (String [] args)
                {
                                matematika call;
                                penambahan itung = new penambahan (10,2);
                                perkalian itung1 = new perkalian (10,2);
                                pengurangan itung2 = new pengurangan (10,2);
                                pembagian itung3 = new pembagian (10,2);
                                System.out.println ("a = 10, b = 2");
                                call = itung;
                                System.out.println ("hasil penambahan = " +itung.tambah());
                                call = itung1;
                                System.out.println ("hasil perkalian = " +itung1.kali());
                                call = itung2;
                                System.out.println ("hasil pengurangan = " +itung2.kurang());
                                call = itung3;
                                System.out.println ("hasil pembagian = " +itung3.bagi());
                }
}
//Pada kelas yang terakhir ini, fungsinya untuk memanggil kelas-kelas yang sudah dibuat sebelumnya, sehingga tidak usah memanggil secara satu-persatu. Saat kita menjalankan/mengcompile program ini, maka secara otomatis kelas-kelas yang sudah dibuat sebelumnya akan ikut terpanggil.  

# kemudian compile semua class, lalu jalankan class yang terakhir “pbo.java”

Output Program :



My Partner: Edith Pradipta
Sumber :
  1. http://hanakirei91.wordpress.com/2010/04/14/pengertian-polymorphisme-inheritance-dan-enkapsulasi/
  2. http://andra-ulatbulu.blogspot.com/2009/11/inheritance-dan-contoh-program-dalam.html

·     

Jumat, 06 April 2012

Enkapsulasi pada Java


Java merupakan bahasa pemrograman tingkat tinggi yang berbasiskan object. Di dalam java terdapat beberapa konsep, yaitu :
  
1.     Object: Object adalah instance dari class yang terdiri atas atribut dan behavlour.

 2.      Class: Class merupakan template dari object. Class itu sendiri berisi data dan aksi
  
3.   Encapsulation: Membungkus variabel dan method ke dalam suatu bagian yang dilindungi.  Encapsulation sendiri, sering juga disebut “penyembunyian” informasi. 

4.      Inheritance: Memiliki kemampuan untuk menciptakan suatu class dari class lain.

5.      Polymorphisme: Satu tujuan dapat dilakukan dengan banyak cara.

Nah, pada kesempatan kali ini saya akan menjelaskan salah satu konsep PBO itu sendiri dengan menggunakan bahasa pemrograman java. 
  
  • A. Pembahasan

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.

Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.

Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.

  • B.    Contoh Program
class belajar {
public String x = "Pintar";
private String y = "Java";
}
public class pintar{
public static void main(String[] args){
belajar panggil = new belajar();
System.out.println("Panggil X : " + panggil.x);
System.out.println("Panggil Y : " + panggil.y);
}
}
  • C.   Logika Program
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.

  • D.   Output Program


My Partner: Edith Pradipta

Referensi: http://setyonugroho09.wordpress.com/2010/02/17/konsep-enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/

Senin, 02 April 2012

Perbedaan Program OOP dengan terstruktur

Hay bloggers, untuk memenuh tuntutan saya sebagai seorang Mahassiwa, pada kesempatan kali ini saya akan mengulik apa sih sebenarnya perbedaan Pemrograman Terstruktur dengan Pemrograman berbasis Objek, atau yang lebih sering disebut dengan OOP (Object Oriented Programming). Oke tanpa basa-basi, kita langsung menuju ke 'TKP'.

A.Pengertian Pemrograman Berorientasi Objek

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. 

B.Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.

Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).

C.Perbedaan Pemograman Berorientasi Objek dengan Pemograman Terstruktur 
Dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat  seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah

berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).

Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.

2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.

3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut. Jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas. permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.
 
D.Kelebihan dan Kekurangan Pemograman Berorientasi Objek dengan Pemograman Terstruktur

Berikut adalah Kelebihan dan Kekurangan Kedua Metode Tersebut
METODE TERSTRUKTUR
*Kelebihan
·  Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
·  SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
·  Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
·  SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
·  SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
·  SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
·  SSAD relatif simpel dan mudah dimengerti.

*Kekurangan
·  SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
·  Sedikit sekali manajemen langsung terkait dengan SSAD
·  Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
·  Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
·  Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
·  Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
·  SSAD tidak selalu memenuhi kebutuhan pengguna.
·  SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002). 

METODE BERORIENTASI OBYEK
*Kelebihan

·  Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
·  Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
·  Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
·  Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
·  Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
·  Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
·  Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
·  OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
·  Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
*Kekurangan
·  Pada awal desain OOAD, sistem mungkin akan sangat simple.
·  Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
·  Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
·  Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
·  Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis    terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
·  OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
·  Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
Referensi: http://gutti211.blogspot.com/2011/10/perbedaan-pemograman-berorientasi-objek.html

My Partner: Edith Pradipta


Senin, 26 Maret 2012

Manfaat Singkong

Hay Bloggers, saya mau bagi-bagi info tentang manfaat yang dikandung di dalam singkong nih. Singkong! Ya, makanan tradisional ini memang tidak jarang dijumpai. Siapa sih yang tidak tahu jenis umbi-umbian yang satu ini? Tanaman "rakyat" ini bisa dibilang menjadi makanan yang digemari oleh masyarakat di Indonesia. Bahkan daunnya bisa dijadikan sayuran yang lezat loh. hmmmm!!! Sebagai salah satu bahan makanan, umbi singkong ternyata hampir bisa dijumpai di pelosok negeri ini. Di beberapa daerah, singkong digunakan sebagai bahan maanan pengganti nasi. Nama singkong di setiap daerah juga beda-beda loh misalnya di Aceh, singkong = ubi kaye, berbeda di Pulau Jawa, kalau di Sunda namanya adalah Kasapean, kalau di Jawa tengah namanya Tela Pohong, beda lagi nih sama di Madura. Kalau di kota yang terkenenal dengan satenya ini, singkong memiliki nama yang unik, yaitu Tela Balada. Beda lagi kalau di Makasar, Singkong = Lame Kayu, dan di Papua namanya adalah Pangala. Dan masih banyak lagi. gak habis kalo di bacain dari 33 Provinsi.

Sebenarnya dari mana sih singkong itu berasalh. Nah, bagi yang belum tahu, simak asal-usul singkong berikut ini.
Singkong adalah pohon tahunan tropika dan subtropika dari keluarga Euphorbiaceae. Banyak yang mengakui, kalo singkong ini memiliki sumber energi yaitu karbohidrat yang tinggi, dan daunnya juga bisa dijadikan sayuran. Jenis singkong yang pertama kali dikenal di Amerika Selatan adalah jenis Manihot Esculenta setelah itu, jenis ini dikembangkan pada masa pra-sejarah di Brazil dan Paraguay. Walaupun spesies Manihot liar dan banyak, semua varitas ini masih bisa loh untuk dibudidayakan. Singkong ditanam secara komersial di wilayah Indonesia sendiri sekitar tahun 1810 pada saat Hindia Belanda.Produksi singkong meningkat pesat bisa sampai 184 juta ton pada tahun 2002. Sebagian besar produksinya dihasilkan di Afrika 99.1 juta ton dan 33.2 juta ton di Amerika Latin dan Kepulauan Karibia. 

Kandungan Karbohidrat Singkong
Jangan pernah menyepelekan kandungan yang bada di dalam tanaman "rakyat" ini. Setelah kalian membaca informasi ini, kalian pati akan heran dan gak akan menyepelekan apa yang terkandung di dalam singkong lagi. Seperti yang kalian ketahui, singkong itu merupakan makanan pengganti nasi yang memiliki karbohidrat yang besar loh. Manfaat karbohidrat itu sendiri bagi tubuh manusia yaitu sebagai sumber energi. Karbohidrat berperan sebagai bahan bakar utama dalam proses metabolisme tubuh. Energi tadi, akhirnya dipakai oleh manusia sebagai konsumen untuk melakukan segala bentuk aktifitas. Ternyata 1 gram karbohidrat saja, meiliki kandungan sebesar 4 kalori. Bukan cuma itu aja, karbohidrat juga punya peran penting buat ngejaga cadangan makanan kita. Cadangan itu bisa dimanfaatkan oleh manusia untuk sumber makanannya. Contoh, Singkong nyimpen cadangan makanan dalam bentuk umbi-umbian. Nah, cadangan singkong tersebut bisa digunakan oleh manusia sebagai kebutuhan energi.

Kuliner dari Singkong
SIngkong memang termasuk ke dalam salah satu jenis tumbuhan yang tidak "manja" alias bisa tumbuh dimana-mana. Singkong yang berasal dari Amerika Tropis ini, bisa ditanam di pekarangan, sawah, ataupun tanggul. Oleh karena itu, hampir di setiap wilayah di Indonesia ditumbuhi sama tumbuhan yang satu ini. Karena mudah mengembangkan singkong, di tangan seorang yang kreatif, singkong bisa "disulap" menjadi makanan kuliner yang lezat. Kalau bloggers biasanya makan singkong goreng atau singkong rebus, sekarang saya akan ngasih tau beberapa alternatif kuliner dari singkong.Check this out!
1. Keripik Singkong
Siapa sih yang engga kenal sama kuliner yang satu ini. Keripik singkong cemilan yang paling diminati di dalam maupun di luar negeri. Aneka macam keripik singkong dengan berbagai varian rasa dan ciri khas. Salah satunya yaitu keripik yang fenomenal yaitu Maicih. Ya, keripik yang memiliki rasa pedas berdasarkan level ini sudah tak asing lagi bagi para penikmat keripik pedas ini. Keripik ini memiliki 3 level, yaitu level 3. Level 3 dapat dinikmati bagi para bloggers yang tidak terlalu menyukai pedas, namun ingin menyicipi kenikmatan keripik ala Maicih. 

Yang kedua yaitu level 5, level 5 agak sedikit pedas. Bagi para bloggers yang menyukai pedas namun dengan rasa pedas yang bisa berkompromi dengan perut bloggers sekalian, bisa menyicipi produk anak bangsa yang satu ini. Voila, ini dia!!! Maicih level 5

Dan jengjengjeng *efeksinetron* ini dia Maicih Level 10. Bisa dibilang ini rajanya Keripik pedasnya Maicih. Dengan rasa pedas yang minta ampun, tapi bikin ketagihan, dan harus minum air bergalon-galon *lebay hahaa. Efek pedasnya berasa setelah keesokan harinya. Mulai dari bolak-balik kamar mandi, perut melilit, perut terasa panas. Tapi itu semua hanya sementara kok, tenang aja ^.^ Ini dia jagoannya!!!

2. Kuliner singkong nerikutnya yaitu Klepon
Cemilan ini termasuk ke dalam jajanan pasar yang terbuat dari tepung beras ketn dan gak lupa ditambahkan dengan singkong. Makanan dengan khas berbentuk bulat berwarna hijau dengan taburan kelapa di semua sisinya ini memang palik nikmat. Saat menggigit terdapat gula merah didalamnya yang memberi kesan Mamamia Lezatos

3. Makanan selanjutnya adalah getuk. Getuk yang dalam bahasa jawanya adalah makanan ringan yang dibuat dengan ketela dan singkong sebagai bahan utamanya. Getuk ini, gampang dijumpai di daerah Jawa Tengah dan Jawa Timur. Tetapi sekarang di Jakarta pun getuk bukan menjadi barnag lagi 

Sekian penjelasan singkat dari saya tentang pentingnya mengenal kandungan singkong, asal usul singkong, sampai jajanan pasar yang dibuat dari singkong. semoga bermanfaat.

Sumber: Majalah Icihers Vol.3

 
Copyright © 2010 Muhajir Ibnu Sabil. All rights reserved.