Pages

Wednesday, December 19, 2012

Perbedaan HTML5 dan HTML4


Berikut adalah perbedaan antara HTML5 dengan HTML4:

1. Mark Up
Beberapa Tag Usang pada HTML4 telah ditiadakan seperti <font> dan <centre>. Fungsi tersebut diharapkan dapat dibuat dengan menggunakan CSS(Cascade Style Sheet).

2. Error Handling/Penanganan Kesalahan
Pada HTML4 kita bisa menggunakan kode cacat menggunakan "sup tag", dengan perintah ini kode cacatpun masih bisa dijalankan. Namun jika suatu vendor browser ingin memasuki pasar, maka mereka harus menguji code cacat tersebut jika tidak mungkin hasil pada browser akan berbeda dengan browser lain.

3. Multimedia Feature
Pada HTML4 jika kita ingin memasukan video maka harus membutuhkan aplikasi pihak ketiga seperti Adobe Flash Player. Namun pada HTML5 tidak perlu itu lagi karena kita hanya perlu menggunakan <audio> dan <video> itu lebih sederhana bukan, karena pada HTML5 ini menggunakan unsur semantik.

4. API
Dalam HTML5 memperkenalkan sejumlah API yang membantu dalam menciptakan Aplikasi Web. sebuah API memungkinkan aplikasi web secara offline dan juga untuk mendafarkan diri untuk protokol tertentu atau jenis media serta API yang mengekspos sejarah dan memungkinkan halaman untuk menambah untuk mencegah melanggar tombol kembali.

5. Browser Support
HTML5 belum menjadi standar resmi dan belum ada browser yang memiliki dukungan HTML5 penuh. Tapi semua browser seperti(Safari, Chrome, Firefox, Opera, Internet Explorer) terus menambahkan fitur HTML5 baru untuk versi terbaru mereka.

Cara lain untuk membedakan HTML5 dengan HTML4 pada sebuah website adalah dengan melihat source code dari website tersebut

1. Tulis website yang diinginkan
2. Tekan CTRL+U, perintah ini akan menampilkan source code website tersebut
3. CTRL+F (cari) HTML5
4. ATAU Lihat DOCTYPE yang digunakan. Jika muncul "XHTML 1.0" maka website tersebut HTML4

Berikut contohnya:





HTML5


HTML4


Fitur-fitur HTML5

"HTML5 adalah revisi kelima dari HTML (yang pertama kali diciptakan pada tahun 1990 dan versi keempatnya, HTML4, pada tahun 1997) dan hingga bulan Juni 2011 masih dalam pengembangan. Tujuan utama pengembangan HTML5 adalah untuk memperbaiki teknologi HTML agar mendukung teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh mesin."
- http://id.wikipedia.org/wiki/HTML5

HTML5 adalah hasil proyek dari W3C (World Wide Web Consortium) dan WHATWG (Web Hypertext Application Technology Working Group). WHATWG mengerjakan bentuk situs dan aplikasi, dan W3C adalah pengembang dari XHTML 2.0 pada tahun 2006. Kedua grup ini kemudian bekerja sama untuk membuat HTML5. 

HTML5 dibuat untuk hal-hal berikut: 

  • ·         Fitur baru harus didasarkan pada HTML, CSS, DOM , dan JavaScript. 
  • ·         Mengurangi kebutuhan untuk plugin eksternal (seperti Flash).
  • ·         Penanganan kesalahan yang lebih baik.
  • ·         Lebih banyak markup untuk menggantikan scripting.
  • ·         HTML5 merupakan perangkat mandiri.


Fitur baru dalam HTML5:
  • ·         Unsur kanvas untuk menggambar.
  • ·         Video dan elemen audio untuk media pemutaran.
  • ·         Dukungan yang lebih baik untuk penyimpanan secara offline.
  • ·         Elemen  konten yang  lebih  spesifik, seperti  artikel, footer, header,
  • ·         navigation, section.
  • ·         Bentuk kontrol form seperti kalender, tanggal, waktu, e-mail, URL, search.


Beberapa kelebihan yang dijanjikan pada HTML5:
  • ·         Dapat ditulis dalam sintaks HTML (dengan tipe media text/HTML) danXML.
  • ·         Integrasi yang lebih baik dengan aplikasi situs dan pemrosesannya.
  • ·         Integrasi ('inline') dengan doctype yang lebih sederhana.
  • ·         Penulisan kode yang lebih efisien.
  • ·         Konten yang ada di situs lebih mudah terindeks oleh search engine. 


Meskipun HTML5 masih dalam perkembangan, browser-browser seperti Google Chrome, Safari, Mozilla Firefox, dan Opera sudah mendukung HTML5. 

Youtube juga sudah memberikan opsi kepada penggunanya untuk streaming video mereka menggunakan HTML5. Jadi kita tidak perlu menggunakan plug-in Adobe Flash. Menurut pengalaman saya, video lebih cepat streaming menggunakan HTML5, sangat cocok untuk koneksi internet Indonesia yang masih di bawah rata-rata standar internasional.

Monday, November 19, 2012

Pengaruh Budaya terhadap Grafik


Berikutnya akan dibahas pengaruh budaya terhadap grafik. Budaya atau kebudayaan berasal dari bahasa Sansekerta yaitu buddhayah, yang merupakan bentuk jamak dari buddhi (budi atau akal) diartikan sebagai hal-hal yang berkaitan dengan budi dan akal manusia. Koentjaraningrat: 1979 mengartikan budaya dengan: 

Keseluruhan sistem gagasan, tindakan dan hasil karya manusia dalam rangka kehidupan masyarakat yang dijadikan milik diri manusia dengan belajar.

 Pertanyaan yang diajukan adalah: Apakah budaya berpengaruh terhadap grafik?

Jawabannya adalah: ya.

Budaya mempengaruhi gagasan, kreatifitas, peraturan, norma-norma, aktifitas, kelakuan, bahkan fisik seorang individu. Bila dibandingkan, kita tidak akan menemukan persamaan dari ukiran candi di Borobudur dan lukisan dinding piramida di Mesir.

Budaya bersifat abstrak, namun masih bisa disampaikan dalam bentuk visual sehingga budaya tersebut tidak menghilang seiring berkembangnya peradaban manusia.

Perkembangan Simulasi dalam bidang Entertainment

Sebelum kita membahas tentang perkembangan simulasi, ada baiknya kita ulang arti simulasi dari post saya sebelumnya:
Simulasi adalah suatu prosedur kuantitatif, yang menggambarkan sebuah sistem, dengan mengembangkan sebuah model dari sistem tersebut dan melakukan sederetan ujicoba untuk memperkirakan perilaku sistem pada kurun waktu tertentu.
Simulasi dapat digunakan dalam berbagai bidang, seperti teknologi, keamanan, edukasi, dan percobaan. Simulasi seperti simulasi penerbangan dan simulasi penyelaman laut digunakan agar orang yang melakukan simulasi dapat "merasakan".

Simulasi lebih sering digunakan untuk melatih tentara. Biasa dilakukan ketika percobaan di dunia nyata terlalu mahal atau terlalu bahaya untuk dilakukan, karena mereka menggunakan perlengkapan yang berbahaya. Simulasi memberikan solusi yang aman untuk memberikan pengalaman yang nyata.

Dalam tulisan berikutnya saya akan memberikan pengertian dan contoh dari Perkembangan Simulasi dalam bidang Entertainment.

Semua simulasi di bidang entertainment berasal dari simulasi militer. Wahana-wahana di tempat rekreasi dan video game, grafis 3D di film-film semua berakar dari simulasi yang tadinya ditujukan untuk kebutuhan militer.

FILM


Animasi yang dibuat oleh komputer merupakan salah satu penerapan bidang komputer grafis 3D untuk special effects. Teknologi ini digunakan karena kualitasnya tinggi, terkontrol, dan membuat kita bisa menggunakan efek-efek yang tidak bisa diciptakan di dunia nyata. Dibandingkan merekam ledakan asli, akan lebih murah, aman, dan efisien jika kita membuat animasi ledakan. Dengan kekuatan komputer sekarang, orang awam tidak akan bisa membedakannya. Berbagai film anak-anak dan film action sekarang mulai menggunakan efek komputer untuk meminimasi pengeluaran film.



WAHANA
Wahana-wahana permainan dari DuFan, Taman Mini, dan berbagai tempat rekreasi lainnya berasal dari simulasi militer, tapi ada perbedaan yang sangat signifikan. Simulator militer mengambil reaksi dari orang yang melakukan simulasi secara real-time, sementara wahana-wahana hanya bergerak sesuai gerakan yang sudah diatur. Roller Coaster dan permainan Laser di DuFan contohnya.

GAME SIMULASI
Game Simulasi merupakan representasi dan simulasi dari lingkungan dan keadaan yang sebenarnya. Game memberikan hasil interaksi antara pemain dan lingkungannya secara realistis. Meskipun game-game dengan genre ini memiliki tingkat kesulitan yang lebih dibandingkan game casual lainnya, akhir-akhir ini mulai dikeluarkan game-game simulasi dengan tingkat kesulitan rendah, agar semua orang bisa memainkannya. Contoh terkenal game simulasi adalah The Sims, dimana kita me-manage orang virtual dan bagaimana mereka menjalankan kehidupan sehari-harinya.
Kemudian Simcity, dimana kita menjadi gubernur suatu kota dan kita meninjau perkembangan kota tersebut dari nol. Simulasi penerbangan dan simulasi balapan juga diubah ke dalam bentuk game.

Referensi:
http://en.wikipedia.org/wiki/Simulation

Visual Teknologi menggunakan Media Online

Pertama, kita harus paham dulu arti Visual Teknologi. Visual Teknologi terdiri dari dua kata, yaitu Visual dan Teknologi.

Arti Visual sendiri adalah:
mem·vi·su·al·kan v menjadikan suatu konsep dapat dilihat dng indra penglihatan
 dapat dilihat dng indra penglihat (mata); berdasarkan penglihatan
 dan arti Teknologi
1 metode ilmiah untuk mencapai tujuan praktis; ilmu pengetahuan terapan; 2keseluruhan sarana untuk menyediakan barang-barang yg diperlukan bagi kelangsungan dan kenyamanan hidup manusia; 
Jadi bisa disimpulkan bahwa arti Visual Teknologi adalah suatu bentuk ilmu pengetahuan yang dapat diterapkan dan direpresentasikan secara kasat mata.


Visual Teknologi dengan Media Online merupakan suatu bentuk nyata seberapa jauh kita telah melangkah dalam hal penyebaran informasi. Dulu, Visual Teknologi hanya terbatas pada koran, buku, dan brosur. Kemudian merambat ke film bioskop dan televisi. Semua media tersebut mempertimbangkan biaya pencetakan, biaya promosi, biaya tak terduga, dan biaya maintenance.
Sekarang melalui internet, kita bisa mendapatkan hampir segala macam informasi. Berbagai video, berita, streaming TV dan film, semuanya tersedia asalkan kita terkoneksi dengan internet. Selain itu, penyampaian Visual Teknologi dengan Media Online sangatlah efisien, berbiaya rendah, dan memiliki resiko kecil.
Jadi jangan heran jika sebagian besar informasi yang kita dapatkan akhir-akhir ini berasal dari balik layar smartphone atau layar laptop.


REFERENSI
http://en.wikipedia.org/wiki/Visual_technology
http://www.artikata.com/arti-353710-teknologi.html
http://www.artikata.com/arti-199259-visual.html

Friday, October 19, 2012

Pentingnya simulasi dalam pembuatan aplikasi

Berikutnya saya akan membahas tentang pentingnya simulasi dalam pembuatan aplikasi atau software.

Jawabannya adalah: tergantung aplikasi yang dibuat.

Jika aplikasi yang dibuat adalah sistem lepas landas sebuah pesawat, maka simulasi sistem perlu dibuat. Karena ini menyangkut keselamatan dan nyawa banyak orang. Untuk memberi gambaran dan perkiraan ketika pesawat tersebut lepas landas.
Contoh lain adalah anti-virus. Dalam kasus ini kadang perlu di buat dahulu virusnya, untuk melihat bagaimana cara virus ini melakukan pengrusakan terhadap komputer. Kemudian barulah bisa dirancang sebuah anti-virus untuk melawan virus tersebut.

Sebaliknya, jika aplikasi yang dibuat tidak bersifat komersil/dipakai sendiri, maka saya rasa tidak perlu dibuat simulasinya.

Intinya, perlunya sebuah simulasi atau tidak dalam pembuatan aplikasi, sangat tergantung pada jenis aplikasi itu sendiri.

Tragedi PLTN Chernobyl

Post ini merupakan lanjutan dari post sebelumnya, yang menjelaskan tentang simulasi.

Kenapa saya memilih Chernobyl? Karena saya pernah tinggal di Kiev, Ukraina selama 2 tahun. Hampir semua negara di Eropa memberikan air bersih langsung dari kerannya, kecuali negara-negara di daerah Chernobyl. Hampir 30 tahun sudah lewat semenjak kecelakaan di PLTN Chernobyl, tapi radiasinya masih tersisa dan membahayakan masa kini.

Tanggal 26 April 1986, terjadi ledakan pada Unit 4 PLTN Chernobyl.

http://www.stsci.edu/~inr/observ/dpics/chernobyl.jpg

Reaktor Chernobyl berjenis RBMK

RBMK berasal dari bahasa Rusia "Reaktory Bolshoi MoshchnostiKanalynye" (hi-power pressure-tube reactors: Reaktor pipa tekan berdaya tinggi). Dalam bahasa Inggris dikenal dengan Light Water-cooled Graphite-moderated Reactor (LWGR). RBMK adalah PLTN yang menggunakan air sebagai pendingin, grafit sebagai moderator dan sebagai bahan bakarnya digunakan uranium dioksida dengan pengayaan rendah

Reaktor ini didirikan di atas tanah rawa yang terletak di bagian Utara Ukraina, 100km dari ibukota Kiev.
Reaktor unit 1 mulai beroperasi pada 1977, unit 2 pada 1978, unit 3 pada 1981, dan unit 4 pada 1983. Sebuah kota kecil, Pripyat, dibangun dekat PLTN Chernobyl untuk tempat tinggal pekerja pembangkit itu dan keluarganya.
PLTN Chernobyl ini menghasilkan elemen "plutonium" untuk menghasilkan senjata nulir serta listrik. Oleh karena itu, PLTN Chernobyl ini merupakan salah satu PLTN pertama.
 http://news.nationalgeographic.com/news/2006/04/images/060425_chernobyl_big.jpg

Tragedi Chernobyl dapat dijelaskan sebagai berikut. Pada 25 April 1986, reaktor unit 4 menjalani perawatan rutin, dan harus dipadamkan. Saat pemadaman berlangsung, para teknisi melakukan tes, apabila reaktor tersebut kehilangan daya turbin, apakah masih tetap bisa menghasilkan energi yang cukup untuk membuat sistem pendingin tetap bekerja sampai generator kembali beroperasi.
Salahnya, proses pemadaman dan tes dilakukan secara bersamaan. Kedua proses ini dimulai pukul 01.00 pada 25 April. Teknisi menginginkan hasil yang akurat, sehingga mereka mematikan beberapa sistem keselamatan. Ini merupakan kesalahan yang sangat fatal mengingat mereka sedang "bermain" dengan plutonium. Di pertengahan tes, kota Kiev tetap meminta daya, dan proses pemadaman pun ditunda selama 9 jam. Pukul 01.00, 26 April, daya reaktor menurun tajam, membuat reaktor masuk ke situasi yang membahayakan. Teknisi mencoba mengompensasi rendahnya daya, tapi karena sistem keamanan yang dimatikan, reaktor sudah tidak terkendali. Akhirnya reaktor meledak pada pukul 01.30.

Kecelakaan ini disebabkan oleh 3 hal:

  1. Desain Reaktor: Reaktor ini tidak stabil pada daya rendah, artinya daya reaktor bisa naik cepat tanpa dapat dikendalikan. Reaktor ini juga tidak ada tempat untuk menahan radiasi. Artinya, setiap ada kebocoran, radiasi langsung akan ke udara.
  2. Pelanggaran Prosedur: Saat pekerjaan tes dilakukan, hanya 8 dari 30 batang kendali yang dipakai. 30 merupakan angka minimal agar reaktor tetap terkontrol. Sistem pendingin darurat reaktor juga dimatikan, dan tes ini dilakukan tanpa sepengetahuan petugas yang bertanggung jawab terhadap operasi reaktor.
  3. Budaya Keselamatan: Pengusaha instalasi tidak memiliki budaya keselamatan. Kelemahan desain yang sudah diketahui pun tidak diperbaiki, sebelum kecelakaan terjadi. 

Kecelakaan PLTN ini menimbulkan banyak reaksi negatif terhadap PLTN pada umumnya. Padahal, PLTN merupakan cara paling murah dan aman (jika sesuai prosedur) untuk menghasilkan listrik. Kelalaian manusia dan kurangnya simulasi menjadi penyebab semua ini.
Meskipun begitu, kecelakaan ini menyebabkan IAEA menetapkan standar tambahan untuk memperkuat syarat keselamatan yang tinggi bagi pembangunan dan pengoperasian PLTN, antara lain, perbaikan desain sampai pada generasi ke-4, aturan main dalam bentuk basic safety, dan berbagai konvensi keselamatan. 

sumber:
http://terselubung.blogspot.com/2009/07/tragedi-nuklir-chernobyl.html
https://docs.google.com/viewer?a=v&q=cache:YTjS4r1rh9sJ:ansn.bapeten.go.id/download.php%3Ffid%3D456%26filename%3D39.nanang_triagung.pdf%26down%3D1+&hl=en&gl=id&pid=bl&srcid=ADGEESgkpyjIzn1L9KuFOJkOa2x_I-QHtn3M5I7C7Pz5sbGeMGlHD-d7Rdoe2QXLVoWU-6GAbQQSKFWsajkbWw0efxFOfsyRnLPaZY_qTMHmWOxRxW4MnWvm8lJemNti8PPo1kVDhVH1&sig=AHIEtbSSTMuizmgB1A2cw4eMm6yetDzvHw

Pemanfaatan Simulasi dan Grafik di Bidang Industri

Saya jarang sekali meng-update blog ini, sangat jarang.

Tapi saya harus memberikan penjelasan tentang "Pemanfaatan Simulasi dan Grafik di Bidang Industri", jadi apa boleh buat :)


Apa itu Simulasi?

Simulasi adalah suatu prosedur kuantitatif, yang menggambarkan sebuah sistem, dengan mengembangkan sebuah model dari sistem tersebut dan melakukan sederetan ujicoba untuk memperkirakan perilaku sistem pada kurun waktu tertentu.

Mudahnya, simulasi merupakan proses virtual yang menggambarkan bagaimana suatu sistem akan berjalan.
Mengapa kita memerlukan sebuah simulasi? Umumnya sebuah sistem diciptakan untuk melayani banyak orang. Jadi, untuk memberikan sistem yang optimal, diperlukan sebuah simulasi.

Simulasi dapat:

  • Mengurangi rasio kegagalan untuk memenuhi standar atau target
  • Menghilangkan kejadian tidak terduga
  • Mengatur sumber daya 
  • Mengoptimalisasikan performa sistem

Simulasi tidak hanya terbatas untuk sistem saja. Sebetulnya, video game juga merupakan salah satu bentuk simulasi! Kita menempatkan diri kita di posisi sebuah pahlawan, pembalap, pemain bola, atau bahkan prajurit. Kumpulan pemrograman dan rancangan algoritma yang telah diracik sedemikian rupa oleh para video game developer membuat kita, para user, dapat "merasakan" dunia tersebut.


Nah, meskipun simulasi memiliki banyak keuntungannya, simulasi tidak lepas dari kekurangan berikut: 
  • Modal simulasi sangat mahal dalam pembangunannya.
  • Simulasi biasanya memproduksi volume yang besar dari keluaran serta memerlukan analisis statistik yang rumit.
  • Simulasi Stokastik (salah satu jenis simulasi) hanya mampu memberikan perkiraan semata.

Simulasi memang sangat mahal untuk dibuat dan di maintain. Tapi sebuah perusahaan akan lebih rela mengeluarkan uang demi sebuah simulasi, daripada mengeluarkan uang yang disebabkan oleh kerugian karena tidak menggunakan simulasi. Lebih baik ada perkiraan ke depannya daripada tidak sama sekali.

Sumber:


http://kadek210290.blogspot.com/2009/09/manfaat-simulasi-dan-aplikasinya.html
http://tony-ibrahim.blogspot.com/2010/12/definisi-atau-pengertian-dan-manfaat.html


Friday, April 20, 2012

Inheritance dan Polimorfisme


Bhisma Roby Ilham
51410400
2IA13




Ayi Habibah
51410240
2IA13
bipsayangnyo.blogspot.com




Tugas PBO



1. Inheritance
Inheritance adalah(pewarisan) adalah proses pewarisan data dan method dari suatu kelas ke kelas lainnya. Pewarisan ini bersifat menyeluruh.Semua data dan method milik kelas asalnya diturunkan ke kelas lainnya atau kelas yang baru.
(a).Kelas yang mewariskan dinamakan:(super clas atau kelas induk)
(b).Kelas yang diwariskan dinamakan:(sub class atau kelas anak)


Contoh program inheritance pada java :



import java.io.*;
public class bola {
void kelasbola () {
System.out.println("ciri umum dari pemain bola adalah mengerti permainan");
}}
class penyerang extends bola {
String x = "Penyerang";
void Tampilkanpenyerang () {
System.out.println("dan Posisi yang Anda pilih adalah "+ x );
System.out.println("Posisi ini adalah penyerang, tugasnya memasukkan bola ke gawang");
System.out.println("Pelari cepat, ahli menendang bola, dan pandai mencari kesempatan");
}}
class gelandangtengah extends bola {
String x = "Gelandang Tengah";
void Tampilkangelandangtengah () {
System.out.println("dan Posisi yang Anda pilih adalah "+ x );
System.out.println("Posisi ini mengatur seluruh permainan");
System.out.println("Gelandang tengah wajib bisa mengatur permainan, dari menyerang hingga bertahan");
}}
class back extends bola {
String x = "back";
void Tampilkanback () {
System.out.println("dan Posisi yang Anda pilih adalah "+ x );
System.out.println("Posisi ini bertugas untuk menahan serangan lawan");
System.out.println("Lebih pandai membaca aliran permainan, sehingga bisa menahan lawan");
}}
class Turunan {
public static void main(String[] args) throws IOException{
String sInput = null ;
System.out.println("----Posisi----");
System.out.println("[1]. Penyerang ");
System.out.println("[2]. Gelandang Tengah ");
System.out.println("[3]. Back ");
System.out.print("Masukkan pilihan [1..3] :");
bola generalx = new bola();
penyerang turunan1 = new penyerang();
gelandangtengah turunan2 = new gelandangtengah();
back turunan3 = new back ();
back subxc = new back();
InputStreamReader inputan = new InputStreamReader(System.in);
BufferedReader jm = new BufferedReader(inputan);
sInput = jm.readLine();
int i = Integer.parseInt(sInput);
switch (i) {
case 1 :
generalx.kelasbola ();
turunan1.Tampilkanpenyerang ();break;
case 2 :
generalx.kelasbola ();
turunan2.Tampilkangelandangtengah ();break;
case 3 :
generalx.kelasbola ();
turunan3.Tampilkanback ();break;
default:
System.out.println("Pilihan yang Anda masukkan salah!!");break;
}
}
}


Output:



2. Polimorfisme


Polimorfisme adalah Suatu kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi object. Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah method general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing. Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic bindung). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtual (maya).

            Polimorfisme adalah kemampuan untuk memperoleh bentuk. Dua objek atau lebih dikatakan polimorfis, bila objek-objek itu mempunyai antar muka-antarmuka identik namun mempunyai perilaku-perilaku berbeda. Bentuk ini memungkinkan kita menganggap sekelompok objek dengan tipe-tipe berbeda seperti dimiliki oleh suatu tipe yang sama. Polimorfisme merupakan fitur yang terjadi karena interaksi setiap konsep pewarisan dan dynamic binding. Contohnya pintu dan jendela memiliki perilaku yang sama yaitu dapat dibuka dan ditutup, namun untuk menutup jendela dilakukan misalnya dari atas ke bawah (vetikal), sedangkan pintu dari depan ke belakang (horizontal).


Contoh program java polimorfisme : 

Orang.java

public class Orang {
    public String nama;
    public String alamat;
    //Constructor...
    public Orang(){
        }
    public Orang(String nama) {
        this.nama = nama;
    }
    public Orang(String nama,String alamat){
        this.nama=nama;
        this.alamat=alamat;
    }
    //accessor method mengembalikan nilai
    public String getName(){
        return nama;
        }
    //mutator methode untuk mengubah nilai dari instance.
   public void setName(String nama){
           this.nama = nama;
       }
}


Mahasiswa.java



public class Mahasiswa extends Orang{
    String jeniskelamin;
    public Mahasiswa() {
        //super digunakan untuk memanggil constructor terdekat pada kelas Orang.
        super("Bhisma");
    }
    //overidde methode dari kelas Orang..
    public String getName(){
        return nama;
        }
    public void setName(String nama){
        this.nama = nama;
        }


Karyawan.java


public class Karyawan extends Orang{
    public Karyawan() {
        super("Ayi");
    }
    //ovveride dari kelas Person
    public String getName(){
        return nama;
        }
    public void setName(String nama){
        this.nama = nama;
        }


CallOrang.java


public class CallOrang {
   public static void main(String[] args){
        //contoh polimorfisme di java
        Orang call;
        Mahasiswa m = new Mahasiswa();
        Karyawan n = new Karyawan();
        //memanggil dari kelas mahasiswa
        call = m;
        String smp = call.getName();
        System.out.println("aku dari bagian Mahasiswa.java : " + smp);
        //memanggil dari kelas pekerja
        call = n;
        String sma = call.getName();
        System.out.println("aku dari bagian Karyawan.java : " + sma);
       }


Untuk memanggil kelas-kelas Orang, Mahasiswa, dan Karyawan maka CallOrang.java harus di run, dan berikut hasilnya:







Friday, April 13, 2012

Enkapsulasi



Bhisma Roby Ilham
51410400
2IA13


Ayi Habibah
51410240
2IA13
bipsayangnyo.blogspot.com

Enkapsulasi
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 tidakBegitulah 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.
Berikut ini keuntungan dari prinsip enkapsulasi :
  • Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari program.
  • Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul tersebut.
  • Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik hanya akan berinteraksi dengan bagian program melalui variable input dan output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi kemungkinan bug.

Contoh dalam program


Enkapsulasi

public class enkapsulasi {
   private String nama;
   private int usia;
   public int getUsia(){
      return usia;
   }
   public String getNama(){
      return nama;
   }
   public void setUsia( int newUsia){
      usia = newUsia;
   }
   public void setNama(String newNama){
      nama = newNama;
   }
}


Method yang disediakan dalam syntax program diatas adalah method "set" dan "get".
Jika class lain mengaksesnya harus menggunakan method-method tersebut. 
Berikut cara mengaksesnya :



Enkapsulasi1

 public class enkapsulasi1 {
   public static void main(String[] args){      enkapsulasi enkap = new enkapsulasi();      enkap.setNama("Bhisma");      enkap.setUsia(20);      System.out.println("Nama : " + enkap.getNama());      System.out.println("Usia : "+ enkap.getUsia());    }}


Output:



Thursday, April 5, 2012

Perbedaan Pemrograman Terstruktur dan Pemrograman OOP

Pemrograman TerstrukturPemrograman terstruktur adalah suatu teknik yang mencegah masalah besar menjadi lebih kecil dan lebih mudah dipahami sehingga masalah yang besar dapat diselesaikan dengan baik. Pemrogramman terstruktur digumakan secara berurutan dan terstuktur baik dalam analisa, cara dan penulisan program. Program dapat dibagi-bagi menjadi prosedur dan fungsi.
Mempelajari bahasa pemrograman terstruktur sangat penting artinya karena konsep-konsep yang diterapkan disini akan dipakai terus dalam bahasa bahasa pemrograman generasi baru. Dalam mempelajari pemrograman terstruktur yang sangat penting dipahami adalah konsepnya.
Ciri-ciri pemrograman terstruktur1. Mengandung teknik pemecahan masalah yang tepat dan benar
2. Memiliki algoritma pemecahan masalah yanag sederhana, standar da efektif.
3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur
seleksi dan struktur perulangan.
5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik.
6. Biaya pengujian yang dibutuhkan rendah.
7. Memliki dokumentasi yang baik
8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
Prinsip pemrograman tersturuktur :- Gunakan rancangan pendekatan dari atas ke bawah (top down design).
- Bagi program ke dalam modul-modul logika yang sejenis,
- Gunakan sub-program untuk proses-proses sejenis yang sering digunakan.
- Gunakan pengkodean terstruktur: IF … THEN, DO … WHILE dan lain-lainnya.
- Gunakan nama-nama bermakna (mnemonic names)
- Buat dokumentasi yang akurat dan berarti.
Tujuan Pemrograman Terstruktur1. Meningkatkan kehandalan program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Lebih mudah dalam pemeliharaan program
5. Meningkatkan produktivitas pemrograman
Ada tiga bentuk yang digunakan dalam pemrograman terstruktur yaitu : Sequence Structure, Loop Structure dan Selection Structure.
Sequential structureStruktur Berurutan adalah struktur program yang paling sederhana. Setiap baris
program akan dikerjakan secara urut dari atas ke bawah maka hanya ada satu cara
memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian bawah.
Contoh Program Struktur berurutan menghitung luas empat persegi panjang
Program persegi panjang;
Uses crt;
Var
luas,panjang,lebar:integer;
Begin
clrscr;
write(‘Masukan Panjang:’);
Readln(panjang);
write(‘Masukan Lebar:’);
Readln(Lebar);
Luas:=Panjang * Lebar;
writeln(‘luas Persegi Panjang: ‘, Luas);
Readln;
End.
Loop StructureStruktur perulangan akan melakukan proses berulang ulang selama selama Kondisi bernilai
True atau selama kondisi perulangan terpenuhi.
Dan Kondisi akan berhenti jika hanya keadaan berubah menjadi false atau kondisi
perulangan tidak terpenuhi.
Struktur pengulangan terdiri dari :
• FOR .. DO
• While .. Do
Perulangan digunakan untuk melaksanakan blok statement selama kondisinya benar. Dalam perulangan ini kondisi diuji terlebih dahulu.
• REPEAT .. UNTIL
Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya perulangan (loop)
dikerjakan terlebih dahulu, kemudian baru kondisi diuji. Proses akan diulang sampai suatu kondisi yang diberikan bernilai benar.
Bahasa pemrograman yang mendukung pemrograman terstruktur antara lain:
- Pascal
- Cobol
- Bahasa C
Object Oriented Programming (OOP)Pada tahun 1960, ditemukan program yang terstruktur (struktur programming). Metode ini dikembangkan dari Bahasa C dan Pascal. Dengan program yang terstruktur inilah untuk pertama kalinya kita mampu menulis program yang begitu sulit dengan lebih mudah.
OOP adalah suatu metode dalam pembuatan program yang bertujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat
Contoh kasus OOP“anggap saja kita mempunyai sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misalnya manager tersebut manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat memerintahkan petugas administrasi untuk mengambilnya. Pada kasus tersebut seorang manajer tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manajer bisa mendapatkan data tersebut melalui objek petugas administrasi”
Pemrograman orientasi-objek menekankan konsep berikut: kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
 Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objekmerupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
Konsep dasar dari OOP ada 3 yaitu :- Pewarisan (Intheritance)
Merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu class yang diturunkan ke class lain.
- Pengkapsulan (Encapsulation)
Penyembunyian informasi. Dapat juga diartikan dengan pengemasan data dan methoddalam wadah bernama objek. Konsep public dan private akan senantiasa digunakan dalam pengkapsulan. Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek, dengan cara yang tidak layak. Hanya method dalam objek yang diberi izin untuk mengakses keadaannya
- Polimerfisme
Istilah ini sendiri berasal dari kata Yunani yang berarti mempunyai banyak bentuk. Polimerfisme merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk perilaku yang berbeda. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakkan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut.
Bahasa pemrograman yang mendukung OOP antara lain:1. Visual Foxpro
2. Java
3. C++
4. Visual Basic.NET
5. SIMULA
6. Smalltalk
7. Ruby
8. Python
9. PHP
10. Delphi
11. Eiffel
12. Perl
Perbedaan antara antara OOP dan 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.


Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.


Persamaan kedua pemrogaman adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.
Tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.
Pemrograman berorientasikan objek dikatakan lebih baik apabila Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat

Friday, March 23, 2012

Bilangan Faktorial

Bhisma Roby Ilham
51410400
2IA13


Ayi Habibah
51410240
2IA13
bipsayangnyo.blogspot.com


Berikut adalah program untuk mencari faktorial dari sebuah bilangan positif.

SYNTAX

import java.util.Scanner;

public class fak{
public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int f=1;
    System.out.print("masukan Bilangan Faktorial = ");
    int n=in.nextInt();
    if (n < 0){
System.out.println ("Masukkan Angka Positif");
}
else{
    System.out.println("============================== ");
    for(int i=1; i<=n; i++)
    f*=i;
    System.out.println(n+" ! = "+f);
}
}
}

OUTPUT

LOGIKA
Program ini digunakan untuk mencari faktorial dari sebuah bilangan positif.

 Scanner in = new Scanner(System.in);
    int f=1;
    System.out.print("masukan Bilangan Faktorial = ");
    int n=in.nextInt();

int n merupakan bilangan yang kita inginkan, dalam contoh OUTPUT diatas, saya memilih 6.

if (n < 0){
System.out.println ("Masukkan Angka Positif");
}
else{
    System.out.println("============================== ");
    for(int i=1; i<=n; i++)
    f*=i;
    System.out.println(n+" ! = "+f);

Bila angka yang dimasukkan kurang dari 0, maka akan keluar pesan:
Masukkan Angka Positif 

Sebaliknya, jika angka yang dimasukkan sudah sesuai ketentuan program, maka rumus

     System.out.println(n+" ! = "+f);
akan digunakan oleh program untuk mencari faktorialnya. Di contoh OUTPUT, menjadi:

6! = 720