Contoh Format Resume Perusahaan Apikasi Visual Programming

Document Sample
Contoh Format Resume Perusahaan Apikasi Visual Programming Powered By Docstoc
					 Apikasi Visual Programming / Base Internet

                        ADO


                      OLE DB

   ODBC

  DATA SQL        DATA Non SQL         Sumber Lain
Oracle           E-mail               Mainframe
MS Jet           File Text            Mini Computer
MYSQL                                 SuperComputer
                 Gratis
SQL Server       Video, dll
Foxpro, dll


    Hubungan ADO dengan berbagai sumber database
1.Membuat Database dengan Microsoft Access 2000
Langkah-langkah
1.Click Start | Program | Microsoft Access
1.Click pada Button Cancel
2.Pada Menu Microsoft Access Click File | New
1.Pilih Database, kemudian click Ok
2.Arahkan pada Folder yang sesuai seperti pada gambar 5.




Kemudian beri nama file Databasenya mhs.Mdb, seperti pada gambar 5
1.Dan pada gambar 6 Click kanan pada Create Table and Design View hasilnya seperti pada
gambar 7
Isikan Field Name Nobp, Data type Text, dan Field Size 13
1.Isikan Field Name Nama, Data type Text, dan Field Size 65
2.Isikan Field Name Kelas, Data type Text, dan Field Size 10
3.Pada Table Name Beri nama Mhs seperti gambar 8
4.Click Ok
1.Untuk Mengisi Recordnya, click kanan pada nama Tabel Mhs, pilih Open, seperti pada gambar 9
2.kemudian masukkan beberapa recod seperti rpada gambar 10
Langkah-langkah
1.Click pada my Computer, seperti pada gambar 11
1.Double Clicking pada control panel, perhatikan pada gambar 12
2.Double Clicking pada Administrative Tools, perhatikan pada gambar 13
1.Double Clicking pada Data Sources (ODBC), perhatikan pada gambar 14
2.Click Add, kemudian beri nama pada Data Source Name, dan Description
seperti pada gambar 15
Pertama dibuat oleh IBM’s San Jose Research Laboratory, sekarang
berganti nama menjadi Almaden Research Center

 SQL memiliki beberapa bagian yaitu :
 •   Data Definition Language (DDL)
 •   Interactive Data Manipulation Language (IDML)
 •   Embedded Data Manipulation Language (EDML)
 •   View Definition
 •   Authorization
 •   Integrity
 •   Transaction Control
Tiga clause yang menjadi dasar dari SQL yaitu
Select, clause ini berkoresponden dangan projection operation
        pada aljabar relasi
From, clause ini berkorespondensi dengan cartesian product
        pada aljabar relasi
Where, clause ini berkorespondensi dengan selection predicate
        pada aljabar relasi
Bentuk umum dari SQL query adalah


  select A1, A2, ... , A3
  from r1, r2, ..., r3
  where P
1. Operasi himpunan yang ada pada SQL
   meliputi operasi Union, Intersect, minus
 select distinct customer-name
 from deposit
 where branch-name = “Perryridge”
 Select distinct customer-name
 from borrow
 where branch-name = “Perryridge”
 (select distinct customer-name
 from deposit
 where branch-name = “Perryridge”)
 union
 (Select distinct customer-name
 from borrow
 where branch-name = “Perryridge”)
(select distinct customer-name
from deposit
where branch-name = “Perryridge”)
intersect
(Select distinct customer-name
from borrow
where branch-name = “Perryridge”)
(select distinct customer-name
from deposit
where branch-name = “Perryridge”)
minus
(Select distinct customer-name
from borrow
where branch-name = “Perryridge”)
1.Bentuk SQL
       Select distinct customer.customer-name,customer-city
       from borrow,customer
       where borrow.customer-name = customer.customer-city
2. Predicate pada where clause dapat diberikan logical conectivity (and, Or, Not) contoh
          Select distinct customer.customer-name,customer-city
          from borrow,customer
          where borrow.customer-name = customer.customer-city and
                  branch-name = “Perryridge”
 3. Dalam predicate juga dapat berisi serangkaian operasi aritmatika
    SQL terdapat clause between, contoh
           select account-number
           from deposit
           where balance between 90000 and 100000
    dibanding
         select account-number
         from deposit
         where balance  10000 and balance  90000

1. SQL juga menyertakan suatu operator “string-matching” untuk
   perbandingan pada character-string
2. Pola dijelaskan dengan menggunakan dua karakter khusus
3. percent ( % ), % digunakan untuk mencocokan substring tertentu
4. underscore ( _ ), _ digunakan untuk mencocokan karakter tertentu
Contoh
1. “Perry%” maka akan mencocokkan dengan semua string yang
   memiliki substring depan adalah “Perry”, seperti “Perryridge”
2. “%idge%” maka akan mencocokan dengan semua string yang
   memiliki substring “idge” di tengah-tengah string tersebut, seperti
   “Perryridge”, “Rock Ridge”, “Ridgeway”
3. “_ _ _” memcocokan string apa saja dengan 3 karakter
4. “_ _ _%” mencocokan string dengan setidak-tidaknya 3 karakter

Contoh pada SQL
     Select customer-name
     from customer
     where street like “%Main%”
1. IN conective clause         melakukan test terhadap
   keanggotaan dari suatu himpunan, dimana himpunan
   harus didefinisi select clause
   Contoh :
         select distinct customer-name
         from borrow
         where branch-name = “Perryridge” and
         customer-name in ( select customer-name
          from deposit
          where branch-name = “Perryridge”)
1. Untuk melakukan pengetesan terhadap keanggotaan lebih dari
   satu attribut pada satu relasi digunakan notasi <v1, v2,... ,vn>
   NOT IN conective clause melakukan test terhadap ketidak-
   anggotaan dari suatu himpunan, dimana himpunan harus
   didefinisi select clause

    select distinct customer-name
    from deposit
    where branch-name = “Perryridge” and
    customer-name not in ( select customer-name
     from deposi where branch-name = “Perryridge”)
Variabel Tuple
1.Penamaan suatu tuple dapat dilakukan dengan menggunakan suatu variable
2.Pendefinisian variabel tuple dilakukan pada from clause
3.contoh
                     select distinct T.customer-name
                     from deposit S, deposit T
                     where S.customer-name = “Jones” and
                               T.branch-name = T.branch-name
1. Penamaan suatu tuple dapat dilakukan dengan menggunakan
   suatu variable
2. Pendefinisian variabel tuple dilakukan pada from clause
3. contoh
       select distinct T.customer-name
       from deposit S, deposit T
       where S.customer-name = “Jones” and
               T.branch-name = T.branch-name

Membandingkan Himpunan
1.   Di samping dengan menggunakan IN clause sebagai cara untuk membanding
     maka dapat digunakan gaya lain dalam menuliskan perintah yaitu dengan
     menggunakan some clause yang terdiri dari < some, > some,  some, 
     some,  some
2.   contoh
          select branch-name from branch
          where assets > some ( select assets
                     from branch where branch-city = “Brooklyn” )
1. Disamping some cluase juga dapat digunakan all
   clause yang dapat berupa < all, > all,  all,  all,  all
Pengetesan untuk relasi kosong
1. Bentuk ini digunakan untuk melakukan suatu
   pengetesan apakah suatu subquery kosong atau
   tidak, nilai true diberikan jika ternyata relasi yang
   ditunjuk ditidak kosong sebaliknya adalah false
2. Clause yang digunakan adalah exists
select customer-name
from customer
where exists
 ( select *
  from deposit
  where deposit.customer-name = customer.customer-name
       and branch-name = “Perriridge” )
         and exists
     (   select *
         from borrow
         where borrow.customer-name = customer-name and
                  branch-name = “Perryridge” )
Pengurutan pada penampilan tuple
1. SQL dapat menampilkan infomasi dari relasi dengan suatu
   urutan tertentu
2. Clause yang digunakan adalah order by
3. Bentuk urutan dapat dilakukan dengan urutan ascending dan
   descending dengan menggunakan clause asc dan desc
4. contoh
       select distinct customer-name
       from borrow
       where branch-name = “Perryridge”
       order by customer-name asc
1. SQL memberikan fasilitas untuk melakukan suatu komputasi
   fungsi terhadap sekelompok tuple dengan menggunakan clause
   group by
2. Fungsi-fungsi yang dapat digunakan adalah
    rata-rata   : avg
    minimum : min
    maximum : max
    total       : sum
    count       : count
3. Operasi diatas dikatan aggregate function karena operasi tersebut
   beroperasi pada aggregate tuple.


   select branch-name, count ( distinct customer-name )
                  from deposit
                  group by branch-name
1. Pengelompokan yang dilakukan dalam suatu group dapat
   dilakukan dengan menggunakan clause having
2. contoh
   select branch-name
        from deposit
        group by branch-name
        having avg(balance)  all (select avg (balance)
               from deposit
                group by branch-name )
Pemutakhiran dari suatu database
1. Pemutakhiran suatu database dengan menggunakan
   SQL sebagai query langauge-nya meliputi :
   penghapusan, penyisipan, pemutakhiran
2. Penghapusan memiliki bentuk
                  delete r
                  where P
contoh penghapusan
       delete deposit
       where branch-name in (select branch-name
           from branch
           where branch-city = “Perryridge”)
1. Penyisipan digunakan clause insert into
2. Penyisipan dapat dilakukan secara interaktif, contoh
   insert into deposit
        values (“Perryridge”,9732,”Smith”,1200)
3. Penyisipan yang dilakukan dari tuple yang telah ada, contoh
   insert into deposit
        select branch-name,loan-number,customer-name,200
        from borrow
        where branch-name = “Perryridge”
Pemutahiran dilakukan dengan menggunakan
clause update, contoh
update deposit
set balance = balance * 1.05
where balance > select avg(balance)
    from deposit



1. View dengan SQL didefinisikan dengan menggunakan bentuk
        create view v as <query expresion>
2. contoh
        create view all-customer as
                ( select branch-name, customer-name
                  from deposit )
                union
                ( select branch-name, customer-name
                  from borrow )
Data definition digunakan untuk mendefinisikan suatu database
SQL DDL memungkinkan kita untuk menciptakan tidak hanya suatu
himpunan relasi tetapi juga informasi tentang setiap relasi yang
meliputi
   1.Skema dari setiap relation
   2.Domain value untuk setiap attribut
   3.Keamanan dan hak otoritas
   4.Kendala-kendala integritas
   5.Struktue fisik dari storage untuk setiap relasi dalam disk
   6.Pendefinisian relasi pada SQL digunakan perintah create table
   dengan bentuk :
   create table r(A1 D1, A2 D2, . . ., An Dn)
   dimana r adalah relasi, A adalah attribut, dan D adalah tipe data
                     Studi Kasus
   “Sistem Informasi Perpustakaan”
Sebuah perpustakaan Universitas Putra Indonesia (UPI) “YPTK”
   Padang ingin menerapkan komputer sebagai alat bantu untuk
   proses peminjaman buku, dimnana akan digunakan RDBMS
   ORACLE sebagai penyimpanan data-nya, terdiri dari 5 Tabel,
   kelima tabel tersebut adalah :
1. PENERBIT (Referensi penerbit dari buku),
2. BUKU (yang berisi data buku dan jumlahnya),
3. MAHASISWA (sebagai peminjam buku),
4. PINJAM (sebagai penampung transaksi peminjaman), dan
5. BULAN (referensi tentang bulan dalam setahun sebagai tabel
   pembantu untuk proses perhitungan).
                                    BUKU

                             Kode_buku
                             Judul
                             Pengarang
                             Jml_buku
                             Kode_penerbit




                Mempunyai                                        PINJAM
   PENERBIT
                                                 Dipinjam   Tgl_pinjam
Kode_penerbit                                               Nobp
Nm_penerbit                                                 Kode_buku
                                                            Tgl_hrs_kembali
                                             meminjam       Tgl_kembali




                              MAHASISWA

                            Nobp
                            Nama
                            Alamat                             BULAN
                            Kota
                            Tgl_lahir                         No_bulan
                            Jenis_kel                        Nama_Bulan
A.Proses Data Difinition Language
   1.Pembuatan Tabel
DROP TABLE MAHASISWA CASCADE CONSTRAINTS;
CREATE TABLE MAHASISWA (
 nobp        Varchar2(13) PRIMARY KEY,
 nama_mhs    VARCHAR2(45),
 alamat      VARCHAR2(20),
 kota        VARCHAR2(30),
 Tgl_lahir   date,
 Jenis_lkel  char(1)
 );

CREATE INDEX Mhs_nm ON MAHASISWA (nama_mhs);
DROP TABLE PENERBIT CASCADE CONSTRAINTS;
CREATE TABLE PENERBIT (
 Kode_penerbit Varchar2(10) PRIMARY KEY,
 Nama_penerbit VARCHAR2(45)
 );
CREATE INDEX Penerbit_nm ON PENERBIT (nama_Penerbit);
DROP TABLE BUKU CASCADE CONSTRAINTS;
CREATE TABLE BUKU (
 Kode_Buku    VARCHAR2(10) PRIMARY KEY,
 Judul        Varchar2(35),
 Pengarang    Varchar2(35),
 Kode_penerbi Varchar2(10) REFERENCES PENERBIT (kode_penerbit),
 Jml_buku     Number(6)
 );

CREATE INDEX Buku_judul ON BUKU (judul);
DROP TABLE PINJAM CASCADE CONSTRAINTS;
CREATE TABLE PINJAM (
 Tgl_pinjam Date,
 nobp            Varchar2(10) REFERENCES MAHASISWA (nobp),
 Kode_buku       Varchar2(10) REFERENCES BUKU (kode_buku),
Tgl_hrs_kembali Date,
Tgl_kembali      Date ,
CONSTRAINT primary_key1 PRIMARY KEY (tgl_pinjam, nobp, kode_buku)
 );
DROP TABLE BULAN CASCADE CONSTRAINTS;
CREATE TABLE BULAN (
 No_bulan     Varchar2(2) PRIMARY KEY,
 Nm_bulan     VARCHAR2(20)
 );

A.Proses Data Difinition Language
 1.Proses Insert
  a)Tabel Penerbit
INSERT INTO PENERBIT VALUES („P-01‟,‟Andi Offset Yogyakarta‟);
INSERT INTO PENERBIT VALUES („P-02‟,‟PT. Elex Media KOMPUTINDO Jkt‟);
INSERT INTO PENERBIT VALUES („P-03‟,‟Informatika Bandung‟);
INSERT INTO PENERBIT VALUES („P-04‟,‟DINASTINDO Jakarta‟);
INSERT INTO PENERBIT VALUES („P-05‟,‟The Benjamin/Cummings Pub. Inc.‟);


   b) Tabel Mahasiswa
INSERT INTO MAHASISWA VALUES („99311001‟,‟Joko‟,‟Jl. DR. Sutomo‟,‟Padang‟,‟12-Aug-80‟,‟L‟);
INSERT INTO MAHASISWA VALUES („99311002‟,‟Acong‟,‟Jl. Pemuda‟,‟Lubuk Alung‟,‟10-Jan-79‟,‟L‟);
INSERT INTO MAHASISWA VALUES („99311003‟,‟Sitorus‟,‟Jl. Sudirman‟,‟Priaman‟,‟8-Jan-77‟,‟L‟);
INSERT INTO MAHASISWA VALUES („99311004‟,‟Boim‟,‟Jl. M. Thamrin‟,‟Pasaman‟,‟12-Jan-66‟,‟L‟);
INSERT INTO MAHASISWA VALUES („99311005‟,‟Taufik‟,‟Jl.St. Syahrir‟,‟Padang Panjang‟,‟22-Jan-60‟,‟L‟);
INSERT INTO BUKU VALUES („O-01‟,‟Administrasi Database : Oracle 9i‟,‟Reinhard Damopolli‟,‟P-01‟,10)
INSERT INTO BUKU VALUES („O-02‟,‟ Database User : Oracle 9i‟,‟Reinhard Damopolli‟,‟P-01‟,10)
INSERT INTO BUKU VALUES („S-01‟,‟SQL+Tutorial‟,‟Husni I. Pohan, Ir, M.Eng‟,‟P-03‟,5)
INSERT INTO BUKU VALUES („I-01‟,‟Aplikasi Web Berbasis Java Server Pages‟,‟Frans Chandra‟,‟P-04‟,40)
INSERT INTO BUKU VALUES („I-02‟,‟Java Server Pages‟,‟Isak Rickyanto‟,‟P-02‟,15)



INSERT INTO PINJAM VALUES (‟02-Sept-05‟,‟99311001‟,‟O-01‟,‟20-Sept-05‟,‟12-Sept-05‟);
INSERT INTO PINJAM VALUES (‟03-Sept-05‟,‟99311002‟,‟I-01‟,‟03-Sept-05‟,‟15-Sept-05‟);
INSERT INTO PINJAM VALUES (‟04-Sept-05‟,‟99311003‟,‟O-02‟,‟04-Sept-05‟,‟14-Sept-05‟);
INSERT INTO PINJAM VALUES (‟08-Aug-05‟,‟99311004‟,‟O-01‟,‟08-Aug-05‟,‟12-Aug-05‟);



 INSERT INTO BULAN VALUES (1,‟Januari‟);
 INSERT INTO BULAN VALUES (2,‟Februari‟);
 INSERT INTO BULAN VALUES (3,‟Maret‟);
 INSERT INTO BULAN VALUES (4,‟April‟);
 INSERT INTO BULAN VALUES (5,‟Mei‟);
 INSERT INTO BULAN VALUES (6,‟Juni‟);
 INSERT INTO BULAN VALUES (7,‟Juli‟);
 INSERT INTO BULAN VALUES (8,‟Agustus‟);
 INSERT INTO BULAN VALUES (9,‟September‟);
 INSERT INTO BULAN VALUES (10,‟Oktober‟);
 INSERT INTO BULAN VALUES (11,‟November‟);
 INSERT INTO BULAN VALUES (12,‟Desember‟);
      Proses Update
                Update Penerbit
Update Penerbit
Set kode_penerbit=‟P-01‟, nama_penerbit=‟ANDI OFFSET‟
Where kode_penerbit = „P-01‟;
                Update Mahasiswa
Update Mahasiswa
Set nobp=‟99311001‟, nama_mhs=‟Danny Andika Putra‟
Where nobp= „99311001‟;
                Update Buku
Update buku
Set kode_buku =‟O-02‟, judul=‟Database user : Oracle 9iAS‟
Where kode_buku = „O-02‟;

     Proses Delete
               Delete Penerbit
Delete From Penerbit
Where kode_penerbit = „P-05‟;
               Delete Mahasiswa
Delete From Mahasiswa
Where nobp= „99311001‟;
               Delete Buku
Delete From buku
Where kode_buku = „O-02‟;
Query
    Selection
Tampilkan kolom kode_buku, judul, penerbit dan jml_buku

  Select
  a.kode_buku, a.judul, b.nama_penerbit, a.jml_buku
  From buku a, penerbit b
  Where a.kode_penerbit = b.kode_penerbit;


Tampilkan semua buku yang belum kembali dengan kolom Tgl_pinjam,
nobp, nama_mhs, kode_buku, judul, dan tgl_kembali



 Select
 a.tgl_pinjam, a.nobp, b.nama_penerbit, a.kode_buku, a.c,judul, a.tgl_kembali
 From pinjam a, mahasiswa b, buku c
 Where a.nobp = b.nobp
 AND a.kode_buku=c.kode_buku
 AND a.tgl_kembali IS NULL;
Tampilkan semua buku yang dipinjam pada bulan 10 dan tahun 2003 dengan kolom
Tgl_pinjam, nobp, nama_mhs, kode_buku, judul, dan tgl_kembali


   Select
   a.tgl_pinjam, a.nobp, b.nama_penerbit, a.kode_buku, a.c,judul, a.tgl_kembali
   From pinjam a, mahasiswa b, buku c
   Where a.nobp = b.nobp
   AND MONTHS_BETWEEN
             (a.tgl_pinjam,‟1-JAN-2003‟) <=10
   AND MONTHS_BETWEEN
             (a.tgl_pinjam,‟1-JAN-2003‟) >9
               MATAKULIAH
              Kode_mtk
              Nama_Mtk
              Sks
              Kode_f


                               NILAI
  FAKULTAS
                            NPM
Kode_F
                            Kode_Mtk
Nm_Fakultas
                            NILAI




               MAHASISWA
              Nobp
              Nama
              Kode_f
CREATE TABLE `Mahasiswa` (
`Npm` CHAR(15) NOT NULL,
`Nama_mhs` VARCHAR(100) NOT NULL,
`Kode_f` CHAR(3) NOT NULL,
`pin` char(8) not null,
PRIMARY KEY (`Npm`)
);
Alter table Mahasiswa
   add Foreign key (kode_f)
   References Fakultas (kode_f);


CREATE TABLE `Fakultas` (
`Kode_f` CHAR(15) NOT NULL,
`Nama_F` VARCHAR(100) NOT NULL,
 PRIMARY KEY (`Kode_f`)
);
CREATE TABLE `matakuliah` (       Alter table Matakuliah
`Kode_mtk` CHAR(10) NOT NULL,       add Foreign key (kode_f)
`Nama_mtk` VARCHAR(100) NOT NULL,   References Fakultas (kode_f);
`sks` INT(2) NOT NULL,
`semester` INT(2) NOT NULL,
`kode_f` CHAR(3) NOT NULL,
PRIMARY KEY (`Kode_mtk`,`kode_f`)
) TYPE = MYISAM;
drop table nilai cascade constraints;   Alter table NILAI
CREATE TABLE Nilai (                      add Foreign key (kode_mtk)
Npm CHAR(15) NOT NULL,                    References Matakuliah (kode_mtk);
Kode_mtk CHAR(10) NOT NULL,               add Foreign key (NPM)
NA CHAR(2) NULL,                          References Mahasiswa (NPM);
Primary Key (npm, kode_mtk)
);
Pada materi ini Anda akan diajarkan bagaimana membuat suatu aplikasi sederhana, yaitu
aplikasi persewaan Rental VCD. Pada materi ini mempunyai tujuan agar menguasai materi
koneksi database dengan ADO dapat lebih dipahami. Aplikasi ini pada dasarnya
memberikan contoh manipulasi database dengan SQL dan penggunaan Object yang sering
dipakai seperti ListView. Dengan sedikit modifikasi, Anda dapat menjadikan contoh
program aplikasi ini mempunyai nilai jual yang tinggi.
Drop table Konsumen cascade constraints;
Create Table Konsumen
( Kd_k char(15) Primary key,
  Nama varchar2(100),
  No_idt Char (15),
 Almt varchar2(100),
  NoTlp char(15)
);
Drop table Mobil cascade constraints;
Create Table Mobil
( Kd_M char(15) Primary key,
  Jenis varchar2(50),
  Harga Number(15,2),
  Warna Char(25),
  Jumlah Number(4)
);
Drop table Jual cascade constraints;
Create Table Jual
( No_Bukti varchar2(15),
  Tglj date,
  Kd_M char(15) References Mobil (Kd_M),
  Kd_k char(15) References Konsumen (Kd_K),
  N_rangka varchar2(15),
  N_Mesin varchar2(10),
  Jml Number (10),
  Constraint PK_Key_Jual_Mobil Primary Key (no_bukti, Kd_M, Kd_K)
);
Insert into Mobil values ('M001','L300 Pick-Up',90000000,'Hitam',120);
Insert into Mobil values ('M002','L 200 Pick-Up',100000000,'Biru ',300);
Insert into Mobil values ('M003','L 300 M Bus',95000000,'Putih',300);
Insert into Mobil values ('M004','Mitshubishi Kuda',120000000,'Merah',400);
Insert into Mobil values ('M005','Mitshubishi Lancer',110000000,'Silver',50);

Insert Into Konsumen values ('K0001','0012001232','Iskandar','Bukittinggi','081363325371');
Insert Into Konsumen values ('K0002','800108140355','Zoner','Sijunjung','081383457225');
Insert Into Konsumen values ('K0003','800108130255','Ader','Marapalam','08136398654');
Insert Into Konsumen values ('K0004','800108140259','Sri Astuti','New City','081363070225');
Insert Into Konsumen values ('K0005','800100140255','ADEKIRANI','Koto Baru','085263081114');
Insert Into Konsumen values ('K0006','9087','POPI','PADANG','0751775475');
Insert into Jual values ('F00000000002','6-mar-2001','M004','K0002','A123','B22',8);
Insert into Jual values ('F00000000003','6-mar-2002','M003','K0003','892','141',11);
Insert into Jual values ('F00000000004','6-mar-2003','M002','K0002','613','904',12);
Insert into Jual values ('F00000000005','6-mar-2004','M001','K0001','811','749',7);
Insert into Jual values ('F00000000006','2-jan-2005','M001','K0001','987','562',2);
Insert into Jual values ('F00000000007','6-jun-2005','M001','K0004','888','693',1);
Insert into Jual values ('F00000000008','2-jan-2005','M001','K0005','333','222',1);
Insert into Jual values ('F00000000009','2-jan-2005','M003','K0003','111','333',1);
Insert into Jual values ('F00000000010','2-mar-2005','M005','K0005','555','999',2);
Insert into Jual values ('F00001311225','6-jun-2005','M005','K0004','225','642',1);
Insert into Jual values ('F00000311419','6-jun-2005','M003','K0001','941','102',1);
Insert into Jual values ('F00000311417','6-jun-2005','M004','K0002','222','987',1);
Insert into Jual values ('F00000311455','6-jun-2005','M002','K0005','576','241',1);
Insert into Jual values ('F00000000123','6-jun-2001','M003','K0002','786','876',2);
Insert into Jual values ('F00000003214','6-des-2004','M001','K0004','986','897',4);
Insert into Jual values ('F00000000001','2-jan-2005','M004','K0001','954','522',1);
Insert into Jual values ('F00023451333','2-mar-2005','M003','K0004','688','465',1);
Pada materi ini Anda akan diajarkan bagaimana membuat suatu aplikasi sederhana, yaitu
aplikasi persewaan Rental VCD. Pada materi ini mempunyai tujuan agar menguasai materi
koneksi database dengan ADO dapat lebih dipahami. Aplikasi ini pada dasarnya
memberikan contoh manipulasi database dengan SQL dan penggunaan Object yang sering
dipakai seperti ListView. Dengan sedikit modifikasi, Anda dapat menjadikan contoh
program aplikasi ini mempunyai nilai jual yang tinggi.
Drop table penyewa cascade constraints;
Create Table Penyewa
( KodePenyewa char(15) Primary key,
  Nama varchar2(100),
 Alamat varchar2(100),
  Telpon char(15),
  Keterangan varchar2(100) );
Drop table Vcd cascade constraints;
Create Table VCD
( IdVcd char(15),
  KodeVcd varchar2(10) Primary key,
  Judul varchar2(100),
  HargaSewa Number(12,2),
  Status varchar2(10) );
Drop table Peminjaman cascade constraints;
Create Table Peminjaman
( KodePenyewa char(15) References penyewa(KodePenyewa),
  KodeVcd varchar2(10) References Vcd(KodeVcd),
  TglSewa date,
  TglKembali date );
Insert Into Penyewa values ('P-001 ','Melki Mustafa','Padang','0751-784321','Tetap');
Insert Into Penyewa values ('P-002 ','Ari','Padang','0751-784211','Tetap');
Insert Into Penyewa values ('P-003 ','Danny','Surabaya','0751-784321','Tidak Tetap');
Insert Into Penyewa values ('P-004 ','Debie','Padang','0751-784331','Tetap');
Insert Into Penyewa values ('P-005 ','Atika','Padang','0751-784341','Tetap');
Insert Into Penyewa values ('P-006 ','Widya','Padang','0751-784381','Tetap');
Insert Into Penyewa values ('P-007 ','Ayu Lestari','Padang','0751-784921','Tidak Tetap');
Insert Into Penyewa values ('P-008 ','Siti Nurjanah','Padang','0751-784901','Tetap');
Insert Into Penyewa values ('P-009 ','Ari Mustapa','Padang','0751-784731','Tetap');
Insert Into Penyewa values ('P-0010','Ali Sadikin','Padang','0751-784561','Tidak Tetap');
Insert Into Penyewa values ('P-0011','Bayu Nugraha','Padang','0751-785821','Tetap');
Insert Into Penyewa values ('P-0012','Sitorus','Padang','0751-784361','Tetap');


Insert Into Vcd values ('SN-001','VCD-001','Kungfu Master 2',2500,'Ada');
Insert Into Vcd values ('SN-002','VCD-002','Kungfu Master 1',3500,'Ada');
Insert Into Vcd values ('SN-003','VCD-003','Star TREX 1',2500,'Ada');
Insert Into Vcd values ('SN-004','VCD-004','Kungfu KID Master 1',3500,'Ada');
Insert Into Vcd values ('SN-005','VCD-005','Kungfu KID Master 2',3500,'Ada');
Insert Into Vcd values ('SN-006','VCD-006','Star TREX 2',3000,'Ada');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-001','VCD-001','1-jan-05');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-002','VCD-002','1-jan-05');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-002','VCD-003','1-Okt-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-002','VCD-004','1-Mar-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-003','VCD-001','1-Apr-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-003','VCD-002','1-Jul-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-003','VCD-003','1-Mei-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-004','VCD-001','1-Mei-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-004','VCD-002','1-apr-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-004','VCD-003','1-des-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-005','VCD-001','1-Mar-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-005','VCD-002','1-Apr-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-005','VCD-003','1-Mei-06');
Insert Into peminjaman (kodePenyewa,Kodevcd, tglsewa) values ('P-005','VCD-006','1-apr-06');
MEMBACA RECORD DENGAN ADODC
Pada bagian ini kita akan mempelajari cara membaca
data atau record dari tabel menggunakan ADODC. Pada
bagian ini juga diberikan contoh penerapan penggunaan
ADODC untuk membaca data atau record dari tabel.
ADODC sendiri merupakan salinan dari tabel. Dengan
ADODC, Anda dapat membaca data atau record dari
tabel kemudian menampilkannya per record atau
sekaligus beberapa record. Anda dapat menggunakan
record atau data tabel melalui ADODC sehingga tidak
perlu khawatir data atau record berubah pada waktu
membaca tabel tersebut
 Menghubungkan ADODC Dengan Tabel
Contoh database Microsoft Access yang akan dipakai adalah dbAplikasi
yang terletak pada direktori C:\Data. Dapat digunakan dua cara untuk
menghubungkan ADODC dengan tabel, yaitu menggunakan ODBC Data
Source Name dan menggunakan Connection String. Kedua cara tersebut
akan dibahas satu persatu.

ODBC Data Source Name
Untuk menghubungkan ADODC dengan tabel menggunakan ODBC Data
Source Name, harus terdapat driver ODBC yang terhubung dengan
database di mana tabel tersebut berada. Sebagai contoh, kita akan
menggunakan ODBC Driver yang telah dibuat sebelumnya, yaitu Aplikasi.
Apabila Anda menggunakan ODBC Data Source Name untuk
menghubungkan tabel dengan dengan ADODC, sebaiknya Anda
menggunakan ODBC Driver untuk koneksi database agar Anda dapat
menggunakan ODBC Driver tersebut. Untuk menghubungkan ADODC
dengan tabel, langkahlangkahnya adalah sebagai berikut:
1. Tambahkan sebuah kontrol ADODC ke dalam form. Secara default
   nama dari ADODC tersebut adalah adodc1.




2. Klik-kanan adodc1, kemudian klik menu ADODC Properties seperti
   terlihat pada Gambar 7.2.
3. Pada kotak dialog Property Pages tab General, pilih Use ODBC Data
   Source Name. Lihat Gambar 7.3 untuk lebih jelasnya.




4. Pilih nama driver yang ingin dipakai pada kotak dialog Property Pages tab
   General. Sebagai contoh, pilih driver Aplikasi seperti pada Gambar 7.4.
5. Pada kotak dialog Property Pages tab RecordSource, Anda dapat
   menggunakan adCmdText dan adCmdTable untuk mengakses tabel.




6. Apabila Anda menggunakan adCmdText pada langkah sebelumnya,
   Anda harus mengisikan perintah SQL “Select“ pada bagian Command
   Text (SQL).
7.   Klik OK. ADODC dan tabel telah terhubung. Untuk melihat hasilnya, tambahkan sebuah data grid pada form.
     Untuk menambahkan data grid, klik-kanan toolbox, kemudian klik Components. Pada kotak dialog
     Components, beri tanda centang pada opsi Microsoft DataGrid Control 6.0 (OLEDB). Untuk jelasnya, coba
     lihat Gambar 7.7.




 8. Seperti pada penggunaan Command Type dengan adCmdText, tambahkan sebuah data grid
    pada form dan pilih adodc1 sebagai properti DataSource. Jalankan program tersebut. Hasilnya
    seperti Gambar 7.12.
 9. Untuk properti DataSource, pilih adodc1. Coba Anda jalankan program
    tersebut. Hasilnya seperti Gambar 7.9.




10. Untuk memindahkan record-record pada data grid, Anda dapat
    menggunakan tombol navigator pada ADODC tersebut.
Connection String
Setelah mempelajari penggunaan ODBC Data Source Name, selanjutnya
kita akan mempelajari penggunaan Connection String. Dengan Connection
String, Anda tidak perlu lagi membuat ODBC Driver seperti pada cara
sebelumnya. Untuk menghubungkan tabel dan ADODC menggunakan
Connection String, langkahlangkahnya adalah sebagai berikut:
1. Pada kotak dialog Property Pages tab General, pilih menu Use
   Connection String.
2.   Klik Builld.
3.   Pada kotak dialog Data Link Properties tab Provider, pilih OLE DB
     Provider dengan Microsoft Jet 4.0 OLE DB Provider.
4.   Klik Next.
5.   Pada kotak dialog Data Link Properties tab Connection, klik tombol
6. Seperti pada Gambar 7.16, pada kotak dialog Select Access Database,
   pilih database yang akan digunakan. Sebagai contoh, pilih database
   dbAplikasi yang telah dibuat sebelumnya.
7. Pada kotak dialog Property Pages tab RecordSource, pilih Command
   Type yang akan digunakan. Kita akan menggunakan dua Command
   Type, yaitu adCmdText dan adCmd Table seperti pada penggunaan
   ODBC Data Source Name.
8.   Apabila Anda menggunakan adCmdText, Anda harus mengisikan
     perintah SQL “Select“ pada bagian Command Text (SQL).
9.   Klik OK. ADODC dan tabel telah terhubung. Untuk melihat hasilnya,
     tambahkan sebuah data grid pada form.
11. Untuk properti DataSource, pilih adodc1. Jika Anda jalankan program
    tersebut, hasilnya seperti Gambar 7.20.
12. Untuk memindahkan record-record pada data grid, Anda dapat
    menggunakan tombol navigator pada ADODC tersebut.
     Contoh Penggunaan ADODC
     Berikut ini kita akan membuat contoh penggunaan ADODC. Akan dipakai database
     dbAplikasi dan tabel tbAnggota. Koneksi database ODBC Connection String dan
     ADODC metode Connection String akan digunakan dalam contoh ini. Untuk melihat
     penggunaan dari ADODC, lakukan langkah-langkah sebagai berikut:

1.     Buatlah sebuah proyek Standard EXE.
2.     Tambahkan tiga buah label, tiga buah textbox, sebuah command button, sebuah data grid dan
       sebuah ADODC.
 Objek       Properti     Setting
              Name        txtKode
  Text1
               Text

              Name        txtNama
  Text2
               Text

              Name       txtAlamat
  Text3
               Text

              Name        lblKode
 Label1
             Caption       Kode
              Name        lblNama
 Label2
             Caption       Nama
              Name       lblAlamat
 Label3
             Caption      Alamat
              Name       cmdSimpan
Command1
             Caption      Simpan
 adodc1      Visible       False
DataGrid1   DataSource    adodc1
3. Atur properti dari setiap objek tersebut seperti berikut:
4. Hubungkan adodc1 dan database dbAplikasi menggunakan Connection
   String.
5. Untuk RecordSource dari adodc1, gunakan adCmdText dan perintah SQL
   yang digunakan adalah “SELECT * FROM tbAnggota ORDER BY kode
   ASC”. Tampilannya seperti Gambar 7.24.
6. Tampilan form seperti Gambar 7.25.
7. Kode program yang digunakan adalah sebagai berikut:
8. Jalankan program tersebut, kemudian perhatikan form dan data grid
    yang terdapat pada form. Tampilan form seperti Gambar 7.26.
9. Setelah itu, isi textbox yang ada pada form kemudian klik Simpan.
    Sebagai contoh, isi textbox seperti pada Gambar
10. Setelah Anda mengisi textbox tersebut dan mengklik Simpan, data grid
    langsung berubah seperti pada Gambar 7.28.
Pada materi ini Anda akan diajarkan bagaimana membuat suatu aplikasi sederhana, yaitu
aplikasi persewaan Rental VCD. Pada materi ini mempunyai tujuan agar menguasai materi
koneksi database dengan ADO dapat lebih dipahami. Aplikasi ini pada dasarnya
memberikan contoh manipulasi database dengan SQL dan penggunaan Object yang sering
dipakai seperti ListView. Dengan sedikit modifikasi, Anda dapat menjadikan contoh
program aplikasi ini mempunyai nilai jual yang tinggi.
Level          Caption               Name
 0           &File Baru              MnFile
 1         &Penyewa Baru         MnPenyewa_baru
 1           &VCD Baru            MnVCD_Baru
 1                -                   Sp1
 1            &Keluar               MnKeluar
 0           &Transaksi           MnTransaksi
 1      Transaksi Peminjaman       MnPinjam
 1      Transaksi Pengembalian     MnKembali
           Frame

 TextBox




  Label


Command




ListView
TextBox

Command



 Label




Command



ListView
 ListBox

 Label




 ListBox



MsFledGrid

Command
 TextBox

Command


  Label


MsFledGrid




 ListBox




  ADODC
  TextBox
  Label

 ComboBox
 Command


MsFlexGrid
'********** RENTAL SEDERHANA *****************'
'create by Sumijan, M.Sc                    '
'*********************************************'

'Mendeklarasikan variabel koneksi secara general
Global strCon As New ADODB.Connection
'Public Const strString = "E:\soe\AplJar\Database\DSN\myRENTAL.dsn"
Public Const strString = _
    "FILE NAME=C:\Program Files\" & _
    "Common Files\ODBC\Data Sources\myRENTAL.dsn"


'Prosedur untuk membuka database
Public Sub BUKA_DATABASE()
  Set strCon = New ADODB.Connection
  strCon.Open strString, "admin", "trinurika"
  strCon.CursorLocation = adUseClient
End Sub

'Procedure untuk mengatur kolom header ListView
Public Sub AturListView(myForm As Form, ParamArray lstView())
  Dim i, Lebar

 myForm.listView1.View = lvwReport
 Lebar = myForm.listView1.Width - 80
 With myForm.listView1.ColumnHeaders
  .Clear
  For i = 0 To UBound(lstView) - 1 Step 2
   .Add , , lstView(i), (lstView(i + 1) * Lebar) / 100
  Next i
 End With
 Exit Sub
End Sub

'Fungsi untuk memblok isi TextBox
Public Function TextSelector(TextBox As TextBox)
   TextBox.SelStart = 0
   TextBox.SelLength = Len(TextBox.Text)
   TextBox.SetFocus
End Function
Private Sub MnIDPeminjman_Click()
FormInfoPeminjaman.Show
End Sub
'Menu keluar
Private Sub mnKeluar_Click()
  End
End Sub
'Menampilkan form Pengembalian
Private Sub mnKembali_Click()
  frmPengembalian.Show
End Sub
'Menampilkan form Penyewa
Private Sub mnPenyewa_Baru_Click()
  frmPenyewa.Show
End Sub
'Menampilkan form Peminjaman
Private Sub mnPinjam_Click()
  frmPeminjaman.Show
End Sub
'Menampilkan form VCD
Private Sub mnVCD_Baru_Click()
  frmVCD.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.Index
 Case 1
  End
 Case 7
  FormInfoPeminjaman.Show
End Select
End Sub
'Mendeklarasikan general untuk form VCD
Dim rsVCD As New ADODB.Recordset
Dim Item As ListItem

'Tombol Simpan VCD baru
Private Sub cmdSimpan_Click()
On Error GoTo ErrSimpan
  Dim strsql As String

 If txtKode.Text = "" Or txtJudul.Text = "" _
    Or txtHarga.Text = "" Then Exit Sub

'Membuat rsVCD yang baru dan
'membuka tabel VCD
 Set rsVCD = New ADODB.Recordset
 rsVCD.LockType = adLockOptimistic
 rsVCD.Open "VCD", strCon

'Memasukkan data ke Tabel VCD
 Jum_Rec = rsVCD.RecordCount
 rsVCD.AddNew
 rsVCD!Id_VCD = Jum_Rec + 1
 rsVCD!kode_vcd = txtKode.Text
 rsVCD!Judul = txtJudul.Text
 rsVCD!Harga_Sewa = txtHarga.Text
 rsVCD.Update

'Menampilkan data VCD baru ke listview
 Set Item = listView1.ListItems.Add(1, , txtKode.Text)
   listView1.ListItems(1).Bold = True
   listView1.ListItems(1).ForeColor = vbRed
   listView1.ListItems(1).ListSubItems.Add 1 _
   , , txtJudul.Text
   listView1.ListItems(1).ListSubItems.Add 2 _
   , , txtHarga.Text

'Menghapus isi Textbox
 ClearTextbox
'Menampilkan Total record VCD
 Label4.Caption = "Total Record : " _
   & rsVCD.RecordCount
 txtKode.SetFocus

'Perangkap Kesalahan
  Exit Sub
ErrSimpan:
   MsgBox "Kode VCD sudah terdaftar ", _
   vbInformation
   txtKode.SetFocus
End Sub
Private Sub CommandClose_Click()
Unload Me
End Sub

Private Sub Form_Load()
'Mengetengahkan form VCD
 Move (Screen.Width - Width) / 2, _
 (Screen.Height - Height) / 3

'Membuka database
 BUKA_DATABASE

'Mengatur Kolom Header objek listview
 AturListView Me, "Kode VCD", 20, _
  "Judul", 65, "Harga Sewa", 20

 Set rsVCD = New ADODB.Recordset
 rsVCD.CursorLocation = adUseClient
 rsVCD.LockType = adLockOptimistic

 strsql = "SELECT * FROM VCD " & _
       "ORDER BY KODE_VCD"
 rsVCD.Open strsql, strCon

'Menampilkan semua data VCD ke listview
 i=1
 Do While Not rsVCD.EOF
 Set Item = listView1.ListItems.Add(i, , rsVCD!kode_vcd)
   listView1.ListItems(Rec + 1).Bold = True
   listView1.ListItems(Rec + 1).ForeColor = vbRed
   Item.SubItems(1) = rsVCD!Judul
   Item.SubItems(2) = rsVCD!Harga_Sewa
   rsVCD.MoveNext
 Loop
'Menampilkan total record
 Label4.Caption = "Total Record : " & rsVCD.RecordCount
End Sub
'Procedure hapus textbox
Sub ClearTextbox()
   txtKode.Text = ""
   txtJudul.Text = ""
   txtHarga.Text = ""
End Sub

Private Sub Form_Unload(Cancel As Integer)
  rsVCD.Close
  Set rsVCD = Nothing
End Sub

'Menampilkan record aktif
'jika item listview jika di click
Private Sub listView1_Click()
   Index = listView1.SelectedItem.Index
   Label5.Caption = "Record Aktif :" & Index
End Sub
'Menghapus item listview dengan event double klik
Private Sub listView1_DblClick()
On Error GoTo ErrPesan
Dim i As Integer
Dim TempIndex As Integer
Dim TempKode, strsql As String

 If listView1.ListItems.Count = 0 Then
    Exit Sub
 End If

 TempIndex = listView1.SelectedItem.Index
 TempKode = listView1.ListItems.Item(TempIndex)

'Konfirmasi penghapusan record
  jawab = MsgBox("Apakah Anda yakin Kode " & TempKode & _
             vbCrLf & " Akan dihapus ? ", _
             vbInformation + vbYesNo)
  If jawab = vbNo Then Exit Sub

 strsql = "DELETE FROM VCD " & _
        "WHERE Kode_VCD = '" & TempKode & "'"

'Pengeksekusian penghapusan
  strCon.Execute strsql
  Label4.Caption = "Total Record : " & rsVCD.RecordCount
  i = listView1.SelectedItem.Index
  listView1.ListItems.Remove i

 Exit Sub

ErrPesan:
  MsgBox "VCD sedang dipinjam" & vbCrLf & _
      "Jadi belum bisa dihapus", vbInformation
End Sub
'Mendeklarasikan variabel recordset rsPenyewa
Dim rspenyewa As New ADODB.Recordset
Dim Item As ListItem

'Tombol Simpan
Private Sub cmdSimpan_Click()
On Error GoTo ErrSimpan
  Dim strsql As String

 If txtKode.Text = "" Or txtNama.Text = "" _
    Or txtAlamat.Text = "" Then Exit Sub

'Membuat rsPenyewa yang baru
 Set rspenyewa = New ADODB.Recordset
 rspenyewa.LockType = adLockOptimistic
 rspenyewa.Open "Penyewa", strCon

'Memasukkan data ke recordset penyewa
 Jum_Rec = rspenyewa.RecordCount
 rspenyewa.AddNew
 rspenyewa!no = Jum_Rec + 1
 rspenyewa!kode_penyewa = txtKode.Text
 rspenyewa!nama = txtNama.Text
 rspenyewa!Alamat = txtAlamat.Text
 rspenyewa!Telpon = txtTelpon.Text
 rspenyewa!Keterangan = txtKeterangan.Text
 rspenyewa.Update

'Menampilkan data penyewa baru ke listview
 Set Item = listView1.ListItems.Add(1, , txtKode.Text)
  listView1.ListItems(1).Bold = True
  listView1.ListItems(1).ForeColor = vbRed
  listView1.ListItems(1).ListSubItems.Add 1 _
  , , txtNama.Text
  listView1.ListItems(1).ListSubItems.Add 2 _
  , , txtAlamat.Text
  listView1.ListItems(1).ListSubItems.Add 3 _
  , , txtTelpon.Text
  listView1.ListItems(1).ListSubItems.Add 4 _
  , , txtKeterangan.Text

'Menghapus textbox
 ClearTextbox
'Menampilkan total record
 Label6.Caption = "Total Record : " & _
 rspenyewa.RecordCount
 txtKode.SetFocus

 Exit Sub
ErrSimpan:
  MsgBox "Kode Penyewa sudah terdaftar ", _
  vbInformation
  txtKode.SetFocus
End Sub
Private Sub CommandClose_Click()
Unload Me
End Sub

Private Sub Form_Load()
'Mengetengahkan form penyewa
 Move (Screen.Width - Width) / 2, _
 (Screen.Height - Height) / 3

'Membuka database
 BUKA_DATABASE
'Mengatur Kolom Header objek listview
 AturListView Me, "Kode Penyewa", 20, _
    "Nama", 40, "Alamat", 40, _
    "Telpon", 40, "Keterangan", 40

 Set rspenyewa = New ADODB.Recordset
 rspenyewa.CursorLocation = adUseClient
 rspenyewa.LockType = adLockOptimistic

 strsql = "SELECT * FROM PENYEWA " & _
       "ORDER BY KODE_PENYEWA"

'Membuka recordset dari strSQL
 rspenyewa.Open strsql, strCon

'Menampilkan semua data penyewa ke listview
 i=1
 Do While Not rspenyewa.EOF
 Set Item = listView1.ListItems.Add(i, _
 , rspenyewa!kode_penyewa)
    listView1.ListItems(Rec + 1).Bold = True
    listView1.ListItems(Rec + 1).ForeColor = vbRed
    Item.SubItems(1) = rspenyewa!nama
    Item.SubItems(2) = rspenyewa!Alamat
    Item.SubItems(3) = rspenyewa!Telpon
    Item.SubItems(4) = rspenyewa!Keterangan
    rspenyewa.MoveNext
 Loop
'Menampilkan total record
 Label6.Caption = "Total Record : " _
    & rspenyewa.RecordCount
End Sub
'Procedure hapus textbox
Sub ClearTextbox()
   txtKode.Text = ""
   txtNama.Text = ""
   txtAlamat.Text = ""
   txtTelpon.Text = ""
   txtKeterangan.Text = ""
End Sub

'Menutup Recordset
Private Sub Form_Unload(Cancel As Integer)
  rspenyewa.Close
  Set rspenyewa = Nothing
End Sub

'Menampilkan record aktif
'jika item listview di click
Private Sub listView1_Click()
   Index = listView1.SelectedItem.Index
   Label7.Caption = "Record Aktif :" & Index
End Sub

'Menghapus item data listview dengan event double klik
Private Sub listView1_DblClick()
On Error GoTo ErrPesan
Dim i As Integer
Dim TempIndex As Integer
Dim TempKode, strsql As String

 If listView1.ListItems.Count = 0 Then
    Exit Sub
 End If

 TempIndex = listView1.SelectedItem.Index
 TempKode = listView1.ListItems.Item(TempIndex)

'Konfirmasi penghapusan record
  jawab = MsgBox("Apakah Anda yakin Data " & TempKode & _
  vbCrLf & " Akan dihapus ? ", vbInformation + vbYesNo)
  If jawab = vbNo Then Exit Sub

 strsql = "DELETE FROM Penyewa " & _
       "WHERE Kode_Penyewa = '" & TempKode & "'"

'Pengeksekusian penghapusan
  strCon.Execute strsql

 Label6.Caption = "Total Record : " _
 & rspenyewa.RecordCount
 i = listView1.SelectedItem.Index
 listView1.ListItems.Remove i

 Exit Sub

ErrPesan:
 MsgBox "Data tidak belum bisa dihapus " & vbCrLf & _
   " Penyewa masih meminjam VCD ", vbInformation
End Sub
''Mendeklarasikan general untuk form Pengembalian
Dim rspenyewa As New ADODB.Recordset
Dim rsPengembalian As New ADODB.Recordset
Dim rsKembaliVCD As New ADODB.Recordset

'Tombol cmdKanan
Private Sub cmdKanan_Click()
  On Error Resume Next
  Dim i As Integer
  If List1.ListCount = 0 Then Exit Sub

 List2.AddItem List1.Text
 i = List1.ListIndex
 List1.RemoveItem List1.ListIndex
 If List1.ListCount > 0 Then
   If i > List1.ListCount - 1 Then
     List1.ListIndex = i - 1
   Else
     List1.ListIndex = i
   End If
 End If
 List2.ListIndex = List2.NewIndex
End Sub

'Tombol cmdKananSemua
Private Sub cmdKananSemua_Click()
On Error Resume Next
  Dim i As Integer
  For i = 0 To List1.ListCount - 1
   List2.AddItem List1.List(i)
  Next
  List1.Clear
  List2.ListIndex = 0
End Sub
'Tombol cmdKembali
Private Sub cmdKembali_Click()
 Dim strsql As String

  strsql = "SELECT Kode_VCD, Status FROM VCD " & _
         "ORDER BY Kode_VCD"

 Set rsKembaliVCD = New ADODB.Recordset
   rsKembaliVCD.LockType = adLockOptimistic
   rsKembaliVCD.Open strsql, strCon

   i=0
   n = List2.ListCount - 1
Do Until rsKembaliVCD.EOF
 For i = 0 To n
   List2.ListIndex = i
   If rsKembaliVCD.Fields("Kode_VCD") = _
      List2.Text Then
      rsKembaliVCD.Update "Status", "ADA"
  strCon.Execute "DELETE FROM Peminjaman " & _
  "WHERE Kode_VCD = '" & List2.Text & "' "
   End If
 Next
 rsKembaliVCD.MoveNext
Loop
 List2.Clear
 rsKembaliVCD.Close
End Sub

'Tombol cmdKiri
Private Sub cmdKiri_Click()
  On Error Resume Next
  Dim i As Integer

 If List2.ListCount = 0 Then Exit Sub

 List1.AddItem List2.Text
 i = List2.ListIndex
 List2.RemoveItem i

 List1.ListIndex = List1.NewIndex
 If List2.ListCount > 0 Then
   If i > List2.ListCount - 1 Then
     List2.ListIndex = i - 1
   Else
     List2.ListIndex = i
   End If
 End If
End Sub
'Tombol cmdKiriSemua
Private Sub cmdKiriSemua_Click()
  On Error Resume Next
  Dim i As Integer
  For i = 0 To List2.ListCount - 1
   List1.AddItem List2.List(i)
  Next
  List2.Clear
  List1.ListIndex = List1.NewIndex
End Sub
'Tombol cmdKodePenyewa
Private Sub cmdKodePenyewa_Click()
On Error Resume Next
Dim sqlCariPenyewa As String
Dim sqlPengembalian As String

sqlCariPenyewa = "SELECT * FROM Penyewa " & _
"WHERE Kode_Penyewa= '" & txtKodePenyewa.Text & "' "

 Set rspenyewa = New ADODB.Recordset
 rspenyewa.Open sqlCariPenyewa, strCon

 If txtKodePenyewa.Text = "" Then Exit Sub
 If txtKodePenyewa.Text <> rspenyewa!kode_penyewa Then
    MsgBox ("Kode Penyewa belum terdaftar !")
    txtKodePenyewa.SetFocus
    Exit Sub
 End If
 lblNama.Caption = rspenyewa!nama
 lblAlamat.Caption = rspenyewa!Alamat
 lblTelpon.Caption = rspenyewa!Telpon
 lblKeterangan.Caption = rspenyewa!Keterangan
 TextSelector txtKodePenyewa

 sqlPengembalian = "SELECT * FROM VCD " & _
   "INNER JOIN Peminjaman " & _
   "ON VCD.Kode_VCD = Peminjaman.Kode_VCD " & _
   "WHERE Peminjaman.Kode_Penyewa= '" & _
   txtKodePenyewa.Text & "' "

 Set rsPengembalian = New ADODB.Recordset
 rsPengembalian.Open sqlPengembalian, strCon

  If txtKodePenyewa.Text = "" Then Exit Sub
  List1.Clear
'Menampilkan kode VCD yang dipinjam
'berdasarkan kode penyewa
  Do Until rsPengembalian.EOF
     List1.AddItem rsPengembalian!kode_vcd
     List1.ListIndex = 0
     rsPengembalian.MoveNext
  Loop
End Sub
Private Sub CommandClose_Click()
Unload Me
End Sub

Private Sub Form_Load()
'Mengetengahkan form penyewa
 Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

 BUKA_DATABASE
 MSFlexGrid1.Visible = False
 Set rspenyewa = New ADODB.Recordset
 rspenyewa.CursorLocation = adUseClient
 rspenyewa.LockType = adLockOptimistic
 rspenyewa.Open "Penyewa", strCon
 Call MSFlexGrid1_DblClick
End Sub

Private Sub MSFlexGrid1_DblClick()
txtKodePenyewa.Text = MSFlexGrid1.Text
MSFlexGrid1.Visible = False
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
With rspenyewa
   .MoveFirst
   Do Until .EOF
    MSFlexGrid1.Row = MSFlexGrid1.Row + 1
    MSFlexGrid1.Col = 0
    MSFlexGrid1.Text = MSFlexGrid1.Row
    MSFlexGrid1.Col = 1
    MSFlexGrid1.Text = !kode_penyewa
    MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
    .MoveNext
    Loop
 End With
End Sub

Private Sub txtKodePenyewa_Click()
MSFlexGrid1.Visible = True
End Sub
'Mendeklarasikan variabel secara general
'untuk form peminjaman
Dim rspenyewa As New ADODB.Recordset
Dim rsVCD As New ADODB.Recordset
Dim strsql As String
Dim Item As ListItem

'Tombol cmdKodePenyewa
Private Sub cmdKodePenyewa_Click()
On Error Resume Next
Dim sqlCariPenyewa As String
   sqlCariPenyewa = "SELECT * FROM Penyewa " & _
       "WHERE Kode_Penyewa= '" & txtKodePenyewa.Text & "' "

'Membuka recordset dari sqlCariPenyewa
 Set rspenyewa = New ADODB.Recordset
 rspenyewa.Open sqlCariPenyewa, strCon


 If txtKodePenyewa.Text = "" Then Exit Sub
 If txtKodePenyewa.Text <> rspenyewa!kode_penyewa Then
    MsgBox ("Kode Penyewa belum terdaftar !")
    txtKodePenyewa.SetFocus
    Exit Sub
 End If

 lblNama.Caption = rspenyewa!nama
 lblAlamat.Caption = rspenyewa!Alamat
 lblTelpon.Caption = rspenyewa!Telpon
 lblKeterangan.Caption = rspenyewa!Keterangan
 txtKodeVCD.SetFocus
 cmdKodeVCD.Default = True
End Sub
Private Sub cmdKodeVCD_Click()
On Error Resume Next
Dim sqlVCD As String
Dim cekSTATUS As String
Dim itemString As String

sqlVCD = "SELECT * FROM VCD " & _
     "WHERE Kode_VCD = '" & txtKodeVCD.Text & "' "

 Set rsVCD = New ADODB.Recordset
   rsVCD.Open sqlVCD, strCon

 On Error Resume Next
 cekSTATUS = rsVCD.Fields("Status")
 If cekSTATUS = "Keluar" Then
    MsgBox "Kode VCD " & UCase(txtKodeVCD.Text) & _
    " sedang Keluar ! ", vbInformation
    TextSelector txtKodeVCD
    Exit Sub
 End If

 If txtKodeVCD.Text = "" Then Exit Sub

On Error Resume Next
 rsVCD.MoveFirst
 rsVCD.Find "Kode_VCD=" & txtKodeVCD.Text
 If rsVCD.EOF Then
    MsgBox "Kode VCD " & UCase(kode_vcd.Text) & _
    " yang dicari tidak terdaftar !", vbInformation
         TextSelector txtKodeVCD
         Exit Sub
 End If

'Memasukkan kedalam grid list view
  Rec = listView1.ListItems.Count

 Set Item = listView1.ListItems.Add(, , rsVCD!kode_vcd)
   listView1.ListItems(Rec + 1).Bold = True
   listView1.ListItems(Rec + 1).ForeColor = vbRed
   Item.SubItems(1) = rsVCD!Judul
   Item.SubItems(2) = rsVCD!Harga_Sewa


  txtKodeVCD.Text = ""
  lblTotalHarga.Caption = Val(lblTotalHarga.Caption) _
  + Item.SubItems(2)
  lblRecord.Caption = "Jumlah : " & _
  listView1.ListItems.Count & " buah"
  Exit Sub
End Sub
Private Sub cmdPinjam_Click()
'On Error Resume Next
  Dim sql_PENYEWA As String
  Dim sql_VCD As String
  Dim Syarat As String

 Rec = listView1.ListItems.Count
 If Rec = 0 Then Exit Sub
 'Untuk memasukkan Kode VCD kedalam Tabel Peminjaman
 For i = 1 To Rec
    Syarat = listView1.ListItems(i)
    sql_VCD = "SELECT DISTINCT * FROM VCD " & _
          "WHERE Kode_VCD = '" & Syarat & "' "

 Set RS_PINJAM = New ADODB.Recordset
 RS_PINJAM.LockType = adLockOptimistic
 RS_PINJAM.Open "Peminjaman", strCon
 Set RS_VCD = New ADODB.Recordset
 RS_VCD.LockType = adLockOptimistic
 RS_VCD.Open sql_VCD, strCon
 RS_PINJAM.AddNew
 RS_PINJAM.Fields("Kode_Penyewa") = txtKodePenyewa.Text
 RS_PINJAM.Fields("Kode_VCD") = listView1.ListItems(i)
 RS_PINJAM.Fields("Tgl_Sewa") = CDate(Now)
 RS_VCD.Update ("Status"), "Keluar"
   Set RS_VCD = Nothing
   RS_PINJAM.Update
 Next i

'BUAT NOTA PEMINJAMAN
  j = listView1.ListItems.Count
  Printer.Print "RENTAL JVC DISC"
  Printer.Print "Jl. Perusahaan Dabo Singkep Riau"
  Printer.Print "********************************"
  Printer.Print "Kode Anggota : " & txtKodePenyewa.Text
  Printer.Print "Nama Anggota : " & lblNama.Caption
  Printer.Print "Tgl Sewa        : " & CDate(Now)
  Printer.Print ""
  Printer.Print "*********************************************"
  Printer.Print "No. Kode Harga Judul                       "
  Printer.Print "*********************************************"
  For i = 1 To j
     Printer.Print i & " " & _
         listView1.ListItems.Item(i) & vbTab & _
         listView1.ListItems.Item(i).SubItems(2) & vbTab & _
         listView1.ListItems.Item(i).SubItems(1)
  Next i
  Printer.Print "*********************************************"
  Printer.Print " Total Rp. " & lblTotalHarga.Caption
  Printer.Print "*********************************************"

'Membersihkan objek text dan listview
  listView1.ListItems.Clear
  txtKodePenyewa.SetFocus
  lblTotalHarga.Caption = ""
  lblTotalHarga.Caption = "0"
  txtKodePenyewa.Text = ""
  txtKodeVCD.Text = ""
  lblRecord.Caption = "Jumlah :"

Exit Sub
End Sub
Private Sub CommandClose_Click()
Unload Me
End Sub

Private Sub Form_Load()
'Mengetengahkan form penyewa
 Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3

 BUKA_DATABASE
'Mengatur objek listview
 AturListView Me, "Kode VCD", 20, "Judul", 60, "Harga", 20
 MSFlexGrid1.Visible = False
 MSFlexGrid2.Visible = False
 Set rspenyewa = New ADODB.Recordset
 rspenyewa.CursorLocation = adUseClient
 rspenyewa.LockType = adLockOptimistic
 rspenyewa.Open "Penyewa", strCon
 Set rsVCD = New ADODB.Recordset
 rsVCD.CursorLocation = adUseClient
 rsVCD.LockType = adLockOptimistic
 rsVCD.Open "vcd", strCon
 Call MSFlexGrid1_DblClick
 Call MSFlexGrid2_DblClick
End Sub



Private Sub txtKodePenyewa_Click()
MSFlexGrid1.Visible = True
End Sub
Private Sub MSFlexGrid1_DblClick()
txtKodePenyewa.Text = MSFlexGrid1.Text
MSFlexGrid1.Visible = False
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
With rspenyewa
   .MoveFirst
   Do Until .EOF
     MSFlexGrid1.Row = MSFlexGrid1.Row + 1
     MSFlexGrid1.Col = 0
     MSFlexGrid1.Text = MSFlexGrid1.Row
     MSFlexGrid1.Col = 1
     MSFlexGrid1.Text = !kode_penyewa
     MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
     .MoveNext
    Loop
 End With
End Sub

Private Sub txtKodeVCD_Click()
MSFlexGrid2.Visible = True
End Sub
Private Sub MSFlexGrid2_DblClick()
txtKodeVCD.Text = MSFlexGrid2.Text
MSFlexGrid2.Visible = False
MSFlexGrid2.Row = 0
MSFlexGrid2.Col = 0
With rsVCD
   .MoveFirst
   Do Until .EOF
     MSFlexGrid2.Row = MSFlexGrid2.Row + 1
     MSFlexGrid2.Col = 0
     MSFlexGrid2.Text = MSFlexGrid2.Row
     MSFlexGrid2.Col = 1
     MSFlexGrid2.Text = !kode_vcd
     MSFlexGrid2.Rows = MSFlexGrid2.Rows + 1
     .MoveNext
    Loop
 End With
End Sub
Dim no, hal, brs As Integer
Dim total As Single
Dim rspeminjaman As New ADODB.Recordset
Dim rspenyewa As New ADODB.Recordset
Private Sub Combo1_click()
rspenyewa.Filter = "kode_penyewa='" & Combo1.Text & "'"
Text1.Text = rspenyewa.Fields(1)
Call CommandPreview_Click
End Sub

Private Sub CommandClose_Click()
 Unload Me
End Sub
Private Sub ClearInfo()
   info.Clear
 info.Rows = 2
 info.Cols = 9
 info.Row = 0
 info.Col = 0: info.Text = "No"
 info.Col = 1: info.Text = "Kode VCD"
 info.Col = 2: info.Text = "Judul"
 info.Col = 3: info.Text = "Biaya Sewa"
 info.Col = 4: info.Text = "Tgl Sewa"
 info.Col = 5: info.Text = "Tgl Kembali"
 info.Col = 6: info.Text = "Lama Sewa"

 info.ColWidth(0) = 700
 info.ColWidth(1) = 1000
 info.ColWidth(2) = 2500
 info.ColWidth(3) = 1000
 info.ColWidth(4) = 2500
 info.ColWidth(5) = 1500
 info.ColWidth(6) = 1500
 info.ColWidth(7) = 1500
 info.ColWidth(8) = 1500
End Sub
Private Sub CommandPreview_Click()
 ClearInfo
 no = 0
 info.Row = 1
 total = 0
 With rspeminjaman
 .MoveFirst
 Do While Not .EOF
  If .Fields(0) = Combo1.Text Then
   no = no + 1
   info.Col = 0: info.Text = no
   info.Col = 1: info.Text = .Fields(2)
   info.Col = 2: info.Text = .Fields(3)
   info.Col = 3: info.Text = Format(.Fields(4), "###,####")
   info.Col = 4: info.Text = Format(.Fields(5), "Dd-M-yyyy")
   info.Rows = info.Rows + 1
   info.Row = info.Row + 1
   total = total + .Fields(4)
  End If
   .MoveNext
 Loop
 info.Rows = info.Rows + 1
 info.Col = 3
 info.Text = Format(total, "###,###")
 info.Col = 2
 info.Text = "Total Sewa "
 If no = 0 Then
   Call ClearInfo
 Else
   info.Rows = info.Rows - 1
 End If
 info.SetFocus
 info.Row = 1
 info.Col = 0
 End With
End Sub


Private Sub Form_Load()
On Error Resume Next
 BUKA_DATABASE
 Set rspeminjaman = New ADODB.Recordset
 rspeminjaman.CursorLocation = adUseClient
 rspeminjaman.LockType = adLockOptimistic
 rspeminjaman.Open "select t1.kode_penyewa, nama, t2.kode_vcd, judul, harga_sewa, tgl_sewa, tgl_kembali from penyewa t1, vcd t2, peminjaman t3 where t1.kode_penyewa=t3.kode_penyewa and t2.kode_vcd=t3.kode_vcd", strCon
 Set rspenyewa = New ADODB.Recordset
 rspenyewa.CursorLocation = adUseClient
 rspenyewa.LockType = adLockOptimistic
 rspenyewa.Open "select DISTINCT t1.kode_penyewa, nama from penyewa t1, vcd t2, peminjaman t3 where t1.kode_penyewa=t3.kode_penyewa and t2.kode_vcd=t3.kode_vcd", strCon
 rspenyewa.MoveFirst
 Do While Not rspenyewa.EOF
   Combo1.AddItem rspenyewa.Fields(0)
   rspenyewa.MoveNext
 Loop
 Call ClearInfo
 FormInfoPeminjaman.Height = 5000
 FormInfoPeminjaman.Width = 9000

End Sub
Private Sub Form_Resize()
 If FormInfoPeminjaman.WindowState <> 1 And FormInfoPeminjaman.Height
> 3000 And FormInfoPeminjaman.Width > 5000 Then
   info.Left = 100
   info.Top = 1000
   info.Width = FormInfoPeminjaman.ScaleWidth - 200
   If FormInfoPeminjaman.ScaleHeight > 1400 Then
     info.Height = FormInfoPeminjaman.ScaleHeight - 1900
   End If
   CommandPreview.Top = FormInfoPeminjaman.ScaleHeight - 750
   CommandPreview.Left = FormInfoPeminjaman.ScaleWidth - 3600
   CommandPrint.Top = FormInfoPeminjaman.ScaleHeight - 750
   CommandPrint.Left = FormInfoPeminjaman.ScaleWidth - 2400
   CommandClose.Top = FormInfoPeminjaman.ScaleHeight - 750
   CommandClose.Left = FormInfoPeminjaman.ScaleWidth - 1200
 End If
End Sub

				
DOCUMENT INFO
Description: Contoh Format Resume Perusahaan document sample