Arsip: Tanya tentang interface

 
user image
more 12 years ago

mambamaestro

Dear temen-temen, Assalaamu'alaikum wr wb Selama saya memprogram database, saya tidak pernah bersinggungan dengan yang namanya interface. saya tidak pernah merasa butuh untuk membuat dll, jika harus memisahkan fungsi-fungsi tertentu, saya lebih suka bikin unit tersendiri. jika tidak ingin fungsi-fungsi dilihat source codenya, cukup di jadikan dcu saja, apalagi harus membuat com. intinya, saya merasa sudah cukup tanpa interface. Dalam buku marco cantu ato di help delphi, sepertinya(contoh-contohnya) interface cuma berkaitan dengan yang namanya com. Namun, ada beberapa orang yang saya denger sering menggunakan interface di aplikasi database mereka. Nah, buat temen-temen yang terbiasa menggunakan interface (bahkan dalam aplikasi database 'biasa'), tolong sharing dong, snippet codenya, or, saat kapan dan dimana kita harus sering menggunakan interface dalam aplikasi 'biasa', or kasus apa saja dari temen-temen yang terpaksa harus pake interface (selain dari yang berhubungan dengan com). Trims. Abdellah
user image
more 12 years ago

betamax

Banyak Tuh... Sistem Parkir & Absensi, Apalagi yang udah support GetPicture. pengembangan aja. kalo absensi udah bisa sidik jari / barcode di tambahin lagi GetPic. jadi bener bener ga bisa titip absen.. hehe...
user image
more 12 years ago

DelphiExpert

@betamax: Banyak Tuh... Sistem Parkir & Absensi, Apalagi yang udah support GetPicture. pengembangan aja. kalo absensi udah bisa sidik jari / barcode di tambahin lagi GetPic. jadi bener bener ga bisa titip absen.. hehe...
lha... lha... ini hubungannya apa? "interface" yg lain kali' tuuuh... wakakak :mrgreen:
user image
more 12 years ago

DelphiExpert

confirm: interface yg dimaksud bukan "interfacing dengan perangkat keras", namun teknik interface dlm pemrograman (OOP). salah satu kelebihan "interface" adalah tingkat abstraksi yg lebih tinggi dari pada abstract method / class. baik interface (skeleton) maupun abstract class harus diimplementasikan, implementasinya disebut implementator class. dalam konteks ini (Delphi), ada banyak kelebihan penggunaan interface daripada abstract class, sekalipun tujuannya sama, namun pemanfaatannya jauh lebih luas interface. beberapa keunggulan interface adalah (1). dapat dimanfaatkan sebagai implementasi teknik reference-counting, yakni teknik paling sederhana yg digunakan Delphi dalam me-manage life-cycle object, jika RefCount = 0, implementasi class otomatis akan di release (destroy). Class dasar yg disediakan Delphi dalam hal ini adalah TInterfacedObject, jadi semua class yg anda turunkan dari TInterfacedObject otomatis akan mendukung reference-counting dng catatan, 100% penggunaannya harus menggunakan interface-based assignment. Namun tidak harus, anda bisa melakukannya secara manual dng memanggil langsung method dasar yg disediakan IInterface, yakni _AddRef dan _ReleaseRef; (2). Suatu interface dapat diperoleh hanya dng melakukan QueryInterface terhadap unknown type instance, misal reference yg anda dapatkan adalah TObject, atau Pointer, atau sebuah class. Berbekal dng IID (GUID) (harus diketahui), anda dapat melakukan ekstrac-si sebuah interface dng GUID xxx misal ['{F9F1F73F-51E9-44B7-8C8B-B82D533E5433}']. contoh:

type
{ interface skeleton }
  ISimple = inteface
  ['{F9F1F73F-51E9-44B7-8C8B-B82D533E5433}']
    procedure SomeMethod; stdcall;
    function SomeFunction: SmallInt; stdcall;
  end;
{ implementator class }
  TSimple = class(TInterfacedObject, ISimple)
  protected
    { ISimple }
    procedure SomeMethod; stdcall;
    function SomeFunction: SmallInt; stdcall;
  end;
implementation
{ TSimple }
procedure TSimple.SomeMethod;
begin
  // DoSomething here
end;
function TSimple.SomeFunction: SmallInt;
begin
  // do some calculation here
  Return:= 1000;
end;
berbekal contoh diatas, tidak harus namun kebetulan interface declaration & implementator class dalam 1 unit. anda dapat melakukan hal sebagai berikut:

const
  SimpleIID: TGUID = '{F9F1F73F-51E9-44B7-8C8B-B82D533E5433}';
var
  Obj: TObject;
  Simple: ISimple;
begin
  Obj:= TSimple.Create;
  // Anggap saja TSimple dibuat dalam module / unit lain. 
  // Dengan demikian yg kita ketahui cuma sebuah ref Obj yg bertipe TObject
  
  if Supports(Obj, SimpleIID, Simple) then
    // yes, the Obj instance has an ISimple implementation
    Simple.SomeMethod;
end;
dalam 1 block contoh diatas, anda tidak perlu melakukan Free secara manual terhadap Obj (dlm hal ini adalah sebuah TSimple instance), disinilah reference-counting bekerja ;) (3). kelebihan lain adalah, anda dapat menggunakan interface terhadap versi Delphi / compiler berbeda. contoh lingkup paling simple adalah interface dapat digunakan pada Delphi dng versi berbeda, misal: Delphi 5, Delphi 7 & Delphi 2007. Untuk kasus ini tentu anda harus membungkusnya dalam sebuah DLL (Dynamic Link Library), hal ini tidak dapat anda lakukan jika hanya melakukan share DCU saja, karena format DCU antar versi Delphi adalah berbeda... pembahasan lain akan dilanjutkan kalau dirasa menarik... masukkan coint Rp.1000 untuk melanjutkan... :mrgreen:
user image
more 12 years ago

mambamaestro

confirm: interface yg dimaksud bukan "interfacing dengan perangkat keras", namun teknik interface dlm pemrograman (OOP). betul itu. maksud saya bukan perangkat keras. trims mas indra. sayang master yang laen diam :D saya pikir penting oei.
user image
more 12 years ago

n3o_cybertech

@DelphiExpert: confirm: pembahasan lain akan dilanjutkan kalau dirasa menarik... masukkan coint Rp.1000 untuk melanjutkan... :mrgreen:
wah...manarik tuh mas indra...bisa dilanjutin gak tuh pembahasannya...aq juga ngerasa hal ini berguna banget buat kita2 yang masih newbie dalam delphi...tak masukin ya coint Rp.1000...cring...cring...cring...Lanjuuuuuuut.... :D
user image
more 12 years ago

peucang

coint selanjutnya Rp.1000 Cring... Cring.... Cring..... .....LOADING..... Pres any key.. :)
user image
more 12 years ago

Kecret

langsung ditambah koin 1 juta......... ayo lanjut mangggggg.........................
user image
more 12 years ago

DelphiExpert

apalagi ya... sebentar masih mikir... coint-nya kurang :mrgreen:
user image
more 12 years ago

Kecret

harusnya DE bikin buku dunk....... OOP with ObjectPascal, dibahas mengenai konsep OOP di FreePascal atopun di delphi terbaru dan penerapannya dalam pembuatan aplikasi, dan juga perbandingan (penerapan) dgn java atopun C#......
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com