4. implementasi sistem · agar bisa diakses dimana saja. sehingga modem adsl speedy di setting...

44
70 Universitas Kristen Petra 4. IMPLEMENTASI SISTEM Pada bab 4 ini akan dibahas cara dan implementasi mulai dari pembuatan database pada SQL Server, setting virtual private network pada mikrotik, setting koneksi dari program Microsoft Visual Basic 2010 sampai ke penjelasan segmen-segmen dari aplikasi yang telah dibuat. 4.1 Implementasi Database Seperti yang sudah disebutkan diawal, penggunaan database untuk aplikasi Sistem Informasi Inventori Toko Bangunan Santoso adalah menggunakan Microsoft SQL Server 2008 R2. Pembuatan tabel dalam database dapat dilihat pada gambar 4.1. Gambar 4.1 Contoh Pembuatan Tabel Pembelian Pembuatan tabel ini dilakukan sesuai dengan rancangan ERD yang sudah dibuat dalam Bab 3 sebelumnya. Contoh dari database untuk sistem informasi inventori pada toko bangunan Santoso adalah seperti pada gambar 4.2.

Upload: others

Post on 07-Nov-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

70 Universitas Kristen Petra

4. IMPLEMENTASI SISTEM

Pada bab 4 ini akan dibahas cara dan implementasi mulai dari pembuatan

database pada SQL Server, setting virtual private network pada mikrotik,

setting koneksi dari program Microsoft Visual Basic 2010 sampai ke

penjelasan segmen-segmen dari aplikasi yang telah dibuat.

4.1 Implementasi Database

Seperti yang sudah disebutkan diawal, penggunaan database untuk

aplikasi Sistem Informasi Inventori Toko Bangunan Santoso adalah

menggunakan Microsoft SQL Server 2008 R2. Pembuatan tabel dalam

database dapat dilihat pada gambar 4.1.

Gambar 4.1 Contoh Pembuatan Tabel Pembelian

Pembuatan tabel ini dilakukan sesuai dengan rancangan ERD yang

sudah dibuat dalam Bab 3 sebelumnya. Contoh dari database untuk

sistem informasi inventori pada toko bangunan Santoso adalah seperti

pada gambar 4.2.

Page 2: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

71 Universitas Kristen Petra

Gambar 4.2 Database Sistem Informasi Inventori

4.2 Implementasi Virtual Private Network

Langkah awal untuk implementasi virtual private network adalah

dengan instalasi Mikrotik Pc Router dan menyiapkan koneksi Speedy untuk

router mikrotik. Untuk membuat virtual private network dibutuhkan ip publik

agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting

sebagai Bridge, lalu username & password Speedy di input pada Mikrotik

(PPPoE Client), sehingga setelah terkoneksi ke Speedy maka IP Public berada

pada Mikrotik. Contoh untuk setting modem ADSL Speedy sebagai Bridge

adalah seperti pada gambar 4.3.

Page 3: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

72 Universitas Kristen Petra

Gambar 4.3 Setting Bridge Mode ADSL Modem

Berikutnya adalah menyiapkan Mikrotik PC Router, Mikrotik PC

Router adalah sebuah PC yang dapat berfungsi sebagai routerboard

biasanya. Spesifikasi untuk membuat Mikrotik PC Router hanya

memerlukan setidaknya Pentium II/400Mhz, harddisk IDE minimal

1GB, Ram 64Mb/128 Mb, 2 buah Lan Card (Merk

Intel/Realtek/Dlink/3 Com/ TPLink/ dll), CDRom IDE, CD Installer

Mikrotik, pada saat ini versi router os yang digunakan adalah versi

5.20. Gambar 4.4 merupakan topologi Jaringan Mikrotik yang akan

dibangun.

Page 4: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

73 Universitas Kristen Petra

Gambar 4.4 Topologi Jaringan Mikrotik pada Toko 1

Setelah pada tahap persiapan dengan memahami konsep dan topologi

jaringan mikrotik yang akan dibangun, maka cara setting Mikrotik PC

Router adalah sebagai berikut

1. Melakukan instalasi Router OS pada PC, dengan memilih fitur apa

saja yang akan diinstal pada PC Router.Pada kasus ini semua fitur

akan diinstal.Gambar proses instalasi Router OS dapat dilihat pada

gambar 4.5

Page 5: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

74 Universitas Kristen Petra

Gambar 4.5 Install Router OS

2. Setelah instalasi selesai, reboot PC Router, dan bisa mengakses

Mikrotik menggunakan Winbox. Gambar 4.6 merupakan gambar

Winbox.

Gambar 4.6 Aplikasi Winbox

3. Selanjutnya ubah nama kedua Interface pada mikrotik menjadi

LAN dan SPEEDY dengan cara klik 2x pada kotak biru yang

terdapat pada Gambar 4.7. Tujuannya adalah untuk memudahkan

Page 6: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

75 Universitas Kristen Petra

identifikasi, sehingga tidak terjadi kesalahan pada saat setting

interface.

Gambar 4.7 Mengubah nama interface

4. Setting IP Address untuk LAN menjadi 192.168.88.251/24 seperti

pada gambar 4.8 dan IP Address untuk Speedy menjadi

192.168.1.10/24 seperti pada gambar 4.9.

Gambar 4.8 Ip Address Interface LAN

Page 7: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

76 Universitas Kristen Petra

Gambar 4.9 IP Address Interface Speedy

5. Setting IP DNS dengan IP DNS Speedy yaitu 202.134.1.10 dan

202.134.0.155. Caranya dengan masuk ke menu “IP” lalu pilih

“DNS” seperti pada gambar 4.10.

Gambar 4.10 Setting IP DNS Speedy

6. Langkah selanjutnya adalah membuat interface PPPoE Client.

Caranya klik menu Interface, pada simbol plus diklik dan pilih

“PPPoE Client” seperti pada gambar 4.11. Masukkan Username

dan password Speedy. Pada option “General”, cukup menentukan

interface yang 1 jalur dengan modem ADSL untuk nama dan type-

Page 8: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

77 Universitas Kristen Petra

nya pake default-nya saja sudah cukup, dan tentu Interface yang

mengarah ke modem ADSL, yaitu interface yang telah diberi nama

“SPEEDY” seperti pada gambar 4.12. Selanjutnya klik tab “Dial

Out” dan masukkan Username + Password Account Speedy seperti

pada gambar 4.13.

Gambar 4.11 Membuat Interface PPPoE Client

Gambar 4.12 Nama Profile Interface PPPoE Client

Page 9: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

78 Universitas Kristen Petra

Gambar 4.13 Tab Dial Out

7. Apabila selesai melakukan setting PPPoE Client maka begitu

selesai setting, Mikrotik langsung melakukan DialUp ke modem

ADSL. Jika setting Username dan Password ini benar maka

selanjutnya akan tampak status koneksi Mikrotik dan pada menu

IP -> Address akan muncul sebuah IP Address baru berupa IP

Publik yaitu 125.164.75.150 yang diberikan Telkom Speedy

kepada pelanggan berdasarkan Username & Password seperti pada

gambar 4.14.

Gambar 4.14 Ip Addres Baru

Page 10: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

79 Universitas Kristen Petra

8. Selanjutnya mengatur NAT (Network Address Translation) agar

client dapat terkoneksi ke Internet atau dapat mengakses internet.

Caranya masuk ke webbox dengan alamat IP 192.168.88.251 pada

browser, pilih interface pppoe-out1 lalu centang NAT dan klik

Apply seperti pada gambar 4.15.

Gambar 4.15 Setting NAT Interface pppoe-out1

9. Selanjutnya tambahakan 1 buah IP Route. Perhatikan pada sebelah

IP Address dari IP Publik pada gambar 4.16, yaitu Network =

125.164.72.1. IP Network ini adalah IP Gateway Telkom Speedy

yang melayani koneksi, Tambahkan 1 buah New Route,

Destination 0.0.0.0/0 lalu gateway = 125.164.72.1.

Page 11: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

80 Universitas Kristen Petra

Gambar 4.16 Setting IP Route

10. Sampai tahap ini setting mikrotik Router telah selesai. Tinggal test

ping koneksi dari Mikrotik. Lakukan test ke IP DNS Speedy :

202.134.1.10 dilanjutkan dengan test ping ke yahoo.com maupun

website lain. Jika ada reply maka Mikrotik telah berhasil / sukses

dikonfigurasi, contohnya pada gambar 4.17.

Gambar 4.17 Test Ping IP DNS dan website lain

Page 12: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

81 Universitas Kristen Petra

11. Setelah mendapatkan IP Publik dari Speedy (125.164.75.150),

selanjutnya akan melakukan konfigurasi PPP -> PPTP Server

seperti pada gambar 4.18. B New Interface PPTP Server, dan

gunakan settingan default langsung OK, seperti pada gambar 4.19.

Gambar 4.18 Konfigurasi PPTP Server

Page 13: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

82 Universitas Kristen Petra

Gambar 4.19 Membuat Interface pptp-in1

12. Langkah berikutnya adalah membuat IP Pool, atau sekelompok IP

Address yang akan dibuat untuk mengalokasikan sejumlah IP

Adress untuk VPN Client per-user yang nanti akan terkoneksi ke

Mikrotik VPN Server. Selain menggunakan IP Pool, juga bisa

memberikan IP Adress per-user satu persatu. Tetapi jika jumlah

VPN Client-nya banyak maka cara inilah yang tepat untuk

dilakukan. Untuk membuat IP Pool klik menu IP -> Pool seperti

pada gambar 4.20. Selanjutnya buat New Ip Pool. Misalnya

alokasikan IP Address: 192.168.88.10 – 192.168.88.20 dan diberi

nama vpn-client seperti pada gambar 4.21. Jika Ip Pool sudah

terbuat maka akan tampak seperti gambar 4.22.

Page 14: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

83 Universitas Kristen Petra

Gambar 4.20 Membuat IP Pool

Gambar 4.21 Membuat IP Pool Baru

Page 15: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

84 Universitas Kristen Petra

Gambar 4.22 Ip Pool Berhasil Di Buat

13. Langkah Selanjutnya adalah membuat sebuah profile dengan nama

VPS-VPN (atau bebas). Local Address adalah IP Adress yang

digunakan sebagai VPN gateway oleh Mikrotik, yaitu IP Address

Mikrotik LAN. Remote address adalah IP Address yang akan

diberikan kepada masing-masing VPN Client dan IP Adress inilah

yang dapat dikenali dan dapat berkomunikasi dengan Client yang

lain, sebelumnya sudah dibuat pada IP Pool.Contohnya ada pada

gambar 4.23.

Page 16: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

85 Universitas Kristen Petra

Gambar 4.23 Membuat Profile Untuk VPN Client

14. Selanjutnya klik PPTP Server. Option inilah yang menentukan

Fitur PPTP Server berfungsi atau tidak pada Mikrotik. Aktifkan /

centang tanda checkmark “Enable” lalu pilih default profile dengan

profile yang dibuat sebelumnya, yaitu VPS-VPN seperti pada

gambar 4.24.

Page 17: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

86 Universitas Kristen Petra

Gambar 4.24 Mengaktifkan PPTP Server

15. Langkah Selanjutnya adalah membuat User VPN di menu Tab

“Secrets”. Setting username, password, Service PPTP dan Profile

VPS-VPN seperti pada gambar 4.25. Hingga tahap ini proses

setting VPN Server sudah selesai, tinggal setting vpn client di sisi

client.

Page 18: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

87 Universitas Kristen Petra

Gambar 4.25 Membuat User VPN

16. Agar dapat langsung menggunakan akses VPN ini maka pastikan

dahulu ada akses internet di PC atau laptop. Pada windows 7

langkahnya adalah:

Buka Menu Network And Sharing Center dan pilih menu

Setup a New Connection Network seperti pada gambar 4.26.

Page 19: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

88 Universitas Kristen Petra

Gambar 4.26 Menu Network and Sharing Center

Pilih Menu Connect to a Network Place seperti pada gambar

4.27.

Gambar 4.27 Connect to a Network Place

Page 20: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

89 Universitas Kristen Petra

Pilih Menu Create New Connection seperti pada gambar 4.28.

Gambar 4.28 Create New Connection

Pilih Use my Internet connection (VPN) serperti pada gambar

4.29

Gambar 4.29 User My Internet Connection (VPN)

Page 21: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

90 Universitas Kristen Petra

Selanjutnya masukkan alamat IP Address atau Domain Name

dari VPN Server dan nama koneksi VPN seperti pada gambar

4.30

Gambar 4.30 Masukkan IP Address dan nama koneksi

Setelah itu akan muncul tampilan seperti dibawah ini dan

masukkan Username + Password VPN yang telah dibuat

sebelumnya. Contoh pada gambar 4.31

Page 22: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

91 Universitas Kristen Petra

Gambar 4.31 Masukkan username dan password vpn client

Lihat di status Network Connection telah muncul sebuah

nama koneksi VPN yang telah dibuat tadi. Klik nama koneksi

VPN tersebut lalu pilih properties seperti pada gambar 4.32.

Page 23: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

92 Universitas Kristen Petra

Gambar 4.32 Network Connection

Pada menu tab Security,tentukan jenis VPN misalnya pada

contoh ini menggunakan PPTP VPN tanpa Enkripsi, sehingga

dapat dilihat pada gambar 4.33.

Page 24: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

93 Universitas Kristen Petra

Gambar 4.33 VPN Properties

Selanjutnya pada menu tab Networking, cek setting pada

Internet Protocol/ TCP-IP. Lalu klik Properties dan

selanjutnya klik lagi Advanced seperti pada gambar 4.34.

Page 25: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

94 Universitas Kristen Petra

Gambar 4.34 Menu Networking

Pada Menu tab IP Settings yang ada pada gambar 4.35

menjelaskan mengenai, jika opsi Use default gateway on

remote network ]diaktifkan maka apabila client ini sudah

terkoneksi dengan VPN Server maka selanjutnya Gateway

yang digunakan bukan lagi gateway dari koneksi lokal

melainkan menggunakan Gateway yang ada pada VPN

Server.Jika opsi use default gateway on remote network

dinon-aktifkan maka apabila client ini sudah terkoneksi ke

VPN Server maka Gateway yang digunakan tetap gateway

dari koneksi lokal atau tidak menggunakan gateway yang ada

pada vpn server. Artinya vpn hanya digunakan sebagai

jembatan untuk mengakses dan memanfaatkan resource yang

ada di jaringan LAN (misalnya:Database Server).

Page 26: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

95 Universitas Kristen Petra

Gambar 4.35 Setting default gateway on remote network

Langkah berikutnya adalah melakukan koneksi dari vpn

client (pastikan username & password telah disetting

dengan benar) seperti pada gambar 4.36 dan jika koneksi

vpn client ini berhasil dan statusnya connected akan tampak

seperti pada gambar 4.37.

Page 27: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

96 Universitas Kristen Petra

Gambar 4.36 Koneksi VPN Client

Gambar 4.37 VPN Terhubung

Page 28: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

97 Universitas Kristen Petra

Karena koneksi yang digunakan saat ini adalah Speedy, maka speedy

memiliki ip publik dinamik yang setiap beberapa jam berganti

sehingga mempersulit untuk proses koneksi terhadap VPN dimana

harus selalu mengganti IP nya. Berikut ini merupakan proses

konfigurasi auto update ip publik dinamik dengan FreeDDNS pada

Mikrotik PC Router.Langkah-langkahnya adalah sebagai berikut:

1. Melakukan registrasi pada website www.changeip.com, dan

melakukan login pada website tersebut.

2. Setelah itu pilih menu Products -> Free Dynamic DNS, akan

muncul tampilan seperti pada gambar 4.38. Dan pilih subdomain

yang diinginkan, pada contoh ini saya memilih subdomain

dynamic-dns.net dengan nama tayongky2014.

Gambar 4.38 Menu Free Dynamic DNS

3. Selanjutnya klik menu DNS Manager, dan akan terlihat sejumlah

nama subdomain yang telah diregister seperti pada gambar 4.39

Page 29: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

98 Universitas Kristen Petra

Gambar 4.39 DNS Manager

4. Selanjutnya klik menu View Recent DDNS Updates maka akan

terlihat IP Public yang sudah teregister pada subdomain tersebut.

Ip Publik ini dapat diganti secara otomatis dengan beberapa cara,

yaitu update via tools / software DNS Client Updater ataupun

menggunakan update via router.Untuk Update via router caranya

adalah:

Membuat ScriptHomingBeaconUpdater dari Menu System

Script

Membuat Scheduler yang diset permenit untuk menjalankan

ScriptHomingBeaconUpdater

Dari Mikrotik Winbox, Pilih menu System Script untuk membuat

ScriptHomingBeaconUpdater seperti pada gambar 4.40. Lalu

masukkan script tersebut dan klik Apply / OK. Script Homing

Beacon Updater dapat dilihat pada gambar 4.41.

Page 30: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

99 Universitas Kristen Petra

Gambar 4.40 Menu System Script

Gambar 4.41 Script Homing Beacon Updater

5. Selanjutnya dari menu System Scheduler buat sebuah schedule

baru yang set permenit untuk menjalankan Script Homing

Beacon Updater yang telah dibuat tadi caranya seperti pada

gambar 4.42. kemudian tentukan nama Schedule dan interval

jalannya script. Lalu pada pilihan On Event, taruh nama script

yang sudah di siapkan sebelumnya. Lalu klik OK / Apply

seperti pada gambar 4.43.

Page 31: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

100 Universitas Kristen Petra

Gambar 4.42 Membuat Scheduler Baru

Gambar 4.43 Memasukkan Script dalam Schedule

6. Apabila update dns sukses maka dapat dilihat contohnya pada

gambar 4.44. Dan dapat langsung mengakses VPN Server

tanpa menggunakan IP, melainkan dengan menggunakan

domain yang telah di buat sebelumnya seperti pada gambar

4.45.

Page 32: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

101 Universitas Kristen Petra

Gambar 4.44 Update DNS Sukses

Gambar 4.45 Mengganti Ip dengan Domain

Page 33: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

102 Universitas Kristen Petra

4.3 Implementasi Program

Program yang dibuat,terdiri dari beberapa user login seperti admin,

kasir,dan manajer sehingga form awal yang didalamnya berbeda 1

sama lain, akan tetapi tiap form awal terdapat menu strip yang

merupakan menu-menu dari program. Untuk lebih jelasnya dapat

melihat pada Tabel 4.1.

Tabel 4.1 Tabel Menu dari form Utama

Nama

Menu

Sub Menu Nama Form Yang digunakan

Master Master User FormMasterUser

Master Barang FormMasterBarang

Master Toko FormMasterToko

Master Supplier FormMasterSupplier

Master User FormMasterUser

Transaksi Pembelian FormTransaksiPembelian

Penerimaan FormTransaksiPenerimaan

Pelunasan FormTransaksiPelunasan

Request Retur FormTransaksiRequestRetur

Penerimaan Retur FormTransaksiTerimaRetur

Stock Opname FormStokOpname

Transfer FormTransaksiTransfer

Request Jual FormRequestReturPenjualan

NotaPenjualan FormNotaPenjualan

Pengiriman FormTransaksiPengiriman

Pelunasan FormTransaksiPelunasanPenjualan

Request Retur FormTransaksiRequestReturJual

Retur Jual FormTransaksiReturJual

Laporan Laporan Penjualan FormLaporanPenjualan

Laporan Pembelian FormLaporanPembelian

Laporan Hutang FormLaporanHutang

Page 34: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

103 Universitas Kristen Petra

Laporan Piutang FormLaporanPiutang

Laporan Kartu Stok FormLaporanKartustok

Laporan Laba Rugi FormLaporanLabaRugi

Logout - -

Masing-masing form memiliki function, function dari tiap-tiap form dapat

dilihat pada tabel 4.2

Tabel 4.2 Tabel Form

No Proses

DFD

Form Seg

ment

Keterangan

Proses 1.1 FormNotaPenjualan 4.1 Form untuk membuat nota

penjualan (Browse

Request, Browse

Customer,Tambah

Barang, Hapus,Simpan)

FormTransaksiPengiriman Form untuk mencatat

pengiriman

penjualan(Browse Nota

Penjualan, Hapus,Simpan)

Proses 1.2 FormTransaksiPelunasanPenjualan Form untuk mencatat

pelunasan

penjualan(Browse Nota

Penjualan, Bayar)

Proses 1.3 FormRequestPenjualan Form untuk mencatat

pesanan

penjualan(Browse

Customer,Tambah

Barang,Hapus,Simpan)

Proses 1.4 FormTransaksiRequestReturJual Form untuk mencatat

Page 35: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

104 Universitas Kristen Petra

request retur

penjualan(Browse

Transaksi Penjualan,

Hapus, Simpan)

FormTransaksiReturJual 4.2 Form untuk mencatat retur

penjualan(Browse

Request Retur,Hapus,

Simpan)

FormMasterCustomer 4.3 Form untuk menyimpan

data

customer(Add,Edit,Delete

)

Proses 2.1 FormTransaksiPembelian 4.4 Form untuk mencatat

transaksi

pembelian(Browse

Supplier, Tambah

Barang,Hapus,Simpan)

Proses 2.2 FormTransaksiPenerimaan Form untuk mencatat

transaksi

penerimaan(BrowseTrans

aksiPembelian,Hapus,Sim

pan)

Proses 2.3 FormTransaksiRequestRetur 4.5 Form untuk mencatat

permohonan retur

beli(BrowseTransaksiPem

belian,Hapus,Simpan)

FormTransaksiTerimaRetur Form untuk mencatat

penerimaan retur

beli(BrowseRequestRetur,

Page 36: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

105 Universitas Kristen Petra

Hapus,Simpan)

Proses 2.4 FormTransaksiPelunasan Form untuk mencatat

transaksi pelunasan

beli(BrowseTransaksiPem

belian,Bayar)

Proses 2.5 FormMasterSupplier Form untuk mencatat data

supplier(Add,Edit,Delete)

Proses 3 FormLaporanPenjualan 4.6 Form untuk menampilkan

laporan penjualan

FormLaporanPembelian Form untuk menampilkan

laporan pembelian

FormLaporanHutang Form untuk memunculkan

laporan hutang

FormLaporanPiutang Form untuk memunculkan

laporan piutang

FormLaporanKartuStok Form untuk menampilkan

laporan kartu stok

FormLaporanLabaRugi Form untuk menampilkan

laporan laba rugi

Proses 4 FormStokOpname Form untuk menampilkan

stok opname

FormTransaksiTransfer Form untuk mencatat

pengiriman barang antar

toko(BrowseToko,Tamba

hBarang,Hapus,Simpan)

FormMasterBarang Form untuk mencatat data

barang(Add,Edit,Delete,B

Page 37: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

106 Universitas Kristen Petra

rowseGambar)

FormTransaksiRequestTransfer Form untuk meminta

transfer barang ke toko

pusat(BrowseToko,Tamba

hBarang,Hapus)

FormMasterUser Form untuk mencatat

daftar user

login(Add,Edit,Delete)

FormMasterToko Form untuk mencatat data

toko(Add,Edit,Delete)

1. Form Nota Penjualan

Pada form ini, kasir dapat melakukan penjualan. Source code Form Nota

Penjualan dapat dilihat pada Segmen program 4.1

Segmen 4.1 Form Nota Penjualan

Browse Request Penjualan

Dim sqlCommandText As String = "SELECT

t.id_penjualan,s.nama,t.tgl_penjualan,t.total " & _

"FROM [tbl_penjualan] t " & _

"INNER JOIN [tbl_customer] s ON (t.CustomerID=s.CustomerID) " & _

"WHERE t.id_penjualan LIKE '%" & TextBox1.Text & "%' AND

t.Status<>'X' AND t.id_toko=" & Connect.idToko

Browse Customer

Dim sqlCommandText As String = "SELECT

t.CustomerID,t.nama,t.alamat,t.no_telp " & _

"FROM [tbl_customer] t WHERE t.nama LIKE '%" & TextBox1.Text & "%'

AND t.id_toko=" & Connect.idToko

Page 38: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

107 Universitas Kristen Petra

Segmen 4.1 Form Nota Penjualan (Lanjutan)

Tambah Barang

FormBrowseBarangJ.ShowDialog()

If (Not FormBrowseBarangJ.brg Is Nothing) Then

Dim contained As Boolean = False

For i As Integer = 0 To detailPembelian.Count - 1

If (detailPembelian.Item(i).barangID =

FormBrowseBarangJ.brg.barangID) Then

contained = True

detailPembelian.Item(i).total detailPembelian.Item(i).total +

FormBrowseBarangJ.brg.total

End If

Next

If (Not contained) Then

detailPembelian.Add(FormBrowseBarangJ.brg)

End If

bindingsource.ResetBindings(True)

hitungTotal()

End If

Hapus

Try

Dim i As Integer = DataGridView1.CurrentRow.Index()

detailPembelian.RemoveAt(i)

bindingsource.ResetBindings(True)

hitungTotal()

Catch ex As Exception

End Try

2. Form Retur Jual

Pada form ini, kasir dapat memasukkan retur penjualan. Source code form

retur jual dapat dilihat pada Segmen program 4.2.

Segmen 4.2 Form Retur Jual

Simpan Data Retur

If (checkValid()) Then

Try

Dim noPembelian As String = TextBox3.Text

Dim tanggal As Date = DateTimePicker1.Value

Dim sqlConn As SqlConnection = New SqlConnection

sqlConn.ConnectionString = Connect.str

sqlConn.Open()

Dim sqlCommandText As String = "INSERT INTO

tbl_penerimaanreturbeli(no_pembelian,tgl_penerimaanretur) " & _

"VALUES (@nopemb,@tglpemb)"

Dim sqlquery As New SqlCommand(sqlCommandText,sqlConn)

sqlquery.Parameters.Add(New SqlParameter("@nopemb",

noPembelian))

sqlquery.Parameters.Add(New SqlParameter("@tglpemb", tanggal))

sqlquery.ExecuteNonQuery()

Dim mid As String = ""

sqlCommandText = "SELECT MAX(id_penerimaanretur) AS mid FROM

tbl\_penerimaanreturbeli"

sqlquery = New SqlCommand(sqlCommandText, sqlConn)

Dim rd As SqlDataReader = sqlquery.ExecuteReader

While (rd.Read)

mid = rd("mid")

End While

rd.Close()

For i As Integer = 0 To detailPembelian.Count - 1

Page 39: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

108 Universitas Kristen Petra

Segmen 4.2 Form Retur Jual (Lanjutan)

sqlCommandText = "INSERT INTO tbl_detailpenerimaanreturbeli

(id_penerimaanretur,kode_barang,jumlah) " & _

"VALUES (@nopemb,@kode,@jumlah)"

sqlquery = New SqlCommand(sqlCommandText, sqlConn)

sqlquery.Parameters.Add(New SqlParameter("@nopemb", mid))

sqlquery.Parameters.Add(New SqlParameter("@kode",

detailPembelian.Item(i).barangID))

sqlquery.Parameters.Add(New SqlParameter("@jumlah",

detailPembelian.Item(i).total2))

sqlquery.ExecuteNonQuery(

Next

sqlConn.Close()

resetInput()

MessageBox.Show("Data retur berhasil disimpan")

Catch ex As Exception

End Try

End

3. Form Master Customer

Pada form ini dapat menambah,edit,hapus data customer. Source code

form Master Customer dapat dilihat pada Segmen program 4.3

Segmen 4.3 Form Master Customer

Add

If (checkValid()) Then

Dim supplier As String = TextBox1.Text

Dim alamat As String = TextBox2.Text

Dim notelp As String = TextBox4.Text

Try

Dim sqlConn As SqlConnection = New SqlConnection

sqlConn.ConnectionString = Connect.str

sqlConn.Open()

Dim sqlCommandText As String = "INSERT INTO [tbl_customer]

(nama,alamat,no_telp,id_toko) VALUES

(@nama,@alamat,@telp,@idtoko)"

Dim sqlquery As New SqlCommand(sqlCommandText, sqlConn)

sqlquery.Parameters.Add(New SqlParameter("@nama", supplier))

sqlquery.Parameters.Add(New SqlParameter("@alamat", alamat))

sqlquery.Parameters.Add(New SqlParameter("@telp", notelp))

sqlquery.Parameters.Add(New SqlParameter("@idtoko",

Connect.idToko))

sqlquery.ExecuteNonQuery()

sqlConn.Close()

Catch ex As Exception

End Try

Me.Close()

End If

Delete

Try Dim i As Integer = DataGridView1.CurrentRow.Index() Dim id As String = DataGridView1.Item(0, i).Value Dim dc As SqlConnection = New SqlConnection dc.ConnectionString = Connect.str dc.Open() Dim sqlCommandText As String = "DELETE FROM tbl_customer WHERE CustomerID=" & id

Page 40: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

109 Universitas Kristen Petra

Segmen 4.3 Form Master Customer (Lanjutan

Dim sqlquery As New SqlCommand(sqlCommandText, dc) sqlquery.ExecuteNonQuery() dc.Close() Catch ex As Exception End Try viewDataUser() End If Edit

Dim supplier As String = TextBox1.Text

Dim alamat As String = TextBox2.Text

Dim notelp As String = TextBox4.Text

Try

Dim sqlConn As SqlConnection = New SqlConnection

sqlConn.ConnectionString = Connect.str

sqlConn.Open()

Dim sqlCommandText As String = "UPDATE [tbl_customer] SET

nama=@nama,alamat=@alamat,no_telp=@telp WHERE CustomerID=" &

idCustomer

Dim sqlquery As New SqlCommand(sqlCommandText, sqlConn)

sqlquery.Parameters.Add(New SqlParameter("@nama", supplier))

sqlquery.Parameters.Add(New SqlParameter("@alamat", alamat))

sqlquery.Parameters.Add(New SqlParameter("@telp", notelp))

sqlquery.ExecuteNonQuery()

sqlConn.Close()

Catch ex As Exception

End Try

Me.Close()

4. Form Transaksi Pembelian

Pada form ini dapat menyimpan pembelian kepada supplier. Source code

dari form transaksi pembelian ini dapat dilihat pada Segmen program 4.4

Segmen 4.4 Form Transaksi Pembelian

Tambah Barang

FormBrowseBarang.ShowDialog()

If (Not FormBrowseBarang.brg Is Nothing) Then

Dim contained As Boolean = False

For i As Integer = 0 To detailPembelian.Count – 1

If (detailPembelian.Item(i).barangID =

FormBrowseBarang.brg.barangID) Then

contained = True

detailPembelian.Item(i).total = detailPembelian.Item(i).total +

FormBrowseBarang.brg.total

End If

Next

If (Not contained) Then

detailPembelian.Add(FormBrowseBarang.brg)

End If

bindingsource.ResetBindings(True)

hitungTotal()

End If

Simpan

If (checkValid()) Then Try Dim noPembelian As String = TextBox3.Text Dim tanggal As Date = DateTimePicker1.Value

Page 41: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

110 Universitas Kristen Petra

Segmen 4.4 Form Transaksi Pembelian (Lanjutan)

Dim tipePembelian As String = ComboBox1.SelectedIndex Dim tanggalJatuhTempo As Date = DateTimePicker2.Value Dim sqlConn As SqlConnection = New SqlConnection sqlConn.ConnectionString = Connect.str sqlConn.Open() Dim sqlCommandText As String = "INSERT INTO tbl_pembelian (id_supplier,no_pembelian,tgl_pembelian,tgl_jatuhtempo,tipe_pembelian,total,status) " & _ "VALUES (@idsupp,@nopemb,@tglpemb,@tgljtempo,@tipe,@total,'H')" Dim sqlquery As New SqlCommand(sqlCommandText, sqlConn) sqlquery.Parameters.Add(New SqlParameter("@idsupp", suppID)) sqlquery.Parameters.Add(New SqlParameter("@nopemb", noPembelian)) sqlquery.Parameters.Add(New SqlParameter("@tglpemb", tanggal))

sqlquery.Parameters.Add(New SqlParameter("@tgljtempo", tanggalJatuhTempo)) sqlquery.Parameters.Add(New SqlParameter("@tipe", tipePembelian)) sqlquery.Parameters.Add(New SqlParameter("@total", total)) sqlquery.ExecuteNonQuery() For i As Integer = 0 To detailPembelian.Count - 1 sqlCommandText = "INSERT INTO tbl_detailpembelian (no_pembelian,kode_barang,jumlah,harga,subtotal) " & _ "VALUES (@nopemb,@kode,@jumlah,@harga,@subtotal)" sqlquery = New SqlCommand(sqlCommandText, sqlConn) sqlquery.Parameters.Add(New SqlParameter("@nopemb", noPembelian)) sqlquery.Parameters.Add(New SqlParameter("@kode", detailPembelian.Item(i).barangID)) sqlquery.Parameters.Add(New SqlParameter("@jumlah", detailPembelian.Item(i).total)) sqlquery.Parameters.Add(New SqlParameter("@harga", detailPembelian.Item(i).harga)) sqlquery.Parameters.Add(New SqlParameter("@subtotal", detailPembelian.Item(i)._subtotal)) sqlquery.ExecuteNonQuery() Next sqlConn.Close() resetInput() MessageBox.Show("Data pembelian berhasil disimpan") Catch ex As Exception End Try End If

5. Form Transaksi Request Retur Pembelian

Pada form ini dapat menyimpan transaksi request retur pembelian. Soure

code dari form Transaksi request retur pembelian ini dapat dilihat pada

Segmen program 4.5.

Page 42: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

111 Universitas Kristen Petra

Segmen 4.5 Form Transaksi Request Retur Pembelian

Browse Transaksi Pembelian

FormBrowseTransaksiRR.ShowDialog()

If (Not FormBrowseTransaksiRR.kodePembelian = "") Then

TextBox3.Text = FormBrowseTransaksiRR.kodePembelian

TextBox2.Text = FormBrowseTransaksiRR.namaSupplier

detailPembelian.Clear()

Dim sqlConn As SqlConnection = New SqlConnection

sqlConn.ConnectionString = Connect.str

sqlConn.Open()

'harga barang pada saat retur diambilkan dari pembelian

Dim sqlCommandText As String = "SELECT

dp.kode_barang,b.nama_barang,SUM(dp.total_diterima) AS

jumlah,dpx.harga " & _

"FROM [tbl_detailpenerimaan] dp " & _

"INNER JOIN [tbl_barang] b ON (dp.kode_barang=b.kode_barang) " & _

"INNER JOIN [tbl_penerimaan] p ON

(p.id_penerimaan=dp.id_penerimaan) " & _

"INNER JOIN ( " & _

"SELECT MAX(dp.harga) AS harga,dp.kode_barang " & _

"FROM tbl_detailpembelian dp " & _

"WHERE dp.no_pembelian='" & TextBox3.Text & "' " & _

"GROUP BY dp.kode_barang " & _

") dpx ON (dp.kode_barang=dpx.kode_barang) " & _

"WHERE p.no_pembelian='" & TextBox3.Text & "' " & _

"GROUP BY dp.kode_barang,b.nama_barang,dpx.harga "

Dim sqlquery As New SqlCommand(sqlCommandText, sqlConn)

Dim dr As SqlDataReader = sqlquery.ExecuteReader

While (dr.Read)

Dim brg As detailpenerimaan = New detailpenerimaan

brg.barangID = dr("kode_barang")

brg.nama = dr("nama_barang")

brg.harga = dr("harga")

brg.total = dr("jumlah")

brg.total2 = dr("jumlah")

detailPembelian.Add(brg)

End While

dr.Close()

For i As Integer = 0 To detailPembelian.Count - 1

Dim qt As String = "SELECT SUM(dp.total_diterima) AS total2 " & _

"FROM tbl_detailpenerimaan dp " & _

"INNER JOIN tbl_penerimaan tp ON

(dp.id_penerimaan=tp.id_penerimaan) " & _

"WHERE dp.kode_barang='" & detailPembelian.Item(i).barangID & "'

AND tp.no_pembelian='" & TextBox3.Text & "'"

sqlquery = New SqlCommand(qt, sqlConn)

dr = sqlquery.ExecuteReader

detailPembelian.Item(i).total3 = 0

While (dr.Read)

If (Not IsDBNull(dr("total2"))) Then

detailPembelian.Item(i).total3 = dr("total2")

End If

End While

dr.Close()

qt = "SELECT SUM(dp.jumlah) AS total2 " & _

"FROM tbl_detailreturbeli dp " & _

"INNER JOIN tbl_returbeli tp ON (dp.id_retur=tp.id_retur) " & _

"WHERE dp.kode_barang='" & detailPembelian.Item(i).barangID & "'

AND tp.no_pembelian='" & TextBox3.Text & "'"

sqlquery = New SqlCommand(qt, sqlConn)

dr = sqlquery.ExecuteReader

While (dr.Read)

If (Not IsDBNull(dr("total2"))) Then

Page 43: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

112 Universitas Kristen Petra

Segmen 4.5 Form Transaksi Request Retur Pembelian (Lanjutan)

detailPembelian.Item(i).total3 = detailPembelian.Item(i).total3 -

dr("total2")

End If

End While

dr.Close()

qt = "SELECT SUM(dp.jumlah) AS total2 " & _

"FROM tbl_detailpenerimaanreturbeli dp " & _

"INNER JOIN tbl_penerimaanreturbeli tp ON

(dp.id_penerimaanretur=tp.id_penerimaanretur) " & _

"WHERE dp.kode_barang='" & detailPembelian.Item(i).barangID & "'

AND tp.no_pembelian='" & TextBox3.Text & "'"

sqlquery = New SqlCommand(qt, sqlConn)

dr = sqlquery.ExecuteReader

While (dr.Read)

If (Not IsDBNull(dr("total2"))) Then

detailPembelian.Item(i).total3 = detailPembelian.Item(i).total3 +

dr("total2")

End If

End While

dr.Close()

detailPembelian.Item(i).total2 = detailPembelian.Item(i).total3

Next

sqlConn.Close()

bindingsource.ResetBindings(True)

hitungTotal()

End If

6. Form Laporan Penjualan

Pada form ini dapat menyimpan Laporan Penjualan. Source code dari form

Laporan Penjualan ini dapat dilihat pada Segmen program 4.6

Segmen 4.6 Form Laporan Penjualan.

Dim pathSchema As String = ""

Try

Dim dc As SqlConnection = New SqlConnection(Connect.str)

dc.Open()

Dim dtP1 As DateTime = New DateTime(dt.Year, dt.Month, dt.Day, 0, 0,

0)

Dim dtP2 As DateTime = New DateTime(dt2.Year, dt2.Month, dt2.Day,

23, 59, 59)

Dim qr As String = "SELECT

t.id_notajual,s.nama,t.tgl_penjualan,t.total " & _

"FROM [tbl_notajual] t " & _

"INNER JOIN [tbl_customer] s ON (t.CustomerID=s.CustomerID) " & _

"WHERE t.tgl_penjualan>=@dt1 AND t.tgl_penjualan<=@dt2"

Dim qq As New SqlCommand(qr, dc)

qq.Parameters.Add(New SqlParameter("@dt1", dtP1))

qq.Parameters.Add(New SqlParameter("@dt2", dtP2))

Dim qa As New SqlDataAdapter

Dim qs As New DataSet

qa.SelectCommand = qq

qa.Fill(qs)

lp.SetDataSource(qs)

dc.Close()

Page 44: 4. IMPLEMENTASI SISTEM · agar bisa diakses dimana saja. Sehingga modem ADSL Speedy di setting sebagai Bridge, lalu username & password Speedy di input pada Mikrotik (PPPoE Client),

113 Universitas Kristen Petra

Segmen 4.6 Form Laporan Penjualan (Lanjutan)

lp.SetParameterValue("Tanggal", "Tanggal " & dt.ToString("dd-MM-

yyyy") & " sampai " & dt2.ToString("dd-MM-yyyy"))

Catch e As Exception

End Try

CrystalReportViewer1.ReportSource = lp