BAB 3 DYNAMIC LINK LIBRARY

dokumen-dokumen yang mirip
Merancang Project. Form Module Class Module Report. Form 1, Form 2, Minimarket (NamaProject) Gambar 4.1 Flowchart Project Sistem Informasi Minimarket

E-BOOK SERIES 06 MENGEMBED MSVBVM60.DLL

BAB 2 LANDASAN TEORI. Data adalah fakta atau bagian dari fakta yang digambarkan dengan simbol-simbol,

Algoritma Pemrograman 2 B

BAB 4 IMPLEMENTASI DAN EVALUASI

Instalasi Visual Studio 2008 Profesional(64 dan 32 bit) di windows 7

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

Modul Visual Basic 6.0

Langkah- langkah untuk menginstall VB6 adalah:

BAB 4 IMPLEMENTASI DAN EVALUASI. aplikasi sistem informasi geografis ini adalah : a. Spesifikasi perangkat keras minimum : memori 64 MB.

IMPLEMENTASI PEMROGRAMAN VISUAL BASIC DENGAN DATABASE ACCESS

AeroCity Internet 2.0 Client

Mei 2006 Oleh : Feri Djuandi.

Endi Dwi Kristianto

Visual Basic (VB) Tatik yuniati. Abstrak.

PRAKTIKUM 1. Framework adalah kerangka kerja yang terdiri dari kumpulan dari beberapa fungsi,

BAB VII. Pengenalan Menu Editor Dan Proses Pembuatan Serta Penggunaan Multi Form

BAB 2 LANDASAN TEORI. pengumpulan data Tugas Akhir di SMA N 5 Medan. disebut dengan informasi. (Bambang Wahyudi,2003)

BAB V PENGUJIAN SISTEM DAN IMPLEMENTASI. komponen sistem yang diimplementasikan dan mengetahui kelemahan dari


BAB 2 LANDASAN TEORI

Sesi/Perkuliahan ke: I

TUTORIAL PEMELIHARAAN HARDWARE DAN SOFTWARE PUSAT KOMPUTER UNIVERSITAS KRISTEN PETRA SURABAYA

PROSES INSTALASI WINDOWS 7 DI VIRTUAL BOX

BAB I Pengenalan Microsoft Visual Basic 6.0

BAB 2 LANDASAN TEORI

Aplikasi Komputer. Pengantar DataBase. Yusuf Elmande, S.Si., M.Kom. Modul ke: Fakultas Ekonomi dan Bisnis. Program Studi Manajemen

PANDUAN INSTALASI PERANGKAT LUNAK

BAB II LANDASAN TEORI

Pemrograman dengan C++ Builder 2004 Taryana S Pendahuluan C++ Builder adalah sebuah aplikasi yang digunakan untuk pengembangan dengan

Koneksi Database BAB 1

Mempercepat Kinerja Windows XP

DATABASE SQL SERVER. Database SQL Server Halaman 1

DASAR PEMROGRAMAN VISUAL BASIC

BAB II TINJAUAN PUSTAKA

PENDAHULUAN TENTANG NETBEANS

DASAR MENGGUNAKAN VISUAL BASIC 6.0

MENGENAL VISUAL BASIC

Visual Basic 6.0 For Beginners

BAB II LANDASAN TEORI. Pengertian suatu sistem tentu mempunyai beberapa persyaratan umum,

BAB V IMPLEMENTASI SISTEM

MODUL PRAKTIKUM 1 DASAR VISUAL BASIC 6.0

E-Trik Visual C++ 6.0

Pemrograman Visual (Borland Delphi 7.0)

BACK UP DAN RECOVERY Dell Backup dan Recovery. Kelompok 1 : Aam Hermawan Cecep Dicky P. Enung Nurhayati Fitty Azkia F. Gita Rebianti M.

INTERAKSI MANUSIA DAN KOMPUTER

Database Access untuk Multi User

Manual Installation Perceptive Content Web

TROUBLESHOOTING E-SPT PPh Badan KP2KP SUMENEP

APLIKASI SISTEM KONTROL KONEKTIVITAS JARINGAN DENGAN MENGGUNAKAN TEKNOLOGI GLOBAL SYSTEMS FOR MOBILE

PETUNJUK UMUM. 6. Printer deskjet, inkjet, laserjet, atau yang bersesuaian.


Membuat aplikasi sederhana menggunakan java NetBeans dan cara menginstal java NetBeans

PEMROGRAMAN KOMPUTER KODE MODUL: TIN 202 MODUL IV PENGENALAN MICROSOFT VISUAL BASIC 6.0

A. Memulai dan Struktur Visual Basic

Microsoft Data Access Components (MDAC) Oleh : Edi Sugiarto, S.Kom, M.Kom

BAB III ANALISIS DAN METODE PENELITIAN. Perangkat keras yang dibutuhkan pada penelitian ini adalah : Laptop Dell Inspiron N4030 dengan spesifikasi

M. Choirul Amri

Membuat File Exe Dan File Setup

Spesifikasi: Ukuran: 14x21 cm Tebal: 68 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Koneksi VB Dengan Database Sql Server

Buku Panduan bagi Pengguna MODEM USB Model : BRG-U100 Ver. USB B

BAB VIII MEMBUAT MENU DENGAN SWITCHBOARD MANAGER DAN PEMBUATAN STARTUP

Praktikum Pemrograman 1. Mengenal Delphi

BAB MEMBUAT FILE EXE DAN FILE SETUP

Visual Basic 6.0 For Beginners

BAB V IMPLEMENTASI DAN PEMBAHASAN. pada SMA Negeri 15 Surabaya. Penjelasan yang diberikan yaitu mengenai

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa Latin Computare yang berarti

Model Koneksi Database Visual Basic 6.0 a. DAO (Data Access Objects) Menggunakan Objek Tanpa Objek b. ADO (ActiveX Data Objects) Menggunakan Objek Tan

APLIKASI KOMPUTER (APLIKOM)

Pengenalan Visual Basic.NET. Sisilia Thya Safitri, MT Agus Priyanto, M.Kom

Fakultas Teknologi Informasi UJIAN AKHIR SEMESTER GENAP TAHUN AJARAN 2011/2013

VISUAL BASIC 6.0 PEMROGRAMAN KOMPUTER. Visual Basic

Departemen Pendidikan Nasional. Ditjen Manajemen Pendidikan Dasar dan Menengah. Direktorat Pembinaan Sekolah Menengah Pertama

BAB IV HASIL DAN PEMBAHASAN

BAB V IMPLEMENTASI SISTEM. informasi telah digunakan oleh pengguna. Sebelum benar-benar bisa digunakan

DASKOM & PEMROGRAMAN. Dani Usman

KONVERSI DATABASE SQL SERVER KE

4. SISTEM OPERASI TERDISTRIBUSI

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

Menggunakan Microsoft Access (perhatikan untuk red text)

BAB 2 LANDASAN TEORI

MANUAL PENGOPERASIAN JSTOCKINVENTORY Twitter

APLIKASI WEB DINAMIS LANJUT TUGAS 1

BAB V IMPLEMENTASI SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

[ MEMBUAT FILE SETUP ] DAN [ MEYIMPANNYA KE DALAM CD ]

MODUL X DATABASE VB. Modul Praktikum Bahasa Pemrograman Visual (BPV)

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. buat, dilakukan menggunakan bahasa pemograman java netbeans dengan basis

MODUL I PENGENALAN VISUAL BASIC 6.0. Visual Basic adalah sebuah program yang berfungsi untuk membuat aplikasi berbasis

Malang, Januari 2007 Penulis

1.1 Mengenal Visual FoxPro

STRUKTUR SISTEM OPERASI

WinCE API. API Fungsi & prosedur. Microsoft Windows Kode program

BAB 2 LANDASAN TEORI. Komputer berasal dari bahasa Latin computare yang artinya menghitung. Jadi

Tips penting. N91 dan N91 8GB umum. Nokia PC Suite (terutama Nokia Audio Manager) Manajemen File

Component Object Model (COM) Oleh : Edi Sugiarto, S.Kom, M.Kom

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan program Sistem Informasi Rental Bus pada PT. Cipaganti Citra

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C

Bab 2 POKOK BAHASAN: TUJUAN BELAJAR: 2.1 KOMPONEN SISTEM

Transkripsi:

BAB 3 DYNAMIC LINK LIBRARY BAB 3 Pendahuluan 3.1. PENGENALAN DLL Dalam bab ini akan dibahas mengenai pengenalan DLL, fungsi DLL, dan pembuatan DLL beserta komponen komponen lain dalam Visual Basic 6.0. Tujuan Setelah mempelajari bab ini, pembaca diharapkan mampu : Mengetahui pengertian dan fungsi pada Windows. Mengetahui pembuatan dll dan komponen lain menggunakan VB 6. Mengetahui penggunaan dll dan komponen lain pada VB 6. Dynamic Link Library (DLL) adalah sebuah file pustaka yang terdiri dari module-module yang dibutuhkan oleh program lain untuk mendukung proses-proses yang akan dilakukan. Tujuan pembuatannya pun didasarkan oleh beberapa alasan, yang paling utama di antaranya adalah untuk membuat beberapa program bisa berhubungan satu sama lain. Pada tahap pengembangan, setiap fungsi atau module dalam sebuah DLL di deklarasikan dengan berbagai cara (calling convention). Hal ini bertujuan untuk menentukan bagaimana sebuah nilai parameter akan disampaikan oleh program eksternal (pemanggil/caller) ke sebuah fungsi DLL yang dipanggil (callee). Beberapa cara pendeklarasian yang sering di gunakan pada pemrograman Delphi adalah register, stdcall dan cdecl. Register menggunakan register CPU (eax, ebx, dst untuk x86) sebagai penampung sementara nilai parameter, sedangkan stdcall dan cdecl

menggunakan stack untuk menyampaikan sebuah parameter dari caller ke fungsi dll. Perbedaan keduanya terletak pada urutan penyimpanan paramter ke dalam stack (paramter paling kiri atau paling kanan yang akan berada pada posisi paling atas dari stack tersebut). Sekarang muncul pertanyaan, kapan harus menggunakan salah satu dari ketiga calling convention tersebut? Ini akan sangat bergantung pada situasi dan tujuan pengembangan dll. Jika dll tersebut akan digunakan oleh program ekternal dengan compiler berbeda (misalnya C), maka fungsi-fungsi dalam dll tersebut harus di deklarasikan dengan stdcall. Tapi jika dll akan digunakan oleh eksternal program yang sama-sama berplatform Delphi, maka anda bebas untuk menyertakan salah satu calling convention atau tidak sama sekali (Delphi menggunakan register sebagai default calling convention). Sebagai catatan di sini adalah, implementasi pada sisi caller harus sama dengan pendeklarasian pada sisi callee, artinya jika fungsi dideklarasikan dengan stdcall maka pemanggilannya pun harus menggunakan stdcall. Hal tersebut harus diperhatikan karena mengingat urutan penyimpanan parameter akan bergantung pada calling convention yang digunakan. Jika tidak sinkron maka akan terjadi error. Dalam dunia komputasi, DLL Hell adalah istilah sehari-hari untuk komplikasi yang muncul ketika bekerja dengan dynamic link library (DLL) yang digunakan dalam sistem operasi Microsoft Windows, terutama edisi "warisan" (legacy) 16-bit. Meskipun istilah ini adalah hanya berlaku untuk sistem operasi Windows (istilah yang lebih umum adalah neraka dependensi) istilah ini juga sering digunakan untuk menggambarkan sebuah kasus neraka dependensi. DLL hell sering muncul dalam popup peringatan Windows yang laporan sesuatu yang mirip dengan "A Required DLL File, Z.DLL, was not found" atau "The procedure entry point Y couldn't be located in X.DLL" saat pengguna mencoba untuk menjalankan sebuah aplikasi, atau ketika startup. Hal ini dapat juga terjadi saat aplikasi yang dijalankan tidak berfungsi sebagaimana mestinya. 3.2. PERMASALAHAN DALAM DLL Ada sejumlah masalah yang biasa ditemui dengan DLL - terutama setelah berbagai aplikasi yang telah diinstal ke dalam sistem atau dibuang dari sistem. Masalah-masalah tersebut termasuk konflik antar versi DLL, masalah tidak mendapatkan DLL yang dibutuhkan, dan memiliki banyak salinan DLL yang diperlukan. Versi yang tidak cocok Sebuah versi khusus dari sebuah library dapat kompatibel dengan beberapa program tertentu yang menggunakannya (dan tidak

sesuai dengan yang lain). Windows sangatlah rentan untuk hal ini karena penekanannya pada proses dynamic linking antara dari pustaka C++ dan objek-objek Object Linking and Embedding (OLE). Kelas-kelas C++ dapat mengekspor banyak metode, dan satu perubahan saja dalam kelas tersebut (seperti halnya menambahkan metode virtual yang baru) dapat membuatnya tidak kompatibel dengan program yang dibangun terhadap versi sebelumnya. Object Linking and Embedding memiliki beberapa aturan yang sangat ketat untuk mencegah hal ini, yakni antarmuka yang diperlukan haruslan stabil dan manajer memori tidak saling digunakan (share). Tapi hal ini tidaklah cukup, karena semantik dari sebuah kelas tertentu dapat berubah. Sebuah "bugfix" untuk satu aplikasi mungkin dapat menghilangkan "fitur" yang lain. Sebelum Windows 2000, Windows sangatlah rentan untuk hal ini karena tabel kelas Component Object Model (COM class table) dipakai secara bersamaan oleh semua pengguna dan proses. Hanya satu COM objek, dalam satu DLL/EXE yang dapat dinyatakan sebagai memiliki COM ClassID tersendiri. Jika ada program apapun yang diperlukan untuk membuat sebuah instance dari kelas tersebut, implementasinya bisa jadi apa pun yang telah terdaftar oleh Windows secara terpusat. Akibatnya, instalasi program yang menginstal versi baru dari objek yang umum mungkin secara tidak sengaja melanggar program lain yang diinstal sebelumnya. DLL stomping (penimpaan DLL) Masalah yang umum dan sulit terjadi bila program yang baru diinstal akan menimpa DLL yang sedang berkerja dengan versi sebelumnya yang sering tidak kompatibel. Sebuah contoh yang terkenal adalah perpustakaan ctl3d.dll dan ctl3dv2.dll untuk Windows 3.1, yang memiliki banyak versi update muncul secara bebas dan tidak terkontrol. DLL Stomping terjadi karena : Microsoft di masa lalu mendistribusikan runtime DLL sebagai komponen sistem bersama, (awalnya C:\WINDOWS dan C:\WINDOWS\SYSTEM), sebagai sebuah cara untuk berbagi kode secara efisien dalam sistem operasi yang berbasis sharedmemory (memori yang digunakan bersama) dengan Random Access Memory (RAM) dan ruang disk yang terbatas. Akibatnya, para pengembang pihak ketiga ini juga mendistribusikan pustaka dengan cara yang sama. Walaupun tidak disarankan, aplikasi yang terinstal oleh siapapun dengan hak administrator mungkin memiliki kemampuan untuk menginstal DLL ke dalam direktori operasi, dan mengedit registry untuk mendaftarkan DLL baru sebagai sebuah objek COM yang baru. Hal ini dapat mengakibatkan versi lama

menjadi hidup di versi Windows di mana Windows File Protection atau Windows Resource Protection tidak membuat sebuah restore point atau tidak bisa mengembalikan seperti sedia kala. Aplikasi Windows yang diizinkan untuk memasukkan pembaruan sistem operasi pada program-program instalasi mereka sendiri. Hal ini disebabkan oleh banyak DLL yang dibuat oleh Microsoft sebagai redistributable (dapat disebarkan kembali), yang berarti aplikasi Windows bisa untuk memasukkan DLL tersebut jika mereka membutuhkan jasa perpustakaan tertentu. Program instalasi program (program installer) dalam Windows merupakan produk komersial yang hanya bisa diperoleh dengan hanya tertentu, sehingga banyak orang berusaha untuk menulis installer mereka sendiri, menghadap masalah versioning. Beberapa pengembang lalai untuk menyertakan versi sumber daya dalam library yang mereka buat. Mengecek kapan tanggal berkas DLL tersebut dibuat, lalu menimpa berkas yang sudah ada atau melewatinya begitu saja jika ada sebuah DLL sudah terinstal adalah satu-satunya pilihan yang tersedia. Jika ada sebuah dialog yang ditampilkan oleh Windows menawarkan opsi-opsi ini, aplikasi yang sedang diinstal harus mendapatkan perhatian ekstra. Jika salinan DLL diabaikan, lagi, maka memang sudah cukup banyak DLL yang ada di dalam sistem. Jika sudah DLL telah tertimpa, maka aplikasi Anda bekerja. Kadang-kadang OS itu sendiri menimpa DLL. Sebagai contoh, Windows 2000 akan menginstal DLL printer warna hitam/putih di atas DLL printer yang dapat mengenali warna, jika sebuah printer yang hitam dan putih dipasang setelah printer berwarna.

SOAL LATIHAN Buatlah file dll dari program yang telah dibuat pada bab sebelumnya, yaitu bab 2 dengan menggunakan bahasa pemrograman Visual Basic! JAWABAN Buka project yang sudah kita kerjakan pada bab sebelumnya yaitu bab 2. Copy semua script yang ada pada class modul yang kita buat dengan nama Class1. Selanjutnya untuk membuat ActiveX DLL, langkah-langkahnya adalah sebagai berikut : 1. Buka Visual Basic Anda kemudian pilih menu File New Project dan kemudian pilih ActiveX DLL seperti gambar di bawah dan kemudian tekan OK. Sekarang anda akan dihadapkan langsung pada class modul pada project1 dengan nama class modul Class1. 2. Pada form Class1, kita paste script yang sudah kita copy tadi. 3. Selanjutnya kita ubah nama project1 dengan nama rumusku. Caranya adalah dengan meng-click kanan project1 pada projectproject1, setelah itu pilih project1 properties. Ubah project name dengan nama rumusku. 4. Jika sudah, sekarang kita buat project dll-nya, kita pilih File Make rumusku.dll dan tentukan dimana project anda akan disimpan. Pada project ini saya menyimpan dll ke dalam drive D:\VB6 project\api\ 5. Register file dll yang kita buat tadi ke dalam windows. Caranya: Buka Run, ketik regsvr32 nama-path_nama-file. (contoh "regsvr32 D:\VB6project\API\rumusku.dll" tanpa tanda petik).

Kalau berhasil akan ada pesan notifikasi 8. Jalankan program. 6. Masukkan file dll ke dalam Preference Visual Basic yang sudah kita buat pada bab2. Caranya : Klik menu Project - Preferences. Kemudian klik Browse dan cari file dll yang sudah kita buat tadi, klik Ok. 7. Hapus class modul pada project bab2.