08 Januari 2008

Perkenalkan,.. Saya Windows API..!!

Ya.. Saya Windows API. Pernahkah anda mendengar nama saya? Mungkin bagi anda yang baru menyentuh dunia pemrograman, nama saya tidak pernah anda dengar sebelumnya. Tapi saya berani mengatakan bahwa saya memiliki kemampuan yang luar biasa yang memungkinkan anda mendapatkan apa yang anda inginkan pada sistem operasi Windows. Jadi siapakah saya sebenarnya? Dan mengapa saya menjadi salah satu topik yang dibicarakan pada blog ini?

Ok.. Saya akan mencoba memperkenalkan diri saya tahap demi tahap agar anda tau apa saja yang dapat saya lakukan untuk membantu anda (programer VB) berinteraksi dengan sistem operasi Windows.

Yang pertama kita bahas terlebih dahulu nama belakang saya. Ya.. API, bukan api yang membakar melainkan sebuah singkatan dari Application Programming Interface. Lalu apakah Application Programming Interface (API) ini? API adalah sekumpulan fungsi umum yang tersimpan pada file-file library milik Windows yang biasa digunakan oleh windows untuk melakasanakan tugas-tugasnya.

Programmer : "Ah kalau hanya seperti itu, rasanya tidak ada yang spesial pada API."

Hey tunggu dulu, saya belum selesai. Saya tadi sudah mengatakan bahwa saya akan memperkenalkan diri pada anda tahap demi tahap. Jadi mohon sabar..ya.. :D

Jika anda berpikiran bahwa saya bukanlah sesuatu yang special, anda salah besar karena saya masih memiliki beberapa hal yang pasti anda suka. Salah satu diantaranya ialah saya diberi izin oleh windows untuk digunakan pada aplikasi yang hendak anda buat dan kembangkan.

Programer : "Memangnya apa yang bisa API lakuan untuk mengembangkan aplikasi saya?"

Banyak.. Percaya atau tidak peran saya dalam kinerja dan operasi-operasi windows bisa mencapai 70%.

Programer : "Yang benar saja.. contohnya?"

Baik, saya akan sebutkan beberapa dari kemampuan saya yang tidak hanya bisa diminfaatkan oleh windows melainkan anda juga dapat menggunakannya :
  1. Saya mampu membuka / menutup CD-ROM (Drive Optik) anda.
  2. Saya mampu melakukan shutdown, restart, dan logoff pada windows
  3. Saya mampu mengatur resolusi layar pada monitor anda.
  4. Saya mampu melakukan format pada Harddrive anda.
  5. Saya mampu mengakses Registry Windows
  6. dan masih banyak yang lainnya.
Programer : "Wah... sepertinya menarik. Teruskan..!"

Baiklah, tadi saya mengatakan saya adalah kumpulan fungsi umum yang tersimpan pada file-file library milik windows. Taukah anda apa yang dimaksud dengan file library tersebut? File library yang diberi ekstensi DLL (dynamic link library) adalah file milik windows yang memang berisikan fungsi-fungsi umum yang berkaitan dengan sistem kerja komputer. File-file ini berjumlah lebih dari satu dan diberi nama sesuai dengan kategori fungsi yang dimilikinya.

Secara default file-file ini tersimpan pada direkoti sistem milik window yaitu :
  1. C:\Windows\System (untuk Win 9x)
  2. C:\Windows\System32 (untuk Win NT)
Bebrapa dari file-file ini antara lain ialah :
  • Advapi32.dll berisi fungsi-fungsi keamanan dan rutin registry.
  • Gdi32.dll berisi fungsi-fungsi penanganan grafik pada Windows.
  • Kernel32.dll berisi fungsi-fungsi inti (core) sistem operasi 32-bit.
  • Netapi32.dll berisi fungsi-fungsi yang menangani jaringan.
  • Shell32.dll berisi fungsi-fungsi penanganan shell 32-bit.
  • User32.dll berisi fungi-fungsi penanganan user interface.
  • Winmm.dll berisi fungsi-fungsi yang berkaitan dengan multimedia.
  • dan banyak lainnya.
Programer : "Ok... persingkat saja.. bagaimana saya bisa menggunakan API pada aplikasi saya?"

Wah.. anda terburu-bura sekali,..tapi baiklah untuk dapat menggunakan API pada aplikasi anda, anda harus mendeklarasikan fungsi yang anda inginkan terlebih dahulu pada modul (source list) aplikasi anda. Bentuk umum pendeklarasian API bisa anda lihat dibawah ini:

[Declare Scope] Declare Function [Function Name] Lib "[Library Name]" ( [Function Parameters] ) As [Return Type]

Keterangan:
  • Declare Scope ialah tipe deklarasi fungsi yang bernilai Public dan Private. Jika anda mengisikan Public maka fungsi yang anda deklarasikan ini bersifat umum sehingga dapat dipanggil oleh/dari modul mana saja sedangkan jika anda mengisikan Private maka fungsi ini hanya bisa dipanggil oleh modul tempat anda mendeklarasikan fungsi ini.
  • Function name ialah nama fungsi yang dideklarasikan.
  • Library name ialah nama file library tempat fungsi ini tersimpan.
  • Function Parameters ialah parameter-parameter yang berkaitan dengan fungsi ini.
Saya akan berikan contoh bentuk deklarasi fungsi untuk membunyikan speaker internal pada komputer. Tapi ingat komputer anda harus memiliki speaker internal untuk dapat melihat hasilnya.

Public Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Nah.. dari contoh diatas saya hanya akan jelaskan mengenai parameter-parameter yang ada pada fungsi tersebut. dwFreq ialah nilai besarnya frekuensi yang akan dibunyikan oleh speaker internal. Secara default nilai frekuensi yang dapat dibunyikan oleh speaker berkisar antara 32 hingga batas maksimal nilai tipe data Long. Sedangkan dwDuration ialah durasi lamanya speaker membunyikan frekuensi yang telah ditentukan dalan satuan millidetik (1 detik = 1000 millidetil). Lalu bagaimana cara memanggil fungsi ini? Caranya ialah dengan mengtikan nama fungsi berikut nilai parameter-parameternya. Contoh :

Beep(100,1000)

Artinya anda membunyikan frekuensi 100 Hertz selama 1 detik (ingat 1 detik = 1000 milidetik).

Programer : "Wah repot sekali...coba perhatikan, nama fungsi diatas hanyalah salah satu dari sekian banyak fungsi API, belum lagi parameter yang ada pada fungsi tersebut yang sudah pasti tiap fungsi memiliki parameter-parameter yang berbeda baik jumlah maupun tipe datanya. Bagaimana saya bisa menghafal ratusan fungsi tersebut? Saya yakin Bill Gates sang bapak Microsoft pun belum tentu hafal dengan ratusan nama dan parameter fungsi tersebut?"

Ha..ha.. ha..anda tidak perlu khawatir. Microsoft sudah memprediksikan akan hal ini. Anda tidak perlu menghafal ratusan nama dan parameter fungsi API untuk dapat menguasai hal ini.

Programer : "Oya??.. kalau begitu untuk apa anda jelaskan deklarasi fungsi API yang berjubel ribet seperti ini kalau memang ada cara yang lebih mudah untuk menggunakannya?" :-[

Lho..?? Kenapa anda jadi emosi seperti itu? Saya hanya ingin anda mengetahui bentuk umum darideklarasi fungsi API dan cara menggunakannya. Karena dengan memahami basic knowledge ini anda akan lebih mudah mengerti dan dapat memaksimalkan aplikasi yang hendak anda kembangkan nantinya. :)

Ok.. saya akan beritahukan kepada anda cara mudah untuk mendeklarasikan fungsi API tanpa harus menghafal ratusan nama fungsi API tersebut pada artikel berikutnya... dikarenakan artikel ini sudah cukup panjang... he he he.... :)

Artikel lanjutan mengenai Windows API akan saya beri judul API Text Viewer.. ok?

Maju terus IT Indonesia, viva Programer Indonesia.... Wassalam... :)

1 komentar:

Anonim mengatakan...

Ship bngt kapan lanjutannya? Secepatnya yho...!Thanks.