Kamis, 08 Desember 2011

CONTOH MORPHING 2D

MORPHING

Teknik Morphing adalah efek dimana suatu objek berubah secara perlahan menjadi objek lain. Ada dua tahap proses yang dijalani yaitu Warping dan Cross Dissolve. Langkah awal dari proses morphing adalah Warping yang berfungsi untuk membentangkan dan menyusutkan sebuah objek gambar yang disebut gambar abstrak. Cross dissolve adalah langkah akhir setelah proses warping yang berfungsi untuk memadukan warna gambar asal dengan warna gambar yang dituju.

Suatu animasi yang dibuat dengan menggunakan teknik fitur morphing menerima masukan dua buah gambar. Gambar pertama disebut sebagai gambar awal, gambar kedua disebut sebagai gambar akhir. Proses warping pada teknik fitur morphing menggunakan garis fitur sebagai alat bantu proses pembuatan. Garis fitur berfungsi untuk menunjukkan sebuah fitur (bagian-bagian gambar yang membentuk obyek) yang sama antara daerah di gambar awal dengan daerah di gambar akhir. Garis fitur membuat komputer mengetahui hubungan antara dua objek yang sama pada gambar awal dan gambar akhir. Sebuah garis fitur di gambar awal memiliki pasangannya di gambar tujuan. Koordinat titik ujung awal garis fitur pada gambar awal berpasangan dengan koordinat titik ujung awal garis fitur pada gambar akhir.

Morphing merupakan salah satu teknik yang banyak digunakan dalam dunia entertainment karena efek dari morphing ini sangat menarih untuk diamati. Morphing memerlukan dua gambar, yaitu gambar awal dan gambar akhir.Morphing digunakan untuk membuat gambar yang merupakan gambar perubahan setiap satuan waktu dari gambar asal ke gambar hasil.Morphing secara sederhana dapat dilakukan dengan menggunakan interpolasi linier.
Contoh Morphing 1

Morphing suatu obyek gambar adalah hasil perubahan pada setiap titiknya, sehingga proses morphing dilakukan pada titik-titik dari obyek gambar.

Contoh Morphing 2

Morphing ini sebenarnya bentuk morphing yang mudah, karena morphing yang dilakukan adalah perubahan warna pada setiap titik dan tidak melakukan transformasi posisi. Morphing ini dinamakan dengan efek Tweening dan hanya bisa digunakan untuk 2D.

Interpolasi Linier
Interpolasi linier adalah salah satu teknik untuk mendapatkan nilai antara dari dua nilai dengan memperhatikan perbandingan skala atau posisinya.Interpolasi ini menggunakan pendekatan garis lurus.


Morphing 2D

Morphing 2D adalah implementasi dari interpolasi yang dikenakan pada titik-titik 2D.
Morphing yang dilakukan pada dua obyek gambar 2D adalah interpolasi dari setiap titik yang bersesuaian (berdasarkan urutan). Morphing 2D menggunakan transformasi posisi pada sistem koordinat 2D. Jumlah titiknya sama.

GRAPH

Dalam matematika dan ilmu komputer, teori grafik adalah studi tentang grafik, struktur matematis yang digunakan untuk model hubungan berpasangan antara objek dari koleksi tertentu. Sebuah "grafik" dalam konteks ini mengacu pada koleksi simpul atau 'node' dan koleksi tepi yang menghubungkan pasangan vertex. Sebuah grafik dapat diarahkan, yang berarti bahwa tidak ada perbedaan antara dua simpul yang terkait dengan setiap sisi, atau tepi yang dapat diarahkan dari satu titik ke yang lain, lihat grafik (matematika) untuk definisi yang lebih rinci dan untuk variasi lain dalam jenis grafik yang biasanya dipertimbangkan. Grafik dipelajari dalam teori graf tidak harus bingung dengan grafik fungsi atau jenis lain dari grafik.

Dalam arti paling umum istilah, grafik adalah sepasang memerintahkan G = (V, E) terdiri dari seperangkat V simpul atau node bersama-sama dengan E set tepi atau garis, yang 2-elemen himpunan bagian dari V (yaitu, tepi berhubungan dengan dua simpul, dan hubungan ini direpresentasikan sebagai unordered pasangan dari simpul sehubungan dengan tepi tertentu). Untuk menghindari ambiguitas, ini jenis grafik dapat digambarkan tepat seperti yang diarahkan dan sederhana .

Grafik diwakili grafis dengan menggambar sebuah titik atau lingkaran untuk setiap vertex, dan menggambar busur antara dua simpul jika mereka terhubung dengan sebuah sisi. Jika grafik diarahkan, arah ditunjukkan dengan menggambar panah.

Sebuah gambar grafik tidak harus bingung dengan grafik itu sendiri (abstrak non-visual struktur) karena ada beberapa cara untuk struktur gambar grafik. Yang penting adalah simpul yang terhubung ke yang lain dengan berapa banyak tepi dan bukan tata letak yang tepat. Dalam prakteknya sering sulit untuk memutuskan apakah dua gambar mewakili grafik yang sama. Tergantung pada masalah domain beberapa layout mungkin akan lebih cocok dan lebih mudah untuk memahami daripada yang lain.

Multigraph

Sebuah lingkaran adalah tepi (diarahkan atau tidak diarahkan) yang dimulai dan berakhir pada titik yang sama, ini dapat diizinkan atau tidak diizinkan sesuai dengan aplikasi. Dalam konteks ini, sebuah tepi dengan dua ujung yang berbeda yang disebut link.

Istilah " multigraph "umumnya dipahami berarti bahwa beberapa tepi (dan kadang-kadang loop) diperbolehkan. Dimana grafik didefinisikan sehingga memungkinkan loop dan beberapa tepi, multigraph sering kali didefinisikan berarti grafik tanpa loop, Namun, di mana grafik didefinisikan sehingga loop melarang dan beberapa tepi, istilah ini sering didefinisikan berarti "grafik" yang dapat memiliki kedua sisi ganda dan loop, meskipun banyak menggunakan istilah " pseudograph "untuk makna ini.

grafik Sederhana

Sebagai lawan multigraph, sebuah grafik sederhana adalah sebuah grafik diarahkan yang tidak memiliki loop dan tidak lebih dari satu tepi antara dua simpul yang berbeda. Dalam sebuah grafik sederhana tepi grafik bentuk menetapkan (bukan multiset) dan tepi masing-masing sepasang simpul berbeda. Dalam sebuah grafik sederhana dengan n simpul simpul setiap memiliki gelar yang kurang dari n (yang sebaliknya, bagaimanapun, adalah tidak benar - terdapat non-grafik sederhana dengan simpul n di mana setiap simpul memiliki derajat lebih kecil dari n).

Rabu, 05 Oktober 2011

OpenGL (Open Graphics Library)

OpenGL (Open Graphics Library) adalah spesifikasi standar yang mendefinisikan sebuah cross-bahasa, cross-platform API untuk menulis aplikasi yang menghasilkan komputer 2D dan 3D grafis. Antarmuka terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga dimensi yang kompleks adegan-adegan dari primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992 [2] dan secara luas digunakan dalam CAD, virtual reality, visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Hal ini juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft Windows platform (lihat vs OpenGL Direct3D). OpenGL dikelola oleh sebuah teknologi nirlaba konsorsium yaitu Khronos Group.
OpenGL(Open Graphic Library) adalah sebuah library terdiri dari berbagai macam fungsi dan biasanya digunakan untuk menggambar sebuah objek 2D ata 3D. Selain OpenGL ada juga Graphic Library lainnya, yaitu directX (microsoft) memiliki fungsi yang hampir sama, namun DirectX lebih banyak digunakan oleh sebagian besar game developer karena beberapa fungsi DirectX nampaknya lebih memudahkan game developer untuk membuat game.
OpenGL biasanya digunakan dengan bahasa pemrograman C/C++, tapi bisa juga menggunakan java. OpenGL merupakan sebuah library untuk pemrograman grafik (Graphics Programming / GP). Dasar untuk mempelajari GP adalah terletak pada fungsi matematikanya, terutama operasi matriks. Pada GP yang perlu dipelajari adalah mengenai shading, shape, transform (rotate, translation, scala).
Opengl melayani dua tujuan :
Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators, memamerkan oleh programmer dengan satu, seragam API.
Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan software emulation jika diperlukan).
Cara kerja openGL
OpenGL lebih mengarah pada prosedural daripada sebuah deskriptif API grafis.Untuk mendeskripsikan scene dan bagaimana penampilannya,sebenarnya programer lebih tau untuk menentukan hal-hal yang dibutuhkan untuk menghasilkan efek yang di inginkan.Langkah tersebut termasuk memanggil banyak perintah openGL,perintah tersebut digunakan untuk menggambarkan grafis primitif seperti titik,garis dan poligon dalam tiga dimensi.Sebagai tambahan,openGL mendukung lighting,shading,texture mapping,blending,transparancy,dan banyak kemampuan efek khusus lainnya.
OpenGL mempunyai bnayak fungsi dan penggunaan perintah yang sangat luas, penggunaan openGL membutuhkan library tambahan yang harus di letakkan pada direktory system dari windows (OS),yaitu :
• OpenGL32.dll
• Glu32.dll
• Glut32.dll
Evolusi OpenGL
Pendahulu openGL adalah IRIS GL dari Silicon Grapics.Padamulanya adalah library grafis 2D,yang berefolusi menjasi API program 3D untuk workstation canggih milik perusahaan tersebut.
OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan kemampuan portable IRIS.API grafis yang baru akan menawarkan kemampuan IRIS GL tetapi dengan standar yang lebih terbuka,dengan input dari pembuatan hardware lain dan sistem operasi lain,dan akn memudahkan adaptasi ke hardware platform dan sistem operasi lain.
Untuk lebih mempopulerkan openGL SGI mengijinkan pihak lain untuk mengembangkan standart openGL,dan beberapa vendor menyambut hal tersebut dengan membentuk OpenGL Architecture Review Board (ARB) Pendiri openGL adalah SGI,Digital Equepment Corporation,IBM,Intel dan Microsoft,pada tanggal 1 juli 1992 OpenGL versi 1.0 diperkenalkan.
Letak openGL dalam aplikasi gambar di atas pada umumnya ketika aplikasi berjalan program tersebut memanggil banyak fungsi,beberapa yang dibuat oleh programer dan beberapa yang disediakan oleh sistem operasi bahasa pemrograman.Aplikasi windows membuat output pada layar biasanya dengan memanggil sebual API windows yang disebut Graphics Devise Interfase,yang memungkinkan sebagai penulisan teks pada sebuah windows,menggambar garis 2D sederhana dan lainnya.Implementasi dari openGL mengambil permintaan grafis dari aplikasi dan membangun sebuah gambar berwarna dari grafis 3D,kemudian memberikan gambar tersebut ke GDI untuk ditampilkan pada layar monitor.

Kamis, 29 September 2011

Pendahuluan Komputer Grafik

Komputer Grafik adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari Komputer Grafik adalah Komputer Grafik 2D yang kemudian berkembang menjadi Komputer Grafik 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Komputer Grafik sering dikenal juga dengan istilah visualisasi data.
Istilah ”Komputer Grafik” ditemukan tahun 1960 oleh William Fetter : pembentukan disain model ockpit (Boeing) dengan menggunakan pen plotter dan referensi model tubuh manusia 3 Dimensi.
Komponen Dasar Sistem Grafik Interaktif :
 Masukan : mouse, tablet dan stylus, peralatan force feedback, scanner, live video stream, dll
 Proses dan Penyimpanan
 Keluaran : layar, printer berbasis kertas, perekam video, non-linear editor, dll
Komputer terbentuk dari Grafik dan Teks. Grafik sebagai kunci kemampuan teknologi dalam evolusi lingkungan komputasi :
 Graphical User Interfaces (GUI)
 Komputasi Visual, contoh desktop publishing, visualisasi scientific, visualisasi informasi
Grafik ada 2 macam yaitu Vektor dan Raster.
Vector Display
 Awal komputer display : dasar dr oscilloscope
 Kendali X,Y dengan vetikal/horisontal papan voltase
 Sering digunakan intensitas sebagai Z

Perbedaan antara Vektor dan Raster yaitu kalau vector di susun oleh formula matematis sedangkan raster (bitmap) di susun oleh pixel.
Raster Display
 Raster: array segiempat berisi titik/ dot
 Pixel: satu dot atau picture elemen dari raster
 Scan line: baris dari pixel
 TV B/W : suatu oscilloscope dengan pola scan yang tetap : kiri ke kanan, atas ke bawah
 Untuk menggambar pada screen, komputer membutuhkan sinkronisasi dengan pola scanning dari raster. Diperlukan memori khusus untuk buffer citra dengan scan out sinkronouske raster yang disebut framebuffer .
Aplikasi Komputer Grafik
Komputer Grafik dapat digunakan di berbagai bidang kehidupan, yaitu Sains, bisnis, pendidikan, kesehatan, Engineerin Developer, juga pada bidang :
 Entertainment – animasi komputer-film : menghidupkan objek-objek untuk tujuan visualisasi proses, visualisasi pada simulator, visualisasi fenomena alam. Pada pembuatan film, komputer banyak digunakan untuk menunjang proses pemodelan, visualisasi dan editing. Sebelum dilakukan pengambilan gambar dengan kamera, dibuat model pemeran dalam cerita, kemudian divisualisasi untuk gerakan yang sulit dilakukan.
 Game :Permainan merupakan produk yang sangat disenangi, bukan hanya oleh anak-anak tetapi orang dewasa juga menyukainya. Berbagai game dimainan di komputer, video player dengan monitor TV, dan ada pula yang menggunakan perangkat khusus. Alat input interaktif seperti mouse dan joystick diperlukan untuk aplikasi game. Game dibuat untuk penggunaan komputer PC maupun komputer dengan perangkat khusus.
Pembagian Komputer grafik
Bagian dari komputer grafik meliputi:
• Geometri : mempelajari cara menggambarkan permukaan bidang
• Animasi : mempelajari cara menggambarkan dan memanipulasi gerakan
• Rendering : mempelajari algoritma untuk menampilkan efek cahaya
• Citra (Imaging) : mempelajari cara pengambilan dan penyuntingan gambar.
Model Konseptual untuk Grafik Komputer
1) Application Model : Database dari deskripsi dan sifat-sifat.
2) Application Program : Sebuah kumpulan alur output berdasarkan geometri 2D atau 3D dari objek yang akan ditampilkan.
3) Graphics System : Antarmuka bahasa tingkat tinggi kepada alat-alat grafis. Syarat – syarat sistem grafis:
a. Portability (dapat digunakan di alat, bahasa, dan komputer yang berbeda).
b. Programmer independence (dapat digunakan siapa saja).

Jumat, 17 Juni 2011

PENGKAPSULAN

Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu
class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to
access data.
Enkapsulasi menunjuk pada prinsip dari menyembunyikan desain atau
mengimplementasikan informasi yang tidak sesuai pada object yang ada. Menyembunyikan
elemen dari penggunaan sebuah class dapat dilakukan dengan pembuatan anggota yang ingin
Anda sembunyikan secara private.
Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected
hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket.
sedangkan private hanya boleh diakses oleh kelasnya sendiri.

Prepraktikum
Apa yang anda ketahui tentang Information hiding ?
Information Hiding adalah menyembunyikan attribute suatu objek dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. Attribute maupun method disembunyikan dengan cara memberikan modifier private.
Jelaskan tentang Interface to access data dalam konsep Pengkapsulan?
Jika kita telah melakukan information hiding terhadap suatu attribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap attribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu attribut tersebut
Jelaskan mengenai keyword public, protected dan private ?
Atribut Public: izin akses public sebuah atribut biasanya digunakan oleh sebuah class jika sebuah atribut diperbolehkan diakses secara langsung oleh class lain. sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh class lain di luar class yang membungkusnya.
Atribut Protected:izin akses protected sebuah atribut biasanya digunakan oleh sebuah class jika sebuah atribut diperbolehkan diakses secara langsung oleh class lain yang merupakan class turunannya (inheritance). sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh class lain di luar class yang membungkusnya kecuali class class turunannya.
Atribut Private: izin akses private pada sebuah atribut biasanya digunakan oleh sebuah class untuk melindungi atribut-atributnya agar tidak dapat diakses oleh class lain. sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya.

Kegiatan Praktikum
1. Kompile dan jalankan kelas manusia dan andi!




2. Ubah hak akses makan dari public menjadi protected dan ulangi praktikum nomor 1 ! Apayang terjadi? Jelaskan!


3. Tambahkan pada kelas andi untuk memanggil metodh bunuh diri, ulangi praktikum no 1.
Apa yang terjadi? Jelaskan!


Tugas Akhir



Tugas Tambahan
1. Mengapa jika hak akses public pada konstruktor manusia di ganti dengan PRIVATE, program akan ERROR???
Private, adalah level proteksi untuk andi yang berada di dalam manusia. Si
andi tidak boleh keluar dari manusia karena mempunya level proteksi paling
tinggi. Dalam implementasinya, field dengan level proteksi private
hanya dapat diakses di dalam class tersebut.
2. Dalam teori, dapatkah kita memberikan hak akses pada konstruktor???
Constructor berfungsi untuk menginisialisasi obyek dari class dan mempersiapkan ruang memory, sedangkan destructor menghapus dan membersihkan obyek ketika sudah tidak terpakai dan membebaskan memory yang tadinya terpakai. Constructor method merupakan method yang namanya sama dengan nama classnya dan bersifat public tapi tidak berjenis void ataupun non void. Constructor dapat menerima parameter namun tidak bisa mengembalikan nilai apapun.
3. Bagaimana solusi agar program dapat berjalan??

Senin, 13 Juni 2011

INHERITANCE (PEWARISAN)

Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. 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.
Prepraktikum
Pertanyaan:
1.Apa yang perbedaan antara Induk Kelas dengan Kelas Turunan?
2.Jelaskan keyword super dan extends dalam Pewarisan?
Jawaban:
1. Induk Kelas: kelas yang menjadi dasar acuan dari semua kelas turunannya. Dalam sebuah hirarki tertentu, induk kelas merupakan kelas yang mewarisi sifat-sifat tertentu kepada kelas turunannya.
Kelas Turunan: kelas yang mewarisi sifat-sifat tertentu dari kelas induk. Jadi tidak perlu menuliskan method lagi. Tinggal meg-extends dari induk class untuk mendapatkan method tertentu.
2.Super
Subclass juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal ini dilakukan dengan pemanggil construktor super. Pemanggil constructor super dalam constructor dari subclass akan menghasilkan eksekusi dari superclass constructor yang bersangkutan, berdasar dari argumen sebelumnya.
Contoh class Person dan Student.
public Student(){
super( “SomeName”, “SomeAddress” );
System.out.println(“Inside Student:Constructor”);
}
Kode ini memanggil constructor kedua dari superclass terdekat (yaitu Person) dan mengeksekusinya.
Extends
Misalkan kita ingin membuat class lain bernama Student. Karena Student juga sebagai Person, kita hanya meng-extend class Person, sehingga kita dapat mewariskan semua properti dan method dari setiap class Person yang ada.
Penulisannya:
[modifier1] class NamaSubKelas extends NamaKelasSuper {
classBody
}
Kegiatan Praktikum
Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain.













Tugas Akhir
Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran !





Senin, 06 Juni 2011

POLYMORPHISM


Polymorphism merupakan konsep OOP yang memberikan fleksibilitas kepada programmer dalam menulis program.  Dengan mengaplikasikan konsep polymorphism, programmer dapat memperlakukan seluruh object yang berasal dari superclass yang sama seakan-akan mereka adalah object dari superclass.
Dari pengertian tersebut,  polymorphism dapat didefinisikan dengan penggunaan lebih dari satu  method dengan nama yang sama (pembedanya adalah berdasarkan jumlah dan jenis parameter yang didefinisikannya). Polymorphism bisa dibangun dengan menerapkan :
•  Overiding  : mendefinisikan method dengan nama sama pada class yang berbeda
•  Overloading : mendefinisikan method dengan nama sama dalam satu class.
Konsep overloading, sudah sering kita gunakan dalam penggunaan  constructor. Sedangkan konsep overiding, dapat kita manfaatkan dalam beberapa kasus  inheritance, di mana menginginkan penamaan method dengan nama sama namun berbeda dalam impelementasinya, atau dalam kata lain dalam penggunaan interface.
Dari pengertian lain bahwa polymorphism dapat berperan untuk penerapan  reusability lebih mudah ketika menerapkan proses penurunan  class. Atau dengan kata lain, dengan  polymorphism,  reference type  dapat merupakan  superclass dari  object type  yang digunakan.
Dalam kasus dunia nyata, jika kita bekerja sebaga tim, kita bisa mempercayakan proses pembuatan berbagai  class kepada teman satu tim kita dengan mudahnya, jika  class tersebut telah merupakan  subclass dari  superclass yang menjadi  class utama dalam pembuatan program tersebut, namun proses tersebut tidak perlu mengubah class-class yang telah kita buat sebelumnya.
Keuntungan apa yang bisa didapat dengan Polymorphism yaitu:
1.      Aplikasi Mudah Terjulur: 
Setelah aplikasi ditulis menggunakan konsep polimorfisme, dengan mudah dapat diperpanjang, menyediakan objek baru yang sesuai dengan antarmuka asli. Hanya menghubungkan kembali perlu menunjukkan perubahan baru bersama dengan aplikasi lama. Dalam bahasa pemrograman, selalu ada kebutuhan untuk menambahkan dan mengubah. Dengan memanfaatkan konsep polimorfisme, waktu dan tenaga kerja berkurang di samping perawatan membuat masa depan lebih mudah.
2.      Helps in reusability of code. Membantu dalam usabilitas kode.
3.      Provides easier maintenance of applications. Menyediakan lebih mudah pemeliharaan aplikasi.
4.      Helps in achieving robustness in applications. Membantu dalam mencapai ketahanan dalam aplikasi.
Bagaimana hubungan antar teknik overloading dengan Polymorphism yaitu keadaan pada saat terjadinya polimorfisme pada class yang sama atau pada suatu parent class dan subclassnya,yang mempunyai ciri-ciri adalah : Nama Method harus sama,Daftar parameter harus beda,Return Tipe boleh sama,juga boleh beda.
Contoh :
Membuat tiga object class dengan nama Student, subclass StudentGrad dan class StudentInfo
class Student {
   public void Write(int ID, int Grad, String Fname, String Lname) {
       m_ID = ID;
       m_Graduation = Grad;
       m_First = Fname;
       m_Last = Lname;
    }  
    public void Display(){
        System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    }  
    private int m_ID, m_Graduation;  
    private String m_First;  
    private String m_Last;
}
class StudentGrad extends Student {
   public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major) {
       super.Write(ID, Grad, Fname, Lname);
       m_UndergradSchool = unSch;
       m_Major = major;
       m_Grad = Grad;
       YearGraduated = yrGrad;
    }
    public void Display(){
        super.Display();
        System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
    }  
    private Integer YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
}

class StudentInfo {
     public static void main (String args[]) {
         StudentGrad myStudent = new StudentGrad();
         myStudent.Write(10, 1,"Hilyati","Safitri", 2000,"Harvard University","CS");
         myStudent.Display();  
        }
}
Hasil Running Program:



Contoh 2:Kucing, Ayam, dan Anjing merupakan makhluk hidup yang masuk kategori hewan, tiap hewan pasti mempunyai identitas baik itu berupa tipe hewan dan suaranya.
Gambar 2 : Class Hewan dan subclass nya




Source Codenya:
 
Hasil Running Program:

 

Sabtu, 28 Mei 2011

KELAS DAN OBJEK


Kita mungkin memperhatikan bahwa gambaran-gambaran dari objek-objek dan class-class kelihatan hampir sama. Dan lebih mendalam, perbedaan antara class dan objek sering membingungkan. Dalam kenyataannya, hal ini telah nyata bahwa class bukanlah sendirinya objek yang mereka gambarkan. Sebuah blue print dari sebuah sepeda motor adalah bukan sepeda motor. Namun, hal ini sedikit sulit untuk membedakan class-class dan objek dalam system perangkat lunak. Ini memang terpisah karena objek-objek dalam perangkat lunak adalah model elektronik dari model yang ada dalam dunia nyata atau konsep abstraknya. Tetapi hal ini juga karena istilah “objek” kadang-kadang digunakan untuk menunjuk baik class maupun instan-nya.
Obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip dengan obyek pada dunia nyata. Setiap obyek dibangun dari sekumpulan data  (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek. Bisa tikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yg berhubungan.
Class adalah sturktur dasar dari OOP. Class terdiri dari dua tipe dari anggota dimana disebut dengan field (attribut/properti) dan method. Field merupakan tipe data yang didefinisikan oleh class, sementara method merupakan operasi. Sebuah obyek adalah sebuah instance (keturunan) dari class.
v  Buatlah program menggunakan class dan objek dengan nama motor.java, jika program di jalankan hasilnya seperti di bawah ini :
Object “motor-1” :
Merk : Yamaha
Pemilik : Pak Darmawan
Object “motor-2” :
Merk : Honda
            Pemilik : Pak Nasiruddin

hasil runing
v  Buatlah kelas mahasiswa dengan atribut/variablel = nama dan npm dan mempunyai  metodh: tampilkanNama, tampilkanNpm, belajar, olahRaga, makan, minum.

Buatlah 3 objek  untuk menginstantiasi kelas mahasiswa dengan atribut nama dan npm Anda sendiri dan 2 teman Anda dan mengimplementasikan beberapa metodh yang telah  Anda definisikan dalam kelas mahasiswa
                        
hasil runing
v  Buat program dengan nama televOOP.java dengan spesifikasi sebagai berikut :
Class : Televisi
Object : Televisiku

Attribute 
-  Merek
-  Tipe
-  Ukuran
-  Tombol volume
-  Tombol Channel

Method
-  Menyalakan TV
-  Memindahkan Channel
-  Membesarkan volume
-  Mematikan Televisi


Hasil : 
  Merek Televisi : Samsung
  Tipe Televisi : LCD TV
  Ukuran Televisi : 52 inchi
  Saat ini televisi sudah on.....
  Channel berpindah
  Volume bertambah besar.
  Press any key to continue .  .   .

hasil runing