sistem informasi royalti - · pdf filemembuat database dan tabel ... dibuat memakai...
TRANSCRIPT
107
Sistem Informasi
Royalti
POKOK BAHASAN
Diagram Objek Sistem Informasi Royalti
Struktur File Sistem Informasi Royalti
Membuat Database dan Tabel
Form-Form yang Terlibat
Pembuatan Form Wizard
Pembuatan Form Designer
Desain Menu Sistem Informasi Royalti
Kompilasi Program
108
4.1 Pendahuluan Sistem Informasi Royalti yang akan dibahas ini difokuskan pada pengolahan pembayaran royalti ke penulis, tetapi dapat dikem-bangkan ke sistem informasi royalti yang lebih lengkap.
4.2 Diagram Objek Sistem Informasi Royalti Sebelum kita membuat model objek seharusnya membuat spesi-fikasi kebutuhan, tetapi dalam buku ini sistemnya sederhana, sehingga penulis langsung membuat model objeknya. Diagram objek merupakan alat yang dipakai pada model objek. Model objek adalah salah satu model OMT (Object Modelling Technique). Tujuan utama diagram objek adalah untuk mendapatkan susunan tabel.
Gambar 4.1 Diagram Objek Sistem Informasi Royalti
4.3 Struktur File Sistem Informasi Royalti Sebenarnya, dari model objek, kita harus mendesain database memakai Normalisasi karena model objek baru mencapai 2NF (Second Normal Form). Tabel dikatakan baik jika minimal sampai
109
3NF. Jika Anda mendesain database model objek sistem informasi penggajian memakai Normalisasi, berarti sudah mencapai 3NF dan BCNF. Dalam implementasi struktur file sistem informasi penggajian, seperti pada bentuk perangkat lunak database VDM (Visual Data Manager), yang merupakan perangkat lunak data-base terdapat dalam perangkat lunak Visual Basic 6.0 (Add-In). Struktur file sistem informasi penggajian terlihat seperti pada ketiga tabel berikut.
Tabel Buku
Field Name Data Type Field Size Description
KdBuku Text 15 Kode Buku
ISBN Text 20 International Serial Book Number
Judul Text 50 Judul Buku
Penulis Text 50 Penulis Buku
Cetakan Text 12 Cetakan Buku
Tahun Text 4 Tahun Terbit Buku
Exemplar Integer Exemplar Cetakan
Quantity Integer Quantity Buku
HrgBuku Double Harga Buku
Tabel 4.1 Struktur File Tabel Buku
Catatan: KdBuku sebagai kunci utama (Primary Key).
Tabel Penulis
Field Name Data Type Field Size Description
KdPenulis Text 9 Kode Penulis
NamaPenulis Text 50 Nama Penulis
AltPenulis Text 50 Alamat Penulis
JkPenulis Text 12 Jenis Kelamin Penulis
110
TglLhrPenulis Text 12 Tanggal Lahir Penulis
PhonePenulis Text 15 Telepon Penulis
Tabel 4.2 Struktur File Tabel Penulis
Catatan: KdPenulis sebagai kunci utama (Primary Key).
Tabel Royalti
Field Name Data Type Field Size Description
TglRoyalti Text 15 Tanggal Pembayaran Royalti
KdBuku Text 15 Kode Buku
KdPenulis Text 9 Kode Penulis
QtyByr Interger Quantity Bayar
Periode Text 50 Periode Royalti
Tabel 4.3 Struktur Tabel Royalti
Catatan: TglRoyalti;KdBuku;KdPenulis sebagai kunci utama (Primary Key).
4.4 Membuat Database dan Tabel
4.4.1 Membuat File Database
Database merupakan tempat untuk menampung file tabel. Langkah-langkah membuat database sebagai berikut:
1. Buka atau jalankan perangkat lunak Microsoft Visual Basic 6.0.
2. Di jendela New Project VB6 (Microsoft Visual Basic 6.0), klik Open, akan muncul lingkungan terpadu VB6.
3. Pilih menu Add_Ins > Visual Data Manager.
4. Pilih menu File > New…> Microsoft Access > Version 7.0 MDB…
111
5. Muncul jendela Select Microsoft Access Database to Create, lalu arahkan folder ke C:\Documents and Settings\Yuniar Supardi\My Documents\My Data\MyBook\EMK\10SisPopuler\ SIR (Anda dapat memilih folder yang lain) dan ketik nama file SisfoRoyalti di File name.
6. Klik Save, muncul jendela Database Window.
4.4.2 Membuat File Tabel
Untuk membuat tabel di dalam database, langkah-langkahnya sebagai berikut:
1. Klik kanan Properties di jendela Database Window.
2. Pilih New Table, akan muncul jendela Table Structure.
3. Ketik Buku di kotak Table Name dan klik Add Field, akan muncul jendela Add Field.
4. Ketik KdBuku di kotak Name, atur ukuran field menjadi 15 di kotak Size dan klik opsi Fixed Field (ukuran field tidak dapat diubah selama program berjalan), kemudian klik OK.
5. Lakukan lagi untuk field, seperti Tabel 4.4 di bawah ini.
Field Name Data Type Field Size
ISBN Text 20
Judul Text 50
Penulis Text 50
Cetakan Text 12
Tahun Text 4
Exemplar Integer
Quantity Integer
HrgBuku Double
Tabel 4.4 Lanjutan Field Tabel Buku
6. Setelah Anda memasukkan field terakhir (HrgBuku), klik tombol Close.
112
4.4.3 Membuat File Index
File Index dipakai untuk mencari record tertentu, field yang dijadikan index harus unique (tidak ada nilai datanya yang sama). Langkah-langkah membuat file index sebagai berikut:
1. Klik tombol Add Index untuk membuat file index, akan muncul jendela Add Index.
2. Ketik IdxBuku di kotak Name, hilangkan tanda checklist Unique, kemudian klik field KdBuku di kotak Available Field, sehingga field Nim muncul di kotak Indexed Field.
3. Klik OK.
4. Kemudian klik tombol Build the Table, tabel Buku akan terlihat di jendela Database Window.
4.4.4 Memasukkan Record ke Tabel
Untuk memasukkan record ke tabel, langkah-langkahnya sebagai berikut:
1. Dalam keadaan jendela Database Window terbuka, klik kanan di nama tabel yang akan dimasukkan record-nya. Sebagai contoh, kita klik kanan tabel Buku.
2. Pilih Open.
3. Klik tombol Add, lalu ketik record pertama seperti Gambar 4.2.
Gambar 4.2 Record Pertama
113
4. Akhiri dengan mengklik tombol Update, masukkan lagi satu record seperti Gambar 4.3 di bawah ini.
Gambar 4.3 Record Kedua
5. Klik Close.
6. Buat lagi tabel Penulis, klik kanan di Properties pada Database Window.
7. Buat tabel Penulis dengan struktur file seperti Tabel 4.5.
Field Name Data Type Field Size
KdPenulis Text 9
NamaPenulis Text 50
AltPenulis Text 50
JkPenulis Text 12
TglLhrPenulis Text 12
PhonePenulis Text 15
Tabel 4.5 Struktur File Tabel Penulis
Catatan: KdPenulis sebagai kunci utama (Primary Key), nama file index-nya IdxPenulis. Isi record-record Penulis seperti Gambar 4.4 dan Gambar 4.5.
114
Gambar 4.4 Record Pertama
Gambar 4.5 Record Kedua
8. Buat tabel Royalti dengan struktur file seperti Tabel 4.6.
Field Name Data Type Field Size
TglRoyalti Text 12
KdBuku Text 15
KdPenulis Text 9
QtyByr Integer
Periode Text 30
Tabel 4.6 Field-Field Tabel Royalti
115
9. Klik tombol Add Index untuk membuat file index, akan muncul jendela Add Index.
10. Ketik IdxRoyalti di kotak Name, hilangkan tanda checklist Unique, kemudian klik field TglRoyalti, KdBuku dan KdPenulis di kotak Available Field, sehingga field TglRoyalti;KdBuku;KdPenulis muncul di kotak Indexed Field.
11. Klik OK.
12. Kemudian klik tombol Build the Table.
13. Untuk sementara tutup (Close) dahulu VisData (VDM).
4.5 Form-Form yang Terlibat Dalam Sistem Informasi Pendidikan ini, form yang akan dibuat jumlahnya ada tiga, yaitu Form_Buku (untuk data Buku), Form_Penulis (untuk data Penulis), dan Form_Royalti (untuk menampung perhitungan royalti). Form_Buku dan Form_Penulis dibuat memakai Microsoft Visual Basic 6.0 dengan memanfaatkan Form Wizard, sedangkan Form_Royalti dibuat memakai Form Designer.
4.6 Pembuatan Form Wizard Form Wizard merupakan sarana untuk membuat form dengan cepat, feature ini merupakan salah satu andalan dari VB 6. Cara membuatnya akan dibahas pada subbab berikut ini.
4.6.1 Pembuatan Form_Buku
Langkah-langkah membuat form wizard Form_Buku seperti yang dibahas pada Bab 1. Simpan form dengan nama Form_Buku dan project dengan nama PSIR.
116
4.6.2 Pembuatan Form_Penulis
Langkah-langkah membuat form wizard Form_Penulis seperti yang dibahas pada Bab 1. Simpan form dengan nama Form_Penulis.
Untuk membuat Form_Buku dan Form_Penulis ketika dijalankan posisinya berada di tengah layar, atur properti StartUpPosition menjadi 2-CenterScreen.
4.7 Pembuatan Form Designer Form Designer merupakan form yang kita buat secara manual (dibuat oleh pengembang/programmer). Contohnya Form_Royalti. Langkah-langkah membuatnya sebagai berikut:
1. Klik kanan di folder Forms, pilih Add > Form.
2. Muncul jendela Add Form, di tab New klik Open.
3. Buat Form_Royalti seperti Gambar 4.6.
Gambar 4.6 Form_Royalti
Pengaturan propertinya seperti Tabel 4.7.
No Objek Properti Nilai
1 Label1 Autosize True
2 Label1 Font/Font style Bold
117
3 Label1 Caption Royalti
4 Label1 Font/Size 18
5 Label2 Autosize True
6 Label2 Font/Font style Bold
7 Label2 Caption Tanggal Royalti
8 Label3 Autosize True
9 Label3 Font/Font style Bold
10 Label3 Caption Kode Buku
11 Label4 Autosize True
12 Label4 Font/Font style Bold
13 Label4 Caption Judul
14 Label5 Autosize True
15 Label5 Font/Font style Bold
16 Label5 Caption Penulis
17 Label6 Autosize True
18 Label6 Font/Font style Bold
19 Label6 Caption Cetakan
20 Label7 Autosize True
21 Label7 Font/Font style Bold
22 Label7 Caption Tahun
23 Label8 Autosize True
24 Label8 Font/Font style Bold
25 Label8 Caption Exemplar
26 Label9 Autosize True
27 Label9 Font/Font style Bold
28 Label9 Caption Quantity
29 Label10 Autosize True
30 Label10 Font/Font style Bold
118
31 Label10 Caption Harga Buku
32 Label11 Autosize True
33 Label11 Font/Font style Bold
34 Label11 Caption Kode Penulis
35 Label12 Autosize True
36 Label12 Font/Font style Bold
37 Label12 Caption Nama Penulis
38 Label13 Autosize True
39 Label13 Font/Font style Bold
40 Label13 Caption Quantity Bayar
41 Label14 Autosize True
42 Label14 Font/Font style Bold
43 Label14 Caption Terima
44 Label15 Autosize True
45 Label15 Font/Font style Bold
46 Label15 Caption Periode Bayar
47 TextBox1 Text (Dikosongkan/Dihapus)
48 TextBox1 Name TxtTglRoyalti
49 TextBox1 Maxlength 12
50 TextBox2 Text (Dikosongkan/Dihapus)
51 TextBox2 Name TxtKdBuku
52 TextBox2 Maxlength 9
53 TextBox3 Text (Dikosongkan/Dihapus)
54 TextBox3 Name TxtJudul
55 TextBox3 Maxlength 50
56 TextBox4 Text (Dikosongkan/Dihapus)
57 TextBox4 Name TxtPenulis
58 TextBox4 Maxlength 50
119
59 TextBox5 Text (Dikosongkan/Dihapus)
60 TextBox5 Name TxtCetakan
61 TextBox5 Maxlength 12
62 TextBox6 Text (Dikosongkan/Dihapus)
63 TextBox6 Name TxtTahun
64 TextBox6 Maxlength 4
65 TextBox7 Text (Dikosongkan/Dihapus)
66 TextBox7 Name TxtExemplar
67 TextBox8 Text (Dikosongkan/Dihapus)
68 TextBox8 Name TxtQuantity
69 TextBox9 Text (Diksongkan/Dihapus)
70 TextBox9 Name TxtHrgBuku
71 TextBox10 Text (Dikosongkan/Dihapus)
72 TextBox10 Name TxtKdPenulis
73 TextBox10 Maxlength 9
74 TextBox11 Text (Dikosongkan/Dihapus)
75 TextBox11 Name TxtNamaPenulis
76 TextBox11 Maxlength 50
77 TextBox12 Text (Dikosongkan/Dihapus)
78 TextBox12 Name TxtQtyByr
79 TextBox13 Text (Dikosongkan/Dihapus)
80 TextBox13 Name TxtTerima
81 TextBox14 Name TxtPeriode
82 TextBox14 Text (Dikosongkan/Dihapus)
83 TextBox14 Maxlength 30
84 Command1 Caption &Simpan
85 Command1 Font/Font style Bold
86 Command1 Name CmdSimpan
120
87 Command2 Caption &Batal
88 Command2 Font/Font style Bold
89 Command2 Name CmdBatal
90 Command3 Caption S&elesai
91 Command3 Font/Font style Bold
92 Command3 Name CmdSelesai
93 Form1 Caption Form Royalti
94 Form1 Name Form_Royalti
95 Form1 StartUpPosition 2-Center Screen
96 Data1 DatabaseName SisfoRoyalti
97 Data1 RecordsetType 0-Table
98 Data1 RecordSource Buku
99 Data2 DatabaseName SisfoRoyalti
100 Data2 RecordsetType 0-Table
101 Data2 RecordSource Penulis
102 Data3 DatabaseName SisfoRoyalti
103 Data3 RecordsetType 0-Table
104 Data3 RecordSource Royalti
Tabel 4.7 Pengaturan Properti Form_Royalti
4. Simpan Form dengan nama Form_Royalti.
4.7.1 Memberi Perintah Form_Royalti
Perintah-perintah yang dibuat pada Form_Royalti sebagai berikut:
1. Dalam keadaan View Code, pilih menu Tools > Add Procedure.
121
Gambar 4.7 Menu Tools > Add Procedure
2. Muncul jendela Add Procedure, atur seperti Gambar 4.8.
Gambar 4.8 Jendela Add Procedure
3. Klik OK, kemudian ketik perintah di bawah ini: TxtTglRoyalti.Text = " " TxtKdBuku.Text = " " TxtJudul.Text = " " TxtPenulis.Text = " " TxtCetakan.Text = " " TxtTahun.Text = " " TxtExemplar.Text = " " TxtQuantity.Text = " " TxtHrgBuku.Text = " " TxtKdPenulis.Text = " " TxtNamaPenulis.Text = " " TxtQtyByr.Text = " " TxtTerima.Text = " " TxtPeriode.Text = " "
Arti perintah di atas: Untuk mengosongkan data di objek TextBox.
122
4. Klik View Object untuk ke form, kemudian klik dua kali objek CmdBatal. Ketik perintah sebagai berikut: Kosongform TxtKdBuku.SetFocus
5. Klik View Object untuk ke form, kemudian klik dua kali objek CmdSelesai. Ketik perintah sebagai berikut: Unload Me
6. Klik View Object untuk ke form, kemudian klik dua kali objek CmdSimpan. Ketik perintah sebagai berikut: Dim x As Integer Dim M1 As Integer Dim M2 As Integer Data1.Recordset.Index = "IdxBuku" Data1.Recordset.Seek ">=", TxtKdBuku.Text If Not Data1.Recordset.NoMatch Then M1 = Val(TxtQuantity.Text) M2 = M1 - Val(TxtQtyByr.Text) Data1.Recordset.Edit Data1.Recordset!quantity = M2 Data1.Recordset.Update End If Data3.Recordset.AddNew Data3.Recordset!TglRoyalti = TxtTglRoyalti.Text Data3.Recordset!KdBuku = TxtKdBuku.Text Data3.Recordset!KdPenulis = TxtKdPenulis.Text Data3.Recordset!QtyByr = Val(TxtQtyByr.Text) Data3.Recordset!Periode = TxtPeriode.Text Data3.Recordset.Update Kosongform TxtKdBuku.SetFocus
Arti perintah di atas: Untuk menyimpan ke tabel Royalti.
7. Klik View Object untuk ke form, klik dua kali form yang tidak ada objek. Pilih Activate pada kotak Procedure, ketik perintah sebagai berikut: TxtTglRoyalti.Text = Date Tidakaktif
Arti perintah di atas: Untuk menampilkan tanggal sistem ke objek TextBox TxtTglRoyalti dan memanggil procedure Tidakaktif.
8. Buat procedure Tidakaktif dan ketik perintahnya sebagai berikut: TxtTglRoyalti.Enabled = False TxtJudul.Enabled = False
123
TxtPenulis.Enabled = False TxtCetakan.Enabled = False TxtTahun.Enabled = False TxtExemplar.Enabled = False TxtQuantity.Enabled = False TxtHrgBuku.Enabled = False TxtNamaPenulis.Enabled = False TxtTerima.Enabled = False TxtTglRoyalti.BackColor = &H8000000F TxtJudul.BackColor = &H8000000F TxtPenulis.BackColor = &H8000000F TxtCetakan.BackColor = &H8000000F TxtTahun.BackColor = &H8000000F TxtExemplar.BackColor = &H8000000F TxtQuantity.BackColor = &H8000000F TxtHrgBuku.BackColor = &H8000000F TxtNamaPenulis.BackColor = &H8000000F TxtTerima.BackColor = &H8000000F
9. Klik View Object untuk ke form, kemudian klik dua kali objek Textbox TxtKdBuku, pilih LostFocus pada kotak Procedure. Ketik perintah sebagai berikut: Dim x As Integer If Len(Trim(TxtKdBuku.Text)) < 15 Then TxtKdBuku.Text = " " TxtKdBuku.SetFocus Else Data1.Recordset.Index = "IdxBuku" Data1.Recordset.Seek ">=", TxtKdBuku.Text If Data1.Recordset.NoMatch Then x = MsgBox("Data Buku Tidak Ada!!!", vbOKOnly) TxtKdBuku.Text = " " TxtKdBuku.SetFocus Else TxtJudul.Text = Data1.Recordset!judul TxtPenulis.Text = Data1.Recordset!Penulis TxtCetakan.Text = Data1.Recordset!cetakan TxtTahun.Text = Data1.Recordset!tahun TxtExemplar.Text = Data1.Recordset!Exemplar TxtQuantity.Text = Data1.Recordset!quantity TxtHrgBuku.Text = Data1.Recordset!hrgbuku End If End If
10. Klik View Object untuk ke form, kemudian klik dua kali objek Textbox TxtKdPenulis, pilih LostFocus pada kotak Procedure. Ketik perintah sebagai berikut: Dim x As Integer If Len(Trim(TxtKdPenulis.Text)) < 9 Then TxtKdPenulis.Text = " " TxtKdPenulis.SetFocus Else Data2.Recordset.Index = "Idxpenulis" Data2.Recordset.Seek ">=", TxtKdPenulis.Text If Data2.Recordset.NoMatch Then x = MsgBox("Data Penulis Tidak Ada!!!", vbOKOnly)
124
TxtKdPenulis.Text = " " TxtKdPenulis.SetFocus Else TxtNamaPenulis.Text = Data2.Recordset!namapenulis End If End If Data3.Recordset.Index = "IdxRoyalti" Data3.Recordset.Seek ">=", TxtTglRoyalti.Text, TxtKdBuku.Text, TxtKdPenulis.Text If Not Data3.Recordset.NoMatch Then x = MsgBox("Sudah Terima Royalti!!!", vbOKOnly) Kosongform TxtKdBuku.SetFocus End If
11. Klik View Object untuk ke form, kemudian klik dua kali objek Textbox TxtQtyByr, pilih LostFocus pada kotak Procedure. Ketik perintah sebagai berikut: Dim Mterima1 As Double Dim Mterima2 As Double Dim x As Integer If Val(TxtQtyByr.Text) <= Val(TxtQuantity.Text) Then Mterima1 = Val(TxtQuantity.Text) * Val(TxtHrgBuku.Text) * 0.1 Mterima2 = Mterima1 * 0.15 TxtTerima.Text = Mterima2 Else x = MsgBox("Salah Quantity Bayar!!!", vbOKOnly) TxtQtyByr.Text = " " TxtQtyByr.SetFocus End If
12. Simpan kembali form dengan memilih menu File > Save atau mengklik ikon disket.
4.8 Desain Menu Sistem Informasi Royalti Menu merupakan fasilitas untuk memudahkan pemakai program dalam menjalankan program yang kita buat. Langkah-langkah membuat menu sebagai berikut:
1. Klik kanan folder Forms di Project Explorer, kemudian pilih menu Add > Form.
2. Pada tab New, klik tombol Open.
3. Kemudian buat Form dengan tampilan seperti Gambar 4.9.
125
Gambar 4.9 Form_Utama
4. Simpan form dengan memilih menu File > Save Form1 As…, muncul jendela Save File As, ketik Form_Utama di kotak File Name.
Pengaturan propertinya seperti Tabel 4.8.
No Objek Properti Nilai
1 Form_Utama Name Form_Utama
2 Form_Utama WindowState 2-Maximized
3 Form_Utama Caption Sistem Informasi Royalti
4 Form_Utama MinButton False
5 Form_Utama MaxButton False
6 Form_Utama Moveable False
Tabel 4.8 Pengaturan Properti Form_Utama
5. Kemudian klik ikon Menu Editor seperti Gambar 4.10.
Gambar 4.10 Ikon Menu Editor
6. Muncul jendela Menu Editor, atur seperti Gambar 4.11.
126
Gambar 4.11 Jendela Menu Editor
7. Pengaturan properti yang lainnya seperti Tabel 4.9.
No Caption Name
1 &Penulis Mnu_Penulis
2 &Royalti Mnu_Royalti
3 &Exit Mnu_Exit
Tabel 4.9 Pengaturan Menu Editor
8. Setelah mengisi Mnu_Exit di kotak Name, klik OK.
9. Jika Anda benar membuat menunya, tampilannya seperti Gambar 4.12.
Gambar 4.12 Menu Sistem Informasi Royalti
127
10. Klik Buku, ketik perintahnya sebagai berikut: Form_Buku.Show
Arti perintah di atas: Menampilkan Form_Buku.
11. Klik View Object, kemudian klik Penulis. Ketik perintahnya sebagai berikut: Form_Penulis.Show
Arti perintah di atas: Menampilkan Form_Penulis.
12. Klik View Object, kemudian klik Royalti. Ketik perintahnya sebagai berikut: Form_Royalti.Show
Arti perintah di atas: Menampilkan Form_Royalti.
13. Klik View Object, lalu klik Exit. Ketik perintahnya sebagai berikut: End
14. Pilih Project > Project1 Properties…, atur Startup Object menjadi Form_Utama, kemudian klik OK.
15. Klik ikon Start (panah ke kanan).
4.9 Kompilasi Program Supaya program dapat dijalankan tanpa sistem Microsoft Visual Basic 6.0, maka program harus dibuat menjadi file EXE (Exe-cutable file). Langkah-langkah membuat file EXE sebagai berikut:
1. Buka Project PSIR, jika belum terbuka atau aktif.
2. Pilih menu File > Make PSIR.exe….
3. Muncul jendela Make Project, ketik SisfoRoyalti sebagai nama file hasil exe dan klik OK.
4. Proses membuat file EXE berlangsung. Jika selesai, Anda sudah memiliki file application SisfoRoyalti, yang dapat dija-lankan di Windows Explorer.
***