DisusunOleh :
Indah Wulandari
NIM. 1355301035
iii
dan bimbingan agar penulis tetap semangat dalam
menyelesaikan laporan.
3. Bapak Dr. Hendriko, S.T.,M.Eng selaku Direktur
Politeknik Caltex Riau.
4. Bapak Ananda, S.Kom,M.T. selaku Ketua Program Studi
Teknik Informatika Politeknik Caltex Riau.
5. Ibu Syefrida Yulina, M.Sc. selaku koordinator kerja
praktek Politeknik Caltex Riau.
6. Ibu Istianah Muslim, S.T.,M.T. selaku dosen
pembimbing kerja praktek penulis yang telah memberikan
bantuan dan bimbingannya.
7. Bapak Hendri Irawan, S.S.T selaku atasan pembimbing
Instansi/Perusahaan yang telah memberikan kesempatan
kepada penulis untuk melaksanakan kerja praktek di PT.
Citra Bina Niaga.
8. Karyawan-karyawan PT.Citra Bina Niaga di divisi IT
terutama Abang Suryadi, S.S.T yang telah banyak
membantu dalam pelaksanan kerja praktek penulis selama
di perusahan.
9. Teman-teman Teknik Informatika generasi 13, yang telah
memberikan dukungan dan doa kepada penulis sehingga
dapat menyelesaikan kerja praktik ini.
iv
10. Semua pihak yang telah membantu penulis baik secara
langsung maupun tidak langsung dalam mengerjakan
laporan hasil kerja praktik.
Selama menjalani program kerja praktik ini, penulis
menyadari selama kesehariannya berinteraksi dengan berbagai
pihak, penulis tidak luput dari berbagai macam kesalahan, baik
yang disengaja maupun tidak disengaja. Sehingga dalam
kesempatan ini penulis meminta maaf atas kesalahan tersebut.
Kritik dan saran juga diharapkan demi perbaikan di masa
mendatang.
Pekanbaru, Juni 2017
Indah Wulandari
v
DAFTAR ISI
BAB I ................................................................................................. 1
PENDAHULUAN .............................................................................. 1
DASAR TEORI.................................................................................. 8
III.1 C# ............................................................................................. 8
vi
III.2 Active Server Pages .NET ........................................................ 8
III.3 Microsoft SQL Server............................................................. 10
BAB IV ............................................................................................ 11
PEMBAHASAN .............................................................................. 11
PENUTUP ........................................................................................ 33
LAMPIRAN ...................................................................................... A
vii
DAFTAR TABEL
viii
DAFTAR GAMBAR
ix
BAB I
PENDAHULUAN
I.1 Latar Belakang
Perusahaan dapat dinilai baik dan berkembangnya dapat
diukur dari penjualannya setiap tahun, apabila setiap tahunnya
meningkat makan perusahaan ini dapat dikatakan sebagai
perusahaan yang baik dan berkembang. Penambahan fitur laporan
penjualan perusahaan itu tersendiri merupakan hak yang wajib
dilakukan oleh mereka yang bergerak dalam dunia usaha.
Pada PT. Citra Bina Niaga mempunyai sebuah sistem yang
sudah dibangun oleh perusahaan yaitu Imagine Reports. Sistem
tersebut memiliki fungsi yaitu staff dapat mengetahui posisi
kunjungan setiap salesman dan collector pada map, berapa lama
salesman dan collector berkunjung ke toko customer dan proyek
apa saja yang sedang dibangun atau akan dibangun.
Sebelumnya sudah ada aplikasi yang menampilkan
laporan penjualan produk semen dan pencapaian kinerja salesman
tetapi untuk data dashboard yang lain belum ada. Aplikasi
sebelumnya masih berbasis desktop sehingga mempersulit dalam
melakukan proses pengecekkan untuk user yang fleksibel.
Aplikasi Imagine Reports masih memiliki kekurangan,
sebelumnya sistem ini mempunyai halaman dashboard yaitu
sebagai fitur untuk laporan penjualan tetapi fitur tersebut tidak
digunakan sebagaimana fungsinya. Fungsi utama dashboard untuk
1
`
melihat pencapaian pembelian dari semen holcim, melihat apakah
salesman baik dari segi penjualan produk semen holcim dan
customer.
Berdasarkan hal tersebut maka diperlukan pengembangan
untuk penambahan fitur laporan penjualan pada aplikasi Imagine
Reports. Berdasarkan latar belakang masalah tersebut maka akan
dibahas lebih lanjut dalam satu pokok pembahasan dengan judul
Pengembangan Fitur Laporan Penjualan Pada Aplikasi Imagine
Reports Di PT. Citra Bina Niaga Berbasis Web (Bagian Customer
Area).
I.2 Pelaksanaan
Kerja Praktik ini dilaksanakan dari tanggal 06 Maret
2017 sampai dengan 05 Juli 2017 di PT. Citra Bina Niaga.
I.3 Tujuan Sistem
Berdasarkan latar belakang yang telah diuraikan di atas,
maka tujuan dalam pembuatan laporan kerja praktek ini adalah
mengembangkan dan mengimplementasikan fitur laporan
penjualan pada Imagine Reports berbasis web untuk melihat data
penjualan semen holcim, dan melihat pencapaian salesman ,
customer dan area.
I.4 Batasan Masalah
Batasan masalah pada sistem ini adalah sebagai berikut :
1. Pengguna sistem ini adalah karyawan PT.Citra Bina Niaga.
2
`
2. Sistem ini berbasis web, dan dibangun dengan menggunakan
bahasa pemprograman C# dan SQL Server sebagai
databasenya.
I.5 Manfaat Kerja Praktek
Kerja praktek memberikan manfaat bagi perguruan tinggi
maupun bagi perusahaan. Adapun manfaat tersebut antara lain,
yaitu :
1. Menambah pengalaman, wawasan dan ilmu pengetahuan
selama di dunia kerja.
2. Mengetahui secara langsung alur dunia kerja sehingga
dapat meningkatkan keterampilan dan pengetahuan dalam
dunia kerja.
3
`
I.6 Sistematika Penulisan
Adapun sistematika yang digunakan dalam penulisan
laporan kerja praktik ini adalah :
BAB I : PENDAHULUAN
Bab ini berisi mengenai latar belakang kerja praktek,
tempat pelaksanaan kerja praktek, tujuan kerja
praktek, manfaat kerja praktek dan sistematika
penulisan.
BAB II : PROFIL PERUSAHAAN
Bab ini berisi tentang uraian secara singkat profil
perusahaan, visi dan misi dari perusahaan.
BAB III : LANDASAN TEORI
Bab ini berisikan penjelasan tentang teori terkait
seperti C#, ASP.NET dan Microsoft SQL Server.
BAB IV : PEMBAHASAN
Bab ini membahas perancangan dan ERD sistem
dan implementasi sistem Imagine Reports
Dashboard.
BAB V : PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari kerja
praktek dan saran bagi perusahaan untuk
pengembangan untuk pengembangan selanjutnya.
4
`
BAB II
PROFIL PERUSAHAAN
II.1. Sejarah Perusahaan
PT. Citra Bina Niaga merupakan salah satu anak
perusahaan dari Bangun Sarana Group. Kantor pusat PT.Citra Bina
Niaga berada di JL.Soekarno-Hatta, Komp. Puri Waringin Indah
Blok D No. 10-11, Kota Pekanbaru Indonesia, 28291, dimana
sistem yang digunakan oleh PT.Bangun Sejahtera Bersama
dikembangkan disini.
II.2.2 Misi
1. Memastikan nihil bahaya dalam setiap kegiatan
operasional dan bisnis.
2. Bermitra dengan para pelanggan untuk mewujudkan
solusi-solusi berbeda dan inovatif.
3. Mengembangkan sumber daya manusia yang berkinerja
tinggi melalui lingkungan kerja yang beragam dan
melibatkan setiap individu didalamnya
4. Menciptakan nilai yang sama dan solusi-solusi yang
berkelanjutan bagi para pemangku kepentingan.
5
`
II.3. Struktur Organisasi Perusahaan
Struktur organisasi dari PT. Citra Bina Niaga dapat dilihat
dalam gambar 2.1.
6
`
b. Memiliki tugas yang stategis karena langsung terjun di
lapangan untuk melaksanakan semua rencana yang
telah ditetapkan oleh Manager.
c. Menegakkan aturan yang telah di tentukan oleh
perusahaan.
d. Mengontrol dan mengevaluasi kinerja staff.
7
`
BAB III
DASAR TEORI
III.1 C#
8
`
merupakan kelanjutan dari teknologi ASP 3.0. Perbedaan utama
dibanding ASP klasik adalah penggunaan .NET Framework
sebagai fondasi pemrograman (Amri, 2003).
ASP.NET memiliki beberapa kelebihan dibandingkan
teknologi terdahulu, antara lain (Amri, 2003).
1. Kemudahan mengakses berbagai library .NET Framework
secara konsisten dan powerful, yang mempercepat
pengembangan aplikasi.
2. Penggunaan berbagai bahasa pemrograman secara penuh,
misalnya VB.NET, C#, J#, dan C++. Dalam ASP.NET
bahasa-bahasa ini dapat digunakan secara penuh
sebagaimana layaknya bekerja di Windows Application.
Hal ini jauh berbeda dibandingkan ASP klasik yang
menggunakan scripting language.
3. Tersedia berbagai, Web Control yang dapat digunakan
membangun aplikasi secara cepat. Programmer dapat
dengan mudah mengkaitkan data ke web control
sebagaimana layaknya memprogram Windows
Application.
4. Code Behind, artinya kode-kode pemrograman yang
menjadi logic aplikasi ditempatkanterpisah dengan kode
user interfaceyang berbentuk HTML.
9
`
III.3 Microsoft SQL Server
Microsoft SQL Server merupakan produk Relational
Database Management Systme (RDBMS) yang dibuat oleh
Microsoft. Microsoft SQL Server banyak digunakan pada dunia
bisnis, pendidikan atau juga pemerintahan sebagai salah satu solusi
database atau media penyimpanan data. Pada tahun 2008,
Microsoft mengeluarkan SQL Server 2008 yang merupakan versi
yang banyak digunakan. Berikut adalah beberapa fitur dari sekian
banyak fitur yang ada pada SQL Server 2008 : (Komputer, 2010)
1. XML Support. Dengan fitur ini, bisa menyimpan dokumen
XML dalam suatu tabel, dapat meng-query data ke dalam
format XML melalui Transact-SQL dan lain sebagainya.
2. Multi-Instance Support. Fitur ini memungkinkan Anda
menjalankan beberapa database engine SQL Server pada
mesin yang sama.
3. Data Warehousing and Business Intelligence (BI)
Improvements. SQL Server dilengkapi dengan fungsi
untuk keperluan Business Intelligence melalui Analysis
Service.
4. Perfomance and Scalability Improvements. SQL Server
menerapkan distributed partitioned view yang
memungkinkan untuk membagi workload ke beberapa
server sekaligus.
10
`
BAB IV
PEMBAHASAN
IV.1. Aktifitas KP
Pada tanggal 6 Maret 2017, Hari pertama kerja praktek.
Mahasiswa diletak pada posisi Divisi IT bagian programmer.
Mahasiswa diarahkan oleh seorang mentor yang disebut
pembimbing selama magang. Kemudian pembimbing menjelaskan
sedikit tentang struktur perusahaan dan memberikan proyek yang
akan dikerjakan selama magang. Projek yang dikerjakan yaitu
mengembangkan sistem yang telah ada pada perusahaaan PT. Citra
Bina Niaga.
Pada tanggal 7 18 Maret 2017, mahasiswa mengerjakan
projek yang diberikan. Deadline projek tersebut 2 minggu. Setelah
2 minggu berjalan tepatnya pada tanggal 18 Maret 2017 waktu
12.00, pengecekkan projek yang diperiksa oleh asisten
pembimbing yaitu Abang Suryadi. Setelah projek tersebut
diperiksa, maka akan ada yang namanya revisi.
Pada tanggal 20 Maret 2017, mahasiswa diberikan tugas
tambahan pada projek yaitu penambahan fitur pada halaman
dashboard.
Pada tanggal 7 April 2017, mahasiswa diberikan tugas lagi
yaitu penambahan halaman baru di halaman dashboard berupa
halaman detail.
11
`
Pada tanggal 12 April 2017, mahasiswa diberikan tugas
untuk membuat gridview pada halaman dashboard untuk user
customer & area.
Pada tanggal 22 Mei 2017 22 Juni 2017, pengecekkan
tugas gridview user customer & area. Lalu ada penambahan untuk
sum dan avg pada gridview area, penambahan Rp pada kolom uang
seperti PlafonMax, PlafonBeri dan Total Piutang. Setelah selesai
projek tersebut akan diperiksa apakah sudah sesuai dengan
keinginan instansi atau masih ada kekurangan, jika ada kekurangan
mahasiswa harus memperbaiki kembali projek tersebut sesuai
dengan keinginan instansi.
Pada tanggal 29 Juni 2017 04 Juli 2017, mahasiswa
diberitahu untuk mengubah beberapa query pada kolom tertentu
seperti kolom customer aktif (ca), plafonmax, plafonberi, dan
efektifitas plafon pada halaman dashboard dan gridview customer
& area.
Pada tanggal 05 Juli 2017, pengecekkan projek selama
magang secara keseluruhan. Mahasiswa menyelesaikan dan
merapikan apa yang telah dikerjakan di perusahaan.
IV.2. Perancangan
IV.2.1 Analisis Sistem Imagine Reports Dashboard
Sistem Imagine Reports ini berbasis web yang dibangun
menggunakan bahasa pemrograman C# dan database SQL server.
Sistem ini digunakan sendiri oleh perusahaan PT. Citra Bina Niaga.
Sebelum sistem ini dikembangkan, sistem ini berfungsi untuk
menampilkan posisi salesman dan collector di map, mengetahui
12
`
jumlah kunjungan dan berapa lama salesman dan collector di toko
customer.
Pengembangan fitur laporan penjualan pada sistem
Imagine Reports berguna untuk melihat pencapaian pembelian dari
semen holcim, melihat apakah salesman baik dari segi penjualan
produk semen holcim dan customer berdasarkan pilihan dari
bagian user customer, sales dan area.
IV.2.2 Perancangan Aplikasi
IV.2.2.1 Use Case Diagram
13
`
ditampilkan dalam bentuk tabel. Beberapa analisi use case adalah
sebagai berikut :
a. Skenario Use Case Login
Tabel 4.1 Skenario use case login
Nama Usecase Login
Aktor Staff
Pre Kondisi Berada pada halaman login
Post Kondisi Masuk ke dalam sistem
Skenarion Normal :
1. Input username dan
password
2. Klik tombol Log In
3. Pengecekkan data
4. Apabila data tidak
valid maka ke-1 dan
jika data valid maka
ke-5
5. Menampilkan
halaman utama
14
`
1. Klik menu Dashboard
2. Menampilkan
halaman Dashboard
3. Aktor memilih user,
identitas dan periode
yang ingin dilihat
4. Memproses data
5. Menampilkan data
yang telah diproses
15
`
IV.2.2.3 Flowchart
16
`
Gambar 4.3 Halaman Login
Gambar 4.3 Merupakan halaman awal pada sistem.
Sebelum mengakses sistem, staff harus login terlebih dahulu
seperti biasa staff mengisi username dan password yang sesuai
pada database.
IV.3.2 Tampilan Halaman Utama
17
`
IV.3.3 Tampilan Halaman Dashboard
Disini penulis mengembangkan menu Dashboard yaitu
berupa fitur laporan penjualan. Menu Dashboard tidak memiliki
hak akses seperti menu yang lainnya, tetapi menu ini bisa diakses
oleh seluruh staff.
18
`
1. Customer Aktif (CA) berfungsi untuk melihat berapa
jumlah Customer yang Aktif pada bagian salesman dan
area.
2. Pencapaian CA terhadap target berfungsi untuk melihat
berapa banyak apakah si user salesman / area tercapai
terhadap target yang telah ditentukan sebelumnya.
3. Pencapain CA terhadap univers berfungsi untuk melihat
berapa banyak pencapaian target si user salesman / area
pada customer yang dimiliki si user salesman / area.
4. Total Piutang berfungsi untuk melihat total piutang si
customer / salesman / area selama melakukan transaksi.
5. Efektifitas Plafon berfungsi untuk melihat seberapa
efektifnya jumlah plafon yang diberi terhadap utang yang
sebenarnya pada si user customer / salesman / area.
6. Jumlah hari berfungsi jika total piutang si user sudah lunas
maka akan menampilkan jumlah hari dari surat jalan
hingga lunas pada bagian customer, salesman, dan area.
19
`
Gambar 4.6 Merupakan fitur yang terdapat pada halaman
Dashboard sehingga staff bisa melihat perhitungan pada si
customer / sales / area sesuaiperiode yang dipilih.
Pilihan fitur yang dimiliki pada halaman Dashboard ,yaitu:
1. User : Customer, Sales dan Area
2. Identitas : Nama yang akan tampil bila memilih user yang
dipilih. Dan juga terdapat pilihan ALL pada identitas
untuk user customer, sales dan area
3. Periode :Waktu yang dinginkanseperti :
a. Bulan,
b. Quartal,
c. Semester, dan
d. Tahun.
Lalu pada pilihan "ALL" di bagian Identitas,akan
menampilkan sebuah gridview berdasarkan user yang dipilih.
Disini penulis mengerjakan bagian user customer dan area.
//Total Piutang
DataTable utangCust = DB.GetData("select SUM(TotalBase) from
CBN..ReceiveBalance where RelationCode= '" + ID.Value + "' GROUP BY
RelationCode ");
20
`
DataTable utangCustBSB = DB.GetData("select SUM(TotalBase) from
BSBSEMEN..ReceiveBalance where RelationCode= '" + ID.Value + "' GROUP
BY RelationCode ");
if (utangCust.Rows.Count > 0) {
if (utangCustBSB.Rows.Count > 0{
CultureInfo culture = new CultureInfo("id-ID");
double utangCust1 = double.Parse(utangCust.Rows[0][0].ToString());
double utangCust2 = double.Parse(utangCustBSB.Rows[0][0].ToString());
double total = (utangCust1 + utangCust2);
TextPiutang.Text=Decimal.Parse(total.ToString()).ToString("C",
culture);
} else {
CultureInfo culture = new CultureInfo("id-ID");
double utangCust1 = double.Parse(utangCust.Rows[0][0].ToString());
TextPiutang.Text = Decimal.Parse(utangCust1.ToString()).ToString("C",
culture);
} }
else if (utangCustBSB.Rows.Count > 0) {
CultureInfo culture = new CultureInfo("id-ID");
double utangCust1 = double.Parse(utangCustBSB.Rows[0][0].ToString());
TextPiutang.Text = Decimal.Parse(utangCust1.ToString()).ToString("C",
culture);
} else {
TextPiutang.Text = "0";
}
//Efektifitas Plafon
//totalrupiahTON
DataTable query1 = DB.GetData("SELECT TotRP -ISNULL(TotReturn, 0) FROM
(select SUM(s.TotalBase + s.FreightBase) AS TotRP from CBN..Sales s
LEFT JOIN cbn..SalesReturn SR ON SR.CustomerCode = S.CustomerCode where
s.CustomerCode = '" + ID.Value + "' AND MONTH(s.TransDate) BETWEEN " +
awal + " and " + akhir + " AND YEAR(s.TransDate) = " + year + " AND
s.PaymentType = 'Credit' GROUP BY s.CustomerCode) A, (SELECT
SUM(SR.TotalBase) AS TotReturn FROM CBN..SalesReturn SR INNER JOIN
CBN..Sales s ON SR.CustomerCode = s.CustomerCode where s.CustomerCode
= '" + ID.Value + "' AND MONTH(SR.TransDate) BETWEEN " + awal + " and
" + akhir + " AND YEAR(SR.TransDate) = " + year + ") B");
if (query2.Rows.Count > 0) {
double q1 = double.Parse(query1.Rows[0][0].ToString());
double q2 = double.Parse(query2.Rows[0][0].ToString());
jumlahEfek = (q1 / q2);
//Rumus
double hasilPlafon = ((q1 / q2) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
21
`
} else {
TextPlafon.Text = " - ";
} } else {
query1 = DB.GetData("SELECT TotRP -ISNULL(TotReturn, 0) FROM (select
SUM(s.TotalBase + s.FreightBase) AS TotRP from BSBSEMEN..Sales s LEFT
JOIN BSBSEMEN..SalesReturn SR ON SR.CustomerCode = S.CustomerCode where
s.CustomerCode = '" + ID.Value + "' AND MONTH(s.TransDate) BETWEEN " +
awal + " and " + akhir + " AND YEAR(s.TransDate) = " + year + " AND
s.PaymentType = 'Credit' GROUP BY s.CustomerCode) A, (SELECT
SUM(SR.TotalBase) AS TotReturn FROM BSBSEMEN..SalesReturn SR INNER JOIN
BSBSEMEN..Sales s ON SR.CustomerCode = s.CustomerCode where
s.CustomerCode = '" + ID.Value + "' AND MONTH(SR.TransDate) BETWEEN "
+ awal + " and " + akhir + " AND YEAR(SR.TransDate) = " + year + ")
B");
if (query1.Rows.Count > 0) {
DataTable query2 = DB.GetData("SELECT SUM(NewLimit) from
BSBSEMEN..RequestPlafonAndTargetD WHERE CustomerCode = '" + ID.Value +
"' AND MONTH(TargetDate) BETWEEN " + awal + " and " + akhir + " AND
YEAR(TargetDate) = " + year + " GROUP BY CustomerCode");
if (query2.Rows.Count > 0) {
double q1 = double.Parse(query1.Rows[0][0].ToString());
double q2 = double.Parse(query2.Rows[0][0].ToString());
jumlahEfek = (q1 / q2);
//Rumus
double hasilPlafon = ((q1 / q2) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} else {
TextPlafon.Text = " - ";
} }
else {
TextPlafon.Text = "0";
} }
if (Tgglhari.Rows.Count > 0) {
if (Tgglhari.Rows[0][0] is DBNull){
TextTanggal.Text = "-";
} else if (Tgglhari.Rows[0][1] is DBNull) {
TextTanggal.Text = "-";
} else {
double hari = double.Parse(Tgglhari.Rows[0][1].ToString());
22
`
double data = double.Parse(Tgglhari.Rows[0][0].ToString());
double hasil = hari / data;
TextTanggal.Text = Math.Round(hasil, 0).ToString(); ;
} } else {
23
`
double caSalesCBN1 = double.Parse(caSalesBSB.Rows[0][0].ToString());
TextCA.Text = caSalesCBN1.ToString();
} else {
TextCA.Text = "0";
}
if (hasilTargetSales < 0)
TextTarget.Text = "0";
else
TextTarget.Text = Math.Round(hasilTargetSales, 2).ToString();
} else {
double tSalesC1 = double.Parse(tSalesCBN.Rows[0][0].ToString());
//Rumus
double hasilTargetSales = ((hasilCA / tSalesC1) * 100);
if (hasilTargetSales < 0)
TextTarget.Text = "0";
else
TextTarget.Text = Math.Round(hasilTargetSales, 2).ToString();
} }
else if (tSalesBSB.Rows.Count > 0) {
double tSalesC1 = double.Parse(tSalesBSB.Rows[0][0].ToString());
//Rumus
double hasilTargetSales = ((hasilCA / tSalesC1) * 100);
if (hasilTargetSales < 0)
TextTarget.Text = "0";
else
TextTarget.Text = Math.Round(hasilTargetSales, 2).ToString();
} else {
TextTarget.Text = "-";
}
//Capai Terhadap Univers
DataTable univSalesCBN = DB.GetData("select COUNT(CustomerCode) from
CM..CustomerE where SalesCode = '" + ID.Value + "' and CompanyCode =
'CBN'");
if (univSalesCBN.Rows.Count > 0) {
24
`
DataTable univSalesBSB = DB.GetData("select COUNT(CustomerCode) from
CM..CustomerE where SalesCode = '" + ID.Value + "' and CompanyCode =
'BSBSEMEN'");
if (hasilUnivSales > 0)
TextUnivers.Text = Math.Round(hasilUnivSales, 2).ToString();
else
TextUnivers.Text = "0";
} else {
TextUnivers.Text = "0";
}
//Total Piutang
DataTable utangCBN = DB.GetData("SELECT SUM(r.TotalBase) from
CBN..ReceiveBalance r INNER JOIN CM..CustomerE c ON
r.RelationCode=c.CustomerCode WHERE c.CompanyCode = 'CBN' AND
c.SalesCode = '" + ID.Value + "' GROUP BY SalesCode ");
if (utangCBN.Rows.Count > 0) {
if (utangBSB.Rows.Count > 0) {
CultureInfo culture = new CultureInfo("id-ID");
double utangC1 = double.Parse(utangCBN.Rows[0][0].ToString());
double utangB1 = double.Parse(utangBSB.Rows[0][0].ToString());
utang = (utangC1 + utangB1);
TextPiutang.Text = Decimal.Parse(utang.ToString()).ToString("C",
culture);
} else {
CultureInfo culture = new CultureInfo("id-ID");
double utangC1 = double.Parse(utangCBN.Rows[0][0].ToString());
TextPiutang.Text = Decimal.Parse(utangC1.ToString()).ToString("C",
culture);
}
}
else if (utangBSB.Rows.Count > 0) {
CultureInfo culture = new CultureInfo("id-ID");
double utangC1 = double.Parse(utangBSB.Rows[0][0].ToString());
TextPiutang.Text = Decimal.Parse(utangC1.ToString()).ToString("C",
culture);
} else {
TextPiutang.Text = "-";
}
//Efektifitas Plafon
//totalrupiahTON
DataTable efekTonCBN = DB.GetData("SELECT TotRP -ISNULL(TotReturn, 0)
FROM (select SUM(s.TotalBase + s.FreightBase) AS TotRP from CBN..Sales
s INNER JOIN CM..CustomerE c ON s.CustomerCode = c.CustomerCode where
c.SalesCode = '" + ID.Value + "' AND MONTH(s.TransDate) BETWEEN " +
25
`
awal + " and " + akhir + " AND YEAR(s.TransDate) = " + year + " AND
s.PaymentType = 'Credit' AND c.CompanyCode = 'CBN' GROUP BY
c.SalesCode) A, (SELECT SUM(SR.TotalBase) AS TotReturn FROM
CBN..SalesReturn SR INNER JOIN CM..CustomerE c ON SR.CustomerCode =
c.CustomerCode where c.SalesCode = '" + ID.Value + "' " and
MONTH(SR.TransDate) BETWEEN " + awal + " and " + akhir + " AND
YEAR(SR.TransDate) = " + year + " AND c.CompanyCode = 'CBN') B");
//plafonygdiberi
DataTable efekPlafonCBN = DB.GetData("SELECT SUM(NewLimit) from
CBN..RequestPlafonAndTargetD where SalesCode= '" + ID.Value +"' AND
MonthTarget BETWEEN " + awal + " and " + akhir + " AND YearTarget = "
+ year + " GROUP BY SalesCode");
if (efekTonCBN.Rows.Count > 0) {
if (efekTonBSB.Rows.Count > 0) {
if (efekPlafonCBN.Rows.Count > 0) {
if (efekPlafonBSB.Rows.Count > 0) {
double tonC1 = double.Parse(efekTonCBN.Rows[0][0].ToString());
double tonC2 = double.Parse(efekTonBSB.Rows[0][0].ToString());
double efekTon = (tonC1 + tonC2);
double tonB1 = double.Parse(efekPlafonCBN.Rows[0][0].ToString());
double tonB2 = double.Parse(efekPlafonBSB.Rows[0][0].ToString());
double efekPlafon = (tonB1 + tonB2);
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} else {
double tonC1 = double.Parse(efekTonCBN.Rows[0][0].ToString());
double tonC2 = double.Parse(efekTonBSB.Rows[0][0].ToString());
double efekTon = (tonC1 + tonC2);
double efekPlafon = double.Parse(efekPlafonCBN.Rows[0][0].ToString());
jumlahEfek = (efekTon / efekPlafon);
26
`
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} } else {
if (efekPlafonCBN.Rows.Count > 0) {
if (efekPlafonBSB.Rows.Count > 0) {
double tonC1 = double.Parse(efekTonCBN.Rows[0][0].ToString());
double tonC2 = double.Parse(efekTonBSB.Rows[0][0].ToString());
double efekTon = (tonC1 + tonC2);
double efekPlafon = double.Parse(efekPlafonBSB.Rows[0][0].ToString());
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
}else{
TextPlafon.Text = "0";
} } }
} else {
if (efekPlafonCBN.Rows.Count > 0) {
if (efekPlafonBSB.Rows.Count > 0) {
double efekTon = double.Parse(efekTonCBN.Rows[0][0].ToString());
double tonB1 = double.Parse(efekPlafonCBN.Rows[0][0].ToString());
double tonB2 = double.Parse(efekPlafonBSB.Rows[0][0].ToString());
double efekPlafon = (tonB1 + tonB2);
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} else {
double efekTon = double.Parse(efekTonCBN.Rows[0][0].ToString());
double efekPlafon = double.Parse(efekPlafonCBN.Rows[0][0].ToString());
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} } else {
TextPlafon.Text = "0";
} }
} else if (efekTonBSB.Rows.Count > 0) {
if (efekPlafonCBN.Rows.Count > 0) {
if (efekPlafonBSB.Rows.Count > 0) {
double efekTon = double.Parse(efekTonBSB.Rows[0][0].ToString());
double tonB1 = double.Parse(efekPlafonCBN.Rows[0][0].ToString());
27
`
double tonB2 = double.Parse(efekPlafonBSB.Rows[0][0].ToString());
double efekPlafon = (tonB1 + tonB2);
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} else {
double efekTon = double.Parse(efekTonBSB.Rows[0][0].ToString());
double efekPlafon = double.Parse(efekPlafonCBN.Rows[0][0].ToString());
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} } else {
double efekTon = double.Parse(efekTonBSB.Rows[0][0].ToString());
double efekPlafon = double.Parse(efekPlafonBSB.Rows[0][0].ToString());
jumlahEfek = (efekTon / efekPlafon);
//Rumus
double hasilPlafon = ((efekTon / efekPlafon) * 100);
if (hasilPlafon < 0)
TextPlafon.Text = "0";
else
TextPlafon.Text = Math.Round(hasilPlafon, 2).ToString();
} } else {
TextPlafon.Text = "-";
}
int x;
double hasil = 0;
double totalHari = 0;
for (x = 0; x < cekCust.Rows.Count; x++) {
DataTable HariLunas = DB.GetData("SELECT COUNT(z.TransDate) AS
Data,SUM(DATEDIFF(DAY, Z.TransDate, C.TransDate)) AS Total FROM
CBN..CreditReceiveE C INNER JOIN (SELECT D.TransCode as INVCode,
S.TransCode AS SJCode, S.TransDate, S.CustomerCode FROM CBN..SalesD D
INNER JOIN CBN..SalesDelivery S ON D.SDCode = S.TransCode) Z ON
28
`
Z.INVCode = C.PTransCode WHERE YEAR(C.TransDate) = " + year + " AND
MONTH(C.TransDate) BETWEEN " + awal + " and " + akhir + " AND
Z.CustomerCode =" + cekCust.Rows[x][0] + " ");
if (HariLunas.Rows[0][1] is DBNull) {
hasil += 0;
}else{
double data = double.Parse(HariLunas.Rows[0][0].ToString());
double hari = double.Parse(HariLunas.Rows[0][1].ToString());
double hitung = hari / data;
totalHari += hitung;
} }
29
`
Gambar 4.7 Merupakan halaman dashboard yang
menampilkan gridview untuk user customer. Pada gridview
customer ini mempunyai kelebihan yaitu bisa menampilkan siapa
sales pada customer tersebut dan customer tersebut berada di area
mana. Dimana fungsi gridview ini memudahkan staff melihat
semua customer yang ada tanpa harus memilih nama customer satu
per satu.
32
`
BAB V
PENUTUP
V.1. Kesimpulan
Adapun kesimpulan dari laporan ini adalah sebagai
berikut:
1. Sistem Imagine Reports Dashboard yang dikembangkan
berfungsi untuk mempermudah menampilkan data pada
bagian customer aktif yang telah dikalkulasikan sesuai
periode pilihan pada bagian user customer, sales dan area.
2. Sistem Imagine Reports Dashboard menampilkan gridview
secara keseluruhan yang ada di halaman dashboard pada
bagian user customer dan area.
V.2. Saran
Adapun saran dari laporan ini adalah sebagai berikut:
1. Sistem ini bisa ditambahkan dengan menampilkan grafik
sehingga staff lebih gampang mengetahui kinerja
salesman , customer dan area.
2. Menerapkan fitur ganti password pada pengguna.
3. Tidak hanya mencakup jenis dokumen itu saja, tetapi
mencakup seluruh dokumen yang ada di Kanwil DJP Riau
Kepri.
33
`
DAFTAR PUSTAKA
Andi Offset.
34
`
LAMPIRAN
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q