Thursday 10 May 2012

Form dan Event Handler di Java C# dan C++


Form adalah tampilan user interface yang disediakan oleh bahasa pmrograman agar mudah untuk menjalankan sebuah program. Event handler adalah sebuah method yang dapat mendeteksi suatu kejadian yang terjadi pada sebuah form, contoh ketika sebuah button di Click maka program akan melakukan sebuah eksekusi  perintah yang ada pada event handlernya.

Pada contoh code program berikut adalah Event Handler yang ada pada sebuah button, jika button tersebut di Click maka akan memunculkan Messagebox.

C sharp


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace OOP_praktikumForm
{
 public partial class MainForm : Form
 {
  public MainForm()
  {
   InitializeComponent();
  }
  
  
  //event Handler
  void BtnLihatClick(object sender, EventArgs e)
  {
   MessageBox.Show("Nama Anda "+textBox1.Text+"\t\nAlamat Anda = "+textBox2.Text);
  }
 }
}

  
Read more »

Mutlithreading di Java, C# dan C++

Multi threading adalah sebuah cara pengeksekuisian beberapa program secara bersamaan. saling berbagi sumber daya tetapi dapat dijalankan secara independen.

Keuntungan dari Multi threading adalah :
  • Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang.
  • Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
  • Ekonomis, Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context switching thread.
  • Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.

Read more »

Exception (error) Handling di Java, C# dan C++

Exception handling adalah penangan error yang terjadi pada sebuah program. Exception handling akan mendeteksi error yang terjadi secara otomatis. Exception handling dalam pemrograman Csharp, Java dan C++ menggunakan keyword “try-cactch”. Pada contoh kode program berikut Exception Handling akan mendeteksi input jika terjadi error.

Csharp


using System;

namespace OOPpraktikum
{
 class Program
 {
  public static void Main(string[] args)
  {
   int angka;
   
   try
   {
    Console.Write("Masukkan Angka = ");
    angka = Convert.ToInt32(Console.ReadLine());
   }
   catch(Exception)
   {
    Console.WriteLine("Input Pake Angka . . bukan Huruf . . .");
   }
   
   
   Console.Write("\nPress any key to continue . . . ");
   Console.ReadKey(true);
  }
 }
}  

Read more »

Interface di Java, C# dan C++


Interface adalah sebuah fitur OOP yang menampung method-method kosong. Interface harus diturunkan pada sebuah Class jika ingin di implementasikan. Tidak jauh berbeda dengan Abstract Class kegunaan dari interface, hanya saja interface tidak bisa menampung method default dan tidak mempunyai modifier.

Penggunaan interface dalam bahasa pmrograman Csharp, Java dan C++ berbeda. Jika pada bahasa pmrograman Csharp dan Java, penggunaan interface menggunakan keyword “interface”, tetapi dalam C++ menggunakan fitur Hider File.

Read more »

Abstract Class di Java, C# dan C++

Abstract class adalah class yang tidak bisa dibuat secara instan sebagaimana class pada umumnya. Abstract class harus di implementasikan pada class turunan dari class Abstract tersebut. Abstract class berisi berisi sebuah method abstract dan method default yang bisa di override pada class turunan. Tidak semua bahasa pemrograman yang mendukung OOP mempunyai abstract class dan abstract method Seperti halnya c++. Maka dalam contoh code program Abstract class c++ harus menggunakan Class biasa dan virtual method agar bisa di override pada class turunannya.

Read more »

Monday 7 May 2012

Inner Class Java, C# dan C++

Inner class adalah sebuah class yang di buat didalam sebuah class dan mempunyai karakteristik seperti class – class pada umumnya. Salah satunya bisa menjadi class turunan. Untuk pemanggilan inner class harus terlebih dahulu memanggil class luarnya. Manfaat penggunaan fitur inner class ini adalah untuk melakukan pengelompokan kode program.

Read more »

Inheritance (penurunan) di Java, C# dan C++ || OOP

Inheritance adalah salah satu fitur OOP yang sangat penting, Inheritance adalah penurunan sifat dari suatu Class ke kelas yang lain. Tidak semua sifat bisa diturunkan ke Class turunan tetapi hanya filed dan method yang punya modifier public dan protected yang bisa di turunkan.


Manfaat Inheritance :

  • Inheritance memungkinkan untuk menciptakan sebuah class dari class yang sudah ada.
  • Ketika sebuah class diturunkan dari class yang sudah ada maka class tersebut mewarisi semua method dan field dari class orangtuanya.
  • Class turunan juga mewarisi bentuk dari class orang tua. Artinya objek dari class anak dapat dikenali sebagai objek dari class orang tua.

Read more »

Polymorphisme Overload Override Java, C# dan C++ || OOP


Overloading adalah suatu cara untuk memberikan nama yang sama kepada dua method yang berbeda meski dua method tersebut berada dalam class yang sama. Hal ini dapat dilakukan dengan cara membedakan tipe parameter, jumlah parameter dan susunan parameter, Manfaat penggunaan overloading adalah agar method yang mempunyai tingkah yang hampir sama mudah diingat oleh developer software.

Overriding digunakan oleh Class Turunan yang berusaha memodifikasi tingkah laku yang diwarisi dari Class Induk. Tujuannya adalah supaya  Class turunan memiliki tingkah laku yang lebih spesifik. Ini dilakukan dengan  cara mendeklarasikan kembali method milik parent class di Class turunan.

Read more »

Information Hidding dan Encapsulation di Java, C# dan C++ || OOP


Information hidding adalah Penyembunyian sebuah Filed dari kelas lain agar tidak bisa di akses secara langsung. Information Hidding di lakukan dengan cara memberikan modifier private pada filed yang di sembunyikan dari kelas lain.

Encapsulation adalah proses pengelompokan Filed dan method dengan memberikan hak akses kepada Filed dan method sehingga Filed hanya dapat di akses melalui method accessor.

Berikut ini keuntungan dari prinsip encapsulation :
  • 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.

Read more »

Class, Method dan Modifier di Java, C# dan C++ || OOP

Class adalah kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. 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.

Method adalah sarana bagi programmer untuk memodularisasi, artinya membreak atau memecah program kompleks menjadi bagian yang kecil-kecil. Setiap method yang menghasilkan suatu nilai dengan tipe data tertentu yang dinamai Return Type. Apabila terdapat suatu fungsi yang tidak menghasilkan suatu nilai apapun maka bagian return type ini diganti dengan void.Penamaan method mengikuti kaidah penamaan seperti pada penamaan variabel.

Bagian parameter pada method diisi dengan parameter-parameter fungsi yang diperlukan. Passing Parameter  dilakukan dengan cara pass by value dan pass by reference.Dengan analogi tersebut, otomatis beberapa hal umum seperti local variable,pemanggilan method, pendefinisian return value type, dsb adalah sama.

Modifier adalah ruang lingkup aksesibilitas dari sebuah Obyek dan anggotanya. Kita dapat mengontrol ruang lingkup objek anggota kelas menggunakan access modifier. Kita menggunakan access modifier untuk menyediakan keamanan Code yang kita Buat.

Read more »