Langsung ke konten utama

Postingan

Menampilkan postingan dengan label OOP

Apa sebenarnya yang dimaksud sender pada event handler

Event Handlers Dan Sender Perhatikan potongan kode event handler event OnClick event pada sebuah button (bernama "Button1"): procedure TForm1.Button1Click(Sender: TObject) ; begin ... end; Method Button1Click  mempunyai parameter yang bertipe  TObject yang disebut Sender. Setiap event handler, pada Delphi, minimal akan memiliki  sebuah parameter bernama Sender. Ketika button di-click , event handler (Button1Click) untuk event OnClick dipanggil. Parameter "Sender" mengacu pada sebuah komponen yang dipakai untuk memanggil method tersebut.Jika anda meng-click Button1, maka akan menyebabkan method Button1Click dipanggil, sebuah referensi atau pointer yang mengacu pada Button1 akan dikirim ke  Button1Click pada bagian parameter yang disebut Sender. Perhatikan Kode Berikut Parameter Sender , jika digunakan dengan benar, maka akan memberikan fleksibilatas yang luar biasa pada kode kita. Dengan parameter sender ini kita bisa mengetahui komponen apa yang mem...

Singleton Pattern

Motivasi Kadang ada keadaan di mana kita hanya boleh memiliki satu instan dari suatu kelas. Sebagai contoh, kita hanya boleh memiliki satu window manager (atau satu sistem file atau satu spooler printer) pada satu aplikasi. Biasanya singleton digunakan untuk managemen sumber daya internal maupun eksternal secara terpusat dan bisa diakses dimanapun. Singleton merupkan salah satu design pattern yang paling sederhana. Singleton hanya melibatkan satu kelas yang bertanggung jawab untuk menginstansiasi dirinya sendiri dan pada saat yang bersamaan menyediakan akses secara global terhadap instan tersebut. Pada pattern singleton, instan bisa diakses dari manapun tanpa harus memanggil contructor dari kelas instan tersebut Tujuan • Memastikan bahwa satu kelas hanya bisa dibuat instannya sekali. • Menyediakan akses secara global terhadap instan singleton tersebut. Implementasi Pada bahasa pemrograman Java, implementasi dari singleton adalah dengan membuat sebuah atribut static pada...

Kumpulan Artikel OOP Dengan Delphi

Temans, penguasaan OOP pada masa ini adalah suatu keharusan. Sudah banyak artikel yang membahas apa keuntungan meggunakan OOP. Sebagai upaya untuk menyediakan sarana belajar OOP, khususnya untuk Delphi, berikut ini saya kumpulkan beberapa link yang merujuk pada artikel OOP di delphi.about.com . Artikel-artikel di bawah ini dikelompokkan menjadi beberapa bagian , yaitu : 1. Introduction to OO basics Bagian 1 - Object orientation basics - Delphi Unit structure and project structure - Delphi’s RAD generation: visual objects and events Bagian 2 - Delphi’s RAD generation: visual objects and events - Event handlers - Creating an object (RAD and coding) Bagian 3 - Interaction between objects: simple message passing, association and composition - The UML: class, object and sequence diagrams - Inheritance, association and composition relationships - Homework 2. Introduction to class inheritance Bagian 4 - Class inheritance. - Subclassing for reuse: extension, speciali...

Sekilas Tentang Generics

Generics pertama kali diperkenalkan pada Delphi 2009. Dengan adanya fitur ini, kita bisa mendefinisikan sebuah kelas tanpa mendefinisikan secara khusus tipe data dari atribut dari kelas tersebut. Untuk mempermudah pemahaman tentang generics, berikut ini saya berikan dua contoh source code yang memanfaatkan fitur generics. Contoh 1 type TGenericContainer = class Value : T; end;   var genericInt : TGenericContainer ; genericStr : TGenericContainer ; begin genericInt := TGenericContainer .Create; genericInt.Value := 2009; //only integers genericInt.Free; genericStr := TGenericContainer .Create; genericStr.Value := 'Delphi Generics'; //only strings genericStr.Free; end;    Contoh 2  TSomeClass = class private FData : T; procedure SetData(inData : T); public property Data : T read FData write SetData; end; var a : TSomeClass ; ...

Object Oriented Programming Pada Delphi - Bag 6

Pada artikel sebelumnya , kita sudah sedikit mengimplementasikan prinsip-prinsip OOP pada kelas TMruList. Pada artikel berikut ini, kita akan membahas beberapa hal prinsip tentang OOP lebih lanjut. Kita akan membahas skope variable dan method, constructor dan destructor, dll. Skope Variable dan Method Ketika kita bicara tentang skope dari variable dan method, artinya kita membicarakan dari mana suatu method/variable bisa diakses. Bisa juga kita artikan siapa saja yang bisa mengakses variable dan method tersebut . Pada kelas yang sudah kita buat, semua method dan variable bisa diakses oleh siapapun dan dari manapun. Hal yang demikian bukanlah design yang bagus. Coba perhatikan variable FNumItems pada kelas TMRUList.Variable ini hanya dipakai di dalam kelas tersebut untuk mencatat berapa jumlah string yang ada pada list. Karena variable ini kelihatan (bisa dipakai) oleh pengguna kelas , maka bisa saja si user mengganti nilai variable ini, maka hal ini akan merusak integritas kelas ...

Object Oriented Programming Pada Delphi - Bag 5

Delphi Lover, pada artikel sebelumnya kita telah belajar membuat kelas sendiri lengkap dengan method-methodnya. Pada artikel ini, kita akan mempelajari konvensi penamaan kelas, membuat kelas yang sering dipakai di dunia nyata. Dengan mempelajari artikel ini diharapkan baris kode kita mudah dibaca (karena sesuai dengan konvensi di Delphi) dan memperdalam pemahaman kita tentang kelas, objek dan cara penggunaanya. Selamat mengikuti. Konvensi Penamaan Pada Delphi Salah satu konvensi pada Delphi adalah nama kelas selalu diawali dengan huruf T (te) yang merupakan sigkatan dari type. Itulah mengapa pada artikel-artikel terdahulu kita menamakan TSquare dan Tstudent bukan Student dan Square. Coba perhatikan kelas-kelas bawaan Dephi semua diawali dengan huruf T (type), mis TButton, TForm, dll. Konvensi lainnya yaitu nama atribut selalu diawali dengan huruf F (ef), yang merupakan singkatan dari Field. Akan lebih jelas kenapa diawali huruf F (ef) setelah kita mempelajari istilah proper...

Object Oriented Programming Pada Delphi - Bag 4

Para Delphi dan OOP Mania, pada artikel sebelumnya kita telah mempelajari cara mengalokasikan dan membebaskan memori sebuah objek. Pada artikel berikut ini, saya akan coba menjelaskan bagaimana cara mendeklarasikan sebuah kelas lengkap dengan method – methodnya. Selamat mengikuti. Seperti yang telah kita pelajari pada artikel sebelumnya , kelas adalah sebuah pola/rancangan/struktur data. Pada artikel tersebut, kita telah mendeklarasikan kelas sebagai berikut : Type TStudent = Class FNama : String; FNIS : String; FAlamat : String; FTelpon : String; End; Jika kita membuat empat objek bertipe TStudent, maka masing-masing objek tersebut akan mempunyai atribut yang sama yaitu nama,nis, alamat dan telpon. Struktur dari masing-masing objek tadi sama persis,dan struktur objek ini ditentukan pada/oleh kelas TStudent. Atribut-atribut yang ada pada objek student – dalam kasus ini yaitu FNama, FNIS, Falamat ,dan FTelpon, di OOP dikenal dengan beberapa nama. Kadang disebut ins...

Object Oriented Programming Pada Delphi - Bag 3

Pada artikel sebelumnya , kita telah mempelajari cara menggunakan kelas dan objek. Pada artikel berikut ini, saya akan membahas tentang bagaimana cara mengalokasikan dan membebaskan memori yang dipakai objek. Selamat mengikuti. Pastikan bebaskan memori yang sudah tidak terpakai ! Perhatikan potongan program di bawah ini : Procedure Test; Var i, j : Integer; stringList1 : TStringList; Begin stringList1 := TStringList.Create; i := 10; j := 0; i := i div j; // baris 10 – menimbulkan Exception stringList1.Free; // baris 11 – tdk akan pernah dieksekusi End; Pada baris ke 10, program akan menampilkan eksepsi devide by zero. Jika kita jalankan kode di atas menggunakan debugger, kita akan lihat bahwa baris ke 11 tidak akan pernah dieksekusi. Memori yang di alokasikan untuk stringList1 tidak pernah dibebaskan. Contoh di atas mungkin akan jarang terjadi, namun yang jelas kita harus hati-hati ketika mengalokasikan memori , kita harus memastikan bahwa memori yang dialokasikan tadi bisa d...

Object Oriented Programming (OOP) Pada Delphi - Bag 2

Pada artikel sebelumnya sudah saya jelaskan secara ringkas tentang apa itu OOP, objek, kelas dan sebuah contoh sederhana tentang deklarasi kelas. Pada artikel ini saya akan membahas lebih dalam tentang objek. Bekerja Dengan Objek Sebelum kita melanjutkan ke bagian cara deklarasi kelas, kita akan sedikit membahas bagaimana caranya menggunakan kelas dan objek. Kita akan menggunakan TstringList (dawaan delphi) sebagai contoh dalam pembahasan ini. Var StringList1 : TStringList; // TStringList > kelas – // StringList1 objek Di mana kita harus tuliskan deklarasi di atas? Ini tergantung pada dimana kita akan menggunakan objek ini (scope) berapa lama kita akan menggunakannya (lifetime-nya). Jika kita hanya akan mengakes pada satu method kita, maka deklarasikan pada method tersebut. Misalnya : Procedure Test; Var StringList1 : StringList; Begin End; Pada contoh di atas, variable StringList1 kita deklarasikan pada procedure test. Setelah kita selesai menjalankan procedure test, ma...

Object Oriented Programming (OOP) Pada Delphi - Bag 1

Object Pascal, adalah sebuah bahasa dimana delphi menjadi salah satu IDE (Integrated Development Environment) nya, adalah sebuah bahasa yang mendukung penuh konsep OOP. Sederhananya, bahasa ini memungkinkan bagi programmer untuk membuat dan memanipulasi object. Lebih detailnya, bahasa ini mendukung empat prinsip pokok OOP yaitu : Data Abstraction, Encapsulation, Inheritance, Polymorphism. Mempelajari OOP berbeda dengan mempelajari Delphi. Apalagi bagi seorang yang sudah mengenal bahasa Pascal. Bisa jadi ada orang yang sangat mahir delphi/pascal namun sangat lemah pada konsep OOP. Apa itu OOP? Apa Itu Object? Apa Itu Kelas? OOP adalah semua hal yang berkaitan dengan writing programs that manipulate objects : ). Delphi, Java, C++ adalah beberapa contoh bahasa yang mendukung OOP. Ketiga bahasa di atas mempunyai prinsip-prinsip OOP yang sama, tentunya dengan sintaks (penulisan baris kode program) yang berbeda. Sekali kita sudah menguasai konsep OOP, maka akan begitu mudah mempelaja...

Berkenalan Dengan OOP

OOP Kependekan dari Object Oriented Programming merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. OOP Kependekan dari Object Oriented Programming merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Sebagai langkah awal untuk mempelajari OOP,berikut istilah - istilah yang akan banyak kita jumpai dalam belajar OOP * 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-defini...