L1
LAMPIRAN
1.
Tabel-tabel OLTP Nama Tabel
: AP_BANK_BRANCHES
Primary Key
: BANK_BRANCH_ID
Foreign Key
:-
Keterangan
: AP_BANK_BRANCHES merupakan tabel yang berisi data-data
dari cabang bank yang digunakan
Lampiran 1 Tabel AP_BANK_BRANCHES
L2
Nama Tabel
: AP_BANK_ACCOUNTS_ALL
Primary Key
: BANK_ACCOUNT_ID
Foreign Key
: BANK_BRANCH_ID
Keterangan
: AP_BANK_ACCOUNTS_ALL merupakan tabel yang berisi
data akun bank yang digunakan
Lampiran 2 Tabel AP_BANK_ACCOUNTS_ALL
L3
Nama Tabel
: AR_CASH_RECEIPTS_ALL
Primary Key
: CASH_RECEIPT_ID
Foreign Key
: CUST_ACCOUNT_ID, BANK_ACCOUNT_ID
Keterangan
: AR_CASH_RECEIPTS_ALL merupakan tabel yang berisi data-
dara receipt atau penerimaan barang untuk customer
Lampiran 3 Tabel AR_CASH_RECEIPTS_ALL
Nama Tabel
: AR_MISC_CASH_DISTRIBUTIONS_ALL
Primary Key
: MISC_CASH_DISTRIBUTION_ID
Foreign Key
: CASH_RECEIPT_ID, CUSTOMER_LINE_ID
Keterangan
: MISC_CASH_DISTRIBUTION_ID merupakan tabel yang
berisi data-data transaksi pada buku besar
L4
Lampiran 4 Tabel AR_MISC_CASH_DISTRIBUTIONS_ALL
Nama Tabel
: HZ_PARTIES
Primary Key
: PARTY_ID
Foreign Key
:-
Keterangan
: HZ_PARTIES merupakan tabel yang berisi data lengkap dari
customer
L5
Lampiran 5 Tabel HZ_PARTIES
Nama Tabel
: HZ_CUST_ACCOUNTS
Primary Key
: CUST_ACCOUNT_ID
Foreign Key
: PARTY_ID
Keterangan
: HZ_CUST_ACCOUNTS merupakan tabel yang berisi data akun
bank dari customer
L6
Lampiran 6 Tabel HZ_CUST_ACCOUNTS
Nama Tabel
: RA_CUSTOMERS_ALL
Primary Key
: CUSTOMER_ID
Foreign Key
: CUST_ACCOUNT_ID, CUST_TYPE_ID, ADV_ITEM_ID
Keterangan
: RA_CUSTOMERS_ALL merupakan tabel yang berisi data
transaksi dengan customer
Lampiran 7 Tabel RA_CUSTOMERS_ALL
L7
Nama Tabel
: RA_CUSTOMERS_LINES_ALL
Primary Key
: CUSTOMER_LINE_ID
Foreign Key
: CUSTOMER_ID, PROJECT_DETAIL_ID
Keterangan
: RA_CUSTOMERS_LINES_ALL merupakan tabel yang berisi
detail data transaksi dengan customer
Lampiran 8 Tabel RA_CUSTOMERS_LINES_ALL Nama Tabel
: RA_CUST_TYPES_ALL
Primary Key
: CUST_TYPE_ID
Foreign Key
:-
Keterangan
: RA_CUST_TYPES_ALL merupakan tabel master yang berisi
data tipe-tipe dari transaksi dengan customer
L8
Lampiran 9 Tabel RA_CUST_TYPES_ALL
Nama Tabel
: ADV_ITEMS
Primary Key
: ADV_ITEM_ID
Foreign Key
: ADV_CATEGORY_ID
Keterangan
: ADV_ITEMS merupakan tabel yang berisi data iklan yang ada
Lampiran 10
Tabel ADV_ITEMS
Nama Tabel
: ADV_CATEGORIES
Primary Key
: ADV_CATEGORY_ID
L9
Foreign Key
:-
Keterangan
: ADV_ CATEGORIES merupakan tabel master yang berisi data
mengenai kategori-kategori dari iklan yang ada
Lampiran 11 Tabel ADV_CATEGORIES
Nama Tabel
: PA_PROJECTS_ALL
Primary Key
: PROJECT_ID
Foreign Key
: PROJECT_CATEGORY_ID
Keterangan
: PA_PROJECTS_ALL merupakan tabel yang berisi project-
project atau film-film yang ada
Lampiran 12 Tabel PA_PROJECTS_ALL
L10
Nama Tabel
: PA_PROJECT_CATEGORIES
Primary Key
: PROJECT_CATEGORY_ID
Foreign Key
:-
Keterangan
: PA_PROJECT_CATEGORIES merupakan tabel master yang
berisi data mengenai kategori-kategori dari project-project yang ada
Lampiran 13 Tabel PA_PROJECT_CATEGORIES
Nama Tabel
: PA_PROJECT_DETAILS
Primary Key
: PROJECT_DETAIL_ID
Foreign Key
: PROJECT_ID
Keterangan
: PA_PROJECT_DETAILS merupakan tabel yang berisi data-
data detail dan lengkap dari project-project yang ada
L11
Lampiran 14 Tabel PA_PROJECT_DETAILS
Nama Tabel
: PA_EPISODES
Primary Key
: EPISODE_ID
Foreign Key
: PROJECT_ID
Keterangan
: PA_EPISODES merupakan tabel yang berisi data masing-
masing episode dari setiap project yang ada
Lampiran 15 Tabel PA_EPISODES
Nama Tabel
: BUDGET_PROJECTS
Primary Key
: BUDGET_PROJECT_ID
L12
Foreign Key
: PROJECT_ID
Keterangan
: BUDGET_PROJECTS merupakan tabel yang berisi detail data
budget dari project yang dibuat
Lampiran 16 Tabel BUDGET_PROJECTS
Nama Tabel
: BUDGET_EPISODES
Primary Key
: BUDGET_EPISODE_ID
Foreign Key
: BUDGET_PROJECT_ID, EPISODE_ID
Keterangan
: BUDGET_EPISODES merupakan tabel yang berisi data-data
budget dari setiap episode yang dibuat
L13
Lampiran 17 Tabel BUDGET_EPISODES
Nama Tabel
: BUDGET_DETAILS
Primary Key
: BUDGET_DETAIL_ID
Foreign Key
: BUDGET_EPISODE_ID, MTL_ITEM_ID
Keterangan
: BUDGET_DETAILS merupakan tabel yang berisi rincian dari
data-data budget dari setiap episode yang dibuat
Lampiran 18 Tabel BUDGET_DETAILS
L14
Nama Tabel
: MTL_ITEMS
Primary Key
: MTL_ITEM_ID
Foreign Key
: MTL_CATEGORY_ID
Keterangan
: MTL_ITEMS merupakan tabel yang berisi data material yang
dibeli
Lampiran 19 Tabel MTL_ITEMS
Nama Tabel
: MTL_CATEGORIES
Primary Key
: MTL_CATEGORY_ID
Foreign Key
:-
Keterangan
: MTL_ CATEGORIES merupakan tabel master yang berisi data
mengenai kategori-kategori dari material yang dibeli
L15
Lampiran 20 Tabel MTL_CATEGORIES
Nama Tabel
: AP_VENDOR_INVOICE_DIST_ALL
Primary Key
: VENDOR_INVOICE_DIST_ID
Foreign Key
: VENDOR_INVOICE_ID, VENDOR_LINE_ID
Keterangan
: AP_VENDOR_INVOICE_DIST_ALL merupakan tabel yang
berisi data mengenai pengiriman material yang dibeli dari vendor berdasarkan invoice
Lampiran 21 Tabel AP_VENDOR_INVOICE_DIST_ALL
L16
Nama Tabel
: AP_VENDOR_INVOICES_ALL
Primary Key
: VENDOR_INVOICE_ID
Foreign Key
: VENDOR_SITE_ID
Keterangan
: AP_VENDOR_INVOICES_ALL merupakan tabel yang berisi
data mengenai pembelian material dari vendor berdasarkan invoice
Lampiran 22 Tabel AP_VENDOR_INVOICES_ALL
Nama Tabel
: PO_VENDORS
Primary Key
: VENDOR_ID
Foreign Key
:-
Keterangan
: PO_VENDORS merupakan tabel yang berisi data akun bank
dari vendor yang digunakan untuk melakukan transaksi penjualan material
L17
Lampiran 23 Tabel PO_VENDORS
Nama Tabel
: PO_VENDOR_CONTACTS
Primary Key
: VENDOR_CONTACT_ID
Foreign Key
: VENDOR_SITE_ID
Keterangan
: PO_VENDOR_CONTACTS merupakan tabel yang berisi data
kontak dari vendor
Lampiran 24 Tabel PO_VENDOR_CONTACTS
L18
Nama Tabel
: PO_ VENDOR _SITES_ALL
Primary Key
: VENDOR_SITE_ID
Foreign Key
: VENDOR_ID
Keterangan
: PO_VENDOR_SITES_ALL merupakan tabel yang berisi data
alamat atau daerah berdomisili dari vendor
Lampiran 25 Tabel PO_ VENDOR _SITES_ALL
Nama Tabel
: PO_VENDOR_TYPES_ALL
Primary Key
: VENDOR_TYPE_ID
Foreign Key
:-
Keterangan
: PO_VENDOR _TYPES_ALL merupakan tabel master yang
berisi data tipe-tipe dari transaksi dengan vendor
L19
Lampiran 26 Tabel PO_VENDOR_TYPES_ALL
Nama Tabel
: PO_VENDOR_HEADERS_ALL
Primary Key
: VENDOR_HEADER_ID
Foreign Key
: VENDOR_TYPE_ID, VENDOR_SITE_ID
Keterangan
: PO_ VENDOR _HEADERS_ALL merupakan tabel yang berisi
data transaksi dengan vendor
Lampiran 27 Tabel PO_VENDOR_HEADERS_ALL
L20
Nama Tabel
: PO_VENDOR_LINES_ALL
Primary Key
: VENDOR_LINE_ID
Foreign Key
: VENDOR_HEADER_ID, MTL_ITEM_ID
Keterangan
: PO_ VENDOR _LINES_ALL merupakan tabel yang berisi
detail data transaksi dengan vendor
Lampiran 28 Tabel PO_VENDOR_LINES_ALL
Nama Tabel
: AP_SUPPLIER_INVOICE_DIST_ALL
Primary Key
: SUPPLIER_INVOICE_DIST_ID
Foreign Key
: SUPPLIER_INVOICE_ID, SUPPLIER_LINE_ID
L21
Keterangan
: AP_SUPPLIER_INVOICE_DIST_ALL merupakan tabel yang
berisi data mengenai pengiriman project yang dibeli dari supplier berdasarkan invoice
Lampiran 29 Tabel AP_SUPPLIER_INVOICE_DIST_ALL Nama Tabel
: AP_ SUPPLIER _INVOICES_ALL
Primary Key
: SUPPLIER_INVOICE_ID
Foreign Key
: SUPPLIER_SITE_ID
Keterangan
: AP_SUPPLIER_INVOICES_ALL merupakan tabel yang berisi
data mengenai pembelian project dari supplier berdasarkan invoice
Lampiran 30 Tabel AP_ SUPPLIER _INVOICES_ALL
L22
Nama Tabel
: PO_ SUPPLIERS
Primary Key
: SUPPLIER_ID
Foreign Key
:-
Keterangan
: PO_SUPPLIERS merupakan tabel yang berisi data akun bank
dari supplier yang digunakan untuk melakukan transaksi penjualan project
Lampiran 31 Tabel PO_ SUPPLIERS
Nama Tabel
: PO_ SUPPLIER _CONTACTS
Primary Key
: SUPPLIER_CONTACT_ID
Foreign Key
: SUPPLIER_SITE_ID
Keterangan
: PO_SUPPLIER_CONTACTS merupakan tabel yang berisi data
kontak dari supplier
L23
Lampiran 32 Tabel PO_ SUPPLIER _CONTACTS
Nama Tabel
: PO_ SUPPLIER _SITES_ALL
Primary Key
: SUPPLIER_SITE_ID
Foreign Key
: SUPPLIER_ID
Keterangan
: PO_SUPPLIER_SITES_ALL merupakan tabel yang berisi data
alamat atau daerah berdomisili dari supplier
Lampiran 33 Tabel PO_ SUPPLIER _SITES_ALL
L24
Nama Tabel
: PO_ SUPPLIER _TYPES_ALL
Primary Key
: SUPPLIER_TYPE_ID
Foreign Key
:-
Keterangan
: PO_ SUPPLIER _TYPES_ALL merupakan tabel master yang
berisi data tipe-tipe dari transaksi dengan supplier
Lampiran 34 Tabel PO_ SUPPLIER _TYPES_ALL
Nama Tabel
: PO_ SUPPLIER _HEADERS_ALL
Primary Key
: SUPPLIER_HEADER_ID
Foreign Key
: SUPPLIER_TYPE_ID, SUPPLIER_SITE_ID
Keterangan
: PO_ SUPPLIER _HEADERS_ALL merupakan tabel yang berisi
data transaksi dengan supplier
L25
Lampiran 35 Tabel PO_ SUPPLIER _HEADERS_ALL
Nama Tabel
: PO_ SUPPLIER _LINES_ALL
Primary Key
: SUPPLIER_LINE_ID
Foreign Key
: SUPPLIER_HEADER_ID, PROJECT_ID
Keterangan
: PO_ SUPPLIER _LINES_ALL merupakan tabel yang berisi
detail data transaksi dengan supplier
Lampiran 36 Tabel SUPPLIER_LINE_ID
L26
2. PRE - INTERVIEW
Nara Sumber : Bapak Lodi Santono, selaku IT Manager Penulis : Ninawati, Donna Cherie, Ita Wana
Tanggal : 17 September 2009 Wawancara 1. Q : Apakah Global TV sudah menggunakan ORACLE sebagai DBMS perusahaan? A : Sudah, untuk DBMS serta Oracle Form dan Report kami sudah menggunakan Oracle 10g. 2. Q : Apa saja kendala yang dihadapi oleh perusahaan saat ini pada sistem yang sedang berjalan, khususnya dalam hal DBMS? A : Secara operasional, database sudah berjalan dengan baik. Tetapi, terjadi kesulitan dalam hal pengambilan informasi secara cepat dari database. Hal ini mengakibatkan proses pengambilan keputusan pun menjadi lambat. 3. Q : Apakah bisa dijelaskan dengan spesifik mengenai masalah tersebut? A :Ketika
perusahaan
ingin
menampilkan
suatu
laporan
(report),
kami
membutuhkan waktu untuk men-query secara manual. Seperti, ketika kami ingin menampilkan laporan penjualan bulan ini, maka dari pihak IT harus membuat sebuah report khusus untuk laporan tersebut dan ketika ingin menampilkan laporan yang sama dengan dimensi yang berbeda seperti laporan penjualan bulan lalu, maka kami harus membuat ulang report lain untuk penjualan bulan lalu
L27
tersebut. Jadi, kami memerlukan waktu yang banyak untuk membuat setiap report yang diperlukan untuk pihak executive. 4. Q : Apakah ada masalah lain dari DBMS yang ada? A : Masalah lain yang timbul misalnya database yang sudah ada belum terintegrasi dengan baik. Seperti misalnya, di persediaan tersedia jumlah stok 10 buah. Kemudian terjadi transaksi penjualan 2 buah. Harusnya, di persediaan akan berkurang menjadi 8 buah. Namun kadang-kadang suka terjadi kesalahan dan di persediaan tidak ter-update jumlah stoknya dan tetap tersedia 10 buah. 5. Q : Berapa lama proses penyediaan dari permintaan hingga disajikan ke eksekutif? A : Kurang lebih 3 hari untuk membuat satu report saja. Itupun jika pihak manajemen membutuhkan report, harus minta dibuatkan oleh pihak IT. Oleh sebab itu kedepannya kami menginginkan pihak manajemen bisa mendapatkan report secara cepat dan mudah.
Tanggal : 1 Oktober 2009 Wawancara 1. Q : Apakah visi dan misi dari Global TV? A : Global TV memiliki misi untuk menjadi stasiun televisi nasional berkelas yang layak ditonton seluruh keluarga Indonesia. Sedangkan misinya adalah menyajikan dunia hiburan dan informasi yang berwawasan global dengan program-program pilihan terlengkap bagi keluarga Indonesia yang dinamis, kreatif dan inspiratif.
L28
2. Q : Bagaimana Global TV mendapatkan program-program yang akan disiarkan? Apakah membeli atau memproduksi sendiri? A : Dua-duanya. Global TV bekerja sama dan membeli program dari Nickelodeon dan MTV untuk beberapa program televisi yang ditayangkan. Tapi Global TV juga memproduksi beberapa program acara televisi yang lain. 3. Q : Program-program seperti apa yang diproduksi sendiri oleh Global TV? A : Banyak yah, seperti berita, infotainment, reality show, dan lainnya 4. Q : Bagaimana sebenarnya proses bisnis yang terjadi di Global TV? A : Seperti kebanyakan perusahaan lain, Global TV melakukan transaksi jual beli. Global TV membeli program atau hak siar dari rumah produksi atau pemilik hak siar lalu menayangkannya di televisi. Sedangkan yang dijual adalah space iklan yang disediakan dan diselipkan di setiap program acara. 5. Q : Apakah bisa dijelaskan dengan lebih detail mengenai proses bisnis ini? A : Jadi begini yah, stasiun televisi pada umumnya menayangkan program 24 jam penuh. Dari 24 jam itu rata-rata 30 persen atau sekitar 6 jam digunakan untuk space iklan. Inilah yang dijual oleh stasiun TV. Umumnya satu program acara berdurasi antara setengah jam sampai dengan dua jam. Kecuali program-program khusus yang membutuhkan waktu lebih banyak. Nah, selama dua jam program ditayangkan, diselipkan space-space untuk iklan. Lamanya iklan tergantung berapa banyak perusahaan yang ingin memasang iklan pada program tersebut. Perusahaan yang memasang iklan ini, biasa disebut dengan agency. Semakin banyak perusahaan yang memasang iklan berarti program yang ditayangkan memiliki rating yang semakin baik dan dianggap banyak diminati oleh penonton.
L29
6. Q : Jadi, siapakah pihak yang menjadi penjual dari Global TV? A : Pihak yang menjadi penjual bagi Global TV bisa bermacam-macam, bisa saja pemlik rumah produksi, bisa juga pemegang hak siar. Dalam kaitannya dengan produksi, pihak penjual dari Global TV adalah para penyedia alat produksi yang banyak sekali jumlahnya, seperti perusahaan penyewaan kamera, perusahaan penyewaan panggung dan sebagainya. 7. Q : Bagaimana dengan pihak pembeli? Apakah penonton ataukah agency? A : Pihak pembelinya tetap saja agency. Penonton hanyalah parameter bagi agency untuk mau membeli space iklan yang disesiakan pada suatu program. Jadi istilahnya begini. Penonton adalah penilai dari bagus atau tidaknya suatu program yang diwakilkan dengan suatu lembaga survey. Lembaga survey ini member tahu pihak agency, rating dari suatu program dan jenis kalangan yang menontonnya, apakah anak-anak, remaja, atau dewasa. Dari hasil survey, maka pihak agency mempertimbangkan apakah akan membeli space iklan yang disediakan dari suatu program atau tidak. 8. Q : Siapa saja sebenarnya yang menjadi target pasar dari Global TV? A : Semua orang yang berjiwa muda, laki-laki atau perempuan, yang berusia antara 5 hingga 34 tahun. Karena kebanyakan program yang ditayangkan oleh Global TV disediakan untuk anak-anak, bekerja sama dengan Nickelodeon, untuk remaja, bekerja sama dengan MTV, dan untuk keluarga muda Indonesia.
Tanggal : 15 Oktober 2009 Wawancara
L30
1. Q : Berapa jumlah transaksi yang terjadi di Global TV setiap hari? A: Sebenarnya jumlah transaksinya tidak pasti yah, tergantung apakah ada kontrak baru yang terjadi atau tidak. Mungkin karena kontrak biasanya berjangka panjang, kami tidak bisa menyebutkan angka transaksi per hari. Tapi mungkin kurang lebih ada sekitar seribu transaksi per tahunnya. 2. Q : Apa saja laporan yang ingin dihasilkan untuk manajemen? A: Biasa yang diminta adalah laporan yang berkaitan dengan keuangan, seperti laporan penjualan dan pembelian. Selain itu juga sering ingin dilihat laporan produksi untuk mengetahui program-program apa yang dihasilkan sendiri dan biaya serta efektifitasnya. 3. Q : Bagaimana penyediaan informasi yang dibutuhkan eksekutif saat ini? A: Untuk saat ini, eksekutif yang menginginkan laporan meminta dibuatkan laporan kepada pihak IT. Lalu laporan dikerjakan kurang lebih selama tiga hari. Setelah itu, laporan akan dikirim ke pihak eksekutif. Jika ada laporan lain yang ingin dibuat, maka hal itu diberi tahukan kembali kepada pihak IT dan pihak IT memproses pembuatan laporan lagi. Ini membuat proses pengambilan keputusan menjadi sangat lama dan laporan yang dihasilkan seringkali tidak sesuai. 4. Q : Untuk perbaikan, bagaimana penyediaan informasi yang diinginkan? A : Kedepannya, kami berharap untuk pembuatan laporan bisa dilakukan sendiri oleh pihak eksekutif. Maksudnya, setiap laporan yang diinginkan dapat dibuat dengan tools yang mudah sehingga dapat dibuat dengan cepat dan laporanlaporan sederhana dapat dihasilkan sendiri oleh pihak eksekutif sehingga akan mempercepat pula proses pengambilan keputusan.
L31
5. Q : Bagaimanakah aplikasi yang diharapkan GlobalTV? Apakah berbasis web atau desktop? A : Kami pikir desktop saja. Aplikasi yang digunakan akan dibatasi siapa saja yang boleh akses. Kira-kira aplikasi dengan user interface yang simple dan gampang digunakan.
L32
3. POST – INTERVIEW
Nara Sumber : Bapak Lodi Santono, selaku IT Manager, Bapak Wahyu Candra, selaku staff IT Penulis : Ninawati, Donna Cherie, Ita Wana
Tanggal : 15 Januari 2010 Wawancara 1. Q : Bagaimanakan tampilan dari aplikasi ini? LS : Simple dan menu-menu yang ada sudah jelas. Saya pikir sudah cukup baik. WC: Cukup baik, saya sendiri suka dengan warna birunya karena sesuai dengan logo GlobalTV. Tetapi size untuk tampilan form report dan pivot sebaiknya di maksimalkan. 2. Q : Apakah laporan yang disajikan sudah sesuai untuk kebutuhan perusahaan? LS : Untuk keadaan sekarang mungkin sudah cukup. Namun, saya pikir untuk pengembangan lebih lanjut mungkin parameter yang digunakan untuk laporan dapat ditambahkan lagi. WC : Sudah sesuai kok. Mungkin tampilan grafik dapat dibuat lebih mencolok lagi supaya lebih menarik perhatian user yang memakainya. Jadi, pas kita melihat laporan yang ada, pandangan kita akan langsung tertuju ke grafik tersebut. Saya sendiri lebih tertarik pada grafik dibanding kolom-kolom yang banyak.
L33
3. Q : Apakah fitur yang ada sudah cukup lengkap? LS : Untuk menyelesaikan masalah laporan, saya rasa fitur yang ada sudah lengkap. WC : Saya setuju dengan Pak Lodi. Fitur yang ada sudah lengkap kok.
4. Q : Apakah laporan yang disajikan dapat membantu pihak eksekutif dalam menganalisis data untuk pengambilan keputusan? LS : Untuk saya sendiri sudah sangat membantu. Mungkin pihak eksekutif lainnya harus mencoba menggunakannya sendiri.
5. Q : Dengan adanya aplikasi ini, apakah menurut bapak akan meningkatkan kinerja perusahaan? LS : Pasti ada efeknya ya. Soalnya seperti yang saya katakan awal-awal, di GlobalTV sistem pembuatan laporan masih bersifat manual. Dengan adanya aplikasi tambahan ini, otomatis pembentukan laporan akan menjadi lebih simple dan pihak eksekutif dapat mengaksesnya sendiri. Itu akan sangat membantu divisi IT dan juga GlobalTV sendiri. WC: Benar, walaupun aplikasi ini cukup simple tetapi menurut saya menu-menu yang ada sudah cukup untuk kami dalam melihat laporan yang diperlukan dan ini membuat semua menjadi lebih mudah.
L34
4.
1.
LISTING PROGRAM CODE
Koneksi ke database Imports System.Data.OleDb Public Class login Dim Us As String = "" Dim Pw As String = "" Dim conn As OleDbConnection Dim oradb As String = "Provider=MSDAORA;" _ + "Data Source= orcl;" _ + "User ID=GLOBALTV;" _ + "Password= GLOBALTV " Dim cmd As OleDbCommand Dim dr As OleDbDataReader End Class
2.
Function pengecekan login Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click Try If txtUserId.Text <> "" Then If txtPass.Text <> "" Then Dim sql As String = "select userId, pass from table_user where userId = '" + txtUserId.Text + "' and status = '" + statusCombo.SelectedItem.ToString() + "'" Using conn = New OleDbConnection(oradb) conn.Open() Using cmd = New OleDbCommand(sql, conn) Using dr = cmd.ExecuteReader() Us = "" If dr.Read() Then Us = dr.GetString(0) Pw = dr.GetString(1) End If
L35
End Using End Using End Using
If Us = "" Then MessageBox.Show("UserId not exists!", "Error Message") txtUserId.Focus() txtUserId.SelectAll() Else If txtPass.Text = Pw Then If statusCombo.SelectedItem = "Admin" Then Dim menu_object As menu_admin = New menu_admin(Us) menu_object.Show() Else Dim menu_object As menu_user = New menu_user(Us) menu_object.Show() End If clear() Hide() Else MessageBox.Show("Wrong password!", "Error Message") txtPass.Focus() txtPass.SelectAll() End If
End If Else MessageBox.Show("Password must be filled!", "Error Message") txtPass.Focus() End If Else MessageBox.Show("UserId must be filled!", "Error Message") txtUserId.Focus() End If
L36
Catch ex As Exception MessageBox.Show(ex.Message.ToString())
End Try End Sub 3.
Function untuk menampilkan nama user Public Sub New(ByVal Ui As String) InitializeComponent() labelwelcome.Text = "Welcome, " + Ui End Sub
4.
Function pengecekan pending user Private Sub cek_pending_user() Try Dim sql As String = "select count(userid)as cnt from table_user where status = 'Pending'" Using conn = New OleDbConnection(oradb) conn.Open() Using cmd = New OleDbCommand(sql, conn) Using dr = cmd.ExecuteReader() Pu = 0 If dr.Read() Then Pu = dr.Item("cnt") End If End Using End Using End Using If Pu > 0 Then If Pu = 1 Then labelpending.Text = "You have 1 Pending User." Else labelpending.Text = "You have " + Pu.ToString() + " Pending Users." End If
L37
End If Catch ex As Exception MessageBox.Show(ex.Message.ToString()) End Try End Sub
5.
Function untuk menampilkan seluruh user Private Sub show_datauser() Dim datasetpurmat As DataSet sql = "select userId as Userid,username as Name, status as Status from table_user where status != 'Admin'"
Using conn = New OleDbConnection(oradb) Using cmd = New OleDbCommand(Sql, conn) Dim datatrans As New OleDbDataAdapter() datatrans.SelectCommand = cmd datasetpurmat = New DataSet() datatrans.Fill(datasetpurmat, "table_user") Dim db As New DataView() db.Table = datasetpurmat.Tables("table_user") view_user.Refresh() view_user.DataSource = db
End Using End Using End Sub 6.
Function untuk delete user Private Sub grid_delete() Try grid = view_user.SelectedRows(0).Index If grid >= 0 Then Dim del As DialogResult
L38
del = MessageBox.Show("Are you sure you want to delete " + view_user.CurrentRow.Cells(0).Value.ToString() + "?", "Confirm delete", MessageBoxButtons.YesNo) If del = DialogResult.Yes Then Dim sql2 As String = "delete from table_user where userId = '" + view_user.CurrentRow.Cells(0).Value.ToString() + "'" Using conn = New OleDbConnection(oradb) conn.Open() Using cmd = New OleDbCommand(sql2, conn) executed = cmd.ExecuteNonQuery() End Using End Using If executed = 1 Then show_datauser() MessageBox.Show("deleted success!") End If Else MessageBox.Show("Delete action cancelled!") End If End If Catch MessageBox.Show("Please select row by clicking the arrow button!") End Try End Sub
7.
Function untuk update status user Private Sub btnupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnupdate.Click Try grid = view_user.SelectedRows(0).Index If grid >= 0 Then Dim del As DialogResult del = MessageBox.Show("Are you sure you want to update " + view_user.CurrentRow.Cells(0).Value.ToString() + "?", "Confirm Update", MessageBoxButtons.YesNo)
L39
If del = DialogResult.Yes Then
'un = txtListUserId.SelectedItem.ToString().Substring(0, txtListUserId.SelectedItem.ToString().IndexOf("(")) Dim sql As String = "update table_user set status = 'User' where userid = '" + view_user.CurrentRow.Cells(0).Value.ToString() + "'" Using conn = New OleDbConnection(oradb) conn.Open() Using cmd = New OleDbCommand(sql, conn) executed = cmd.ExecuteNonQuery() End Using End Using If executed = 1 Then show_datauser() MessageBox.Show("Update Status Success!") End If Else MessageBox.Show("Update action cancelled!") End If End If Catch MessageBox.Show("Please select row by clicking the arrow button!") End Try End Sub 8.
Function untuk menampilkan top 5 purchasing program Private Sub show_data_purpro() Try Dim sql As String = "select project_name, buying_price FROM (select pa_project_all.project_name, po_supplier_lines_all.buying_price FROM GLOBALTV.pa_project_all JOIN GLOBALTV.po_supplier_lines_all ON pa_project_all.project_id = po_supplier_lines_all.project_id order by po_supplier_lines_all.BUYING_PRICE desc) x where rownum <=5" Using conn = New OleDbConnection(oradb)
L40
conn.Open() Using cmd = New OleDbCommand(sql, conn) Using dr = cmd.ExecuteReader() listpurpro.Items.Clear() While dr.Read() 'MessageBox.Show(dr.GetString(0)) listpurpro.Items.Add(dr.GetString(0) + " with the buying price = " + dr.Item("buying_price").ToString()) End While End Using End Using End Using Catch ex As Exception MessageBox.Show(ex.Message.ToString()) End Try End Sub
9.
Function untuk menampilkan report Imports System.Data.OleDb Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared
Private Sub show_report_purpro() Dim datasetpurpro As DataSet If gbfile.Length() = 11 Then 'sql = "Select * from GLOBALTV.FILE_PRODUCTION where creation_date = '10/dec/2003'" sql = "Select * from GLOBALTV.FILE_PURCHASING_PROGRAM where creation_date = '" + gbfile + "'" ElseIf gbfile.Length() = 8 Then sql = "Select * from GLOBALTV.FILE_PURCHASING_PROGRAM where TO_CHAR(creation_date, 'MON/YYYY') = '" + gbfile + "'"
L41
Else sql = "Select * from GLOBALTV.FILE_PURCHASING_PROGRAM where TO_CHAR(creation_date, 'YYYY') = '" + gbfile + "'" End If Using conn = New OleDbConnection(oradb) Using cmd = New OleDbCommand(sql, conn) Dim datatrans As New OleDbDataAdapter() datatrans.SelectCommand = cmd datasetpurpro = New DataSet() datatrans.Fill(datasetpurpro, "FILE_PURCHASING_PROGRAM") End Using End Using Dim Params As New CrystalDecisions.Shared.ParameterField Dim ParamCollection As New CrystalDecisions.Shared.ParameterFields Dim ParamDisVal As New CrystalDecisions.Shared.ParameterDiscreteValue() Params.ParameterFieldName = "date" ParamDisVal.Value = gbfile Params.CurrentValues.Add(ParamDisVal) ParamCollection.Add(Params) CRviewer.ParameterFieldInfo = ParamCollection
If graph2 = "bar" Then Dim purproreport As New CRpurchasingprogram() purproreport.SetDataSource(datasetpurpro) CRviewer.ReportSource = purproreport ElseIf graph2 = "line" Then Dim purproreport As New CRpurchasingprogramline() purproreport.SetDataSource(datasetpurpro) CRviewer.ReportSource = purproreport Else Dim purproreport As New CRpurchasingprogrampie() purproreport.SetDataSource(datasetpurpro) CRviewer.ReportSource = purproreport End If
L42
End Sub 10.
Function untuk menampilkann year Private Sub setyear() Dim sql As String = "select distinct(TO_CHAR(creation_date,'YYYY')) from GLOBALTV.FILE_SALES ORDER BY TO_CHAR(creation_date,'YYYY')" Using conn = New OleDbConnection(oradb) conn.Open() Using cmd = New OleDbCommand(sql, conn) Using dr = cmd.ExecuteReader() While dr.Read() comboyear.Items.Add(dr.GetString(0)) If comboyear.SelectedItem = "" Then comboyear.SelectedItem = comboyear.Items(0) End If End While End Using End Using End Using End Sub
11.
Function untuk menampilkan month Private Sub custom_comp() dtpmonth.Format = DateTimePickerFormat.Short dtpmonth.CustomFormat = "" dtpmonth.CustomFormat = "MM/yyyy" dtpmonth.Format = DateTimePickerFormat.Custom dtpmonth.Value = Date.Now End Sub
12.
Function untuk pengecekan parameter mana yang dipilih untuk memunculkan report Private Sub btnline_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnline.Click
L43
If groupby.SelectedItem = "Daily" Then gb = dtpday.Value.ToString("dd/MMM/yyyy") ElseIf groupby.SelectedItem = "Monthly" Then gb = dtpmonth.Value.ToString("MMM/yyyy") gb = gb.ToUpper() Else gb = comboyear.SelectedItem.ToString() End If Dim reportobject As New report("sales", gb, "line") reportobject.Show() End Sub