Monday, December 10, 2012

Perbedaan HTML4 dengan HTML5

          HyperText Markup Language (HTML) adalah bahasa yang digunakan untuk merepresentasikan dokumen dalam sebuah halaman web. Nah, di postingan sebelumnya kan udah dikasih tau sedikit tuh tentang html5, kali ini saya akan memberikan sedikit informasi mengenai perbedaan html4 dan html5. Berikut perbedaannya : 
  • Pada Doctype Tags 
          -  HTML 4 Doctype berbentuk sangat panjang dan kompleks (rumit)
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"                            
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"     
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-loose.dtd">
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transtitional.dtd">
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-mobile10.dtd">>

          -  HTML 5 Doctype bentuknya akan lebih simpel dibandingkan dengan HTML 4 
              <!DOCTYPE html>

  • Pada Meta Tags 
          -  Pada HTML 4 masih terlihat panjang dan kompleks
             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          -  Pada HTML 5 lebih simpel dibandingkan dengan HTML 4
             <meta charset=utf-8 />

  • Pada HTML 5 spesifikasi web form 2.0 terintegrasi baik karena terdapat : 
          -  Date picker, collor picker, dan numeric step control 
          -  Input fields type sudah bisa di dapati di fields emael, search dan url, jadi tidak perlu lagi
             menggunakan javascript external 
          -  PUT dan DELETE metode di form sudah didukung, jadi sangat mudah membuat nya dan sekali lagi 
             simple tanpa menggunakan javascript external 


Sumber :
  1. http://www.darecode.com/node/181

Friday, November 16, 2012

Fitur-Fitur HTML5

          HTML5 itu apa sih? Berikut penjelasan singkatnya… HTML5 lahir pada tahun 2009 yang merupakan standar baru untuk HTML, XHTML dan DOM HTML. HTML5 merupakan hasil proyek dari W3C (World Wide Web Consortium) dan WHATWG (Web Hypertext Application Technology Working Group). WHATWG bekerja dengan bentuk situs dan aplikasi, sedangkan W3C merupakan pengembang dari XHTM L 2.0 pada tahun 2006, kemudian mereka memutuskan untuk bekerja sama dan membentuk versi baru dari HTML. 

          Meskipun HTML5 telah dikenal luas oleh para pengembang web sejak lama, HTML5 baru mencuat pada April 2010. Mengapa HTML5 dibuat ? Ada beberapa tendensi disekitar teknologi web saat ini. Semakin berkembangnya dunia maya yang ditandai oleh banyaknya : pengguna web, programmer web, applikasi web, hosting web ... dan lain sebagainya terlihat sebuah kebutuhan akan penggunaan web yang semakin canggih dan modern. Web tidak lagi hanya sebuah applikasi yang digunakan secara eksklusif untuk melihat konten (isi) secara pasif. Web menjadi sebuah applikasi yang interaktif, dinamis, real time ... singkat kata sebuah applikasi yang kaya.

          HTML5 memiliki beberapa fitur tambahan bila dibandingkan dengan HTML sebelumnya. Fitur-fiturnya antara lain :
  • Terdapat unsur kanvas untuk menggambar. Sebelum HTML5 diluncurkan, kita membutuhkan aplikasi lain untuk memberikan suatu 'interaksi' pada website yang kita miliki, misalnya Flash atau Java. Hal ini akan diganti oleh elemen <canvas> pada HTML5 sebagai Canvas web -- kertas yang bisa dicoreti sesuai imajinasi -- atau dalam hal lain, Canvas memungkinkan kita untuk bereksperimen lebih pada HTML5.
  • Di HTML5 akan ada tag khusus untuk audio dan video file. Tag tersebut adalah <audio> dan <video> yang berfungsi untuk menyisipkan file audio dan video tentunya. Berbeda dengan versi HTML pendahulunya yang harus menyisipkan flash untuk memutar audio/video, HTML5 akan dengan mudah menyisipkan file multimedia tersebut ke dalam webnya.
  • Dukungan yang lebih baik untuk penyimpanan secara offline.
  • Elemen kontennya yang lebih spesifik, seperti artikel, footer, header, navigation, section.
  • Bentuk kontrol form seperti kalender, tanggal, waktu, e-mail, URL, search.
  • Local Storage, berfungsi sebagai pengganti cache sebagai media penyimpanan history halaman web. Local Storage sangat disambut baik oleh para pengembang web. Memungkinkan web untuk menyimpan data cache lebih besar di storage local-nya daripada cache pada browser biasa.
  • Web Workers, seringkali kita menemukan jika halaman web yang memiliki banyak Javascript membuat browser melambat dan komputer nge-hang. Tetapi dengan adanya Web Workers memungkinkan halaman web untuk memproses Javascript yang mereka miliki dengan respon yang lebih cepat dan multitasking.
  • Semantics, ini adalah fitur yang paling menawan. Para web designer yang suka sekali memainkan elemen div, nav, dan lainnya, akan di-stop oleh fitur Semantics dalam HTML5. Semantics akan menjadi masa depan bagi para tetua tag layout dan format. Pastinya web akan menjadi lebih dinamis dan menarik akibat fitur ini.
          Saat ini HTML5 masih dalam pengembangan, namun hanya beberapa browser sudah mendukung HTML5. Beberapa browser tersebut seperti Safari, Chrome, Firefox, dan Opera. Kabarnya IE9 (Internet Explorer) akan mendukung beberapa fitur dari HTML5.

Sumber :

Thursday, November 15, 2012

Budaya --> Grafik atau Grafik --> Budaya ?

          Sebenarnya grafik yang dipengaruhi oleh budaya atau budaya yang dipengaruhi oleh grafik sih? Mau tau pendapat saya? Tapi sebelumnya kita cari tahu dulu deh makna grafik dan budaya itu sendiri… ini dia : 
  •  Budaya : adalah suatu cara hidup yang merupakan warisan dari leluhur dan memiliki ciri khas tersendiri yang diturunkan dari generasi ke generasi. Sampai sekarang budaya pun masih dilestarikan oleh masyarakat. Budaya itu sendiri memiliki berbagai macam unsur didalamnya, beberapa diantaranya yaitu agama, bahasa, karya seni,dll. 
  • Grafik : adalah suatu gambaran visual yang dituangkan ke dalam media seperti kanvas,dll. Contohnya antara lain foto, lukisan, dll. 
          Nah, dari penjelasan singkat tadi, saya menyimpulkan bahwa grafik lah yang dipengaruhi oleh budaya, karena suatu ilustrasi dari grafik pada awalnya diciptakan karena adanya unsur-unsur budaya tadi. Ciri khas yang dimiliki oleh budaya itu sendiri yang menginspirasi terciptanya sebuah grafik.

Visual Teknologi Menggunakan Media Online

          Sebelum kita tahu apa itu visual teknologi, lebih baik tahu dasarnya dulu deh… Media visual adalah alat atau sarana komunikasi atau cara penyampaian pesan yang dapat dilihat dengan indra penglihatan (mata). Jenis media visual dapat berupa teks, gambar, animasi, video yang dapat diperhitungkan sedemikian rupa penampilannya agar dapat menyajikan informasi yang sesuai dengan ciri khas masyarakat modern yang efektif dan efisien. Jadi intinya, visual teknologi itu adalah sarana komunikasi menggunakan teknologi komputer.

          Beberapa kelebihan dari visual teknologi menurut saya yaitu bisa memodifikasi dan menentukan apa saja yang akan divisualisasikan, sharing gratis dengan jangkauan seluruh dunia, bisa bertukar informasi antar sesama, mendapat pengetahuan yang lebih luas. Namun, ternyata terdapat kelemahan juga didalamnya, salah satunya seperti harus terhubung dengan internet. 

          Saya mengambil contoh media online nya yaitu blogspot/blogger. Melalui blogger, semuanya dapat divisualisasikan ke dunia maya, karena hanya dapat dilihat dan diakses dengan bantuan internet pastinya. Mulai dari foto, tulisan-tulisan, video, dll semuanya dapat terlihat disana. 

Sumber : 

Pentingnya Teknologi dan Informasi dalam Dunia Pendidikan

          Kemajuan teknologi dan informasi merupakan salah satu perkembangan dari simulasi dan teknologi di bidang pendidikan. Pada kenyataannya, perkembangan peradaban dunialah yang memberikan banyak akses terjadinya perubahan pola kehidupan masyarakat dalam berbagai bidang. Kondisi tersebut memicu perubahan dalam sistem pembelajaran atau pendidikan. Yaitu berbagai upaya untuk melepaskan dunia pendidikan dari metode pembelajaran yang cenderung memaksa peserta didik untuk mengikuti pembelajaran yang semakin hari semakin tidak menarik dan membosankan. 

          Oleh karena itu, dunia pendidikan dituntut untuk mengikuti alur perkembangan ilmu pengetahuan dan teknologi yang saat ini semakin berkembang pesat, karena pendidikan yang tetap berkutat pada kurikulum yang kaku hanya akan menjadikan peserta didik terlambat mengikuti kemajuan teknologi yang semakin tak terbendung saat ini. 

          Dengan pemanfaatan teknologi di dunia pendidikan, diharapkan mampu membuat atau menghasilkan metode pembelajaran yang lebih canggih dan lebih proaktif, sehingga semakin membantu proses belajar mengajar supaya menjadi lebih berkualitas. 

          Pesatnya kemajuan teknologi dalam kehidupan masyarakat, telah menjadikan semua persoalan dapat ditangani secara mudah dan cepat, melalui sistem yang berbasiskan teknologi. Saat ini pembelajaran yang berbasis komputer sudah menjadi salah satu teknik tercanggih, bahkan dalam urusan di dalam kehidupan manusia sekalipun. Tak terkecuali di dalam dunia pendidikan. 

          Dalam dunia pendidikan, komputer dirancang dan dimanfaatkan sebagai model pembelajaran berbasis teknologi menggunakan berbagai macam software yang berisi muatan-muatan mata pelajaran dengan berbagai macam istilah seperti: Computer Assisted Intsruction (CAI) atau “Pembelajaran dengan Bantuan (Media) Komputer”, Computer Based Education (CBE), ICT, Computer Based Training (CBT), Computer Based Instruction (CBI), Distance Learning, Distance Education, Cybernetic Learning Environment (CLE), Desktop Video Conferencing, Integrated Learning System (ILS), Learner-Cemterted Classroom (LCC), Teleconferencing, WBT (Web-Based Training), dan lain-lain. Semua istilah tersebut merupakan sistem pembelajaran yang mengandalkan pemanfaatan teknologi. Hal ini juga mengingatkan beberapa kelebihan yang dimiliki komputer, antara lain: 
1. Dapat menyimpan data dalam jumlah besar. 
2. Menghitung dengan cepat dan tepat. 
3. Melakukan pekerjaan berulang-ulang kali. 
4. Menampilkan bentuk grafik, bagan, gambar yang dipandu dengan data numerik, atau dengan proses       logika, dan sebagainya. 
5. Menampilkan kembali data, informasi yang telah direkam sesuai dengan keinginan dan kebutuhan pendidik. 

          Melihat kondisi pembelajaran saat ini, jelas terlihat bahwa teknologi kumputer dapat dirancang dan dimanfaatkan di dalam aktifitas pembelajaran. Pendekatan pembelajaran melalui teknologi komputer ini dapat berbentuk: 
1. Bentuk belajar model, yaitu peserta didik belajar melalui latihan yang diulang-ulang sehingga dapat meningkatkan kemampuan dan ketrampilan tertentu. 
2. Bentuk belajar simulasi, yaitu belajar peniruan kenyataan yang diabstraksikan dan dapat dilihat melalui layar monitor, misalnya pada permainan olah raga dan ketrampilan. 
3. Bentuk belajar permainan, dimana peserta didik dilibatkan dalam bentuk permainan, misalnya pelajaran olah raga permainan, sosio-drama, sosiologi. 
4. Bentuk pembelajaran tutorial, yaitu pembelajaran dengan sistem modul, dalam hal ini komputer akan menampilkan informasi-informasi yang perlu diketahui dan dipahami serta direspon oleh peserta didik. 
5. Bentuk pembelajaran jenis tes, yaitu peserta didik menyampaikan permasalahan yang sudah dikuasai dan belum dikuasai, sehingga ada umpan balik dalam rangka memperbaiki proses pembelajaran selanjutnya. 

         Dengan demikian, jelas terlihat bahwa teknologi komputer dalam proses pembelajaran sangat berperan penting sebagai alat bantu atau bias disebut simulasi bagi para guru dalam menyampaikan materi pembelajaran kepada peserta didik. 

Monday, October 1, 2012

APAKAH TUGAS SEORANG IT (PEMBUAT SOFTWARE) WAJIB MENGGUNAKAN SIMULASI KETIKA MEMBUAT SEBUAH PROGRAM?



Ini merupakan sebuah pertanyaan yang sedikit membingungkan. Karena simulasi itu sendiri merupakan sebuah model sistem nyata yang dirancang sedemikian rupa yang nantinya akan diterapkan ke dunia nyata.

Ketika seorang IT sedang membuat sebuah program, sebenarnya terkadang ia harus memiliki simulasi terlebih dahulu. Dan pada awalnya itu pun tidak wajib menurut saya. Dalam beberapa program yang dibuat memang tidak jarang seorang IT menggunakan simulasi, contohnya dalam penggunaan dalam program VB, disini kita dituntut untuk merancang sebuah model tampilan yang nantinya akan keluar sebagai output.

Seiring dengan semakin canggihnya dunia teknologi, semakin canggih pula berbagai macam software yang harus diciptakan. Sehingga seorang IT harus mampu mensimulasikan programnya demi menciptakan sebuah software baru yang sangat canggih. Nah, setelah tahu sedikit mengenai apa itu simulasi, sekarang kita bisa tahu dong, ternyata seorang IT  wajib menggunakan simulasi ketika ia membuat sebuah program.

Failed Simulation : Misteri Adam Air 574 (Yang Jatuh di Selat Majene) Terpecahkan


Failed Simulation atau yang biasa kita kenal dengan kegagalan simulasi ialah simulasi atau peragaan yang setelah dilakukan uji coba di dunia nyata ternyata malah membawa malapetaka. Simulasi ini pun tak kunjung dilakukan di dunia nyata lagi.

Masih ingatkah Anda dengan peristiwa jatuhnya pesawat Adam Air jurusan Surabaya – Manado di Selat Majene, Sulawesi? Mungkin ada yang tidak tahu akan peristiwa ini. Setelah kecelakaan tersebut, media menujukkan bahwa pihak Adam Air dan pemerintah Indonesia tidak dapat menemukan bangkai pesawat sehingga investigasi tidak dapat dilakukan. Berita ini pun memudar dan hilang dari publik.

Tanggal 1 Januari 2007, pesawat boeing 737 milik maskapai penerbangan Adam Air ini jatuh di Selat Majene, Sulawesi. Pesawat ini sedang menjalani rute Surabaya - Manado, tetapi kehilangan arah di tengah perjalanan kemudian hilang dari pantauan radar Air Traffic Controller Makassar. Setelah sebulan, pencarian korban pun dihentikan dan penyebab jatuhnya pesawat menjadi simpang siur. Ada yang mengatakan pesawat jatuh karena kerusakan alat, ada yang bilang karena kesalahan pilot, bahkan ada juga yang bilang pesawat diculik makhluk gaib sebagai korban sesembahan. Namun pada bulan Mei 2008, penyebab jelas kecelakaan sudah ditemukan. Ternyata penyebab utamanya adalah kerusakan komponen pesawat disertai kurangnya pengetahuan pilot pada simulasi awal.
.
Pada tanggal 27 dan 28 Agustus 2007, kedua black box di pesawat tersebut ditemukan, ada Flight Data Recorder dan Cockpit Voice Recorder yang berhasil diangkat dari dasar laut. Dengan adanya black box ini, penyebab jatuhnya pesawat bisa ditemukan. Black box diteliti oleh biro keselamatan transportasi Indonesia (KNKT) dan Amerika Serikat (NTSB). Amerika ternyata ikut campur dalam kasus ini karena pesawat yang jatuh adalah pesawat buatan Amerika.

Setelah melihat semuanya, investigasi menunjukkan bahwa komponen pesawat yang bernama IRS (Inertial Refference Systems) yang berfungsi sebagai sistem navigasi pesawat yang menghitung posisi koordinat pesawat ketika terbang dan juga member petunjuk bagi pilot dan co pilot mengalami kerusakan. IRS bekerja bersama dengan sistem auto-pilot, sehingga pesawat dapat terbang menuju koordinat yang ditentukan tanpa kendali pilot. Namun, karena IRS rusak sehingga pesawat keluar dari jalur aslinya dan kehilangan arah.

Pilot baru mengetahui bahwa pesawatnya keluar dari jalur ketika diberitahu oleh petugas Air Traffic Controller Makassar. Oleh karena itu, pilot mematikan auto-pilot dan mengendalikan pesawat secara manual. Namun, ia tidak mengetahui bahwa selama pergantian sistem auto-pilot ke manual, sistem elektronik pesawat akan mati selama 30 detik. Disaat sistem elektronik pesawat mati, semua indikator di cockpit pesawat mati. Hal ini mengejutkan pilot dan co-pilot sehingga mereka mencari tahu mengapa sistem mati.

Selama pilot dan co-pilot mencari tahu penyebab kerusakan sistem elektronik dan IRS, pesawat sudah tidak lagi dalam kondisi auto-pilot. Maka pesawat harus dikendalikan secara manual. Namun, ternyata pilot maupun co-pilot tidak memegang kendali pesawat, keduanya malah sibuk membuka buku manual pesawat dan mencari solusi kerusakan sistem. Hal ini yang menyebabkan kecelakaan tak terhindari. Ketika pilot dan co-pilot sibuk sendiri, pesawat ternyata secara perlahan miring ke kanan. Karena tidak ada crew yang memegang kendali, pesawat terus berguling ke kanan hingga pada kemiringan yang tidak aman. Akhirnya, pilot pun terlambat untuk mengembalikan pesawat ke posisi semula sehingga pesawat menukik jatuh ke laut.

Meski penyebab jatuhnya pesawat sudah diketahui, pihak penyelidik masih ingin mencari tahu mengapa komponen pesawat rusak dan mengapa pilot kurang memiliki pengetahuan terhadap pesawatnya. Setelah diusut, ternyata perangkat IRS sudah mengalami kerusakan selama 3 bulan terakhir. Perangkat tersebut tidak dibetulkan, hanya dibersihkan komponennya lalu dipasang kembali. Selain itu, pilot tidak memperoleh training yang cukup dari Adam Air. Hal inilah yang menyebabkan pilot kurang mengerti sistem pesawat yang dipakai.

Jadi, pesawat Adam Air 574 mengalami kecelakaan karena kerusakaan komponen dan kelalaian pilot. Namun, kita tidak bisa menyalahkan pilot dan co-pilot sepenuhnya. Mereka kurang mendapat training yang memadai sehingga tidak sepenuhnya mengerti sistem di pesawatnya.

PEMANFAATAN SIMULASI (MODELLING) DAN GRAFIK DI BIDANG INDUSTRI


            Simulasi adalah tindakan menggunakan sebuah model. Model tersebut dirancang sedemikian rupa untuk mendapatkan hasil yang nantinya akan diolah di dunia nyata. Simulasi dapat memperkirakan dampak dari keputusan yang diambil. Namun simulasi ini memiliki keuntungan dalam segi keuangan (hemat), waktu dan ruang. Sehingga tidak membutuhkan biaya yang cukup tinggi juga pastinya. Akan tetapi terdapat kendala dalam pembuatan simulasi ini, model yang disimulasikan tidak bisa menggambarkan kenyataan yang ada secara utuh. Masih terdapat ketidaksempurnaan yang bahkan sering memicu terjadinya kecelakaan di dunia nyata.

Simulasi mempunyai tujuan seperti :
ü  Pelatihan atau training
ü  Mempelajari perilaku sebuah system
ü  Sebagai game atau hiburan
ü  Memberitahu mengenai jalannya suatu program, pengertian sistem dan prosesnya secara keseluruhan

Beberapa sifat simulasi lainnya dibutuhkan atau sangat diinginkan untuk penggunaan efektif analisis simulasi sebagai teknik pembantu pengambilan keputusan
Ø  Sebagai pengembangan kode model
Ø  Debugging model atau proses penganalisisan
Ø  Penurunan variabel acak dari distribusi probabilitas
Ø  Pengumpulan statistik melalui dunia nyata
Ø  Desain percobaan atau rancangan percobaan
Ø  Animasi grafis dan output dinamis untuk mengilustrasikan jalannya proses simulasi

Sumber :
      http://simulasi-niezz.blogspot.com/2009/08/pengertian-dan-tujuan-simulasi.html

Wednesday, April 18, 2012

Inheritance & Polimorfisme


Mau tau penjelasan mengenai Inheritance dan Polimorfisme pada bahasa pemrograman Java? Berikut penjelasanya…

Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut atau biasa dikenal dengan pewarisan sifat. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( method-method ) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya. Dengan inheritance, pengembangan software dapat bekerja lebih efisien dan lebih cepat.

Keuntungan dari inheritance adalah :
  • Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
  • Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

Istilah dalam inheritance yang perlu diperhatikan :
  • Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
  • Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar  dari subclass/class anak.
  • Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
  • Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
  • Methode Overriding
Pendefinisian ulang method yang sama pada subclass.
·         Token
Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa Java yaitu identifier, keyword, literal dan tipe data, operator, serta separator.

Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

Contoh program :
public class Question { //pendeklarasian kelas question
   public static void main (String args[]) { ////fungsi main di Java
                                    Hobi h = new Hobi();
                                    h.answer1();
                                    Hobilain hl = new Hobilain();
                                    hl.answer2();
                                    }
                        }

            class Hobi {
                        public Hobi() { //pendeklarasian kelas Hobi menggunakan modifier publik
                                    System.out.println("Hobi kamu apaan?"); //mencetak output
                                    }
                        public void answer1() { //membuat method pertama
                                    System.out.println("Menari");
                                    }
                        }

            class Hobilain extends Hobi { // extends adalah coding untuk pewarisan                                             public void answer2() { //membuat method kedua
                                    System.out.println("Menyanyi");
                                    }
                        }

 Output :
  

 Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :
  • Method yang dipanggil harus melalui variabel dari basis class atau superclass.
  • Method yang dipanggil harus juga menjadi method dari basis class.
  • Signature method harus sama baik pada superclass maupun subclass.
  • Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Polimorfisme melalui pengiriman pesan. Tidak teragantung kepada pemanggilan subrutin. Bahasa orientasi objek dapat mengirim pesan. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu dimana pesan tersebut dikirim.

Contoh program :
public class Animal { //pendeklarasian kelas animal menggunakan akses modifier public
            public static void Binatang1() { //pendeklarasian method untuk superclass
                        System.out.println("Beruang merupakan binatang buas"); }
            public void Binatang2() { //membuat method kedua
                        System.out.println("Beruang merupakan binatang jinak");
}}
class Cat extends Animal { //extends adalah coding untuk pewarisan
            public static void Binatang1() {
                        System.out.println("Kucing adalah binatang buas"); }
            public void Binatang2() {
                        System.out.println("Kucing adalah binatang jinak"); }
            public static void main(String[] args) { //fungsi main di Java
                        Cat myCat = new Cat(); //pendeklarasian baru untuk kelas Cat
                        Animal myAnimal = myCat; //pendeklarasian objek Animal di Cat
                        Animal.Binatang1(); //memanggil method subclass dengan overriding method superclass
                        myAnimal.Binatang2();
}}

Output :



Sumber : - www.google.com

Thursday, April 12, 2012

Enkapsulasi pada Java & Contohnya

Apaan sih maksudnya enkapsulasi dalam pemrograman?
Konsep Enkapsulasi dalam pemrograman adalah pengkombinasian/pembungkusan antara data dan prosedur ataupun fungsi (method) yang memanipulasinya ke dalam sebuah object pada bagian yang terlindungi sehingga data-datanya tidak mudah diakses langsung dari luar. Manfaat dari enkapsulasi ialah kode sumber dari sebuah object dapat dikelola secara independen dari kode object yang lain. Selain itu, dengan enkapsulasi kita bisa menyembunyikan informasi-informasi yang tidak perlu diketahui oleh object lain. Enkapsulasi merupakan salah satu karakteristik utama dalam konsep OOP.
Konsep ini menentukan tingkat aksesibilitas dari masing-masing data dan method serta menyembunyikan detail implementasi dari luar yang dikenal dengan Information Hiding. Ada beberapa keuntungan menerapkan prinsip enkapsulasi, yaitu:
  1. Memiliki sifat bebas, sehingga dapat digunakan pada bagian manapun dari program tidak terkait pada bagian tertentu program.
  2. Memiliki sifat transparan, bila melakukan modifikasi maka perubahan akan dirasakan oleh bagian program yang menggunakan modul tersebut.
  3. Menghindari efek diluar perencanaan, dengan demikian akan mereduksi kemungkinan adanya hasil imbas pemrosesan yang di luar perencanaan semula.
Dua hal yang mendasar dalam enkapsulasi yakni :
Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.

              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.

Contoh program:
class Anggota{  //kelas anggota berisi atribut yang memiliki modifier sehingga kelas main memiliki akses langsung ke atribut kelas anggota
 private String nama;  //private digunakan suppaya objek tidak diakses sembarangan
             private String hobby;
 public Anggota(String n, String hobby) {  //menginisialisasi isi dari atribut dalam kelas anggota
 this.nama = n;
 this.hobby = hobby;
             }
 public String tampilkanNama() {
 return nama;
 }
 public String tampilkanHobby() {
 return hobby;
 }
 public void usia() {
 System.out.println("Usia : 20");
 }
 public void JK() {
 System.out.println("Jenis Kelamin : Perempuan");
 }}

public class main{
             public static void main(String[] args) {
             System.out.println("======Biodata Anggota=====");
             Anggota Diny = new Anggota("Diny", "Bermain Keyboard");  //bentuk inisialisasinya, memanggil nama kelas Anggota dengan nama Diny diikuti dengan menjalankan method Anggota untuk mengisi variabel nama dan hobby
 System.out.println("Nama \t : " + Diny.tampilkanNama()); 
 System.out.println("Hobby \t : " + Diny.tampilkanHobby());  //perintah mencetak diikuti variabel yang telah dideklarasikan dan memanggilnya
 Diny.usia();
 Diny.JK();
 System.out.println();

 Anggota Dyas = new Anggota("Dyas", "Menyanyi");
 System.out.println("Nama \t : " + Dyas.tampilkanNama());
 System.out.println("Hobby \t : " + Dyas.tampilkanHobby());
 Dyas.usia();
 Dyas.JK();
 System.out.println();
 System.out.println("======Maacih yaaaa=====");
 }}  //untuk memanggil dan mencetak

Kalau mau lihat outputnya, di bawah ini yaa….

 Output :

Monday, April 2, 2012

PERBEDAAN ANTARA PEMRROGRAMAN TERSRUKTUR DENGAN PEMROGRAMAN BERBASIS OBJEK (PBO/OOP)

Dalam bahasa pemrograman, kita pasti mengetahui dan mengenal yang namanya pemrograman terstruktur dan pemrograman berbasis objek atau dikenal dengan OOP. Berikut pengenalan singkatnya…

Pemrograman Terstruktur itu apa sih? Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Selain itu juga mendukung abstraksi data, pengkodean terstruktur dan juga kontrol program terstruktur. Ada tiga bentuk yang digunakan dalam pemrograman terstruktur, yaitu Sequence Structure, Loop Structure dan Selection Structure. Bahasa pemrograman yang mendukung antara lain Cobol, C, Delphi, dll.

Kalau OOP apa sih? Pemrograman berbasis objek (OOP) merupakan pemrograman yang berbasis objek, jadi semua data dan fungsi di dalamnya berbentuk kelas-kelas atau objek-objek. Konsep dasar OOP ada tiga, yaitu pewarisan (inheritance), pengkapsulan (encapsulation) dan polimerfisme. Bahasa pemrograman yang mendukung antara lain Java, C++, Pascal, Ruby, Python, PHP, dll.

Keduanya memiliki perbedaan, antara lain :
  • ü  Untuk tata penamaan, keduanya memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:


·         OOP menggunakan “method” sedangkan terstruktur menggunakan “function”.
·         Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ”modules”.
·         “message” pada OOP dan “argument” pada terstruktur.
·         “attribute” pada OOP juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
  • ü  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. Sedangkan untuk pemrograman terstruktur,  menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur.
  • ü  Biasanya Pemrograman Terstruktur digunakan untuk menyelesaikan program yang simpel/sederhana karena lebih singkat dan mudah tanpa banyak perubahan yang penting, sedangkan OOP digunakan untuk menyelesaikan program yang lebih rumit/kompleks.
  • ü  Pada OOP terdapat kelas dan objek, sedangkan pada Pemrograman Terstruktur tidak ada kelas dan objek.
  • ü  Dalam OOP terdapat pula pewarisan (inheritance) yang berbentuk objek dan kelas, sedangkan pada Pemrograman Terstruktur tidak ada.
  • ü  Pada OOP dapat dilakukan sebuah programming yang lebih baik daripada Pemrograman Terstruktur.
             Mungkin perbedaannya tidaklah banyak, namun itulah perbedaan yang ada…Kalau ditanya lebih mudah menggunakan yang mana, itu semua tergantung apa yang diinginkan oleh programmer.


Referensi :

Wednesday, March 21, 2012

Perhitungan Permutasi dan Kombinasi dengan Program Java

Berikut ini merupakan kodingan permutasi dan kombinasi pada bahasa pemrograman Java menggunakan pilihan menu. Kodingannya sebagai berikut :

import java.io.*; //menambahkan fungsi java.io yang diantaranya fungsi (InputStreamReader dan BufferedReader)
import javax.swing.*; //meng-import class JOptionPane dari package javax.swing
public class permutasi_dan_kombinasi {
    public static void main(String[] args) throws IOException{ /*untuk penanganan kesalahan*/
   
      BufferedReader input=new BufferedReader (new InputStreamReader(System.in)); /*untuk membaca inputan dari user*/

    do {
    System.out.println("PROGRAM PERMUTASI DAN KOMBINASI");
    System.out.println("===============================");
    System.out.println("1. Permutasi");
    System.out.println("2. Kombinasi");
    System.out.println("3. Keluar");
    System.out.println("===============================");
    System.out.print("Masukan pilihan [1-3] = ");
    int pi=Integer.parseInt(input.readLine());
 
    switch(pi){ /*instruksi percabangan untuk menyederhanakan instruksi percabangan supaya kondisi yang ada menjadi lebih sedikit*/
     
        case 1:
        System.out.println("Bentuk Umum Permutasi mPn");
        System.out.print("Masukan bilangan m = ");
        int m=Integer.parseInt(input.readLine());
        System.out.print("Masukan bilangan n = ");
        int n=Integer.parseInt(input.readLine());
        int o=1;
        int s=1;
        int p, q, r;
        for(p=m;p>=1;p--) {
            o*=p;
        }
        q=(m-n);
        for(r=q;r>=1;r--) {
            s*=r;
        }
        System.out.println(m+"P"+n+" = "+(o/s));
        break;
     
        case 2:
        System.out.println("Bentuk Umum Kombinasi xCy");
        System.out.print("Masukan bilangan x = ");
        int x=Integer.parseInt(input.readLine());
        System.out.print("Masukan bilangan y = ");
        int y=Integer.parseInt(input.readLine());
        int t=1;
        int u=1;
        int v=1;
        int w, z, k, j;
        for(w=x;w>=1;w--) {
            t*=w;
        }
        k=(x-y);
        for(z=k;z>=1;z--) {
            u*=z;
        }
        for(j=y;j>=1;j--) {
            v*=j;
        }
        System.out.println(x+"C"+y+" = "+(t/(u*v)));
        break;
     
        case 3:
        break;
     
        default:
        System.out.println("Tolong masukan yang benar pilihannya!!");
        break;
    }
}
/*menampilkan sebuah dialog untuk melakukan konfirmasi pemakai tentang suatu proses yang tampilannya berupa yes, no atau cancel*/
while (JOptionPane.showConfirmDialog(null,"Ulang lagi?")==JOptionPane.YES_OPTION);
    }
}

inilah outputnya :

  • tampilan menu 


  • tampilan pilihan 1, yaitu permutasi : 

  • tampilan dialog box, klik yes untuk mengulang ke menu awal : 

  • tampilan pilihan 2, yaitu kombinasi : 

  • tampilan pilihan 3, yaitu keluar atau pada kotak dialog box pilih no :