Anda di halaman 1dari 195

SISTEM INFORMASI MANAJEMEN PEMASARAN

BERBASIS WEB PADA CV. IHYAA&CO


Skripsi
Diajukan untuk memenuhi Persyaratan Memperoleh
Gelar Sarjana Komputer ( S.Kom)

Oleh
Irfan Fadmara
NIM: 102091026341

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI

JAKARTA
2010 M / 1431 H

ii

ABSTRAK
IRFAN FADMARA (102091026341). Sistem Informasi Manajemen Pemasaran
Berbasis Web pada CV. Ihyaa&Co (Di bawah bimbingan NIA KUMALADEWI
dan YUSUF DURACHMAN).
Saat ini dalam manajemen CV. Ihyaa&Co belum mengoptimalkan
pengawasan, evaluasi dan pelaporan baik pemasar perusahaan maupun mitra kerja
yang tersebar dibeberapa daerah dalam menjalankan aktifitas pemasaran dan
penjualan, dikarenakan dalam menjalankan hal tersebut masih menggunakan cara
manual, yaitu berkas-berkas yang masih disimpan dalam bentuk kertas,
pengawasan yang dilakukan berbasiskan kepercayaan dan lain-lain,oleh karena itu
penulis membuat sistem informasi manajemen pemasaran berbasis web dengan
menggunakan metodologi pengembangan sistem Waterfall dengan tools yang
digunakan yaitu PHP versi 5.1.1 sebagai antar muka pengguna dan MySQL versi
5.0.18 sebagai database yang berguna mengoptimalkan dan memudahkan aktifitas
pengawasan pemasaran dan penjualan, serta menjadi bahan evaluasi dan
pelaporan, seperti dibuatkannya database untuk menyimpan data-data yang akan
diolah agar menjadi data yang dapat digunakan untuk progress pemasaran dan
penjualan, aktifitas pemasaran, actual sales dan pelaporan.
.
Kata Kunci : Pengawasan aktifitas pemasaran dan penjualan, sistem informasi
manajemen pemasaran ,Waterfall
V Bab + xxii Halaman + 131 Halaman + 23 Simbol + 39 Gambar + 38 Tabel +
Daftar Pustaka + Lampiran
Pustaka Acuan (18, 2001-2009)

vi

DAFTAR ISI
LEMBAR SAMPUL ........................................................................................ i
LEMBAR JUDUL ............................................................................................ ii
LEMBAR PERSETUJUAN PEMBIMBING ................................................ iii
LEMBAR PENGESAHAN ............................................................................. iv
LEMBAR PERNYATAAN ............................................................................. v
ABSTRAK ........................................................................................................ vi
KATA PENGANTAR ...................................................................................... vii
DAFTAR ISI ..................................................................................................... ix
DAFTAR TABEL ............................................................................................ xiii
DAFTAR GAMBAR ........................................................................................ xv
DAFTAR SIMBOL ...........................................................................................xvii
ISTILAH ............................................................................................................xxii

BAB 1 PENDAHULUAN
1.1 Latar Belakang ....................................................................................... 1
1.2 Perumusan Masalah ............................................................................... 2
1.3 Batasan Masalah .................................................................................... 3
1.4 Tujuan Penelitian ................................................................................... 4
1.5 Manfaat Penelitian .................................................................................. 5
1.6 Metode Penelitian .................................................................................. 6
1.6.1 Metode Pengumpulan Data............................................................ 6
1.6.2 Metode Pengembangan Sistem ...................................................... 7
1.7 Sistematika Penulisan ............................................................................ 9

BAB II LANDASAN TEORI


2.1 Konsep Dasar Sistem ............................................................................. 10
2.1.1 Pengertian Sistem........................................................................... 10
2.1.2 Karakter Sistem.............................................................................. 10
2.1.3 Klasifikasi Sistem .......................................................................... 12
2.2 Konsep Dasar Informasi ......................................................................... 14

ix

2.2.1 Data Versus Informasi ................................................................... 14


2.2.2 Kualitas Informasi.......................................................................... 14
2.3 Konsep Dasar Sistem Informasi ............................................................. 16
2.4 Pengertian Dasar Pemasaran................................................................... 16
2.5 Pengertian Manajemen Pemasaran ......................................................... 17
2.6 Pengertian Sistem Informasi Pemasaran................................................. 17
2.7 Pengertian Penjualan............................................................................... 18
2.8 Alat Bantu Perancangan Sistem Yang Digunakan.................................. 18
2.8.1 Bagan Alir (Flowchart).................................................................. 18
2.8.2 Diagram Arus Data (Data Flow Diagram) .................................... 19
2.8.3 Perancangan Basis Data (Database) .............................................. 21
2.8.3.1 Basis Data (Database) ....................................................... 21
2.8.3.2 Database Management System (DBMS) ........................... 22
2.8.3.3 Entity Relational Diagram (ERD) ..................................... 23
2.8.3.4 Elemen Elemen Diagram Hubungan Entitas .................. 23
2.8.3.5 Normalisasi ........................................................................ 25
2.8.4 Kamus Data (Data Dictionary)...................................................... 28
2.8.5 STD (State Transition Diagram) ................................................... 29
2.9 Internet .................................................................................................... 29
2.10 Alat Bantu Aplikasi Yang Digunakan Dalam Pembuatan Sistem ........ 30
2.10.1 Dreamweaver 8 ............................................................................ 30
2.10.2 PHP (Personal Home Page) ........................................................ 31
2.10.2.1 Pengertian PHP ................................................................ 31
2.10.2.2 Sejarah PHP ..................................................................... 31
2.10.2.3 Kelebihan PHP Dari Bahasa Pemograman Lain.............. 33
2.10.3 MySQL ........................................................................................ 33
2.11 Studi Sejenis.......................................................................................... 36

BAB III METODOLOGI PENELITIAN


3.1 Alur Penelitian ....................................................................................... 38
3.2 Metode Pengumpulan Data .................................................................... 39

3.2.1 Observasi........................................................................................ 39
3.2.2 Wawancara .................................................................................... 39
3.2.3 Studi Pustaka ................................................................................. 40
3.2.4 Studi Sejenis................................................................................... 41
3.3 Metode Pengembangan Sistem .............................................................. 41
3.3.1 Analysis (Analisis) ......................................................................... 41
3.3.1.1 Data Gathering (Pengumpulan Data) ................................ 42
3.3.1.2 Identify (Identifikasi Masalah) ........................................... 42
3.3.1.3 System Requirement (Kebutuhan Sistem) .......................... 42
3.3.1.4 Project Definition (Definisi Proyek).................................. 43
3.3.2 Design (Perancangan) .................................................................... 43
3.3.4 Code (Pengkodean) ........................................................................ 45
3.3.4 Test (Ujicoba)................................................................................. 45

BAB IV HASIL DAN PEMBAHASAN


4.1 Analysis (Analisis) .................................................................................. 46
4.1.1 Data Gathering (Pengumpulan Data) ............................................ 46
4.1.1.1 Gambaran Umum Perusahaan............................................ 46
4.1.1.2 Struktur Organisasi ............................................................ 47
4.1.1.3 Tugas Dan Tanggung Jawab .............................................. 48
4.1.1.4 Visi Dan Misi ..................................................................... 53
4.1.2. Identify (Identifikasi Masalah) ...................................................... 56
4.1.3. System Requirement (Kebutuhan Sistem) ..................................... 56
4.1.4. Project Definition (Definisi Proyek)............................................. 59
4.2 Desain Sistem.......................................................................................... 59
4.2.1 Desain Proses ................................................................................. 60
4.2.1.1 Desain Physical Sistem ...................................................... 60
4.2.1.2 Desain Logical (Logical Model) ........................................ 63
4.2.2 Desain Basisdata (Database) ......................................................... 74
4.2.2.1 ERD ( Entitiy Relational Diagram) ................................... 74
4.2.2.2 Transformasi ERD Ke LRS ............................................... 76
4.2.2.3 Transformasi LRS Ke Tabel .............................................. 77

xi

4.2.2.4 Normalisasi ........................................................................ 80


4.2.2.5 Kamus Data........................................................................ 101
4.2.2.6 Data To Location CRUD Matrix ....................................... 108
4.2.3 Desain Input/Output....................................................................... 112
4.2.3.1 Desain Input ....................................................................... 112
4.2.3.2 Desain Output .................................................................... 113
4.2.4 Desain Antar Muka (GUI) ............................................................. 113
4.2.5 STD (State Transation Diagram) .................................................. 118
4.2.6 Desain Jaringan .............................................................................. 125
4.3 Code (Pengkodean) ................................................................................. 126
4.4 Test (Ujicoba).......................................................................................... 127
4.45.1 Komponen Perangkat Keras Dan Perangkat Lunak..................... 127

BAB V PENUTUP
5.1 Kesimpulan ............................................................................................. 129
5.2 Saran ....................................................................................................... 130

Daftar Pustaka ................................................................................................. 132


Lampiran A (Surat Keterangan Telah Melakukan Penelitian Skripsi) ..... L1
Lampiran B (Surat Keterangan Telah Melakukan Wawancara) ............... L2
Lampiran C (Wawancara) .............................................................................. L3
Lampiran D (Desain Input) ............................................................................. L5
Lampiran E (Desain Output).......................................................................... L15
Lampiran F (Testing (Metode Black Box)........................................................L19
Lampiran G (Script Coding))............................................................................L23

xii

DAFTAR GAMBAR
Gambar 1.1 Model pengembangan sistem dengan Waterfall ................................... 7
Gambar 2.1 Pilar kualitas informasi....................................................................... 12
Gambar 2.2 Model pengembangan sistem dengan Waterfall ................................... 15
Gambar 2.3 Pemanfaatan Internet Pada Berbagai Platform .................................. 28
Gambar 3.1 Kerangka Penelitian ........................................................................... 28
Gambar 4.1 Struktur Organisasi CV Ihyaa&Co .................................................... 45
Gambar 4.2 Diagram Alir Sistem Yang Sedang Berjalan...................................... 54
Gambar 4.3 Diagram Alir Sistem Yang Diusulkan ............................................... 60
Gambar 4.4 Diagram Alir Sistem Yang Diusulkan (Lanjutan).............................. 61
Gambar 4.5 Diagram Konteks Yang Diusulkan .................................................... 62
Gambar 4.6 DFD Level 0 Yang Diusulkan............................................................ 63
Gambar 4.7 DFD Level 1 Dari Proses 1.0 Yang Diusulkan .................................. 64
Gambar 4.8 DFD Level 2 Dari Proses 2.0 Yang Diusulkan .................................. 64
Gambar 4.9 DFD Level 3 Dari Proses 3.0 Yang Diusulkan ................................. 65
Gambar 4.10 DFD Level 4 Dari Proses 4.0 Yang Diusulkan ................................ 65
Gambar 4.11 DFD Level 5 Dari Proses 5.0 Yang Diusulkan ................................ 66
Gambar 4.12 DFD Level 6 Dari Proses 6.0 Yang Diusulkan ................................ 66
Gambar 4.13 DFD Level 7 Dari Proses 7.0 Yang Diusulkan ................................ 67
Gambar 4.14 DFD Level 8 Dari Proses 8.0 Yang Diusulkan ................................ 67
Gambar 4.15 DFD Level 9 Dari Proses 9.0 Yang Diusulkan ................................ 68
Gambar 4.16 DFD Level 10 Dari Proses 10.0 Yang Diusulkan ............................ 68
Gambar 4.17 DFD Level 11 Dari Proses 11.0 Yang Diusulkan ............................ 69
Gambar 4.18 DFD Level 12 Dari Proses 12.0 Yang Diusulkan ............................ 69
Gambar 4.19 DFD Level 13 Dari Proses 13.0 Yang Diusulkan ............................ 70
Gambar 4.20 DFD Level 14 Dari Proses 14.0 Yang Diusulkan ............................ 70
Gambar 4.21 DFD Level 15 Dari Proses 15.0 Yang Diusulkan ............................ 71
Gambar 4.22 DFD Level 16 Dari Proses 16.0 Yang Diusulkan ............................ 71
Gambar 4.23 DFD Level 17 Dari Proses 17.0 Yang Diusulkan ............................ 72
Gambar 4.24 DFD Level 18 Dari Proses 18.0 Yang Diusulkan ............................ 72
Gambar 4.25 ERD Yang Diusulkan....................................................................... 74

xv

Gambar 4.26 Tranformasi Logical Record Structure (LRS) ................................. 75


Gambar 4.27 Rancangan Halaman Administrator ................................................. 114
Gambar 4.28 Rancangan Halaman Pemasar .......................................................... 115
Gambar 4.29 Rancangan Manajer.......................................................................... 117
Gambar 4.30 STD Admin ...................................................................................... 118
Gambar 4.31 STD Admin (Lanjutan) .................................................................... 119
Gambar 4.32 STD Admin (Lanjutan) .................................................................... 120
Gambar 4.33 STD Pemasaran ................................................................................ 121
Gambar 4.34 STD Pemasaran (lanjutan) ............................................................... 122
Gambar 4.35 STD Manajer .................................................................................... 123

xvi

ISTILAH

software-as-a service (SaaS) : suatu bisnis yang menyediakan layanan berbasis


komputer untuk pelanggan melalui suatu jaringan.
Compound Aannual Growth Rate (CAGR) : Tingkat pertumbuhan tahunan
dihitung dengan mengambil akar n persentase total tingkat pertumbuhan, di mana
n adalah jumlah tahun dalam periode yang dipertimbangkan.
Gantt Cart : jenis bagan yang menggambarkan jadwal proyek
Wate rfall : Salah satu model pengembangan software, dimana kemajuan suatu

proses dipandang sebagai terus mengalir ke bawah seperti air terjun.


DFD (Data Flow Diagram) : Teknik grafik yang digunakan untuk menjelaskan
aliran informasi dan transformasi data yang bergerak dari pemasukan data hingga
ke keluaran.
ERD (Entitiy Relation Diagram) : Menyediakan cara untuk mendeskripsikan
perancangan basis data pada peringkat logika
LRS (Logical Record Structure) : Sebuah catatan logis segmen atribut
STD (State Transation Diagram) : Mendokumentasikan beragam kondisi atau
keadaan terhadap sebuah kegiatan apa saja yang dapat merubah kondisi atau
keadaan tersebut

xxii

DAFTAR TABEL

Tabel 4.1 Tabel employee ...................................................................................... 76


Tabel 4.2 Tabel office ............................................................................................ 76
Tabel 4.3 Tabel divisions ....................................................................................... 76
Tabel 4.4 Tabel products........................................................................................ 76
Tabel 4.5 Tabel product_category.......................................................................... 76
Tabel 4.6 Tabel vendors......................................................................................... 77
Tabel 4.7 Tabel customer....................................................................................... 77
Tabel 4.8 Tabel bussines_type ............................................................................... 77
Tabel 4.9 Tabel order ............................................................................................. 77
Tabel 4.10 Tabel customer_quotation.................................................................... 77
Tabel 4.11 Tabel currency...................................................................................... 78
Tabel 4.12 Tabel marketing_acts ........................................................................... 78
Tabel 4.13 Tabel status .......................................................................................... 78
Tabel 4.14 Tabel projectsup................................................................................... 78
Tabel 4.15 Tabel user............................................................................................. 78
Tabel 4.16 Tabel user roles .................................................................................... 79
Tabel 4.17 Tabel target .......................................................................................... 79
Tabel 4.18 Tabel company..................................................................................... 79
Tabel 4.19 Tabel employee (kamus data) .............................................................. 99
Tabel 4.20 Tabel office (kamus data) .................................................................... 100
Tabel 4.21 Tabel divisions (kamus data) ............................................................... 100
Tabel 4.22 Tabel products (kamus data) ................................................................ 100
Tabel 4.23 Tabel product_category (kamus data).................................................. 101
Tabel 4.24 Tabel vendors (kamus data) ................................................................. 101
Tabel 4.25 Tabel customer (kamus data) ............................................................... 101
Tabel 4.26 Tabel bussines type(kamus data) ......................................................... 102
Tabel 4.27 Tabel order (kamus data) ..................................................................... 102
Tabel 4.28 Tabel qustomer quotation (kamus data).............................................. 103
Tabel 4.29 Tabel currency (kamus data)................................................................ 103
xiii

Tabel 4.30 Tabel marketing act (kamus data)........................................................ 104


Tabel 4.31 Tabel projectup (kamus data)............................................................... 104
Tabel 4.32 Tabel status (kamus data)..................................................................... 105
Tabel 4.33 Tabel user(kamus data) ........................................................................ 105
Tabel 4.34 Tabel user roles (kamus data) .............................................................. 106
Tabel 4.35 Tabel target (kamus data)..................................................................... 106
Tabel 4.36 Tabel company (kamus data) ............................................................... 106
Tabel 4.37 Tabel CRUD (kamus data)................................................................... 107
Tabel 4.38 Tabel Testing (Metode Black Box)....................................................... 107

xiv

DAFTAR SIMBOL

SIMBOL DATA FLOW DIAGRAM (DFD)


VERSI YOURDAN, DE MARCO, DAN LAINNYA
(Al-Bahra Bin Ladjamudin, 2005:72)

Gambar Simbol

Nama Simbol
Entitas Luar (External Entity)

Proses (Process)
Arus Data (Data Flow)
Simpanan Data (Data Store)

xix

BAB I
PENDAHULUAN

1.1

Latar Belakang Masalah


Sudah tidak dapat dipungkiri lagi bahwa kemajuan perkembangan

komputer dan telekomunikasi telah mengubah cara hidup masyarakat di dunia


dalam menjalankan aktivitas sehari-hari. Peranan teknologi informasi disegala
sektor kehidupan tanpa sadar telah membawa dunia memasuki era baru globlisasi
lebih cepat dari yang dibayangkan semula (Indrajit, 2001).
Dalam lima tahun ke depan, pasar analisa bisnis software-as-a service
(SaaS) akan bertumbuh tiga kali lipat dengan compound annual growth rate
(CAGR) sebesar 22,4% hingga 2013. Studi baru dari IDC menyebutkan bahwa
angka pengguna analisa bisnis SaaS yang hanya segelintir saat ini, akan tumbuh
dengan cepat. Meski demikian, pendapatan pasar masih rendah tergantung pada
permintaan perangkat lunak sepanjang periode yang diramalkan (Eka Shantika,
2010).
CV. Ihyaa&Co berusaha berperan dalam pemanfaatan yang tepat sasaran
dan tepat guna untuk mendukung keunggulan kompetitif sehingga dapat
meningkatkan kemampuan bersaing dalam era globalisasi ini.

Oleh karena itu Ihyaa&Co dalam menjual produk-produknya selain harus


bersaing dengan para pesaing dengan strategi pemasaran yang jitu juga harus
meningkatkan kreatifitas dan efesiensi dalam memantau proses dari pemasaran
dan penjualan yang digunakan untuk pengambilan keputusan strategi pemasaran,

dikarenakan pemasaran dan penjualan produk tersebar kebeberapa daerah selain


Jakarta seperti Semarang, Solo, Riau, Ternate. Dan tidak tersedianya kantor
cabang yang memadai sehingga kesulitan dalam memantau perkembangan
pemasaran yang berlangsung di daerah tersebut.
Melihat masalah-masalah yang ada, penulis merasa perlu membangun
Sistem Informasi secara online termasuk laporan-laporan yang berhubungan
dengan informasi yang dibutuhkan dalam pengawasan tesebut. Dengan adanya
sistem informasi ini, dapat juga membantu pihak eksekutif perusahaan dalam
mengetahui perkembangan pemasaran dan penjualan secara online tanpa harus
proses administrasi yang rumit dan realtime.

1.2

Perumusan Masalah
Berdasarkan latar belakang di atas, maka rumusan masalah yang akan

dibahas dalam skripsi ini adalah :


a. Bagaimana mengembangkan sistem informasi agar dapat membantu
pengawasan kegiatan pemasaran dan penjualan pada CV. Ihyaa&Co,
sehingga memudahkan pemberian keputusan dalam mengambil langkah
taktis dan strategis dalam memasarkan produk.
b. Bagaimana sistem informasi ini memberikan laporan yang berhubungan
dengan hasil kegiatan pemasaran dan penjualan secara online kepada
pihak-pihak yang terkait, yaitu manajer umum, manajer pemasaran dan
pemasar yang digunakan untuk pengambil keputusan dalam menentukan
langkah strategis pemasaran selanjutnya.

c. Bagaimana sistem informasi ini dapat menjadi basis data yang dapat
menyimpan dan mengakses data secara realtime

1.3

Batasan Masalah
Berdasarkan perumusan masalah di atas, batasan masalah yang dibahas

meliputi :
1. Penelitian ini berfokus pada fungsi utama dari aplikasi sistem ini yakni
pada penginputan serta pemrosesan data yang hasilnya berupa gantt cart
dari aktifitas pemasaran dan penjualan yang berguna untuk mengawasi
kemajuan kegiatan pemasaran.
2. Lingkup kegiatan pemasaran hanya pada tahap sending offering, follow up
dan audience sedangkan penjualan pada tahap submit quotation, delivery
dan invoicing.
3. Selain itu, aplikasi sistem juga memberikan informasi yang berhubungan
dengan data produk, pelanggan dan order juga informasi tentang:
a. Data pegawai
b. Data kantor
c. Data target penjualan
4. Sistem ini juga menampilkan informasi gambaran penjualan CV
Ihyaa&Co seperti aktual penjualan, target panjualan dan pertumbuhan
penjualan per kuartal dan per tahun yang disajikan dalam bentuk diagram
batang dan table yang berfungsi sebagai informasi untuk pengambilan
keputusan dari langkah strategis pemasaran.

5. Dalam pembuatan aplikasi sistem ini, penulis menggunakan metode


Waterfall, mulai dari tahap Analysis (Analisis), Design (Perancangan),
Code (Pengkodean), Test (Ujicoba).
6. Aplikasi sistem ini hanya bersifat simulasi dengan intranet.
7. Penulis menggunakan Windows XP sebagai Operating Systemnya, lalu
menggunakan Macromedia Deramweaver versi 8.0 untuk memudahkan
pembuatan aplikasi, dengan bahasa pemrograman PHP versi 5.1.1 sebagai
antar muka pengguna, dan MySQL versi 5.0.18 sebagai sarana
penyimpanan data (database) serta menggunakan Mozila Fireworks versi
3.0 sebagai aplikasi browser.

1.4

Tujuan Penelitian
Tujuan penelitian ini adalah :
a. Untuk memenuhi salah satu syarat kelulusan strata satu (S1) Program
Studi Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam
Negeri Syarif Hidayatullah Jakarta.
b. Untuk mengembangkan Sistem Informasi Manajemen Pemasaran Berbasis
Web Pada CV. Ihyaa&Co secara terkomputerisasi.
c. Untuk membantu CV. Ihyaa&Co dalam pendokumentasian data-data yang
berhubungan dengan kemajuan kegiatan pemasaran.

1.5

Manfaat Penelitian
Manfaat yang didapat dalam melakukan penelitian ini adalah:
1. Bagi Perusahaan :
a. Secara

umum

membantu

dalam

meningkatkan

mutu

kinerja

perusahaan.
b. Membantu mengetahui dalam pencapaian target penjualan produk .
c. Membantu mengetahui keberhasilan kegiatan pemasaran.
d. Membantu mengetahui ketercapaian dari visi misi CV. Ihyaa&Co.
2. Manajer Umum :
a. Membantu dalam mengawasi hasil kinerja manajer pemasaran.
b. Membantu mengetahui kegiatan serta aktivitas pemasaran secara online.
3. Manajer Pemasaran :
a. Membantu mendapatkan hasil kinerja pemasar secara online.
b. Membantu mendapatkan informasi progres dari kegiatan atau aktivitas
pemasaran secara online.
4. Pemasar :
Sebagai salah satu sarana input data secara online.
5. Bagi Penulis :
a. Menerapkan ilmu-ilmu yang diperoleh selama kuliah ke dunia nyata.
b. Membandingkan teori-teori yang ada dengan masalah yang sebenarnya.
6. Bagi Universitas :
a. Mengetahui kemampuan mahasiswa dalam menguasai materi ilmu yang
telah diperoleh dibangku kuliah.

b. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan


sebagai bahan evaluasi.
c. Memberikan gambaran tentang kesiapan mahasiswa dalam menghadapi
dunia kerja yang sebenarnya.

1.6

Metode Penelitian
Metode penelitian yang penulis lakukan dalam penulisan skripsi ini

adalah:
1.6.1

Metode Pengumpulan Data


a. Observasi
Pengumpulan data dengan observasi langsung atau dengan pengamatan
langsung adalah cara pengambilan data dengan menggunakan mata
tanpa ada pertolongan alat standar lain untuk keperluan tersebut.
(Danu Wira Pangestu, 2009)
b. Metode Wawancara
Mengumpulkan data dengan cara tanya jawab, sambil bertatap muka
antara si penanya atau pewawancara dengan si penjawab atau
responden dengan menggunakan alat yang dinamakan interview guide
(panduan wawancara).
(Danu Wira Pangestu, 2009)
(Hasil Wawancara terlampir pada Lampiran A).

c.

Studi Pustaka
Ini dilakukan untuk pengumpulan data-data dengan mengambil
referensi yang terdapat pada buku, jurnal, Website, artikel untuk
digunakan sebagai acuan dalam perumusan masalah yang berkenaan
dengan penelitian dan perancangan program.

d.

Studi Sejenis
Peneliti melakukan studi Sejenis dengan rancangan sistem serupa
yang sudah berjalan dan sudah digunakan untuk sebagai perbandingan
dengan sistem yang akan dibuat, yaitu dimana peneliti akan
membedakan hal-hal yang sudah dilakukan dan menentukan hal-hal
yang perlu dilakukan dari sistem tersebut.

1.6.2

Metode Pengembangan Sistem


Pada penyusunan skripsi ini menggunakan metode Waterfall, berikut

tahapan-tahapan dalam metode Waterfall menurut Pressman (2001, 29) :

Gambar 1.1 : Model pengembangan sistem dengan Waterfall.


Pressman (2001 : 29)

1. Analisis (Analysis)
Analisis merupakan tahap awal dimana dilakukan proses pengumpulan
data, identifikasi masalah, dan analisis kebutuhan sistem hingga aktivitas
pendefinisian sistem. Tahap ini bertujuan untuk menentukan solusi yang
didapat dari aktivitas-aktivitas tersebut.
2. Perancangan (Design)
Pada tahap ini dilakukan pembuatan model dari perangkat lunak. Maksud
pembuatan model ini adalah untuk memperoleh pengertian yang lebih
baik terhadap aliran data dan kontrol, proses-proses fungsional, tingkah
laku operasi dan informasi-informasi yang terkandung di dalamnya.
Terdiri dari aktivitas utama pemodelan proses, pemodelan data dan desain
antarmuka.
3. Pengkodean (Code)
Pada tahap ini hasil dari perancangan mulai diterjemahkan ke dalam
bahasa mesin melalui bahasa pemrograman. Terdiri dari dua aktivitas
yaitu pembuatan kode program dan pembuatan antarmuka program untuk
navigasi sistem.
4. Ujicoba (Test)
Selanjutnya program harus diuji coba dimana di fokuskan terhadap tiga
aktivitas yakni logika internal perangkat lunak, pemastian bahwa semua
perintah yang ada telah dicoba, dan fungsi eksternal untuk memastikan
bahwa dengan masukan tertentu suatu fungsi akan menghasilkan keluaran
sesuai dengan yang dikehendaki.

1.7

Sistematika Penulisan
Untuk mempermudah penulis dalam melakukan penelitian ini, maka

penulis membagi sesuai dengan ruang lingkup yang dijelaskan sebelumnya secara
garis besar, yang dibagi menjadi beberapa bab yang secara ringkas dapat
dijabarkan sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi pendahuluan yang terdiri dari latar belakang, perumusan
masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode
penelitian, waktu dan tempat penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi tentang definisi dan komponen pembangun yang ada pada
Sistem Informasi Manajemen Pemasaran pada CV Ihyaa&Co.
BAB III METODOLOGI PENELITIAN
Bab ini berisi tentang uraian penjelasan metodologi yang digunakan dalam
penelitian terhadap Sistem Informasi Manajemen Pemasaran pada CV
Ihyaa&Co secara keseluruhan.
BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi tentang uraian penjelasan terhadap Sistem Informasi
Manajemen Pemasaran pada CV Ihyaa&Co secara keseluruhan.
BAB V PENUTUP
Pada bab ini penulis menyampaikan kesimpulan dari hasil penelitian dan
studi kasus yang dilaksanakan serta saran-saran untuk lembaga.

BAB II
LANDASAN TEORI

2.1

Konsep Dasar Sistem

2.1.1 Pengertian Sistem


Sistem adalah kumpulan dari komponen atau elemen yang saling
berhubungan satu dengan lainnya membentuk satu kesatuan untuk mencapai
tujuan tertentu (Jogiyanto, 2005).
Sistem adalah sekelompok elemen-elemen yang terintegrasi dengan
maksud yang sama untuk mencapai suatu tujuan (McLeod & Schell, 2004).
Pada dasarnya, sistem adalah sekumpulan elemen yang saling terkait atau
terpadu yang dimaksudkan untuk mencapai suatu tujuan (Kadir, 2003).
2.1.2 Karakteristik Sistem
Suatu sistem memiliki karakteristik atau sifat-sifat tertentu, yaitu:
(Jogiyanto, 2005)
1) Komponen-Komponen Sistem (Components)
Suatu sistem terdiri dari sejumlah komponen yang sering disebut
dengan subsistem yang saling berinteraksi, yang artinya saling bekerja
sama membentuk satu kesatuan. Komponen-komponen sistem atau
elemen-elemen sistem dapat berupa suatu subsistem atau bagianbagian dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem
10

11

untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses


sistem secara keseluruhan.
2) Batas Sistem (Boundary)
Batas sistem merupakan daerah yang membatasi antara suatu sistem
dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas
sistem ini memungkinkan suatu sistem dipandang sebagai satu
kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope)
sistem itu sendiri.
3) Lingkungan Luar Sistem (Environments)
Lingkungan luar dari suatu sistem adalah apapun diluar batas dari
sistem yang mempengaruhi operasi sistem. Lingkungan yang
menguntungkan tetap harus terus dijaga, karena akan memacu
terhadap kelangsungan hidup. Sedangkan lingkungan yang merugikan
harus ditahan dan dikendalikan agar tidak mengganggu kelangsungan
hidup dari sistem.
4) Penghubung Sistem (Interface)
Penghubung merupakan media penghubung antara subsistem dengan
subsistem lainnya. Melalui penghubung ini memungkinkan sumbersumber daya mengalir dari satu subsistem ke subsistem yang lainnya.
5) Masukan Sistem (Input)
Masukan yaitu energi yang dimasukan ke dalam sistem, di mana dapat
berupa masukan perawatan (maintenance input) dan masukan sinyal

12

(signal input). Masukan perawatan adalah energi yang dimasukkan


supaya sistem tersebut dapat beroperasi, sedang masukan sinyal
adalah energi yang diproses untuk didapatkan keluaran.
6) Keluaran Sistem (Output)
Keluaran merupakan hasil dari pemrosesan sistem, yang bisa berupa
suatu informasi, saran, cetakan laporan, dan sebagainya.
7) Pengolah Sistem (Process)
Suatu sistem dapat mempunyai suatu bagian pengolah yang akan
merubah input menjadi output.
8) Sasaran sistem (Objective)
Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective).
Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem
tidak akan ada gunanya.
2.1.3 Klasifikasi Sistem
Suatu sistem dapat diklasifikasikan dari beberapa sudut pandang,
diantaranya adalah sebagai berikut: (Jogiyanto, 2005)
1) Sistem Abstrak dan Sistem Fisik
Sistem abstrak (abstract

system) adalah sistem yang berupa

pemikiran atau ide-ide yang tidak tampak secara fisik. Misalnya


sistem teologi, yaitu sistem yang berupa pemikiran-pemikiran
hubungan antara manusia dengan Tuhan.

13

2) Sistem Alamiah dan Sistem Buatan Manusia


Sistem alamiah (natural system) adalah sistem yang terjadi melalui
proses alam, tidak dibuat manusia. Misalnya sistem perputaran bumi.
Sistem buatan manusia (human made system) adalah sistem yang
dirancang oleh manusia. Sistem informasi merupakan contohnya,
karena menyangkut penggunaan komputer yang berinteraksi dengan
manusia.
3) Sistem Tertentu dan Sistem Tak Tentu
Sistem tertentu (deterministic system) beroperasi dengan tingkah laku
yang sudah dapat diprediksi. Interaksi diantara bagian-bagiannya
dapat dideteksi dengan pasti, sehingga keluaran dari sistem dapat
diramalkan. Sistem komputer adalah contoh dari sistem tertentu yang
tingkah lakunya dapat dipastikan berdasarkan program-program yang
dijalankan.
4) Sistem Tertutup dan Sistem Terbuka
Sistem tertutup (closed system) merupakan sistem yang tidak
berhubungan dan tidak terpengaruh dengan lingkungan luarnya.
Sistem ini bekerja secara otomatis tanpa adanya turut campur tangan
dari pihak diluarnya.
Sistem terbuka (open system) adalah sistem yang berhubungan dan
terpengaruh dengan lingkungan luarnya. Sistem ini menerima
masukan dan menghasilkan keluaran untuk lingkungan luar atau

14

subsistem yang lainnya. Karena sistem sifatnya terbuka dan


terpengaruh oleh lingkungan luarnya, maka suatu sistem harus
mempunyai suatu sistem pengendalian yang baik.

2.2

Konsep Dasar Informasi

2.2.1 Data Versus Informasi


Data terdiri dari fakta-fakta dan angka-angka yang relatif tidak berarti bagi
pemakai. Informasi adalah data yang telah diproses atau data yang memiliki arti
(McLeod & Schell, 2004).
2.2.2 Kualitas Informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna bagi
yang menerimanya.Sumber dari Informasi adalah data-data merupakan bentuk
jamak dari item. Data adalah kenyataan yang menggambarkan suatu kejadiankejadian dari kesatuan yang nyata. (Jogiyanto, 2005 )
Data yang diolah melalui suatu model menjadi informasi, penerima
kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan
tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan membuat
sejumlah data kembali. Data tersebut akan ditangkap sebagai input, diproses
kembali lewat suatu model dan seterusnya membentuk suatu siklus. Siklus ini
oleh John Burch disebut dengan siklus informasi (information cycle). Siklus ini
disebut juga dengan siklus pengolahan data (data processing cycles). (Jogiyanto,
2005)

15

Kualitas dari suatu informasi (quality of information) tergantung dari tiga


hal, yaitu informasi harus akurat (accurate), tepat pada waktunya (timeliness) dan
relevan (relevance). John Burch dan Gary Grudnitski menggambarkan kualitas
dari informasi dengan bangunan yang ditunjang oleh tiga buah pilar. (Jogiyanto,
2005

Kualitas Informasi

Relevan

Tepat Waktu

Akurat

Gambar 2.1 Pilar Kualitas Informasi


(Sumber : Jogiyanto, 2005 : 10)

Nilai dari informasi (value of information) ditentukan dari dua hal, yaitu
manfaat dan biaya mendapatkannya. Suatu informasi dikatakan bernilai bila
manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. (Jogiyanto,
2005)

16

2.3

Konsep Dasar Sistem Informasi


Sistem informasi adalah suatu sistem didalam satu organisasi yang

mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat


manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar
tetentu dengan laporan-laporan yang diperlukan. (Jogiyanto, 2005)

2.4

Pengertian Dasar Pemasaran


Istilah pemasaran dalam bahasa inggris dikenal dengan nama marketing.

Kata marketing ini boleh dikata diserap kedalam bahasa kita, namun juga
diterjemahkan dalam istilah pemasaran. Asal kata pemasaran adalah pasar =
market. Apa yang dipasarkan itu, ialah barang dan jasa. Memasarkan barang tidak
berarti hanya menawarkan barang atau menjual tapi lebih dari itu. Didalamnya
tercakup kegiatan seperti membeli, menjual dengan segala macam cara,
menyangkut barang, menyimpan, mensortir dan sebagainya (Prof.dr.h.Buchari
alma, 2007 )
Secara definitif dapatlah dikatakan bahwa: Konsep Pemasaran adalah
sebuah falsafah bisnis yang menyatakan bahwa pemuasan kebutuhan konsumen
merupakan syarat ekonomi dan sosial bagi kelangsungan hidup perusahaan
.(Stanton, 1978)

17

2.5

Pengertian Manajemen Pemasaran


Manajemen Pemasaran adalah salah satu kegiatan-kegiatan pokok yang

dilakukan oleh perusahaan untuk mempertahankan kelangsungan perusahaannya,


untuk berkembang, dan untuk mendapatkan laba. Proses pemasaran itu dimulai
jauh

sejak

sebelum

barang-barang

diproduksi,

dan

tidak

berakhir

dengan penjualan. Kegiatan pemasaran perusahaan harus juga memberikan


kepuasan kepada konsumen jika menginginkan usahanya berjalan terus, atau
konsumen mempunyai pandangan yang lebih baik terhadap perusahaan
(Dharmmesta & Handoko, 1982).
Secara definisi, Manajemen Pemasaran adalah penganalisaan, perencanaan,
pelaksanaan, dan pengawasan program-program yang bertujuan menimbulkan
pertukaran dengan pasar yang dituju dengan maksud untuk mencapai tujuan
perusahaan (Kotler, 1980).

2.6

Pengertian Sistem Informasi Pemasaran


Sistem Informasi Pemasaran adalah sekumpulan unsur-unsur yang terkait

yaitu meliputi orang, peralatan dan prosedur untuk mengumpulkan, menyortir,


menganalisis, mengevaluasi dan mendistribusikan informasi yang sesuai dengan
kebutuhan, tepat waktu dan akurat kepada pembuat keputusan pemasaran.
(Laksana, 2008)

18

2.7

Pengertian Penjualan
Menurut Joel G. Siegel dan Joe K. Shim yang diterjemahkan oleh Moh.

Kurdi, Penjualan adalah Penerimaan yang diperoleh dari pengiriman barang


dagangan atau dari penyerahan pelayanan dalam bursa sebagai barang
pertimbangan. Pertimbangan ini dapat dalam benuk tunai peralatan kas atau harta
lainnya. Pendapatan dapat diperoleh pada saat penjualan, karena terjadi
pertukaran, harga jual dapat ditetapkan dan bebannya diketahui.1

2.8

Alat Bantu Perancangan Sistem Yang Digunakan

2.8.1

Bagan Alir (Flowchart)


Bagan alir (flowchart) adalah bagan (chart) yang menunjukkan alir (flow)

di dalam program atau prosedur sistem secara logika. Bagan alir digunakan
terutama untuk alat bantu komunikasi dan untuk dokumentasi.
(Jogiyanto, 2005).
Ada lima macam bagan alir, diantaranya :
1. Bagan Alir Sistem (system flowchart) merupakan bagan yang
menunjukkan arus pekerjaan secara keseluruhan dari sistem.
2. Bagan Alir Dokumen (document flowchart) disebut juga bagan alir
formulir (form flowchart) merupakan bagan alir yang menunjukkan arus
dari laporan dan formulir termasuk tembusan-tembusannya.
3. Bagan Alir Skematik (schematic flowchart) merupakan bagan alir yang
menggambarkan prosedur di dalam sistem dengan menggunakan simbol-

__________________
1
Siegel, Joel G dan Jae K. Shim yang diterjemahkan oleh Moh Kurdi (1999), Kamus Istilah
Akuntansi, Jakarta : PT Elex Media Komputindo, hal 404

19

simbol bagan alir sistem dan gambar-gambar komputer serta peralatan


lainnya yang digunakan oleh sistem.
4. Bagan Alir Program (program flowchart) merupakan bagan yang
menjelaskan secara rinci langkah-langkah dari proses program.
5. Bagan Alir Proses (process flowchart) merupakan bagan alir yang banyak
digunakan di teknik industri untuk menggambarkan proses dalam suatu
prosedur.

2.8.2 Diagram Arus Data (Data Flow Diagram)


DFD (Data Flow Diagram) sering digunakan untuk menggambarkan suatu
sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika
tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir
(misalnya lewat telepon, surat dan sebagainya) atau lingkungan fisik dimana data
tersebut akan disimpan (misalnya file kartu, microfiche, hard disk, tape, diskette
dan lain sebagainya). DFD merupakan alat yang digunakan pada metodologi
pengembangan sistem yang terstruktur (structured analysis and design).
(Jogiyanto, 2005)
Elemen dasar dari DFD dapat terdiri dari sebagai berikut: (Al-Bahra Bin
Ladjamudin, 2005)
a. Kesatuan luar (External Entity)
Sesuatu yang berada di luar sistem, tetapi ia memberikan data ke
dalam sistem atau memberikan data dari sistem, disimbolkan dengan
suatu kotak notasi. External entity tidak termasuk bagian dari sistem.

20

Bila sistem informasi dirancang untuk satu bagian (departemen) maka


bagian lain yang masih terkait menjadi external entity.
b. Arus data (Data Flow)
Arus data merupakan tempat mengalirnya informasi dan digambarkan
dengan garis yang menghubungkan komponen dari sistem. Arus data
ditunjukkan dengan arah panah dan garis diberi nama atas arus data
yang mengalir. Arus data ini mengalir di antara proses, data store, dan
menunjukkan arus data dari data yang berupa masukan untuk sistem
atau hasil proses sistem.
c. Proses (Process)
Proses merupakan apa yang dikerjakan oleh sistem. Proses dapat
mengolah data atau aliran data masuk menjadi aliran data keluar.
Proses berfungsi mentransformasikan satu atau beberapa data masukan
menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi
yang diinginkan. Setiap proses memiliki satu atau beberapa masukan
serta menghasilkan satu atau beberapa data keluaran.
d. Simpanan data (Data Store)
Simpanan data merupakan tempat penyimpanan data pengikat data
yang ada dalam sistem. Data store dapat disimbolkan dengan sepasang
dua garis sejajar atau dua garis dengan salah satu sisi samping terbuka.
Proses dapat mengambil data dari atau memberikan data ke database.

21

Selain itu, menurut (Ladjamudin 2005:64), DFD juga terdiri dari beberapa hirarki,
yaitu :
a.

Diagram Konteks
Diagram yang terdiri dari suatu proses dan menggambarkan ruang
lingkup suatu sistem. Dalam diagram konteks hanya ada satu proses
dan tidak ada store.

b.

Diagram Nol
Diagram yang menggambarkan proses dari DFD. Diagram Nol
memberikan

pandangan

secara

menyeluruh

mengenai

sistem,

menunjukkan tentang fungsi-fungsi utama atau proses yang ada, aliran


data dan entitas eksternal
c.

Diagram Rinci
Diagram yang menguraikan proses apa yang ada dalam diagram nol
atau diagram level di atasnya.

Gambar simbol-simbol elemen DFD dapat dilihat pada halaman daftar


simbol.
2.8.3

Perancangan Basis Data (Database)

2.8.3.1 Basis Data (Database)


Menurut Ladjamudin (2005 : 129-130), beberapa definisi basis data dari
beberapa orang ahli basis data adalah sebagai berikut :

22

a) Database adalah sekumpulan data store (bisa dalam jumlah yang sangat
besar) yang tersimpan dalam magnetic disk, optical disk, magnetic drum
atau media penyimpanan sekunder lainnya.
b) Database adalah sekumpulan program program aplikasi umum yang
bersifat batch yang mengeksekusi dan memproses data secara umum
(seperti pencarian, penambahan, dan penghapusan terhadap data).
c) Database terdiri dari data yang akan digunakan atau diperuntukkan
terhadap banyak user, dimana masing masing user (baik
menggunakan teknik pemrosesan yang bersifat batch atau on-line) akan
menggunakan data tersebut sesuai dengan tugas dan fungsinya, dan user
lain dapat juga menggunakan data tersebut dalam waktu yang bersamaan.
d) Database adalah koleksi terpadu dari data data yang saling berkaitan dari
suatu enterprise (perusahaan, instansi pemerintah atau swasta).

2.8.3.2 Database Management System (DBMS)


DBMS merupakan koleksi terpadu dari database dan program-program
komputer (utilitas) yang digunakan untuk mengakses dan memelihara database.
Program-program tersebut menyediakan berbagai fasilitas operasi untuk
memasukkan,

melacak,

dan

memodifikasi

data

ke

dalam

database,

mendefinisikan data baru, serta mengolah data menjadi informasi yang


dibutuhkan (DBMS=Database + Program Utilitas). (Ladjamudin, 2005)

23

2.8.3.3 Entity Relational Diagram (ERD)


Diagram hubungan entitas atau yang lebih dikenal dengan sebutan E-R
diagram (ERD), adalah notasi grafik dari sebuah model data atau sebuah model
jaringan yang menjelaskan tentang data yang tersimpan (storage data) dalam
sistem secara abstrak. Diagram hubungan entitas tidak menyatakan bagaimana
memanfaatkan data, membuat data, mengubah data dan menghapus data.
(Ladjamudin, 2005)

2.8.3.4 Elemen Elemen Diagram Hubungan Entitas


Menurut Ladjamudin (2005 : 143-148) elemen elemen diagram
hubungan entitas terdiri dari :
1. Entity
Pada E-R diagram, entity digambarkan dengan sebuah bentuk persegi
panjang. Entity adalah sesuatu apa saja yang ada di dalam sistem, nyata
maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas
diberi nama dengan kata benda dan dapat dikelompokkan dalam empat
jenis nama, yaitu orang, benda, lokasi, kejadian (terdapat unsur waktu di
dalamnya).
2. Relationship
Pada E-R diagram, relationship dapat digambarkan dengan sebuah bentuk
belah ketupat. Relationship adalah hubungan alamiah yang terjadi antara
entitas. Pada umumnya penghubung (Relationship) diberi nama dengan
kata dasar, sehingga memudahkan untuk melakukan pembacaan relasinya

24

(bisa dengan kalimat aktif atau kalimat pasif). Penggambaran hubungan


yang terjadi adalah sebuah bentuk belah ketupat dihubungkan dengan dua
bentuk empat persegi panjang.
3. Relationship Degree
Relationship degree atau derajat relationship adalah jumlah entitas yang
berpartisipasi dalam satu relationship.
4. Atribut
Secara umum atribut adalah sifat atau karakteristik dari tiap entitas
maupun tiap realtionship. Maksudnya, atribut adalah sesuatu yang
menjelaskan apa sebenarnya yang dimaksud entitas maupun relationship,
sehingga sering dikatakan atribut adalah elemen dari setiap entitas dan
relationship.
5. Kardinalitas (Cardinality)
Kardinalitas relasi menunjukkan jumlah maksimum tupel yang dapat
berelasi dengan entitas pada entitas yang lain. Kardinalitas relasi merujuk
kepada hubungan maksimum yang terjadi dari entitas yang satu ke entitas
yang lain dan begitu juga sebaliknya. Terdapat 3 macam kardinalitas
relasi, yaitu :
a) One to One (1 to 1)
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada
entitas pertama, hanya mempunyai satu hubungna dengan satu
kejadian pada entitas yang kedua dan sebaliknya.

25

b) One to Many atau Many to One (1 to M atau M to 1)


Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu.
Tergantung dari arah mana hubungan tersebut dilihat. Untuk satu
kejadian pada entitas yang pertama dapat mempunyai banyak
hubungan dengan kejadian pada entitas yang kedua. Sebaliknya pada
entitas yang kedua hanya dapat mempunyai satu hubungan dengan satu
kejadian pada entitas yang pertama.
c) Many to Many (M to N)
Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada
sebuah entitas akan mempunyai banyak hubungan dengan kejadian
pada entitas lainnya. Baik dilihat dari sisi entitas yang pertama,
maupun dilihat dari sisi yang kedua.

2.8.3.5 Normalisasi
Beberapa definisi normalisasi menurut Ladjamudin (2005 : 169), yaitu :
a) Normalisasi adalah suatu proses memperbaiki / membangun dengan model
data relasional, secara umum lebih tepat dikoneksikan dengan model data
logika.
b) Normalisasi adalah proses pengelompokkan data ke dalam bentuk tabel
atau relasi atau file untuk menyatakan entitas dan hubungan mereka
sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.
c) Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu :
Apa yang dimaksud dengan desain database logical ? dan Apa yang

26

dimakdud dengan disini database fisikal yang baik ? What is a Physical


good logical dabase design?.
d) Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok
atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut
dengan atribut lainnya.
e) Normalisasi bisa disebut juga sebagai proses pengelompokkan atribut
atribut dari suatu relasi sehingga membentuk WELL STRUCTURED
RELATION.
Menurut Ladjamudin (2005 : 176-188), ada beberapa langkah dalam
pembentukan normalisasi, yaitu :
1. Bentuk Tidak Normal (Unnormalized Form)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada
keharusan mengikuti format tertentu, dapat saja data tidak lengkap atau
terduplikasi. Data dikumpulkan apa adanya sesuai saat menginput.
2. Bentuk Normal kesatu (First Normal Form / 1NF)
Pada tahap ini dilakukan penghilangan beberapa grup elemen yang
berulang agar menjadi satu harga tunggal yang berinteraksi diantara setiap
baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang
atomic (bersifat atomic value). Atom adalah zat terkecil yang masih
memiliki sifat induknya, bila ia dipecah lagi maka ia tidak memiliki sifat
induknya.
Syarat normal kesatu (1-NF) :

27

a) Setiap data dibentuk dalam flat file, data dibentuk dalam satu record
demi satu record nilai dari field berupa atomic value.
b) Tidak ada set atribut yang berulang atau bernilai ganda.
c) Telah ditentukannya primary key untuk tabel / relasi tersebut.
d) Tiap atribut hanya memiliki satu pengertian.

3. Bentuk Normal kedua (Second Normal Form / 2NF)


Bentuk normal kedua didasari konsep full functional dependency
(ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai
berikut :
Jika A dan B adalah atribut-atribut dari suatu relasi, B dikatakan full
functional dependency (memiliki ketergantungan fungsional sepenuhnya)
terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional
dari subset (himpunan bagian) dari A.
Syarat normal kedua (2-NF) :
a) Bentuk data telah memenuhi kriteria bentuk normal kesatu.
b) Atribut bukan key (non-key) haruslah memiliki ketergantungan
fungsional sepenuhnya (fully fungsional dependency) pada kunci
utama / primary key.
4. Bentuk Normal ketiga (Third Normal Form / 3NF)
Syarat normal ketiga (3-NF) :
a) Bentuk data telah memenuhi kriteria bentuk normal kedua.

28

b) Atribut bukan kunci (non-key) haruslah tidak memiliki ketergantungan


transitif, dengan kata lain suatu atribut bukan kunci (non-key) tidak
boleh memiliki ketergantungan fungsional (fungsional dependency)
terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada
suatu relasi hanya memiliki ketergantungan fungsional terhadap
primary key di relasi itu saja.

2.8.4 Kamus Data (Data Dictionary)


Kamus data (KD) atau data dictionary (DD) atau disebut juga dengan
system data dictionary adalah katalog fakta tentang data dan kebutuhan
kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan KD,
analis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap.
KD dibuat pada tahap analisis sistem dan digunakan baik pada tahap analisis
maupun pada tahap perancangan sistem. Pada tahap analisis, KD dapat digunakan
sebagai alat komunikasi antara analisis sistem dengan pemakai sistem tentang data
yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan tentang
informasi yang dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem,
KD digunakan untuk merancang input, merancang laporan laporan dan
database. KD dibuat berdasarkan arus data yang ada di DAD. Arus data di DAD
sifatnya adalah global, hanya ditunjukkan nama arus datanya saja. Keterangan
lebih lanjut tentang struktur dari suatu arus data di DAD secara lebih terinci dapat
dilihat di KD. (Jogiyanto, 2005)

29

2.8.5 STD (State Transition Diagram)


State-Transition Diagram menggambarkan bagaimana perilaku sistem saat
mendapatkan event dari luar (External Events). STD mewakili berbagai mode
perilaku dari sistem dan perlakuan yang terdapat pada transisi antar state. STD
menjadi dasar dari model perilaku. Informasi tambahan mengenai aspek-aspek
kontrol terhadap perangkat lunak terdapat dalam spesifikasi kontrol (Control
Specification).(http://daniel.itssby.edu/ADT/BahanUAS/KelasX/KelX3_YSM.ppt
) +(09 Juli 2008)

2.9

Internet
Internet merupakan contoh jaringan terbesar yang menghubungkan jutaan

komputer yang tersebar di seluruh penjuru dunia dan tak terikat pada satu
organisasipun. Siapa saja dapat bergabung pada Internet. Dengan menggunakan
jaringan ini, sebuah organisasi dapat melakukan pertukaran informasi secara
internal ataupun melakukan pertukaran informasi secara eksternal dengan
organisasi-oranisasi yang lain. Dalam hal ini, jaringan tersusun atas berbagai jenis
komputer dan sistem informasi.(Kadir, 2003:370)

Lain-lain

Internet
`

PC dengan
Linux
Laptop
dengan
Windows

Mac
dengan
MacOS

Gambar 2.3 Pemanfaatan Internet Pada Berbagai Platform


(Sumber : Abdul Kadir, 2003:370)

30

2.10

Alat Bantu Aplikasi Yang Digunakan Dalam Pembuatan Sistem

2.10.1 Dreamweaver 8
Dreamweaver merupakan perangkat lunak yang ditujukan untuk membuat
suatu situs web. Versi pertama dirilis pada tahun 1997, dan sejak itu
Dreamweaver menjadi web editor yang banyak digunakan oleh para web
developer. Hal itu antara lain karena kemudahan dalam penggunaannya,
kelengkapan fiturnya dan juga dukungannya terhadap teknologi terkini.
Dreamweaver merupakan salah satu perangkat lunak yang dikembangkan oleh
Macromedia Inc. (http://achmatim.net/tag/dreamweaver/)+(22 Desember 2008)
Macromedia Dreamweaver 8 merupakan program aplikasi profesional
untuk

mengedit

HTML

secara

visual.

Program

aplikasi

Macromedia

Dreamweaver 8 menyertakan banyak perangkat yang berkaitan dengan


pengkodean dan fitur seperti HTML, CSS, serta JavaScript. Dalam 5 hari Anda
akan mampu membuat website interaktif. Pokok bahasan yang akan mengantar
Anda mampu membuat website interaktif dalam 5 hari ini meliputi:Pengenalan
mengenai Macromedia Dreamweaver 8 serta Area Kerja (Workspace)
Dreamweaver. Bagaimana membuat halaman web baru, termasuk pengelolaan
teks, gambar, tabel dan hyperlink.Bagaimana menyisipkan objek serta membuat
navigasi dengan beberapa metode.Bagaimana mempercantik halaman web
menggunakan CSS dan Behaviours serta bagaimana membuat frame dan template
pada halaman web.Bagaimana mengelola website lebih lanjut; bagaimana
mempublikasikan file web ke internet serta bagaimana memperkenalkan situs

31

lewat Search Engine. (http://www.kampusbook.com/daftar-buku/pid-575/tutorial5-hari-membuat-website-interaktif-dengan-macromedia-dreamweaver8.html.)+(22 Desember 2008)

2.10.2 PHP (Personal Home Page)


2.10.2.1 Pengertian PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat
ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak
tertutup kemungkinan digunakan untuk pemakaian lain.
Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki
(software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari
ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun
Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa
CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke,
Xaraya, dan lain-lain. (http://id.wikipedia.org/wiki/PHP) +(08 Juli 2008)

2.10.2.2 Sejarah PHP


PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada
waktu itu PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah
sekumpulan script yang digunakan untuk mengolah data form dari web.
Perkembangan selanjutnya adalah Rasmus melepaskan kode sumber
tersebut dan menamakannya PHP/FI, pada saat tersebut kepanjangan dari PHP/FI
adalah Personal Home Page/Form Interpreter. Dengan pelepasan kode sumber ini

32

menjadi open source, maka banyak programmer yang tertarik untuk ikut
mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter sudah
diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi
yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend, menulis ulang
interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada
Juni 1998 perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan
nama rilis tersebut menjadi PHP 3.0.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis
tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak
dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk
membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan
stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Versi ini adalah versi mutakhir dari
PHP. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar.
Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru
untuk menjawab perkembangan bahas pemrograman kearah pemrograman
berorientasi objek. (http://www.indoglobalweb.com/?action=news&aid=5)+(04
November 2008)

33

2.10.2.3 Kelebihan PHP Dari Bahasa Pemograman Lain


Kelebihan PHP dari bahasa pemograman lain adalah sebagai berikut
(http://www.indoglobalweb.com/?action=news&aid=5)+(04 November 2008) :
a) Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaanya.
b) Web Server yang mendukung PHP dapat ditemukan dimana - mana dari
mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah.
c) Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis
dan developer yang siap membantu dalam pengembangan.
d) PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(linux, unix, windows) dan dapat dijalankan secara runtime melalui
console serta juga dapat menjalankan perintah-perintah system.

2.10.3 MySQL
MySQL adalah Relational Database Management Sistem (RDBMS) yang
didistribusikan secara gratis di bawah lisensi GPL (General Public License).
Dimana setiap orang bebas menggunakan MySQL, namun tidak boleh dijadikan
produk turunan yang bersifat komersil.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam
database sejak lama, yaitu SQL(Structured Query Language). SQL adalah sebuah
konsep pengoperasian database, terutama untuk pemilihan seleksi dan pemasukan
data dikerjakan dengan mudah secara otomatis. (Didik Dwi Prasetyo, 2002 : 1)

34

Sebagai database server yang memiliki database modern, MySQL


memiliki banyak keistimewaan, yaitu (Didik Dwi Prasetyo, 2002 : 3-4) :
a) Portability
MySQL dapat berjalan stabil pada berbagai macam OS seperti Windows,
linux, Mac OS X Server dll.
b) Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan
tanpa mengalami masalah atau konflik.
c) Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL per
satuan waktu.
d) Coloumn Types
MySQL

memiliki

tipe

kolom

yang

sangat

kompleks,

seperti

signed/unsigned integer, float, double, char, varchar, text, blob, date time,
datetime, timestamp,year, set serta enum.
e) Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang medukung
perintah SELECT dan WHERE dalam query.
f) Security
MySQL memilki beberapa lapisan sekuritas seperti level subnet mask,
nama host, dan izin akses user dengan sistem perizinan yang mendetail
serta password terenkripsi.

35

g) Scalability dan Limits


MySQL mampu menangani database dalam skala besar dengan jumlah
records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Batas
indeks yang dapat ditampung 32 indeks ada tiap tabel.
h) Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan protokol
TCP/IP, Unix Soket(UNIX), atau Named Pipes(NT).
i) Localisation
MySQL dapat mendeteksi pesan kesalahan (error code) pada client dengan
menggunakan lebih dari 20 bahasa.
j) Interface
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan
bahasa pemrograman yang digunakan untuk administrasi database,
k) Clients dan tools
MySQL dilengkapi dengan berbagai tools yang dapat digunakan untuk
administrasi database, dan pada setiap tools yang ada disertakan petunjuk
online. tabel yang lebih fleksibel dalam menangani ALTER TABLE,
dibandingkan dengan.
l) Struktur Table
MySQL memiliki struktur database lainnya.

36

2.11

Studi Sejenis

Penulis juga telah melakukan penelitian dan mengkaji pembahasan dari


skripsi yang disusun oleh Lusiana, Cynthia Rahayu, Elisa (2006) Jurusan Sistem
Informasi Universitas Bina Nusantara dengan judul Analisa Dan Perencanaan
Sistem Pemasaran Berbasiskan Web Pada PT Elex Media Komputindo, dan
Jurnal yang dibuat oleh Nonot Wisnu Karyanto, S . Nurmuslimah (2008) Jurusan
Teknik Informatika Institut Teknologi Adhi Tama Surabaya dengan judul
Sistem Informasi Manajemen Pemasaran UD.Sarti Tani.

Analisa Dan Perencanaan Sistem Pemasaran Berbasiskan Web Pada PT


Elex Media Komputindo yang disusun oleh mahasiswi dari Universitas Bina
Nusantara mempunyai kelebihan dalam memasarkan buku- buku yang diterbitkan
PT Elex Media Komputindo mempunyai pasar yang luas karena sistem yang
mereka buat berbasis website yang interaktif, dinamis dan informasi yang up to
date, bisa dilihat di http://www.elexmedia.co.id/, sehingga website tersebut
bernilai informatif yang cukup tinggi, website merupakan bagian dari EMarketing yang merupakan cara pemasaran yang tidak memerlukan biaya tinggi
namun memiliki jangkauan pemasaran yang sangat luas. Kelemahan dari sistem
tersebut tidak adanya transaksi penjualan secara online

Sistem Informasi Manajemen Pemasaran UD.Sarti Tani yang disusun oleh


mahasiswa dari Institut Teknologi Adhi Tama Surabaya mempunyai kelebihan
pengolahan data yang terstruktur dalam integritas database yang handal dapat
menjaga keutuhan data dalam memberikan sebuah nilai informasi dan laporan

37

transaksi, serta terhindar dari inkonsistensi data dan duplikasi data yang bisa
merugikan dan mengurangi nilai informasi yang akan dihasilkan, sistem ini
memiki fitur transaksi pembelian, penjualan dan pembiayaan dari seluruh aktifitas
jual beli UD. Sari Tani. Kelemahan dari sistem tersebut berbasis stand alone tidak
berbasis online.

Adapun perbedaan dari Sistem Informasi Manajemen Pemasaran Berbasis


Web pada CV. Ihyaa&Co yang penulis teliti dengan sistem yang dibuat oleh
Lusiana, Cynthia Rahayu dan Elisa, yakni sistem yang mereka buat ditunjukkan
untuk memasarkan produk secara online agar mendapat pelanggan sebanyakbanyaknya, dalam hal ini sifat dari pemasarannya adalah menciptakan dan
mencari pasar seluas-luasnya dengan minimal modal yang dikeluarkan dengan
keuntungan besar, sedangkan yang penulis buat, lebih memperhatikan
pengawasan terhadap para pemasar dan mitra kerja dalam menawarkan dan
menjual produk perusahaan di berbagai daerah, tanpa harus membuat cabang
perusahaan dan menjadi evaluasi bagi para pimpinan untuk menetapkan strategi
selanjutnya.
Dan perbedaan Sistem Informasi Manajemen Pemasaran Berbasis Web
pada CV. Ihyaa&Co

dengan yang dibuat oleh Nonot Wisnu Karyanto, S .

Nurmuslimah adalah sistem yang mereka buat lebih kepada transaksi penjualan
dan pembiayaan, sedangkan yang penulis teliti hanya sebatas mengawasi langkahlangkah kegiatan dari pemasaran dan penjualan yang berguna untuk pengambilan
keputusan strategi pemasaran.

BAB III
METODOLOGI PENELITIAN

3.1

Alur Penelitian
Berdasarkan metode penelitian yang digunakan pada penelitian ini, dapat

digunakan suatu alur kegiatan metode kerangka penelitian seperti terlihat pada
gambar 3.1 di bawah ini:

pengumpulan data,
identifikasi masalah, analisa
kebutuhan aplikasi, hingga
definisi proyek

pemodelan proses d e ng a n
flo wc a rt, pemodelan proses
d e ng a n DFD, p e mo d e la n d a ta
d e ng a n ERD,
LRS,no rma lisa si,G UI, std

Gambar 3.1 Kerangka Penelitian

38

39

3.2

Metode Pengumpulan Data


Dalam menyelesaikan skripsi ini penulis memperoleh data yang

diinginkan melalui pengumpulan data dengan metode pengumpulan data yang


terdiri dari :

3.2.1

Observasi
Pengumpulan data dengan observasi langsung atau dengan pengamatan

langsung adalah cara pengambilan data dengan menggunakan mata tanpa ada
pertolongan alat standar lain untuk keperluan tersebut. (Danu Wira Pangestu,
2009)
Obeservasi ini dilakukan selama penulisan skripsi berlangsung. Penulis
melakukan observasi agar penulis dapat mengetahui proses kegiatan pemasaran
yang dilakukan pihak CV Ihyaa&Co

serta melihat tindak lanjut pihak CV

Ihyaa&Co dalam mengawasi kegiatan pemasaran.


Penulis telah melakukan observasi selama tiga kali yaitu pada tanggal 7
Oktober 2009 sampai dengan tanggal 9 Oktober 2009 pada CV Ihyaa&Co,
Mallshop plus MPI 444. Jl. Metro Pondok Indah Plaza 1 Blok UA 58 Jakarta
Selatan. Pada Tahap ini penulis mengamati proses kegiatan pemasaran berikut
hal-hal lain yang berkaitan dari kegiatan tersebut seperti pelaporan dan lain-lain.

3.2.2 Wawancara
Yang dimaksud dengan wawancara adalah proses memperoleh keterangan
untuk tujuan penelitian dengan cara tanya jawab, sambil bertatap muka antara si

40

penanya atau pewawancara dengan si penjawab atau responden dengan


menggunakan alat yang dinamakan interview guide (panduan wawancara).
(Danu Wira Pangestu, 2009)
Penulis melakukan wawancara dengan tujuan untuk mendapatkan
informasi informasi yang dibutuhkan dalam penulisan serta pengembangan
sistem yang akan dibuat. Wawancara dilakukan pada pihak pihak terkait seperti
Pak Feddy selaku Manajer Umum, serta Pak Widy selaku Manajer Pemasaran.
Wawancara dilakukan

bersamaan dengan waktu observasi yaitu tanggal 7

Oktober 2009 dan 9 Oktober 2009.


Dari hasil wawancara ini penulis mendapatkan informasi informasi
seperti, Profil dari CV Ihyaa&Co, keadaan sistem yang sedang berjalan, dan
kelemahan dari sistem yang ada sehingga perlu dibuatkan sistem yang baru.
Selain itu juga penulis juga mendapatkan data data maupun prosedur prosedur
yang diperlukan dalam pembuatan sistem yang baru.

3.2.3 Studi Pustaka


Ini dilakukan untuk pengumpulan data-data dengan mengambil referensi
yang terdapat pada 18 buku, 1 jurnal, 9 Website, 1 artikel, dokumantasi rapat kerja
CV. Ihyaa&Co untuk digunakan sebagai acuan dalam perumusan masalah yang
berkenaan dengan penelitian dan perancangan program,yaitu diantaranya seperti
Analisis & Desain Sistem Informasi oleh Jogiyanto, Marketing Management:
Analysis, Planning, and Control oleh Kotler.

41

3.3

Metode Pengembangan Sistem


Dalam perancangan Sistem Informasi Manajemen Pemasaran berbasis web

dalam mengawasi kemajuan kegiatan pemasaran dan panjualan guna pengambilan


keputusan strategi pemasaran menggunakan pendekatan mo d e l Wa te rfa ll
(g a mb a r 1.1). Be rikut a la sa nnya :

1. Sistem yang penulis coba kembangkan ini bukanlah sistem dengan


berskala besar.
2. Aplikasi ini lebih cocok dikembangkan dengan proses yang terstruktur
dan sekuensial.
Berikut proses yang akan penulis lakukan dalam mengembangkan sistem sesuai
tahapan-tahapan yang terdapat pada model Waterfall.

3.3.1 Analysis (Analisis)


Proses pengembangan diawali dari tahap analisis dimana dalam tahap
analisis ini penulis melakukan beberapa aktivitas, yaitu pengumpulan data,
identifikasi masalah, analisa kebutuhan aplikasi, hingga definisi proyek. Semua
aktivitas pada tahap ini akan dijelaskan dengan deskriptif analitis.

3.3.1.1 Data Gathering (Pengumpulan Data)


Pe nulis me ng ump ulka n d a ta d e ng a n me ng a ma ti siste m ya ng
b e rja la n pada CV Ihyaa&CO, sehingga nantinya dapat dilihat titik lemah dari

sistem yang sudah ada yang merupakan sumber dari masalah yang harus
diperbaiki.

42

Se la in

me la kuka n

o b se rva si,

p e nulis

jug a

me la kuka n

wa wa nc a ra ke p a d a p iha k te rka it untuk mendapatkan sistem yang tepat

guna, sasaran sistem yang penulis buat haruslah sejalan dengan sasaran instansi.
Sistem yang akan penulis buat diarahkan untuk dapat mengatasi kelemahan
kelemahan dari sistem yang sudah ada untuk dapat mewujudkan visi dan misi CV
Ihyaa&Co.

3.3.1.2 Identify (Identifikasi Masalah)


Setelah melihat keadaan sistem yang sedang berjalan, penulis dapat
menemukan titik lemah yang merupakan sumber masalah yang harus diselesaikan.
Yang kemudian masalah itu diidentifikasi untuk dicarikan pemecahannya.

3.3.1.3 System Requirement (Kebutuhan Sistem)


Berdasarkan identifikasi masalah di atas, penulis mulai menganalisis,
menentukan dan menggali lebih dalam kebutuhan-kebutuhan yang diperlukan
oleh sistem hingga akhirnya didapat solusi konkrit dari sistem yang akan
dikembangkan.

3.3.1.4 Project Definition (Definisi Proyek)


Project definition sebagai penjelasan akan solusi yang telah ditentukan
sebelumnya dibutuhkan untuk mendefinisikan sistem secara rinci, baik itu nama,
deskripsi, batasan-batasan serta fitur aplikasi.

43

3.3.2 Design (Perancangan)


Tahap kedua setelah analisis adalah perancangan, pada tahap ini penulis
mulai melakukan pemodelan berdasarkan hasil analisis. Perancangan dilakukan
mulai dari tingkat global sampai ke tingkat rincian tertentu. Pada tahap ini
dilakukan beberapa aktivitas seperti pemodelan proses dengan DFD, pemodelan
data dengan ERD dan beberapa diagram pemodelen lainnya secara rinci.
Tahap desain sistem mempunyai dua maksud atau tujuan utama, yaitu :
a) Untuk memenuhi kebutuhan kepada pemakai sistem
b) Untuk memberikan gambaran yang jelas dan rancang bangun yang
lengkap kepada pemrogram komputer dan ahli ahli teknik lainnya yang
terlibat
Berikut tahapan-tahapan untuk mendesain sistem yang dilakukan penulis :
1. Desain proses
Pada tahap ini penulis akan merancang usulan alur proses sistem
dengan dua metode :
a) Desain Physical System
Pada tahap ini penulis akan menunjukkan usulan alur proses
sistem yang baru yang akan penulis buat dengan menunjukkan
secara tepat arti fisiknya menggunakan tools bagan alir sistem
(flowchart).
b) Desain Logical (Logical Model)

44

Pada tahap ini penulis akan menunjukan usulan alur proses sistem
yang akan penulis buat dengan menunjukkan fungsi fungsi
sistem informasi pada user secara logika dengan menggunakan
tools DFD (Data Flow Diagram).
2. Desain basisdata (database)
Pada tahap ini penulis akan merancang basisdata yang dibutuhkan
dalam sistem yang akan dibuat dengan menggunakan tools ERD
(Entity Relational Diagram). Penulis juga akan membuat kamus data
untuk membantu dalam pembuatan aplikasi. Lalu akan dilakukan
Normalisasi untuk menghindari data mengalami redudansi.
3. Desain Input / Output
Dalam desain input, penulis akan mendesain

form form

yang

dibutuhkan sebagai input untuk sistem baru. Sedangkan dalam desain


output, penulis akan membangun rancangan output yang dibutuhkan
untuk sistem baru serta merancang laporan laporannya sesuai dengan
kebutuhannya.
4. Desain Antar Muka (GUI)
Dalam tahap ini penulis akan mendesain percakapan antara pemakai
(user) dengan komputer yang terdiri dari proses pemasukan data ke
sistem, menampilkan informasi kepada user, atau sebaliknya dengan
menggunakan tools State Transation Diagram (STD).

45

3.3.3 Code (Pengkodean)


Tahap pengkodean ini merupakan sebuah tahap konstruksi aplikasi secara
nyata. Pada tahap ini dilakukan dua hal yaitu membuat kode program dan juga
merancang antarmuka program sebagai navigasi.
1. Kode program ditulis menggunakan bahasa pemrograman PHP 5
dan menggunakan database MySQL 5. Editor yang digunakan
untuk menulis kode program adalah Macromedia Dreamweaver.
2. Antarmuka dirancang menggunakan software-software desain
grafis seperti Adobe Photoshop dan Macromedia Dreamweaver.

3.3.4 Test (Ujicoba)


Pada tahap ini dilakukan pengujian masing-masing fitur dan fungsi untuk
mengetahui apakah aplikasi dapat bekerja dengan semestinya. Ujicoba dilakukan
dengan menguji coba aplikasi secara mandiri dan melakukan testing mengenai
apakah fitur-fitur aplikasi sudah berjalan dengan semestinya atau tidak. Dalam
ujicoba mandiri ini penulis menggunakan metode black box testing yaitu ujicoba
menggunakan metode pengujian logika program dengan contoh kasus atau
masalah yang diajukan.

BAB IV
HASIL DAN PEMBAHASAN

4.1

Analysis (Analisis)
Proses pengembangan diawali dari tahap analisis dimana dalam tahap

analisis ini penulis melakukan beberapa aktivitas, yaitu pengumpulan data,


identifikasi masalah, analisa kebutuhan aplikasi, hingga definisi proyek. Semua
aktivitas pada tahap ini akan dijelaskan dengan deskriptif analitis.

4.1.1

Data Gathering (Pengumpulan Data)

4.1.1.1 Gambaran Umum Perusahaan


Ihyaa&Co adalah Perusahaan yang bergerak dalam pemberdayaan SDM
dan

pengembangan

Teknologi

Informasi.

Secara

konsep,

ide

dasar

pengembangan Ihyaa&Co terinspirasi dari situasi global dunia saat ini, yaitu
sebuah kenyataan bahwa SDM Indonesia akan semakin berkompetisi dengan
SDM asing dalam berbagai bidang. Hal ini disebabkan dengan terbukanya
perdagangan bebas antar Negara yang tidak terbatas ruang dan waktu. Hal ini pula
yang menjadikan pemanfaat Teknologi Informasi menjadi sebuah kebutuhan yang
tak bisa lagi ditunda sebagai salah satu faktor untuk sukses dalam dunia ekonomi
dan bisnis.
Dalam pemberdayaan SDM, Ihyaa&Co memberikan pendekatan berupa
pembelajaran yang bersifat aplikatif dan dikemas dengan bahasa komunikatif.
Hal ini dilakukan sebagai sarana pengenalan diri secara mendalam untuk

46

47

meningkatkan kemampuan diri yang teroptimalkan. Maka dengan SDM yang


berkualitas dapat menjadikan bangsa Indonesia lebih baik karena salah satu faktor
utama untuk membenahi bangsa ini adalah dengan meningkatkan kualitas
masyarakatnya menjadi masyarakat cerdas secara pribadi maupun sosial.
Dalam pengembangan teknologi informasi, Ihyaa&Co berusaha berperan
dalam pemanfaatan yang tepat sasaran dan tepat guna untuk mendukung
keunggulan kompetitif sehingga dapat meningkatkan kemampuan bersaing dalam
era globalisasi ini. Manfaat penggunaan teknologi informasi ini dapat
meningkatkan efisiensi, efektifitas dan produktivitas kerja serta mendukung
kecepatan adaptasi terhadap perubahan-perubahan kebijakan sesuai dengan
kemajuan perkembangan organisasi atau perusahaan.

4.1.1.2 Struktur Organisasi


Dire ktur

Ma na je r
IT

Ma na je r
HR

HR

IT Stra te g y
& Pla nning

IT Aplic a tio n
&

HR

Ma na je r
Sa le s &

HR

Sa le s

Gambar 4.1 Struktur Organisasi CV Ihyaa&Co


Sumber : Dokumantasi rapat kerja CV. Ihyaa&Co 2008

Pro m o tio n

48

4.1.1.3 Tugas Dan Tanggung Jawab


a) Direktur
1. Memimpin seluruh dewan atau komite eksekutif
2. Menawarkan visi dan imajinasi di tingkat tertinggi
3. Memimpin rapat umum, dalam hal: untuk memastikan pelaksanaan
tata-tertib,

keadilan

dan kesempatan bagi semua untuk

berkontribusi secara tepat menyesuaikan alokasi waktu per item


masalah, menentukan urutan agenda; mengarahkan diskusi ke arah
consensus, menjelaskan dan menyimpulkan tindakan dan kebijakan
4. Bertindak sebagai perwakilan organisasi dalam hubungannya
dengan dunia luar
5. Memainkan bagian terkemuka dalam menentukan komposisi dari
board dan sub-komite, sehingga tercapainya keselarasan dan
efektivitas
6. Mengambil keputusan sebagaimana didelegasikan oleh BOD atau
pada situasi tertentu yang dianggap perlu, yang diputuskan, dalam
meeting-meeting BOD.
7. Menjalankan tanggung jawab dari direktur perusahaan sesuai
dengan standar etika dan hukum yang ditetapkan oleh perusahaan.

49

b) Manajer IT Development
1. Mengembangkan

dan

menyusun

strategi

dan

rencana

TI

perusahaan untuk jangka pendek, menengah, dan panjang, untuk


memastikan kesesuaian dengan strategi dan rencana perusahaan
dalam mencapai sasaran usaha.
2. Menganalisa dan mengkaji perkembangan dan tren teknologi
informasi serta pengaruhnya ke industri dan bidang usaha
berkecimpung, untuk menjadi landasan bagi penetapan dan
penyusunan rekomendasi pengembangan TI secara korporat
3. Menyusun anggaran bagian TI dan mengontrol penggunaan dan
realisasi dari anggaran tersebut untuk memastikan efektifitas dan
efisiensinya
4. Mengkoordinir perencanaan arsitektur TI dengan membangun
suatu pendekatan arsitektural TI untuk keseluruhan sistem
perusahaan/ korporat, menyiapkan kapasitas perencanaan sehingga
pelayanan kepada pelanggan terpelihara secara konsisten dan tidak
kompromis, mempertimbangkan kreasi-nilai dalam membangun
suatu arsitektur perusahaan aplikasi, dan selalu mengupdate
pengetahuan tentang perkembangan TI yang mutakhir.
5. Mengarahkan

dan

mengkoordinir

penciptaan

manajemen

pelayanan TI yang efektif untuk seluruh cabang, unit dan korporat,


dengan:
bermitra dengan provider yang melayani perusahaan untuk

50

menjamin perolehan pelayanan yang benar dan yang dibutuhkan


oleh kegiatan usaha agar sejalan dengan proses-proses dalam
perusahaan
a) Mengkoordinir pelaksanaan SLA (service level agreement) TI
di seluruh perusahaan.
b) Menjamin pemberian manajemen pelayanan SLA yang tepat,
demikian pula untuk pelayanan internal
c) Menyiapkan rencana pemulihan pada upaya antisipasi terhadap
tiap serangan bahaya yang sama artinya dengan menjamin
sistem TI secara maksimum
d) Mempertimbangkan biaya dan dasar-dasar dalam negosiasi
kontrak
e) Menyeleksi, merekomendasikan dan memberikan pelatihan TI
yang tepat kepada staff TI di perusahaan
6. Mengarahkan dan mengkordinir pendayagunaan software dan
hardware untuk mencapai kinerja optimum di seluruh perusahaan
7. Mengkoordinir perencanaan dan pelaksanaan proyek TI yang besar
di seluruh perusahaan, untuk memastikan integrasi korporat dan
pencapaian target penyelesaian proyek dengan tepat waktu.

51

c) Manajer HR Empowerment
1. Mengevaluasi, merencanakan dan bekerjasama dengan pimpinan
departemen terkait untuk melaksanakan produk produk pelatihan,
berdasarkan TNA (Training Need Analysis) agar pelaksanaan
pelatihan ini dapat dilakukan dengan terencana, rapi dan sesuai
dengan arahan dan kebutuhan konsumen.
2. Membuat,

merencanakan

dan

menyediakan

materi

produk

pelatihan sesuai dengan kebutuhan konsumen agar pelaksanaan


pelatihan dapat dilakukan sesuai dengan standar yang ditentukan.
3. Melakukan

evaluasi

terhadap

keefektifan

pelatihan

yang

diselenggarakan, dan mengusulkan tindakan perbaikan sesuai


prosedur dan hasil pelatihan, untuk pengukuran manfaat pelatihan
dan sebagai bahan analisa kebutuhan pelatihan di masa yang akan
datang.
4. Melakukan analisa dan secara aktif melakukan pencarian terhadap
konsep-konsep, teknik-teknik, dan program pelatihan terbaru dari
berbagai sumber di dalam ataupun di luar perusahaan sesuai
dengan perkembangan tehnologi dan peralatan yang dipergunakan
agar memberikan nilai excellence dari produk yang ditawarkan
Ihyaa&Co.
5. Melakukan koordinasi dengan General Manager dan pimpinan
departemen mengenai hal yang berkaitan dengan program

52

pelatihan agar pelaksanaan pelatihan lebih bermanfaat, tepat pada


sasaran, dan meningkatkan produktivitas klien / konsumen.
6. Mengelola dan melakukan penterjemahan atas dokumen-dokumen
teknis di Perusahaan, menyimpan seluruh dokumentasi yang
berhubungan dengan pelatihan, sesuai prosedur agar materi
pelatihan mudah dipahami, rapi, dan terdokumentasi.
7. Menyiapkan budget dan sistem administrasi pelatihan sesuai
prosedur agar pelaksanaan pelatihan dapat diselenggarakan dengan
rapi, terdokumentasi dan terencana
8. Menyiapkan strategi perekrutan trainer untuk mendapatkan tim
yang excellence

d) Manajer Sales & Marketing


1. Menentukan harga jual, produk yang akan dilaunching, jadwal
kunjungan serta system promosi untuk memastikan tercapainya
target penjualan.
2. Memonitor perolehan order serta merangkumkan forecast untuk
memastikan kapasitas produksi terisi secara optimal
3. Memonitor jumlah stock seluruh Dept. Sales & Marketing untuk
memastikan umur stock perusahaan tidak melebihi target yang
telah ditentukan.
4. Menganalisa dan mengembangkan strategi marketing untuk
meningkatkan jumlah pelanggan dan area sesuai dg target yang
ditentukan

53

5. Menganalisa dan memberikan arah pengembangan design &


warna, untuk memastikan pengembangan produk sesuai dengan
kebutuhan pasar
6. Melakukan evaluasi kepuasan pelanggan dari hasil survey seluruh
sales team untuk memastikan tercapainya target kepuasan
pelanggan yang ditentukan
7. Menerapkan budaya, sistem, dan peraturan intern perusahaan serta
menerapkan

manajemen

biaya,

untuk

memastikan

budaya

perusahaan dan sistem serta peraturan dijalankan dengan optimal

4.1.1.4 Visi Dan Misi


Visi :
Menjadi perusahaan konsultan sumber daya manusia berbasis pengetahuan yang
terintegrasi di tahun 2012.
Misi :
Berkontribusi aktif dalam membangun dan mengembangkan sumber daya
manusia dan penerapan teknologi informasi dengan menyelanggarakan pelayanan
konsultasi dan pelatihan, serta berbagi pengetahuan melalui publikasi media dan
pendidikan.
Value :
Berhasrat kuat untuk fokus dalam mencapai nilai-nilai keunggulan (excellence).

54

Dalam mengawasi kegiatan pemasaran di CV Ihyaa&Co, pihak


perusahaan melakukannya secara

manual yaitu dengan menggunakan alat

komunikasi seperti telepon, e-mail dan arsip, pengawasan yang membutuhkan


nilai-nilai kepercayaan dan rasa tanggung jawab terhadap produk-produk yang
telah dipasarkan atau ditawarkan kepada calon pelanggan oleh pemasar.
Dikarenakan pemasar

dalam memasarkan produk- produk perusahan tidak

terbatas pada satu wilayah tingkat profinsi, maka dalam pengawasannya


perusahaan hanya menuliskannya pada papan tulis dan untuk pendokumentasian
transaksi yang sudah dilaksanan dicatat di General Ledger, yang dikategorikan
berdasarkan wilayah pasar dimana pemasar berada dan semua itu dilakukan secara
terpusat.
Pemasar dalam melakukan proses pemasarannya tidak terikat langsung
secara sistem yang dimiliki perusahaan, namun dalam menjalankan aktifitasnya
pemasar memiliki parameter yang sudah dibakukan oleh perusahaan salah satunya
ialah langkah langkah aktifitas pemasaran yang harus dilalui, hal ini berkaitan
dengan administrasi selain dari alat pemasaran itu sendiri.
Berikut langkah-langkah dari pemasaran dan penjualan:
1. Sending Offering

7. Invoicing

2. Follow Up

8. Complete/Closing

3. Audience
4. Submit Quotation
5. Project Order
6. Delivery

55

Berikut adalah Bagan Alir dari sistem yang sudah berjalan :

Gambar 4.2
Diagram Alir Sistem Yang Sedang Berjalan

56

4.1.2 Identify (Identifikasi Masalah)


Setelah melakukan observasi serta wawancara terhadap pihak perusahaan di
CV Ihyaa&Co, penulis melihat masalah masalah yang terjadi serta kelemahan dari
sistem yang berjalan yang merupakan faktor timbulnya suatu masalah tersebut, yaitu :
a) Pengawasam aktifitas kegiatan pemasaran dan penjualan yang dilakukan oleh
pemasar tidak realtime, sehingga mempengaruhi ketepatan dan kecepatan
dalam mengeluarkan kebijakan dan strategi pemasaran.
b) Dalam pengawasan kegiatan pemasaran dan penjualan, pemasar tidak secara
langsung bagian dari sistem yang ada diperusahaan sehingga pengawasan
terhadap aktifitas mereka agak sulit dilakukan.
c) Dalam pengarsipan data data maupun laporan laporan yang berhubungan
dengan pemasaran dan penjualan sering kali tercecer dan tidak terarsip dengan
baik sehingga sering kali terjadi kesulitan dalam melakukan cross check, hal
ini terjadi karena :
-

Perusahaan belum memiliki database sebagai sarana penyimpanan data


maupun laporan.

4.1.3 System Requirement (Kebutuhan Sistem)


Melihat masalah pada sistem yang sedang berjalan, maka kebutuhan sistem
adalah :

57

1. Fungsional
a. Sistem mampu memasukkan, mengubah, menyimpan, dan menghapus
data customer, data business_type, data produk, vendor, data
quotation, data order, data progress pemasaran, data aktifitas
pemasaran, data pegawai, data user, data perusahaan, data office.
b. Sistem mampu menampilkan laporan berupa data customer, data
aktifitas pemasaran, data order dan, data progress pemasaran dan
target penjualan.
c. Sistem mampu menyediakan form input data target penjualan secara
online.
d. Menampilkan laporan target, perkembangan penjualan dan selisih
antara target dengan perkembangan penjualan per kuarta dan per tahun
dalam bentuk diagram batang dan table.
e. Sistem dapat mencegah kemungkinan kesalahan yang disebabkan
manusia (human error) serta cepat dalam pencarian data dan laporan.
f. Sistem sebagai sarana penyimpanan berupa database yang dapat
mengarsip data dengan baik.
g. Untuk

menghasilkan

laporan

target

penjualan,

perkembangan

penjualan dan selisihnya yang bisa ditampilkan perkurta dan pertahun


sistem menggunakan perhitungan sebagai berikut:
a) Target penjualan per tahun

58

Penjumlahan dari keseluruhan target produk selama setahun


yang telah dimasukkan ke dalam database
b) Target penjualan perkuarta
12 bulan/4 yaitu: kuarta 1(Januari, Februari, Maret), kuarta 2
(April, Mei, Juni), kuarta 3(Juli, Agustus, September), kuarta
4(Oktober, November, Desember), perhitungannya adalah
(jumlah total target pertahun : 12 bulan * Kurtal(/3bulan))
c) Pertumbuhan penjualan
Pertumbuhan penjualan didapat dari jumlah order yang masuk
ke database.
d) Selisih penjualan (Actual Slaes)
Selisih penjualan didapat dari jumlah target penjualan
dikurangi pertumbuhan penjualan.
2. Non Fungsional
a) Sistem mampu meningkatkan kinerja pengawasan aktifitas
pemasaran dan penjualan dan mampermudah dalam proses
evaluasi pemasaran.
b) Sistem mempunyai tiga level user account yaitu : EDP(Entry
Data Processing), pemasar dan manajer.
c) Sistem informasi manajemen pemasaran berbasis online yang
dapat diakses melalui jaringan internet.

59

4.1.4 Project Definition (Definisi Proyek)


Pada definisi proyek ini akan dijelaskan nama, deskripsi, dan tujuan aplikasi.
1. Project Name
Nama aplikasi ini adalah Sistem Informasi Manajemen Berbasis Web.
2. Project Overview
a)

Sistem informasi yang dapat membantu dalam mengawasi kegiatan


pemasaran dan penjualan pada CV. Ihyaa&Co.

b)

Aplikasi yang dapat membantu dalam pemosesan data dengan cepat


serta mengurangi kesalahan yang disebabkan human error.

c)

Aplikasi yang membantu dalam poses penyimpanan dan pengarsipan


data terutama yang berhubungan dengan Pelaporan.

3. Project Objective
Tujuan dari Sistem Informasi Manajeman Pemasaran Berasis Web adalah:
a)

Dapat memantau dan mengawasi kegiatan pemasaran dan penjualan

b)

Memberikan

laporan-laporan

yang

berkenaan

dengan

kegiatan

pemasaran dan penjualan secara realtime.


c)

4.2

Sebagai peyimpanan data

Design (Perancangan)
Pada tahapan ini penulis akan menjelaskan rancangan sistem yang penulis

buat yang dibagi dengan beberapa tahap, yaitu :

60

4.2.1

Desain Proses
Pada tahap ini penulis akan merancang usulan alur proses sistem dengan dua

metode :
4.2.1.1 Desain Physical System
Pada tahap ini penulis akan menunjukkan usulan alur proses sistem yang baru
yang akan penulis buat dengan menunjukkan secara tepat arti fisiknya menggunakan
tools bagan alir sistem (flowchart).
Alur sistem berjalan yang penulis usulkan yaitu :
a) EDP(Entry Data Processing) menginput data-data master seperti data
karyawan,data user, data produk, data perusahaan, data mitra daerah, data
target penjualan, data customer, data bussines type, data vendor untuk
kepentingan informasi user.
b) Pemasar menginput data-data untuk record kegiatan pemasaran dan
penjualan seperti input data customer, input data quotation, input data
order, input data marketing activity, input data progress pemasaran dan
penjualan, ubah username, ubah password

dan dapat melihat target

penjualan, perkembangan dan actual penjualan

dalam bentuk grafik

batang.
c) Pimpinan dapat melihat serta mendownload laporan customer, aktifitas
pemasaran dan penjualan, progress pemasaran dan penjualan, laporan
produk, laporan sales order, dan dapat melihat target penjualan,
perkembangan dan actual penjualan

dalam bentuk grafik batang.

61

Gambar 4.3 Diagram Alir Sistem Yang Diusulkan

62

Gambar 4.4
Diagram Alir Sistem Yang Diusulkan (Lanjutan)

63

4.2.1.2 Desain Logical (Logical Model)


Pada tahap ini penulis akan menunjukan usulan alur proses sistem yang akan
penulis buat dengan menunjukkan fungsi fungsi sistem informasi pada user secara
logika dengan menggunakan tools DFD (Data Flow Diagram), mulai dari Diagram
Konteks sampai dengan DFD Level 1.

Gambar 4.5
Diagram Konteks Yang Diusulkan

64

Gambar 4.6 DFD Level 0 Yang Diusulkan

65

Gambar 4.7
DFD Level 1 Dari Proses ke-1 Yang Diusulkan

Gambar 4.8
DFD Level 1 Dari Proses ke-2 Yang Diusulkan

66

Gambar 4.9
DFD Level 1 Dari Proses ke-3 Yang Diusulkan

Gambar 4.10
DFD Level 1 Dari Proses ke-4 Yang Diusulkan

67

Gambar 4.11
DFD Level 1 Dari Proses ke-5 Yang Diusulkan

Gambar 4.12
DFD Level 1 Dari Proses ke-6 Yang Diusulkan

68

Gambar 4.13
DFD Level 1 Dari Proses ke-7 Yang Diusulkan

Gambar 4.14
DFD Level 1 Dari Proses ke-8 Yang Diusulkan

69

Gambar 4.15
DFD Level 1 Dari Proses ke-9 Yang Diusulkan

Gambar 4.16
DFD Level 1 Dari Proses ke-10 Yang Diusulkan

70

Gambar 4.17
DFD Level 1 Dari Proses ke-11 Yang Diusulkan

Gambar 4.18
DFD Level 1 Dari Proses ke-12 Yang Diusulkan

71

Gambar 4.19
DFD Level 1 Dari Proses ke-13 Yang Diusulkan

Gambar 4.20
DFD Level 1 Dari Proses ke-14 Yang Diusulkan

72

Gambar 4.21
DFD Level 1 Dari Proses ke-15 Yang Diusulkan

Gambar 4.22
DFD Level 1 Dari Proses ke-16 Yang Diusulkan

73

Gambar 4.23
DFD Level 1 Dari Proses ke-17 Yang Diusulkan

Gambar 4.24
DFD Level 1 Dari Proses ke-18 Yang Diusulkan

74

4.2.2

Desain Basisdata (Database)


Pada tahap ini penulis akan merancang basisdata yang dibutuhkan dalam

sistem yang akan dibuat dengan menggunakan tools ERD (Entity Relational
Diagram). Penulis juga akan membuat kamus data untuk membantu dalam
pembuatan aplikasi. Lalu akan dilakukan Normalisasi untuk menghindari data
mengalami redudansi. Perancangan basisdata ini dibuat berdasarkan kebutuhan
sistem dilihat dari alur proses yang telah dijabarkan di atas.

4.2.2.1 ERD (Entity Relational Diagram)

75

Gambar 4.25
ERD Yang Diusulkan

76

4.2.2.2 Transformasi ERD Ke LRS

Keterangan : * Primary Key


** Foreign Key
Gambar 4.26
Tranformasi Logical Record Structure (LRS)

77

4.2.2.3 Transformasi LRS Ke Tabel


a) Tabel employes
Tabel 4.1 Tabel employes
*emp_id **division_id **office_id emp_name
position
address email
phone_no
report_to_emp

b) Tabel office
Tabel 4.2 Tabel office
*office_id office_name
address phone contact_person
email
invoice_previx

c) Tabel divisions
Tabel 4.3 Tabel divisions
*division_id name
d) Tabel products
Tabel 4.4 Tabel products
*product_id
application

**category_id
code_brochures

** vendor_id

e) Tabel product_category
Tabel 4.5 Tabel product_category
*category_id

category_name

name

material

78

f) Tabel vendors
Tabel 4.6 Tabel vendors
*vendor_id
fax

name
phone

Sales_person

address

email

site

g) Tabel customer
Tabel 4.7 Tabel customer
*customer_id
address
remarks

**office_id
region

**bussines_id
phone

customer_name
fax

product
contact_person

h) Tabel bussines_type
Tabel 4.8 Tabel bussines_type
*business_id Type_of_business description

i) Tabel order
Tabel 4.9 Tabel order
*order_id
order_date

**product_id
po_no

**emp_id
value

**customer_id
remarks

**curr_id

j) Table customer_quotation
Tabel 4.10 Tabel customer_quotation
*quote_id
**curr_id

** emp_id
value

**product_id
remarks

**office_id

**customer_id

79

k) Table currency
Tabel 4.11 currency
*curr_id

name

kurs

updated

l) Table marketing_acts
Tabel 4.12 Tabel marketing_acts
*
marketing_act_id
activities

**emp_id
remarks

**customer_id
week

date_period

cust_no

m) Table projectsup
Tabel 4.13 Tabel projectsup
*id
**customer_id
remarks

**emp_id
description

**office_id
contact_person

**category_id
products

n) Table status
Tabel 4.14 Tabel status
*status_id

status_name

o) Tabel user
Tabel 4.15 Tabel user
* user_id
log

**emp_id

username

password

level

**status_id
value

80

p) Table User_roles
Tabel 4.16 Tabel User_roles
*role_id

Role_name

description

q) Table target
Tabel 4.17 Tabel target
*id
target_market_money

**office_id

**product_id

year

target_market_qty

r) Table company
Tabel 4.18 Tabel company
*company_id
contact_person_phone

name
fax

address
email

phone
site

contact_person

4.2.2.4 Normalisasi
1) Bentuk Awal / Bentuk Tidak Normal (Unnormalize)
a. Employes

: emp_id + division_id + office_id + emp_name +


position
+ address + email + phone_no + report_to_emp

b. Office

: office_id + office_name + address + phone +


contact_person + email + invoice_previx

c. Divisions

: division_id + name

d. Products

: product_id + category_id + vendor_id + name +


material + application + code_brochures

e. Product_category

: category_id + category_name

81

f. Vendors

: vendor_id + name + sales_person + address +


email + site + fax + phone

g. Customer

: customer_id + office_id + bussines_id +


customer_name + product + address + region +
phone + fax

+ contact_person + remarks

h. Bussines_type

: bussines_id + type_of_bussines + description

i. Order

: order_id + product_id + emp_id + customer_id +


curr_id + order_date + po_no + value + remarks

j. Customer_quotation : quote_id + emp_id + product_id + office_id +


customer_id + curr_id + value + remarks
k. Currency

: curr_id + name + kurs + updated

l. Marketing_acts

: marketing_act_id + emp_id + customer_id +


date_period + cust_no + activities + remarks +
week

m. Projectup

: id + emp_id + office_id + category_id +


status_id + customer_id + description +
contact_person + products + value + remarks

n. Status

: status_id + status_name

o. User

: user_id + emp_id + role_id + username +


password + level + log

p. User_roles

: role_id + role-name + description

q. Target

: id + office_id + product_id + year +


target_market_qty + target_market_money

82

r. Company

: company_id + name + address + phone +


contact_person + contact_person_phone + fax +
email + site

2) Uji Normalisasi
a. Uji normalisasi tabel Employes
Struktur tabel/entitas/relasi EMPLOYES sebelum uji normalisasi
dalam bentuk tidak normal adalah :
emp_id

division_id, office_id, emp_name, position, addres,

email, phone_no, report_to_emp


-

Relasi atau tabel EMPLOYES di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (emp_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (emp_id).

83

Struktur tabel/entitas/relasi EMPLOYES setelah uji normalisasi


sampai ke bentuk normal ke-3 (3NF) adalah :
emp_id

division_id, office_id, emp_name, position, addres,

email, phonr_no, report_to_emp

b. Uji normalisasi tabel Office


Struktur tabel/entitas/relasi OFFICE sebelum uji normalisasi dalam
bentuk tidak normal adalah :
office_id

office_name, address, phone, contact_person,

email, invoice_previx
-

Relasi atau tabel OFFICE di atas sudah 1NF, karena semua atributnya
adalah bernilai atomik, dan tidak ada elemen data yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (office_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (office_id).

84

Struktur tabel/entitas/relasi OFFICE setelah uji normalisasi sampai ke


bentuk normal ke-3 (3NF) adalah :
office_id

office_name, address, phone, contact_person,

email, invoice_previx

c. Uji normalisasi tabel Divisions


Struktur tabel/entitas/relasi DIVISIONS sebelum uji normalisasi
dalam bentuk tidak normal adalah :
division_id
-

name

Relasi atau tabel DIVISIONS di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (division_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (division_id).

85

Struktur tabel/entitas/relasi DIVISIONS setelah uji normalisasi sampai


ke bentuk normal ke-3 (3NF) adalah :
division_id

name

d. Uji normalisasi tabel Products


Struktur tabel/entitas/relasi PRODUCTS

sebelum uji normalisasi

dalam bentuk tidak normal adalah :


product_id

vendor_id, category_id, name, ,Material,

application, code_brochures
-

Relasi atau tabel PRODUCTS di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (product_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (product_id).

86

Struktur tabel/entitas/relasi PRODUCTS setelah uji normalisasi sampai


ke bentuk normal ke-3 (3NF) adalah :
product_id

vendor_id, category_id, name, ,aterial, application,

code_brochures

e. Uji normalisasi tabel Product_category


Struktur tabel/entitas/relasi PRODUCT CATEGORY sebelum uji
normalisasi dalam bentuk tidak normal adalah :
category_id
-

category_name

Relasi atau tabel PRODUCT CATEGORY di atas sudah 1NF, karena


semua atributnya adalah bernilai atomik, dan tidak ada elemen data
yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (Category_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (category_id).

87

Struktur tabel/entitas/relasi PRODUCT CATEGORY setelah uji


normalisasi sampai ke bentuk normal ke-3 (3NF) adalah :
category_id

category_name

f. Uji normalisasi tabel Vendors


Struktur tabel/entitas/relasi VENDORS sebelum uji normalisasi dalam
bentuk tidak normal adalah :
vendor_id
-

name, sales_person, addres, email, site, fax, phone

Relasi atau tabel VENDORS di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (vendor_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (vendor_id).

88

Struktur tabel/entitas/relasi VENDORS setelah uji normalisasi sampai


ke bentuk normal ke-3 (3NF) adalah :
vendor_id

name, sales_person, addres, email, site, fax, phone

g. Uji normalisasi tabel Customer


Struktur tabel/entitas/relasi CUSTOMER sebelum uji normalisasi
dalam bentuk tidak normal adalah :
customer_id

office_id, bussines_id, customer_name, product,

addres, region, phone, fax, contact_person, remarks


-

Relasi atau tabel CUSTOMER di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (customer_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (customer_id).

89

Struktur tabel/entitas/relasi CUSTOMER setelah uji normalisasi


sampai ke bentuk normal ke-3 (3NF) adalah :
customer_id

office_id, bussines_id, customer_name, product,

addres, region, phone, fax, contact_person, remarks

h. Uji normalisasi tabel Bussines_type


Struktur tabel/entitas/relasi BUSSINES TYPE sebelum uji normalisasi
dalam bentuk tidak normal adalah :
bussines_id
-

type_of_bussines, description

Relasi atau tabel BUSSINES TYPE di atas sudah 1NF, karena semua
atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (bussines_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (bussines_id).

90

Struktur tabel/entitas/relasi BUSSINES TYPE setelah uji normalisasi


sampai ke bentuk normal ke-3 (3NF) adalah :
bussines_id

type_of_bussines, description

i. Uji normalisasi tabel Order


Struktur tabel/entitas/relasi ORDER sebelum uji normalisasi dalam
bentuk tidak normal adalah :
order_id, customer_id, curr_id, emp_id, product_id

order_date,

po_no, value, remark


-

Relasi atau tabel ORDER di atas sudah 1NF, karena semua atributnya
adalah bernilai atomik, dan tidak ada elemen data yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary

key

(order_id,

customer_id,

curr_id,

emp_id,

product_id).
-

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (order_id, customer_id, curr_id, emp_id, product_id).

91

Struktur tabel/entitas/relasi ORDER setelah uji normalisasi sampai ke


bentuk normal ke-3 (3NF) adalah :
order_id, customer_id, curr_id, emp_id, product_id

order_date,

po_no, value, remark.

j. Uji normalisasi tabel Customer_quotation


Struktur tabel/entitas/relasi CUSTOMER QUOTATION sebelum uji
normalisasi dalam bentuk tidak normal adalah :
qouta_id, emp_id, office_id, customer_id, product_id, curr_id
value, remarks
-

Relasi atau tabel CUSTOMER QUOTATION di atas sudah 1NF,


karena semua atributnya adalah bernilai atomik, dan tidak ada elemen
data yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (qouta_id, emp_id, office_id, customer_id,
product_id, curr_id ).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki

92

ketergantungan fungsional (Functional Depedency) terhadap primary


key (qouta_id, emp_id, office_id, customer_id, product_id, curr_id ).

Struktur tabel/entitas/relasi CUSTOMER QUOTATION setelah uji


normalisasi sampai ke bentuk normal ke-3 (3NF) adalah :
qouta_id, emp_id, office_id, customer_id, product_id, curr_id
value, remarks

k. Uji normalisasi tabel Currency


Struktur tabel/entitas/relasi CURRENCY sebelum uji normalisasi
dalam bentuk tidak normal adalah :
curr_id
-

name, kurs, updated

Relasi atau tabel CURRENCY di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (curr_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki

93

ketergantungan fungsional (Functional Depedency) terhadap primary


key (curr_id).

Struktur tabel/entitas/relasi CURRENCY setelah uji normalisasi


sampai ke bentuk normal ke-3 (3NF) adalah :
curr_id

name, kurs, updated

l. Uji normalisasi tabel Marketing_acts


Struktur tabel/entitas/relasi MARKETING ACTS sebelum uji
normalisasi dalam bentuk tidak normal adalah :
marketing_act_id

customer_id, emp_id, date_periode,

cust_no, activities, remarks, week


-

Relasi atau tabel MARKETING ACTS di atas sudah 1NF, karena


semua atributnya adalah bernilai atomik, dan tidak ada elemen data
yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (marketing_act_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki

94

ketergantungan fungsional (Functional Depedency) terhadap primary


key (marketing_act_id).

Struktur

tabel/entitas/relasi

MARKETING

ACTS

setelah

uji

normalisasi sampai ke bentuk normal ke-3 (3NF) adalah :


marketing_act_id

customer_id, emp_id, date_periode,

cust_no, activities, remarks, week

m. Uji normalisasi tabel Projectsup


Struktur tabel/entitas/relasi PROJECTSUP sebelum uji normalisasi
dalam bentuk tidak normal adalah :
id, office_id, customer_id, emp_id, category_id, status_id
description, contact_person, product, value, remarks
-

Relasi atau tabel PROJECTSUP di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (id, office_id, customer_id, emp_id, category_id,
status_id ).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan

95

fungsional terhadap atribut non-primary key lainnya, dengan kata lain


semua atribut non-primary key dari relasi di atas hanya memiliki
ketergantungan fungsional (Functional Depedency) terhadap primary
key (id, office_id, customer_id, emp_id, category_id, status_id ).

Struktur tabel/entitas/relasi PROJECTSUP setelah uji normalisasi


sampai ke bentuk normal ke-3 (3NF) adalah :
id, office_id, customer_id, emp_id, category_id , status_id
description, contact_person, product, value, remarks

n. Uji normalisasi tabel Status


Struktur tabel/entitas/relasi STATUS sebelum uji normalisasi dalam
bentuk tidak normal adalah :
status_id
-

status_name

Relasi atau tabel STATUS di atas sudah 1NF, karena semua atributnya
adalah bernilai atomik, dan tidak ada elemen data yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (status_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain

96

semua atribut non-primary key dari relasi di atas hanya memiliki


ketergantungan fungsional (Functional Depedency) terhadap primary
key (status_id).

Struktur tabel/entitas/relasi STATUS setelah uji normalisasi sampai ke


bentuk normal ke-3 (3NF) adalah :
status_id

status_name

o. Uji normalisasi tabel User


Struktur tabel/entitas/relasi USER sebelum uji normalisasi dalam
bentuk tidak normal adalah :
user_id
-

employee_id, role_id

Relasi atau tabel USER di atas sudah 1NF, karena semua atributnya
adalah bernilai atomik, dan tidak ada elemen data yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (user_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki

97

ketergantungan fungsional (Functional Depedency) terhadap primary


key (user_id).

Struktur tabel/entitas/relasi USER setelah uji normalisasi sampai ke


bentuk normal ke-3 (3NF) adalah :
user_id

employee_id, role_id

p. Uji normalisasi tabel User_roles


Struktur tabel/entitas/relasi USER ROLES sebelum uji normalisasi
dalam bentuk tidak normal adalah :
role_id
-

role_name, description

Relasi atau tabel USER ROLES di atas sudah 1NF, karena semua
atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (role_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki

98

ketergantungan fungsional (Functional Depedency) terhadap primary


key (role_id).

Struktur tabel/entitas/relasi USER ROLES setelah uji normalisasi


sampai ke bentuk normal ke-3 (3NF) adalah :
role_id

role_name, description

q. Uji normalisasi tabel Target


Struktur tabel/entitas/relasi TARGET sebelum uji normalisasi dalam
bentuk tidak normal adalah :
id

office_id,

product_id,

year,

target_market_qty,

target_market_money
-

Relasi atau tabel TARGET di atas sudah 1NF, karena semua atributnya
adalah bernilai atomik, dan tidak ada elemen data yang berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain
semua atribut non-primary key dari relasi di atas hanya memiliki

99

ketergantungan fungsional (Functional Depedency) terhadap primary


key (id).

Struktur tabel/entitas/relasi TARGET setelah uji normalisasi sampai ke


bentuk normal ke-3 (3NF) adalah :
id

office_id,

product_id,

year,

target_market_qty,

target_market_money

r. Uji normalisasi tabel Company


Struktur tabel/entitas/relasi COMPANY sebelum uji normalisasi
dalam bentuk tidak normal adalah :
company_id

name,

addres,

phone,

contact_person,

contact_person_phone, fax, email, site


-

Relasi atau tabel COMPANY di atas sudah 1NF, karena semua


atributnya adalah bernilai atomik, dan tidak ada elemen data yang
berulang.

Relasi di atas sudah 2NF, karena


1. Sudah dalam bentuk 1NF, dan
2. Setiap atribut yang bukan kunci bergantung secara fungsi pada
primary key (company_id).

Relasi di atas telah memenuhi kriteria 3NF, karena salah satu atau
beberapa atribut non-primary key tidak saling memiliki ketergantungan
fungsional terhadap atribut non-primary key lainnya, dengan kata lain

100

semua atribut non-primary key dari relasi di atas hanya memiliki


ketergantungan fungsional (Functional Depedency) terhadap primary
key (company_id).

Struktur tabel/entitas/relasi COMPANY setelah uji normalisasi sampai


ke bentuk normal ke-3 (3NF) adalah :
company_id

name,

addres,

phone,

contact_person,

contact_person_phone, fax, email, site.

4.2.2.5 Kamus Data


1. Nama Tabel

: employes

Primary Key : emp_id


Foreign Key : division_id + office_id
Struktur Tabel :
Tabel 4.19 Tabel employes (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8.
9.

Nama Field
emp_id
division_id
office_id
emp_name
position
address
email
phone_no
report_to_emp

2. Nama Tabel

: office

Primary Key : office_id

Tipe
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
int

Panjang
Field
8
4
4
15
10
20
15
12
15

Keterangan
No induk pegawai
No id divisi
No id kantor
Nama pegawai
Posisi pegwai diperusahan
Alamat pegawai
Email pegawai
No telpon / hp pegawai
Harus melapor ke pegawai mana

101

Foreign Key : Struktur Tabel :


Tabel 4.20 Tabel office (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.

Nama Field

Tipe

office_id
Office_name
address
phone
Contact_person
email
Invoice_previx

int
varchar
varchar
varchar
varchar
varchar
varchar

3. Nama Tabel

Panjang
Field
4
20
20
12
15
15
10

Keterangan
No id kantor
Nama kantor
Alamat kantor
Phone
Nama yang bisa dihubungi
Email nama yang bisa dihubungi
Id unik untuk invoice

: divisions

Primary Key : division_id + name


Foreign Key : Struktur Tabel :
Tabel 4.21 Tabel divisions (kamus data)
No.
1.
2.

Nama Field
division_id
name

4. Nama Tabel

Tipe
Int
Varchar

Panjang
Keterangan
Field
4
No id divisi
15
Nama divisi

: products

Primary Key : product_id


Foreign Key : category_id + vendor_id
Struktur Tabel :
Tabel 4.22 Tabel products (kamus data)
No.
1.

Nama Field
Product_id

Tipe
Int

Panjang
Keterangan
Field
4
No id product

102

2.
3.
4.
5.
6.
7.

Vendor_id
Category_id
Name
Material
Application
Code_brochures

5. Nama Tabel

Int
Int
Varchar
Varchar
Varchar
Varchar

4
4
20
20
20
4

No id vendor
No id category
Nama produk
Materi/modul produk
Fungsi/manfaat/tujuan produk
Kode brosur produk

: category

Primary Key : category_id


Foreign Key : Struktur Tabel :
Tabel 4.23 Tabel category (kamus data)
No.
1.
2.

Nama Field

Tipe

Category_id
Category_name

Int
Varchar

6. Nama Tabel

Panjang
Keterangan
Field
4
No id kategori produk
20
Nama kategori produk

: vendor

Primary Key : vendor_id


Foreign Key : Struktur Tabel :
Tabel 4.24 Tabel vendors (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8

Nama Field
Vendor_id
Name
Salesperson
Address
Email
Site
Fax
Phone

Tipe
Int
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar

Panjang
Field
4
20
15
20
15
15
12
12

Keterangan
No id vendor
Nama vendor
Nama sales vendor
Alamat vendor
Email vendor
Website vendor
Fax vemdor
No telpom vendor

103

7. Nama Tabel

: customer

Primary Key : customer_id


Foreign Key : office_id + bussines_id
Struktur Tabel :
Tabel 4.25 Tabel customer (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8
9
10
11

Nama Field

Tipe

Cutomer_id
Cust_name
Product
Bussines_id
Office_id
Address
Region
Phone
Fax
Contact_person
remark

Int
Varchar
Varchar
Int
Int
varchar
Varchar
Varchar
Varchar
Varchar
varchar

8. Nama Tabel

Panjang
Field
10
20
20
4
4
20
20
12
12
15
50

Keterangan
No id pelanggan
Nama pelanggan
Produk pelanggan
No id tipe bisnis
No id kantor
Alamat pelanggan
Lokasi pelanggan
No telpon pelangan
No fax pelanggan
Orang yang bisa dihubungi
catatan

: bussines_type

Primary Key : bussines_id


Foreign Key : Struktur Tabel :
Tabel 4.26 Tabel bussines_type (kamus data)
No.
1.
2.
3.

Nama Field

Tipe

Bussines_id
Type_of_bussiness
description

Int
Varchar
Varchar

9. Nama Tabel

Panjang
Keterangan
Field
4
No id tipe bisnis
20
Tipe bisnis
50
Deskripsi bisnis

: order

Primary Key : order_id + product_id + emp_id + customer_id + curr_id

104

Foreign Key : Struktur Tabel :


Tabel 4.27 Tabel order (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8
9

Nama Field
Order_id
Order_date
Po_no
Customer_id
Product_id
Curr_id
Emp_id
Value
remarks

10. Nama Tabel

Tipe
Int
Date
Varchar
Int
Int
Varchar
Varchar
Double
text

Panjang
Keterangan
Field
10
No id order
Tanggal order
10
No purchacing order
10
No id pelanggan
4
No id produk
20
No id nilai mata uang
20
No id pegawai
Nilai dari penjualan produk
50
catatan

: customer_quotation

Primary Key : quote_id + emp_id + product_id + office_id +


customer_id + curr_id
Foreign Key : Struktur Tabel :
Tabel 4.28 Tabel customer_quotation (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8

Nama Field
Quote_id
Office_id
Customer_id
Product_id
Curr_id
Emp_id
Value
remarks

Tipe
Varchar
Int
Int
Int
Varchar
Varchar
Double
varchar

Panjang
Field
10
4
4
4
10
4
50

Keterangan
No id quote
No id kantor
No id pelanggan
No id produk
No id nilai mata uang
No id pegawai
Nilai penjulan produk
catatan

105

11. Nama Tabel

: currency

Primary Key : curr_id


Foreign Key : Struktur Tabel :
Tabel 4.29 Tabel currency (kamus data)
No.
1.
2.
3.
4.

Nama Field
Curr_id
Name
Kurs
Update

12. Nama Tabel

Tipe
Varchar
Varchar
Int
date

Panjang
Keterangan
Field
10
No id nilai mata uang
20
Nama nilai mata uang
11
Nilai tukar mata uang
Update perubahan nilai mata uang

: marketing_acts

Primary Key : marketing_act_id


Foreign Key : emp_id + customer_id
Struktur Tabel :
Tabel 4.30 Tabel marketing_acts (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8

Nama Field

Tipe

Marketing_act_id
Date_period
Cust_no
Customer_id
Activities
Remarks
Week
Emp_id

Int
Date
Varchar
Int
Text
Varchar
Varchar
varchar

13. Nama Tabel

Panjang
Keterangan
Field
11
No id aktifitas pemasaran
Tanggal Periode pemasaran
10
No pelanggan
11
No id pelanggan
Aktifitas pemasaran
255
Catatan
20
Minggu ke
20
No id pegawai

: projectsup

Primary Key : id + emp_id + office_id + category_id + status_id +


customer_id

106

Foreign Key : Struktur Tabel :


Tabel 4.31 Tabel projectsup (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8
9
10
11

Nama Field

Tipe

Id
Category_id
Office_id
Description
Customer_id
Contact_person
Products
Status_id
Velue
Emp_id
remarks

Int
Int
Int
Varchar
Int
Varchar
Varchar
Int
Bigint
varchar
varchar

14. Nama Tabel

Panjang
Field
11
11
11
255
11
20
50
11
20
20
100

Keterangan
No id langkah proses pemasaran
No id kategori produk
No id kantor
Deskripsi langkah proses pemasaran
No id pelanggan
Contact person pemasar
Produk yang dijual
Status dari pemasar
Nilai penjualan produk
No id pegawai
catatan

: status

Primary Key : status_id


Foreign Key : Struktur Tabel :
Tabel 4.32 Tabel status (kamus data)
No.
1.
2.

Nama Field
Status_id
Status_name

15. Nama Tabel

Tipe
Varchar
varchar

: user

Primary Key : user_id


Foreign Key : emp_id + role_id
Struktur Tabel :

Panjang
Keterangan
Field
10
No id status
15
Nama status

107

Tabel 4.33 Tabel user (kamus data)


No.
1.
2.
3.
4.
5.

Nama Field
User_id
Emp_id
Username
Password
level

16. Nama Tabel

Tipe
Int
Varchar
Varchar
Varchar
varchar

Panjang
Field
4
4
15
15
4

Keterangan
No id user
No id pegawai
Nama user
Password user
Level user

: user_roles

Primary Key : role_id


Foreign Key : Struktur Tabel :
Tabel 4.34 Tabel user_roles (kamus data)
No.
1.
2.
3.

Nama Field
Role_id
Role_name
Description

17. Nama Tabel

Tipe
Int
Varchar
Varchar

Panjang
Keterangan
Field
4
No id jenis user
15
Nama jenis user
20
Deskripsi jenis user

: target

Primary Key : id
Foreign Key : office_id + product_id
Struktur Tabel :
Tabel 4.35 Tabel target(kamus data)
No.
1.
2.
3.
4.
5.

Nama Field

Tipe

Id
Product_id
Year
Targer_market_qty
Target_market_money

Int
Int
Year
Int
Bgint

Panjang
Field
10
4
4
11
20

Keterangan
No id target
No id produk
Tahun target
Jumalah target produk terjual
Jumlah targer penjualan

108

6.

Office_id

18. Nama Tabel

Int

11

No id kantor

: company

Primary Key : company_id


Foreign Key : Struktur Tabel :
Tabel 4.36 Tabel company (kamus data)
No.
1.
2.
3.
4.
5.
6.
7.
8
9

Nama Field

Tipe

Company_id
Name
Address
Phone
Contac_person
Contact_person_phone
fax
Email
site

Int
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
varchar

Panjang
Field
4
20
20
12
15
12
12
15
15

Keterangan
No id perusahaan
Nama perusahaan
Alamat perusahaan
No telpon perusahaan
Orang yang bisa dihubungi
No orang yang bisa dihubungi
No fax perusahaan
Email perusahan
Website perusahaan

4.2.2.6 Data to Location CRUD Matrix


Data to location CRUD (Create, Read, Update, Delete) matrix adalah
matrix yang digunakan untuk memetakan requirement data pada lokasi sistem.
(Whitten, 2004 : 331)
Tabel 4.37
Data to Location CRUD Matrix Sistem Informasi yang Diajukan
Location >>
Entity.Attribute
Employes
emp_id
division_id
office_id

EDP
CRUD
CRUD
CRUD

Pemasar Manajer

109

emp_name
position
address
email
phone_no
report_to_emp
Company
office_id
office_name
address
phone
contact_person
email
invoice_previx
Divisions
division_id
name
Products
product_id
category_id
vendor_id
name
material
application
code_brochures
Product_category
category_id
category_name
Customer
customer_id
office_id
bussines_id
customer_name
product
address
region
phone
fax
contact_person
remarks
Vendors

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R
R
R
R
R
R

R
R
R
R
R
R
R

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R
R
R
R
R
R
R
R
R
R

110

vendor_id
name
sales_person
address
email
site
fax
phone
Order
order_id
product_id
emp_id
customer_id
curr_id
order_date
po_no
value
remarks
Customer_Quotation
quote_id
emp_id
product_id
office_id
customer_id
curr_id
value
remarks
Business_type
bussines_id
type_of_bussines
description
Currency
curr_id
name
kurs
updated
Marketing_acts
marketing_act_id
emp_id
customer_id
date_period

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R
R
R
R
R
R
R
R

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R
R
R
R
R
R
R

CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD

R
R
R
R

111

cust_no
activities
remarks
week
Projectsup
Id
emp_id
office_id
category_id
status_id
customer_id
description
contact_person
products
value
remarks
Status
status_id
status_name
users
user_id
emp_id
username
password
level
Log
user_roles
role_id
Role_name
description
Target
id
office_id
product_id
year
target_market_qty
target_market_money
office
company_id
name
address

CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD

R
R
R
R

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R
R
R
R
R
R
R
R
R
R

CRUD
CRUD

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R

CRUD
CRUD
CRUD
CRUD
CRUD
CRUD

R
R

112

CRUD
phone
CRUD
contact_person
CRUD
contact_person_phone
CRUD
fax
CRUD
email
CRUD
site
C = Create, R = Read, U = Update, D = Delete

R
R
R
R
R
R

4.2.3 Desain Input/Output


4.2.3.1 Desain Input
Input (masukan) pada sistem yang penulis rancang terdiri dari:
a) input data customer
b) input data business_type
c) input data produk
d) input data vendor
e) input data quotation
f) input data order
g) input data progress pemasaran
h) input data aktifitas pemasaran
i) input data pegawai
j) input data user
k) input data perusahaan
l) input data office
(Tampilan Desain Input terlampir pada Lampiran B )

113

4.2.3.2 Desain Output


Rancangan output (keluaran) yang dihasilkan sesuai dengan proses dan
kebutuhan sistem. Output yang penulis rancang terdiri dari :
a) laporan progress dalam bentuk gant cart
b) laporan customer
c) laporan aktifitas pemasaran
d) laporan order
e) laporan progress pemasaran
f) laporan target penjualan dalam bentuk diagram batang dan table
(Tampilan Desain Output terlampir pada Lampiran C )
4.2.4

Desain Antar Muka (GUI)

1. Halaman EDP(Entry Data Processing)


Pada halaman ini EDP(Entry Data Processing) mempunyai hak akses
untuk mengelola data data sebagai berikut :
-

Mengelola Data Product Category


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data category, memodifikasi, menghapus, melihat data category.

Mengelola Data Business Type


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data business type, memodifikasi, menghapus, melihat data business
type.

Mengelola Data Product

114

EDP(Entry Data Processing) mempunyai hak akses untuk menambah


data product, memodifikasi, menghapus, melihat data product.
-

Mengelola Data Vendor


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data vendor, memodifikasi, menghapus, melihat data vendor.

Mengelola Data Employee


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data employe, memodifikasi, menghapus, melihat data employe.

Mengelola Data User


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data user, memodifikasi, menghapus, melihat data user.

Mengelola Data User Role


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data user role memodifikasi, menghapus, melihat data user role.

Mengelola Data Office


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data office
memodifikasi, menghapus, melihat data office.

Mengelola Data Status


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data status, memodifikasi, menghapus, melihat data status.

Mengelola Data Currency

115

EDP(Entry Data Processing) mempunyai hak akses untuk menambah


data currency, memodifikasi, menghapus, melihat data currency.
-

Mengelola Data Division


EDP(Entry Data Processing) mempunyai hak akses untuk menambah
data division, memodifikasi, menghapus, melihat data division.

Ganti Password
EDP(Entry Data Processing) mempunyai hak akses untuk mengganti
passwordnya sendiri.

Gambar 4.27
Halaman EDP(Entry Data Processing)

2. Halaman Pemasar
Pada halaman ini pemasar mempunyai hak akses untuk mengelola data
data sebagai berikut :
-

Mengelola Data Customer

116

Pemasar mempunyai hak akses untuk menambah data customer,


memodifikasi, menghapus, melihat data customer.
-

Mengelola Data Order


Pemasar mempunyai hak akses untuk menambah data order,
memodifikasi, menghapus, melihat data order.

Mengelola Data Aktifitas Pemasaran


Pemasar mempunyai hak akses untuk menambah data aktifitas
pemasar, memodifikasi, menghapus, melihat data aktifitas pemasar.

Mengelola Data Progress Pemasaran


Pemasar mempunyai hak akses untuk menambah data progress
pemasaran dan penjualan , memodifikasi, menghapus, melihat data
progress pemasaran.

Menglola Data Quotation


Pemasar mempunyai hak akses untuk menambah data quotation,
memodifikasi, menghapus, melihat data quotation.

Ganti Password
Pemasar mempunyai hak akses untuk mengganti passwordnya sendiri.

117

Gambar 4.28
Halaman Pemasar

3. Halaman Manajer
Pada halaman ini pemasar mempunyai hak akses untuk mengelola data
data sebagai berikut :
-

Menglola Data Target


Manajer mempunyai hak akses untuk menambah data quotation target,
memodifikasi, menghapus, melihat data target.

Melihat Laporan Customer


Manajer mempunyai hak akses untuk meliahat dan mencetak laporan
customer

Melihat Laporan Order


Manajer mempunyai hak akses untuk meliahat dan mencetak laporan
order

Melihat Laporan Progerss Pemasaran


Manajer mempunyai hak akses untuk meliahat dan mencetak laporan
progress pemasaran

Melihat Laporan Aktifitas Pemasaran

118

Manajer mempunyai hak akses untuk meliahat dan mencetak laporan


aktifitas pemasaran.
-

Ganti Password
Manajer mempunyai hak akses untuk mengganti passwordnya sendiri.

Gambar 4.29
Halaman Manajer

4.2.5

STD (State Transation Diagram)

119

Gambar 4.30
STD EDP(Entry Data Processing)

120

Gambar 4.31
STD EDP(Entry Data Processing) (Lanjutan)

121

Gambar 4.32
STD EDP (Entry Data Processing) (Lanjutan)

122

Gambar 4.33
STD Pemasaran

123

Gambar 4.34
STD Pemasaran (lanjutan)

124

Gambar 4.35
STD Manajer

125

4.2.6 Desain Jaringan


Pada tahap ini penulis akan menunjukkan usulan desain jaringan sebagai
rekomendasi untuk penerapan sistem pada jaringan internet maupun lokal, berikut
usulan desain yang dapat dilihat pada gambar 4.36.

Gambar 4.36
Rancangan Desain Jaringan

Komponen-komponen yang ada pada jaringan yang penulis usulkan adalah:


a) Web Hosting
Dikarenakan sistem yang dikembangkan berbasis web dan tidak bersifat
intranet, maka web hosting diperlukan untuk menjalankan sistem yang

126

dikembangkan agar dapat diakses melalui internet, hal ini untuk mengurangi
beban biaya ketimbang membangun infrastruktur jaringan sendiri, web
hosting adalah suatu layanan penyewaan web server dan database server
dengan ip public yang disertakan layanan-layanan lain seperti pengelolaan
domain, sub domain, layanan backup, email, ftp dan lain-lain
b) Modem
Modem digunakan dengan pertimbangan bahwa akses internet yang paling
memungkinkan pada CV Ihyaa&Co adalah menggunakan jalur kabel telepon.
c) Switch
Selain digunakan untuk LAN (local Area Network) Switch juga digunakan
untuk mendistribusikan akses internet ke setiap host yang ada di CV
Ihyaa&Co
d) Koneksi internet
Dikeranakan akses internet yang digunakan menggunakan jalur kabel telepon,
maka dalam hal ini provider resminya adalah TELKOM SPEEDY sebagai ISP
(Internet Service Provider).

4.3

Code (Pengkodean)
Tahap pengkodean ini merupakan sebuah tahap konstruksi aplikasi secara

nyata. Pada tahap ini dilakukan dua hal yaitu membuat kode program dan juga
merancang antarmuka program sebagai navigasi.

127

1. Kode program ditulis menggunakan bahasa pemrograman PHP 5 dan


menggunakan database MySQL 5. Editor yang digunakan untuk
menulis kode program adalah Macromedia Dreamweaver.
2. Antarmuka dirancang menggunakan software-software desain grafis
seperti Adobe Photoshop dan Macromedia Dreamweaver.
(Source Code terlampir pada Lampiran E).

4.4

Test (Ujicoba)
Pada tahap ini dilakukan pengujian masing-masing fitur dan fungsi untuk

mengetahui apakah aplikasi dapat bekerja dengan semestinya. Ujicoba dilakukan


dengan menguji coba aplikasi secara mandiri dan melakukan testing mengenai
apakah fitur-fitur aplikasi sudah berjalan dengan semestinya atau tidak. Dalam
ujicoba mandiri ini penulis menggunakan metode black box testing yaitu ujicoba
menggunakan metode pengujian logika program dengan contoh kasus atau masalah
yang diajukan. (Hasil testing terlampir pada Lampiran D)

4.4.1 Komponen Perangkat Keras Dan Perangkat Lunak Yang Digunakan


Dalam membangun Sistem Informasi Sekolah Pendukung Evaluasi Kegiatan
Belajar Mengajar penulis menggunakan komponen perangkat keras (hardware) dan
perangkat lunak (software) sebagai berikut :

128

1. Komputer
a) Perangkat Lunak
-

Sistem Operasi Windows XP Profesional Service Pack 2


Sistem Operasi sebagai fasilitator tempat berjalannya aplikasi.

PHP (Personal Home Page) versi 5.1.1


Merupakan bahasa pemograman untuk mengeksekusi file file dalam php
agar dapat tampil dalam aplikasi (sebagai antarmuka pengguna).

MySQL (My Structured Query Language) versi 5.0.18


Merupakan Relational Database Management Sistem (RDBMS) berfungsi
untuk penyimpanan data dari setiap transaksi data yang masuk.

Browser Mozilla Fireworks versi 3.0


Merupakan aplikasi browser internet untuk menampilkan aplikasi.

b) Perangkat keras
-

Komputer yang digunakan server adalah intel pentium IV 2.26GHz, RAM


1 Gb, Harddisk 80Gb, Monitor beresolusi 1024 x 768 pixels

Keyboard dan mouse berjenis serial PS/2

LAN card, Printer

BAB V
PENUTUP

5.1

Kesimpulan
Berdasarkan Analisis, Perancangan serta Implementasi yang penulis bahas,

dapat diambil kesimpulan Sistem Informasi Manajemen Pemasaran sebagai


berikut :
1. Sistem Informasi Manajemen Pemasaran Berbasis Web ini dapat
mempermudah pihak Manajer dalam hal pengawasan aktifitas pemasaran
dan penjualan yang bisa dijadikan acuan evaluasi kinerja pemasar.
2. Sistem Informasi Manajemen Pemasaran Berbasis Web ini membantu
dalam hal pendataan kedalam bentuk database, sehingga dapat disimpan
dan diakses secara realtime.
3. Sistem Informasi Manajemen Pemasaran Berbasis Web ini dapat
mempermudah pihak manajer dalam mendapatkan laporan secara
realtime.

5.2

Saran
Saran-saran yang penulis berikan untuk Pengembangan Sistem Sistem

Informasi Manajemen Pemasaran ini lebih lanjut adalah:


1. Diperlukan adanya aturan yang jelas bagi pemasar yang akan mengakses
sistem( Previlage User).

130

131

2. Untuk pengembangan selanjutnya, perlu adanya penambahan menu help


untuk membantu pengguna sistem dalam memberikan pengertian tata cara
penggunaan sistem yang disesuaikan dengan aturan perusahaan yang
berlaku.
3. Membuat sistem keamanan untuk aplikasi dengan pengamanan jalur data.
4. Menggunakan protocol HTTPS untuk keamanan lebih lanjut

132

DAFTAR PUSTAKA

Al-Bahra Bin Ladjamudin, Analisis dan Desain Sistem Informasi, Graha Ilmu,
Yogyakarta, 2005.

Consuelo G. Sevilla, et al., Pengantar Metode Penelitian, Penerbit Universitas


Indonesia (UI-Press), Jakarta, 1993.

Dharmmesta, B.S. & Handoko, H.(1982), Manajemen Pemasaran: Analisis


Perilaku Konsumen. Yogyakarta: PBFE Universitas Gadjah Mada.
Fajar Laksana(2008), Manajemen Pemasaran, Yogyakarta: Graha Ilmu

H.M., Jogiyanto. 2005. Analisis & Desain istem Informasi : Pendekatan


Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta : Andi.

Hartono, Mulia. 2004. 7 Langkah Mudah Membangun Sistem Informasi ERP.


Jakarta : Elex Media Komputindo.

Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta : Andi.

Kendall, Kenneth E. 2006. Analisis dan Perancangan Sistem Edisi kelima - Jilid I.
Jakarta : Indeks.

Kotler, P.(1980), Marketing Management: Analysis, Planning, and Control. 4th


Ed. London: Prentice-Hall, Inc.

133

Ladjamudin, Al-Bahra bin. 2005. Analisis dan Desain Sistem Informasi.


Yogyakarta : Graha Ilmu

McLeod, Raymond & Schell, George. 2004. Sisten Informasi Manajemen,


Jakarta: PT Index

Prasetyo, Didik Dwi. 2002. Administrasi Database Server MySql. Jakarta : Elex
Media Komputindo.

Pressman, Roger S, 2001, Software Enginering A Practitioners Approach Sixth


Edition, Canada, McGraw.Hill.

Prof.dr.h.Buchari alma (2007), Manajemen Pemasaran dan Pemasaran Jasa,


Bandung: Alfabeta

Roger Pressman, Software Engineering: A Practitioners Approach: Fifth Edition,


McGraw-Hill, New York, 2001.

Sofana, Iwan. 2008. Membangun Jaringan Komputer Membuat Jaringan


Komputer (Wire & Wireless) untuk Pengguna Windows dan Linux.
Bandung : Informatika.

Subana & Sudrajat 2005, Dasar-Dasar Penelitian Ilmiah, Bandung: Pustaka


Setia,.

Stanton, W.J.(1978), Fundamentals of Marketing, 5th Ed. Tokyo: Kogakusha,


McGraw-Hill Book Company.
Whitten, Jeffrey L. 2004. System Analysis & Design Methods : Sixth Edision.
New York: McGraw-Hill.

134

http://id.wikipedia.org/wiki/Marketing
http://167.205.18.193/~marcell/Kuliah/Analisis%20&%20Perancangan%20Siste
m%20Informasi/APSI%203%202005%20-%20Pengembangan%20SI.PPT
http://daniel.its-sby.edu/ADT/BahanUAS/KelasX/KelX3_YSM.ppt
http://achmatim.net/tag/dreamweaver/
http://www.kampusbook.com/daftar-buku/pid-575/tutorial-5-hari-membuatwebsite-interaktif-dengan-macromedia-dreamweaver-8.html
http://id.wikipedia.org/wiki/PHP
http://www.indoglobalweb.com/?action=news&aid=5
http://bangdanu.files.wordpress.com/2008/07/metodologi_penelitian.pdf
http://sda-indo.com/sda/features/psecom,id,2232,_language,Indonesia,nodeid,
1,xv_query,saas,xv_numresults,35,xv_sortvalue,0.html

YOUR PARTNER BECOMING EXCELLENCE


www.ihyaanco.com

SURAT KETERANGAN
TELAH MELAKUKAN PENELITIAN SKRIPSI

Dengan ini menyatakan benar adanya bahwa

Nama

: Irfan Fadmara

NIM

: 102091026341

Jurusan

: Teknik Informatika

Fakultas

: Sains dan Tekhnologi

Universitas

: UIN Syarif Hidayatullah Jakarta

Telah melakukan penelitian skripsi dari tanggal 7 Oktober 2009 sampai dengan 14
Desember 2009 pada perusahaan kami dengan judul Sistem Informasi Manajemen Pemasaran.

Demikian Surat Keterangan ini kami buat untuk keperluan pihak bersangkutan agar
dapat digunakan dengan sebaik-baiknya.

Jakarta, 15 April 2010


Manajer
Sales & Marketing

( Widy Nugroho )

Head Office
Mallshop plus MPI 444 Jl. Metro Pondok Indah, Plaza 1 Blok UA 5, Jakarta Selatan, 12310, Telp. 021-44793766, Fax. 021-7417226
Representative
Jln. MR Sartono No 57 Solo Indonesia, 57135, Telp.0271 8501909

YOUR PARTNER BECOMING EXCELLENCE


www.ihyaanco.com

SURAT KETERANGAN
TELAH MELAKUKAN WAWANCARA

Dengan ini menyatakan benar adanya bahwa

Nama

: Irfan Fadmara

NIM

: 102091026341

Jurusan

: Teknik Informatika

Fakultas

: Sains dan Tekhnologi

Universitas

: UIN Syarif Hidayatullah Jakarta

Telah melakukan wawancara dalam rangka melengkapi informasi yang dibutuhkan


guna kebutuhan penelitian skripsi dengan pak Feddy Fabachrain selaku Manajer Umum dan
Pak Widy Nugroho selaku Manajer sales dan Marketing pada tanggal 7 Oktober 2009 dan 9
Oktober 2009.

Demikian Surat Keterangan ini kami buat untuk keperluan pihak bersangkutan agar
dapat digunakan dengan sebaik-baiknya.

Jakarta, 15 April 2010


Manajer
Sales & Marketing

( Widy Nugroho )

Head Office
Mallshop plus MPI 444 Jl. Metro Pondok Indah, Plaza 1 Blok UA 5, Jakarta Selatan, 12310, Telp. 021-44793766, Fax. 021-7417226
Representative
Jln. MR Sartono No 57 Solo Indonesia, 57135, Telp.0271 8501909

LAMPIRAN C
WAWANCARA

1. Wawancara dengan Pak Widy selaku Manajer Pemasaran dan penjualan 7


Oktober 2009
Penulis

Bagaimana sistem pemasaran yang bapak terapkan pada


perusahaan bapak?

Pak Widy :

Sistem

yang

kami

terapkan

masih

sederhana

semua

berdasarkan kepercayaan, karena bisnis yang kami jalankan


berdarkan jaringan yang kami punya, maklum perusahaan baru
berjalan seutuhnya baru setahun, selain karyawan, kami juga
mempunyai mitra kerja yang tidak terkait langsung dengan
perusahaan dan tersebar di beberapa daerah, karena kami
mengincar pasar yang ada didaerah.
Penulis

Bagaimana bapak memonitor dan mengevaluasi aktifitas


pemasaran yang sudah dan sedang berlangsung ?

Pak Widy :

Untuk pengawasan dan evaluasi pemasaran, ya yang seperti


saya sudah bilang, masih sederhana, pada pelaksanaannya kami
melakukan pengawasan via email dan telepon, adapun berkasberkas yang dibutuhkan masih terpusat dan masih dalam
bentuk kertas, unutk evaluasi kami melihat dari data-data order
yang tercatat di ledger kami

Penulis

Apakah pihak perusahaan sudah merasa cukup dengan


pengwasan dan evaluasi yang ada sekarang ini?

Pak Widy :

Pada perkembangannya saya kira tidak cukup, karena kami pun


masih belum punya aturan baku sendiri, semua masih
mengadopsi dari pengalaman dan beberapa kolega perusahaan.

2. Wawancara dengan Pak Feddy selaku manajer umum 9 Oktober 2009


Penulis

Selaku manajer umum, kira2 sistem yang seperti apa yang


bapak

inginkan

diperusahaan

bapak

khususnya

untuk

pemasaran?
Pak Feddy : Sistem yang harus dibuat sudah tentu harus sesuai dengan
kebutuhan, dikarenakan pada bagian pemasaran lebih banyak
mitra kerja yang tersebar di beberapa didaerah, sudah jelas
berarti sistem yang sesuai adalah sistem yang bisa mencakup
hal tersebut.
Penulis

Dalam hal pengawasan dan evaluasi,

kaitannya dengan

laporan-laporan, apakah sudah cukup dengan sistem yang ada


sekarang?
Pak Feddy : Saya kira memang harus dikembangkan lagi dan pelaporan
yang akan ada nanti harus bersifat realtime dan mudah diakses,
agar kita dapat mengambil keputusan-keputusan penting yang
berkaitan dengan pemasaran.

LAMPIRAN D
DESAIN INPUT

1. Input Data Customer

2. Input Data User

3. Input Data Employee

4. Input Data Office

5. Input Data Vendor

6. Input Data Product

7. Input Data Bussiness_type

10

8. Input data Quotation

11

9. Input data order

12

10. Input data progress pemasaran

13

11. Input data aktifitas pemasaran

14

12. Input Data Target

15

LAMPIRAN E
DESAIN OUTPUT

1. Laporan Data Customers

16

2. Laporan Marketing Acts

3. Laporan Data Orders

17

4. Laporan Data Progress Pemasaran

18

5. Laporan Actual Sales

19

LAMPIRAN F
TESTING (METODE BLACK BOX)

Tabel 4.38 Tabel TESTING (METODE BLACK BOX)


No

Rancangan Proses

Hasil yang diharapkan

Login menu admin

Masuk halaman home


admin bila username &
password benar

Klik menu Customer

Masuk halaman index


customer

Dapat menginput, edit dan


Klik Add, Edit, Delete delete data customer
dengan benar

Klik Search

Dapat mencari data


customer dengan benar

Klik menu Bussines


Type

Masuk halaman index


Bussines Type

Dapat menginput, edit dan


Klik Add, Edit, Delete delete Bussines Type
dengan benar

Klik Search

Dapat mencari Bussines


Type dengan benar

Klik menu Produk

Masuk halaman index


Produk

Dapat menginput, edit dan


Klik Add, Edit, Delete delete data Produk dengan
benar

Keterangan
Bila username dan
password salah,
muncul pesan :
username/password
salah

Sesuai

3
3
Memasukkan nama
customer

3
3
3

Memasukkan nama
Bussines Type

3
3
3

10 Klik Search

Dapat mencari data Produk Memasukkan nama


dengan benar
Produk

11 Klik menu vendor

Masuk halaman index


vendor

12 Klik Add, Edit, Delete

Dapat menginput, edit dan


delete data vendor dengan

20

benar

13 Klik Search

Dapat mencari data vendor Memasukkan nama


dengan benar
wali vendor

14 Klik menu Quotation

Masuk halaman index


Quotation

Dapat menginput, edit dan


15 Klik Add, Edit, Delete delete data Quotation
dengan benar
16 Klik Search

Dapat mencari data


Quotation dengan benar

17 Klik menu Order

Masuk halaman index


Order

3
Memasukkan id
Quotation

3
3

Dapat menginput, edit dan


18 Klik Add, Edit, Delete delete data Order dengan
benar

19 Klik Search

Dapat mencari data Order


Memasukkan no Order
dengan benar

20 Klik menu Project

Masuk halaman index


Project

Dapat menginput, edit dan


21 Klik Add, Edit, Delete delete data Project dengan
benar

Dapat mencari data Project Memasukkan Lokasi


dengan benar
office

Masuk halaman index


Aktifitas Pemasaran siswa

Dapat menginput, edit dan


24 Klik Add, Edit, Delete delete data Aktifitas
Pemasaran dengan benar

22 Klik Search
23

Klik menu Kelas


Aktifitas Pemasaran

25 Klik Search

Dapat mencari data


Aktifitas Pemasaran
dengan benar

26 Klik menu User

Masuk halaman index User

Dapat menginput, edit dan


27 Klik Add, Edit, Delete delete data User dengan
benar

Memasukkan periode

3
3
3

21

28 Klik Search

Dapat mencari User


dengan benar

29 Klik menu employee

Masuk halaman index


employee

30

Memasukkan nama
User

Dapat menginput, edit dan


Klik Add, Delete,Edit delete data employee
dengan benar

31 Klik Search

Dapat mencari data


employee dengan benar

32 Klik menu Office

Masuk halaman index


Office

3
Memasukkan nama
employee

35

Klik nama produk


untuk update target

3
3

Dapat menginput, edit,


33 Klik Add, Edit, Delete, delete data Office dengan
benar
34 Klik menu Target

Masuk halaman index


Target

Dapat mengupdate data


target dengan benar

36 Login menu Pemasar

Masuk halaman home


admin bila username &
password benar

37 Klik menu Customer

Masuk halaman index


customer

Bila username dan


password salah,
muncul pesan :
username/password
salah

Dapat menginput, edit dan


38 Klik Add, Edit, Delete delete data customer
dengan benar
39 Klik Search

Dapat mencari data


customer dengan benar

40 Klik menu Quotation

Masuk halaman index


Quotation

3
Memasukkan nama
customer

Dapat mencari data


Quotation dengan benar

43 Klik menu Project

Masuk halaman index


Project

3
3

Dapat menginput, edit dan


41 Klik Add, Edit, Delete delete data Quotation
dengan benar
42 Klik Search

3
Memasukkan id
Quotation

3
3

22

Dapat menginput, edit dan


44 Klik Add, Edit, Delete delete data Project dengan
benar

Dapat mencari data Project Memasukkan Lokasi


dengan benar
office

Masuk halaman index


Aktifitas Pemasaran siswa

Dapat menginput, edit dan


47 Klik Add, Edit, Delete delete data Aktifitas
Pemasaran dengan benar

45 Klik Search
46

Klik menu Kelas


Aktifitas Pemasaran

48 Klik Search

Dapat mencari data


Aktifitas Pemasaran
dengan benar

49 Klik menu Order

Masuk halaman index


Order

Memasukkan periode

Dapat menginput, edit dan


50 Klik Add, Edit, Delete delete data Order dengan
benar
51 Klik Search

Dapat mencari data Order


Memasukkan no Order
dengan benar
Bila username dan
password salah,
muncul pesan :
username/password
salah

51 Login menu Manajer

Masuk halaman home


admin bila username &
password benar

52 Klik menu Target

Masuk halaman index


Target

Dapat mengupdate data


target dengan benar

Masuk halaman index


report

53

Klik nama produk


untuk update target

54 Klik Report

23

LA MPIRA N G

<link href="style/template.css" rel="stylesheet"


type="text/css">

session_register("username");
session_register("pass");
session_register("user_id");
session_register("emp_id");
session_register("office_id");
session_register("division_id");
session_register("level");
session_register("log");

SO URC E C O DE

Login.php
<?php

</head>
<body>

if($level=='1'){

$Submit=$_POST[Submit];
if(isset($Submit)){
$username=$_POST[username];
$passwd=$_POST[passwd];
$passwd=md5($passwd);
include "class/db.class.php";
$sql=mysql_query("SELECT
users.username, users.`password`, users.level,
users.user_id, office.office_id,
employees.emp_name, employees.emp_id, users.`log`,
divisions.division_id FROM office, users,
employees, divisions WHERE users.emp_id =
employees.emp_id AND employees.office_id =
office.office_id AND
divisions.division_id = employees.division_id and
username='$username' and
password='$passwd' ")or die(mysql_error());

echo"<meta http-equiv='refresh'
content='0;url=module/home.php'>";
$module="admin";
session_register("module");
}else if
($level=='2'){
echo"<meta http-equiv='refresh'
content='0;url=module/home.php'>";
$module="sales";
session_register("module")
}else if ($level=='3'){
echo"<meta httpequiv='refresh' content='0;url=module/home.php'>";

if($a=mysql_num_rows($sql)==0)
{
echo"<script>alert('Username or password
wrong')</script>";
}else{

$module="manajer";
session_register("module");
}
exit();
}
}
?>

<table width="100%" border="0" cellspacing="0"


cellpadding="0">
<tr>
<td>
<form name="form1"
method="post" action="<?php $PHP_SELF?>" >
<div id="container">
<div id="header"></div>
<div id="midle">
<div class="side1"></div>
<div class="side2">
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="41%" border="0"
align="center" cellpadding="1" cellspacing="2" >
<tr>
<td>&nbsp;</td>
<td colspan="3">
<?php
$Submit=$_POST[Submit];
if(isset($Submit))
{
if($a==0){
}echo'<table width="228"
border="0" cellpadding="1" cellspacing="1"
class="errtext">
<tr>
<td
width="224">Username or password incorrect </td>

while($hasil=mysql_fetch_array($sql))
{
$user_id=$hasil['user_id'];
$username=$hasil['username'];
$emp_id=$hasil['emp_id'];
$pass=$hasil['password'];
$level=$hasil['level'];
$log=$hasil['log'];
$office_id=$hasil['office_id'];
$division_id=$hasil['division_id'];
}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01


Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title>Untitled Document</title>
<link href="style/style.css" rel="stylesheet"
type="text/css">

</tr>
</table>';
}
?>
</td>
</tr>
<tr>
<td width="2%">&nbsp;</td>
<td width="30%">Username</td>

24

<td colspan="2">
<div align="left">
<input name="username" type="text"
id="username">
</div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>Password</td>
<td colspan="2">
<div align="left">
<input name="passwd" type="password"
id="passwd">
</div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td> </td>
<td width="37%">
<input name="Submit" type="submit"
class="button" value="Login">
</td>
<td width="31%">

?>
End login.php

Dashboard.php
<h1><?php
//We've included FusionCharts.php, which contains
functions
//to help us easily embed the charts.
$level=$_SESSION[level];
include_once"../class/FusionCharts.php";
include_once"../class/db.class.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<?
if(isset($HTTP_COOKIE_VARS["users_resolution"]))
$screen_res =
$HTTP_COOKIE_VARS["users_resolution"];
else //means cookie is not found set it using Javascript
{
?>
<script language="javascript">
<!--

<input name="Reset" type="reset"


class="button" value="Reset">

writeCookie();
function writeCookie()

</td>
</tr>
</table>
</div>
<div class="side3"></div>
</div>
<div id="footer"></div>
</div>
</form>
</td>
</tr>
</table>

{
var today = new Date();
var the_date = new Date("December 31, 2023");
var the_cookie_date = the_date.toGMTString();
var the_cookie = "users_resolution="+ screen.width;
var the_cookie = the_cookie + ";expires=" +
the_cookie_date;
document.cookie=the_cookie
}
//-->
</script>

</body>
</html>

<?
}

<?php
$num = (int)$screen_res;
$layar= ($num*48/100 );
$layara=($num*30/100 );
$layarb=($num*66/100 );
?>
<?php
$change=$_POST[Submit_change];
if(isset($change)){
$a=$_POST['curr_id'];
$kursa=mysql_query("select kurs,curr_id from currencys
where curr_id='$a'");
$datakurs=mysql_fetch_array($kursa);
$kurs=$datakurs[curr_id];
$kursnya=$datakurs[kurs];
$year=$_POST[tahun];
$type=$_POST[grafik_type];
}
else if($_GET[kurs]<>"" and !isset($change)){
$a=$_GET[kurs];
$kurs=mysql_query("select kurs from currencys where
curr_id='$a'");
$datakurs=mysql_fetch_array($kurs);
$kursnya=$datakurs[kurs];
$year=$_GET[year];
$kurs=$_GET[kurs];
$type=$_GET[type];
}
else{
$year=date("Y");
$kurs="IDR";
$kursnya="1";
$type="Yearly";
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title>Untitled Document</title>
<SCRIPT LANGUAGE="Javascript"
SRC="../class/FusionCharts.js"></SCRIPT>
<link href="../style/style.css" rel="stylesheet"
type="text/css">

25

<link href="../style/template.css" rel="stylesheet"


type="text/css">
<style type="text/css">
<!-.style2 {
font-size: 10px;
font-weight: bold;
}
-->
</style>
</head>

$quarter4=$dataquarter4[jumlahnya_quarter4]/1

if($type=="Quarterly"){
;
//sales target
$ar2=mysql_query("select
Sum(target.target_market_money) as jumlahnya from
target where target.`year`='$year'")or die(mysql_error());
$ada2=mysql_fetch_array($ar2);
$jum2=$ada2[jumlahnya];
$jums=$jum2/$pembagi;
$quarter=$jum2/4;
$quarter22= $jum2/(4*$pembagi);

$quarters4=$quarter4+$quarters3;
$presentq1=number_format(($quarter1/$quarter
*100),1);
$presentq2=number_format(($quarters2/($quart
er+$quarter)*100),1);
$presentq3=number_format(($quarters3/($quart
er+$quarter+$quarter)*100),1);
$presentq4=number_format(($quarters4/($quart
er+$quarter+$quarter+$quarter)*100),1);

$quarter1=mysql_query("select sum(value) as
jumlahnya_quarter1 from orders where order_date like
'$year-01-%%' or order_date like '$year-02-%%'
or order_date like '$year-03-%%'") or die(mysql_error());

<body>
<?php
$ar2=mysql_query("select
Sum(target.target_market_money) as jumlahnya from
target where target.`year`='$year'")or die(mysql_error());
$ada2=mysql_fetch_array($ar2);
$jum2=$ada2[jumlahnya];
$quarters=$jum2/4;
$quartet=$quarters;
$quarters=number_format($quarters,0);
?>
<table width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="48%" rowspan="2" valign="top"
align="right" >
<?php
//In this example, we plot a single series chart from data
contained
//in an array. The array will have two columns - first one
for data label
//and the next one for data values.
//Let's store the sales data for 6 products in our array). We
also store
//the name of products.
//Store Name of Products
if($kurs=="IDR"){
$pembagi=1000000;
}else{
$pembagi=$kursnya;
}

if($quarter1<>0){
$qtotal=$quarter1;
$growth=$qtotal-$quarter;
}

$dataquarter1=mysql_fetch_array($quarter1);
$quarter1=$dataquarter1[jumlahnya_quarter1]/1

if($quarter2<>0){
$qtotal=$quarter1+$quarter2;
$growth=$qtotal-$quarter-$quarter;
}

;
$quarter2=mysql_query(" select sum(value) as
jumlahnya_quarter2 from orders where order_date like
'$year-04-%%' or order_date like '$year-05-%%'
or order_date like '$year-06-%%'") or die(mysql_error());

if($quarter3<>0){
$qtotal=$quarter1+$quarter2+$quarter3;
$growth=$qtotal-$quarter-$quarter-

$dataquarter2=mysql_fetch_array($quarter2);
$quarter2=$dataquarter2[jumlahnya_quarter2]/1
$quarter;

$quarters2=$quarter1+$quarter2;

if($quarter4<>0){
$quarter3=mysql_query("select sum(value) as
jumlahnya_quarter3 from orders where order_date like
'$year-07-%%' or order_date like '$year-08-%%'
or order_date like '$year-09-%%'") or die(mysql_error());

$qtotal=$quarter1+$quarter2+$quarter3+$quart
er4;
$growth=$qtotal-$quarter-$quarter$quarter-$quarter;

$dataquarter3=mysql_fetch_array($quarter3);
$quarter3=$dataquarter3[jumlahnya_quarter3]/1
;
$quarters3=$quarter3+$quarters2;
$quarter4=mysql_query("select sum(value) as
jumlahnya_quarter4 from orders where order_date like
'$year-10-%%' or order_date like '$year-11-%%'
or order_date like '$year-12-%%'") or die(mysql_error());
$dataquarter4=mysql_fetch_array($quarter4);

}
$qall=($quarter1+$quarter2+$quarter3+$quarter
4)/$pembagi;
$presentall=number_format(($qall/$jums*100),
1);

//Now, we need to convert this data into XML. We


convert using string concatenation.
//Initialize <chart> element

26

$tgl=date("d F");
$bulan=date("F");
if($bulan=="January" or $bulan=="February" or
$bulan=="March")
{
$l="1";
}
if($bulan=="April" or $bulan=="Mei" or
$bulan=="June")
{
$l="2";
}
if($bulan=="July" or $bulan=="August" or
$bulan=="September")
{
$l="3";
}
if($bulan=="October" or $bulan=="November"
or $bulan=="Desember")
{
$l="4";
}

$sql=mysql_query("select name from currencys


where curr_id='$kurs' ");
$vlong=mysql_fetch_array($sql);
$name=$vlong[name];

if($kurs<>"IDR"){
$strXML = "<graph xAxisName='Legend'
yAxisName='Value' caption='SALES FIGURE YEAR
$year ' subCaption='PERIOD : 1 January to $tgl
(Q$l) (in $kurs) '
decimalPrecision='0' rotateNames='2' numDivLines='6'
numberPrefix='$name ' showValues='1'
formatNumberScale='0'>";
}
else{
$strXML = "<graph xAxisName='Legend'
yAxisName='Value (In Million)' caption='SALES FIGURE
YEAR $year ' subCaption='PERIOD : 1 January to $tgl
(Q$l) (in $kurs) ' decimalPrecision='0' rotateNames='2'

numDivLines='6' numberPrefix='Rp ' showValues='1'


formatNumberScale='0'>";
}

$strXML.="<categories>";
$strXML.="<category name='Growth'/>";
$strXML.="<category name='Actual Sales '/>";
$strXML.="<category name='Sales Target '/>";
$strXML.="</categories>";
$strXML.="<dataset seriesName='Q1' color='AFD8F8'
showValues='0'>";
$strXML.="<set value=''/>";
if($quarter1==0){
$strXML.="<set value=''/>";
}
else{
$al=$quarter1/$pembagi;
$strXML.="<set value='$al' link='" .
urlencode("home.php?act=all&year=$year") . "'/>";
}
$strXML.="<set value='$quarter22' />";
$strXML.="<set value='$quarter22'/>";
$strXML.="</dataset>";
$strXML.="<dataset seriesName='Q2' color='F6BD0F'
showValues='0'>";
$strXML.="<set value=''/>";
if($quarter2==0){
$strXML.="<set value=''/>";
}
else{
$al=$quarter2/$pembagi;
$strXML.="<set value='$al' link='" .
urlencode("home.php?act=all&year=$year") . "' />";
}
$strXML.="<set value='$quarter22' />";
$strXML.="<set value='$quarter22' />";
$strXML.="</dataset>";
$strXML.="<dataset seriesName='Q3' color='8BBA00'
showValues='0'>";
$strXML.="<set value=''/>";
if($quarter3==0){
$strXML.="<set value=''/>";

}
else{
$al=$quarter3/$pembagi;
$strXML.="<set value='$al' link='" .
urlencode("home.php?act=all&year=$year") . "'/>";
}
$strXML.="<set value='$quarter22' />";
$strXML.="<set value='$quarter22'/>";
$strXML.="</dataset>";
$strXML.="<dataset seriesName='Q4' color='FFFFFF'
showValues='0' >";
$gr=$growth/$pembagi;
$strXML.="<set value='$gr'/>";
if($quarter4==0){
$strXML.="<set value=''/>";
}
else{
$al=$quarter4/$pembagi;
$strXML.="<set value='$al' link='" .
urlencode("home.php?act=all&year=$year") . "' />";
}
$strXML.="<set value='$quarter22'/>";
$strXML.="<set value='$quarter22'/>";
$strXML.="</dataset>";
$strXML.="<trendLines>";
$jumsa=number_format($jums,0);
$qalla=number_format($qall,0);
$growtha=number_format($growth/$pembagi,0);
$as=$growth/$pembagi;

$sql=mysql_query("select name from currencys where


curr_id='$kurs' ");
$vlong=mysql_fetch_array($sql);
$name=$vlong[name];

$strXML.=" <line startValue='$jums' endValue='$jums'


color='FF0000' thickness='2' alpha='100' showOnTop='1'
displayValue='$name $jumsa'/>";

27

$strXML.=" <line startValue='$qall' endValue='$qall'


color='C9FB00' thickness='2' alpha='100' showOnTop='0'
displayValue=' $name $qalla'/>";

$dataquarter2=mysql_fetch_array($quarter2);
$quarter2=$dataquarter2[jumlahnya_quarter2]/1
;
$quarters2=$quarter1+$quarter2;

$strXML.=" <line startValue='$as' endValue='$as'


color='FFCC00' thickness='2' alpha='100' showOnTop='0'
displayValue=' $name $growtha'/>";
$strXML.=" </trendLines>";

$quarter3=mysql_query(" select sum(value) as


jumlahnya_quarter3 from orders where order_date like
'$year-07-%%' or order_date like '$year-08-%%' or
order_date like '$year-09-%%'") or die(mysql_error());
$dataquarter3=mysql_fetch_array($quarter3);
$quarter3=$dataquarter3[jumlahnya_quarter3]/1

$strXML .= "</graph>";
;

}
if($quarter4<>0){
$qtotal=$quarter1+$quarter2+$quarter3+$quart
er4;
$growth=$qtotal-$quarter-$quarter-$quarter$quarter;
}

$qall=($quarter1+$quarter2+$quarter3+$quarter4)/$pemba
gi;
$presentall=number_format(($qall/$jums*100),1);

$quarters3=$quarter3+$quarters2;
//Create the chart - Column 3D Chart with data contained
in strXML
echo renderChart("../class/StackedColumn3D.swf", "",
$strXML, "productSalesassd", 550, 500, false, false);
}
else{
// ini untuk per tahun
//sales target

$quarter4=mysql_query(" select sum(value) as


jumlahnya_quarter4 from orders where order_date like
'$year-10-%%' or order_date like '$year-11-%%' or
order_date like '$year-12-%%'") or die(mysql_error());
$dataquarter4=mysql_fetch_array($quarter4);
$quarter4=$dataquarter4[jumlahnya_quarter4]/1
;

$ar2=mysql_query("select
Sum(target.target_market_money) as jumlahnya from
target where target.`year`='$year'")or die(mysql_error());
$ada2=mysql_fetch_array($ar2);
$jum2=$ada2[jumlahnya];

$jums=$jum2/$pembagi;
$quarter=$jum2/4;
$quarter22= $jum2/(4*$pembagi);
$quarter1=mysql_query(" select sum(value) as
jumlahnya_quarter1 from orders where order_date like
'$year-01-%%' or order_date like
'$year-02-%%'
or order_date like '$year-03-%%'") or die(mysql_error());
$dataquarter1=mysql_fetch_array($quarter1);
$quarter1=$dataquarter1[jumlahnya_quarter1]/1
;
$quarter2=mysql_query(" select sum(value) as
jumlahnya_quarter2 from orders where order_date like
'$year-04-%%' or order_date like '$year-05-%%' or
order_date like '$year-06-%%'") or die(mysql_error());

$quarters4=$quarter4+$quarters3;
$presentq1=number_format(($quarter1/$quarter

//Now, we need to convert this data into XML. We


convert using string concatenation.
//Initialize <chart> element
$tgl=date("d F");
$bulan=date("F");
if($bulan=="January" or $bulan=="February" or
$bulan=="March"){
$l="1";
}

*100),2);
$presentq2=number_format(($quarters2/($quart
er+$quarter)*100),2);
$presentq3=number_format(($quarters3/($quart
er+$quarter+$quarter)*100),2);
$presentq4=number_format(($quarters4/($quart
er+$quarter+$quarter+$quarter)*100),2);

if($quarter1<>0){
$qtotal=$quarter1;
$growth=$qtotal-$quarter;
}
if($quarter2<>0){
$qtotal=$quarter1+$quarter2;
$growth=$qtotal-$quarter-$quarter;
}
if($quarter3<>0){
$qtotal=$quarter1+$quarter2+$quarter3;
$growth=$qtotal-$quarter-$quarter-$quarter;

if($bulan=="April" or $bulan=="Mei" or
$bulan=="June"){
$l="2";
}
if($bulan=="July" or $bulan=="August" or
$bulan=="September"){
$l="3";
}
if($bulan=="October" or $bulan=="November"
or $bulan=="Desember"){
$l="4";
}

$sql=mysql_query("select name from currencys where


curr_id='$kurs' ");
$vlong=mysql_fetch_array($sql);
$name=$vlong[name];

28

if($kurs<>"IDR"){
$sql=mysql_query("select name from currencys
where curr_id='$kurs' ");
$vlong=mysql_fetch_array($sql);
$name=$vlong[name];

$strXML = "<graph xAxisName='Legend'


yAxisName='Value' caption='SALES FIGURE YEAR
$year ' subCaption='PERIOD : 1 January to $tgl
(Q$l) (in $kurs) ' decimalPrecision='0'
rotateNames='2' numDivLines='6' numberPrefix='$name '
showValues='1' formatNumberScale='0'>";
}
else{
$strXML = "<graph xAxisName='Legend'
yAxisName='Value (In Million)' caption='SALES FIGURE
YEAR $year ' subCaption='PERIOD : 1 January to $tgl
(Q$l) (in $kurs) ' decimalPrecision='0' rotateNames='2'
numDivLines='6' numberPrefix='Rp ' showValues='1'
formatNumberScale='0'>";
}

$strXML.="<dataset seriesName='Actual Sales'


color='AFD8F8' showValues='0'>";
$strXML.="<set value=''/>";
if($quarter2==0){
$strXML.="<set value=''/>";
}
else{
$al=$quarter2/$pembagi;
$strXML.="<set value='$qall' link='" .
urlencode("home.php?act=all&year=$year") . "' />";
}
$strXML.="<set value='' />";
$strXML.="<set value='' />";
$strXML.="</dataset>";
$gr=$growth/$pembagi;
if($gr>0){
$strXML.="<dataset seriesName='Growth'
color='0000FF' showValues='0' >";
}
else{
$strXML.="<dataset seriesName='Growth'
color='FF0000' showValues='0' >";
}
$strXML.="<set value='$gr'/>";

$strXML.="<categories>";
$strXML.="<category name='Growth'/>";
$strXML.="<category name='Actual Sales '/>";
$strXML.="<category name='Sales Target '/>";
$strXML.="</categories>";
$strXML.="<dataset seriesName='Sales Target'
color='F6BD0F' showValues='0'>";
$strXML.="<set value=''/>";
if($quarter1==0){
$strXML.="<set value=''/>";
}
else{
$al=$quarter1/$pembagi;
$strXML.="<set value=''/>";
}
$strXML.="<set value='$jums' />";
$strXML.="<set value=''/>";
$strXML.="</dataset>";

if($quarter4==0){
$strXML.="<set value=''/>";
}
else{
$al=$quarter4/$pembagi;
$strXML.="<set value='' />";
}
$strXML.="<set value=''/>";
$strXML.="<set value=''/>";
$strXML.="</dataset>";
$strXML.="<trendLines>";
$jumsa=number_format($jums,0);
$qalla=number_format($qall,0);
$growtha=number_format($growth/$pembagi,0);
$as=$growth/$pembagi;
$strXML.=" <line startValue='$jums' endValue='$jums'
color='F6BD0F' thickness='2' alpha='100' showOnTop='1'
displayValue='$name $jumsa'/>";

$strXML.=" <line startValue='$qall' endValue='$qall'


color='AFD8F8' thickness='2' alpha='100' showOnTop='0'
displayValue='$name $qalla'/>";

if($gr>0){
$strXML.="
<line startValue='$as'
endValue='$as' color='0000FF' thickness='2' alpha='100'
showOnTop='0' displayValue=' $name $growtha'/>";
}
else{
$strXML.="
<line startValue='$as'
endValue='$as' color='FF0000' thickness='2' alpha='100'
showOnTop='0' displayValue=' $name $growtha'/>";
}
$strXML.=" </trendLines>";
$strXML .= "</graph>";

//Create the chart - Column 3D Chart with data contained in


strXML
echo renderChart("../class/StackedColumn3D.swf", "",
$strXML, "productSalesassd", 550, 500, false, false);
}
?></td>
</tr>
<tr>
<td width="52%" valign="top"><table
width="100%" height="500" border="0">
<tr>
<td><div align="center"
class="style2">QUARTERLY SALES FIGURE YEAR
<?php $tgl=date("d F"); echo $year;
echo "<br>PERIOD : 1 January to ". $tgl ."(Q$l)<br>(in
$kurs) "; ?>
</div></td>
</tr>
<tr>
<td valign="top"><table
width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>

29

<td width="10%"
class="palareport">Quarter (Q)</td>
<td width="25%"
class="palareport">Sales Target<br /></td>
<td width="27%"
class="palareport">Actual Sales </td>
<td width="25%"
class="palareport">Differencies</td>
<td width="13%"
class="palareport">Growth (%)</td>
</tr>
<tr>
<td
class="palareport"><a href="?quarter=1&year=<?php echo
$year; ?>&kurs=<?php echo $kurs; ?>&type=<?php echo
$type?>">Q1</a></td>
<td bgcolor="AFD8F8"
class="isitabel"><div align="right"><strong><?php echo
number_format($a=$quartet/$kursnya);

?></strong></div></td>
<td bgcolor="AFD8F8"
class="isitabel"><div align="right"><a
href="home.php?act=all&year=<?php echo $year;
?>"><strong><?php echo
number_format($c=$quarter1/$kursnya);
?>&nbsp;</strong></a></div></td>
<td bgcolor="AFD8F8"
class="isitabel"><div align="right"><strong><?php echo
number_format($c-$a); ?></strong></div></td>
<td bgcolor="AFD8F8"
class="isitabel"><div align="right"><strong><?php echo 100+$presentq1; ?></strong></div></td>
</tr>
<tr>
<td
class="palareport"><a href="?quarter=2&year=<?php echo
$year;?>&kurs=<?php echo $kurs; ?>&type=<?php echo
$type?>">Q2</a></td>
<td bgcolor="F6BD0F"
class="isitabel"><div align="right"><strong><?php echo
number_format($a=($quartet+$quartet)/$kursnya);
?></strong></div></td>
<td bgcolor="F6BD0F"
class="isitabel"><div align="right"><a
href="home.php?act=all&year=<?php echo $year;
?>"><strong><?php echo

number_format($c=$quarters2/$kursnya);
?></strong></a></div></td>
<td bgcolor="F6BD0F"
class="isitabel"><div align="right"><strong><?php echo
number_format($c-$a); ?></strong></div></td>
<td bgcolor="F6BD0F"
class="isitabel"><div align="right"><strong><?php echo 100+$presentq2; ?></strong></div></td>
</tr>
<tr>
<td
class="palareport"><a href="?quarter=3&year=<?php echo
$year; ?>&kurs=<?php echo $kurs; ?>&type=<?php echo
$type?>">Q3</a></td>
<td bgcolor="8BBA00"
class="isitabel"><div align="right"><strong><?php echo
number_format($a=($quartet+$quartet+$quartet)/$kursnya)
; ?></strong></div></td>
<td bgcolor="8BBA00"
class="isitabel"><div align="right"><a
href="home.php?act=all&year=<?php echo $year;
?>"><strong><?php echo
number_format($c=$quarters3/$kursnya);
?></strong></a></div></td>
<td bgcolor="8BBA00"
class="isitabel"><div align="right"><strong><?php echo
number_format($c-$a); ?></strong></div></td>
<td bgcolor="8BBA00"
class="isitabel"><div align="right"><strong><?php echo 100+$presentq3; ?></strong></div></td>
</tr>
<tr>
<td
class="palareport"><a href="?quarter=4&year=<?php echo
$year; ?>&kurs=<?php echo $kurs; ?>&type=<?php echo
$type?>">Q4</a></td>
<td class="isitabel"><div
align="right"><strong><?php echo
number_format($a=($quartet+$quartet+$quartet+$quartet)/
$kursnya); ?></strong></div></td>
<td class="isitabel"><div
align="right"><a href="home.php?act=all&year=<?php
echo $year; ?>"><strong><?php echo
number_format($c=$quarters4/$kursnya);
?></strong></a></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>

<td class="isitabel"><div
align="right"><strong><?php echo -100+$presentq4;
?></strong></div></td>
</tr>
<tr>
<td colspan="4"
valign="top"><p>*Notes : <?php echo "1 &nbsp;". $kurs
."=".$kursnya ."&nbsp; IDR"?> Last Updated:
<?php

$last=mysql_query("select updated from currencys where


curr_id='$kurs'");

$datalast=mysql_fetch_array($last);
$last=$datalast[0];
echo $last;
?>
</p>
</td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr align="left">
<td valign="top"><table
width="100%" height="444" border="0" <?php
$quarter=$_GET[quarter];
if($quarter==""){
echo"style=\"display:none\"";
}else{
echo"style=\"display:inline\"";
}
?> >
<tr>
<td class="style2"><div
align="center">MONTHLY SALES FIGURE YEAR
<?php echo $year."<br> (in $kurs)"; ?></div></td>
</tr>

30

$databulan10=mysql_fetch_array($bulan10);
$bulan10=$databulan10[jumlahnya_bulan10]/$kursnya;

<tr>
<td><?php
//data sales bulanan
$bulan1=mysql_query("
select sum(value) as jumlahnya_bulan1 from orders where
order_date like '$year-01-%%'") or die(mysql_error());
$databulan1=mysql_fetch_array($bulan1);
$bulan1=$databulan1[jumlahnya_bulan1]/$kursnya;

$bulan2=mysql_query("select sum(value) as
jumlahnya_bulan2 from orders where order_date like
'$year-02-%%'") or die(mysql_error());

$bulan6=mysql_query("select sum(value) as
jumlahnya_bulan6 from orders where order_date like
'$year-06-%%'") or die(mysql_error());
$databulan6=mysql_fetch_array($bulan6);
$bulan6=$databulan6[jumlahnya_bulan6]/$kursnya;

$databulan11=mysql_fetch_array($bulan11);
$bulan11=$databulan11[jumlahnya_bulan11]/$kursnya;

$bulan7=mysql_query("select sum(value) as
jumlahnya_bulan7 from orders where order_date like
'$year-07-%%'") or die(mysql_error());

$databulan2=mysql_fetch_array($bulan2);
$bulan2=$databulan2[jumlahnya_bulan2]/$kursnya;
$databulan7=mysql_fetch_array($bulan7);
$bulan7=$databulan7[jumlahnya_bulan7]/$kursnya;

$bulan3=mysql_query("select sum(value) as
jumlahnya_bulan3 from orders where order_date like
'$year-03-%%'") or die(mysql_error());
$databulan3=mysql_fetch_array($bulan3);
$bulan3=$databulan3[jumlahnya_bulan3]/$kursnya;

$bulan8=mysql_query("select sum(value) as
jumlahnya_bulan8 from orders where order_date like
'$year-08-%%'") or die(mysql_error());
$databulan8=mysql_fetch_array($bulan8);
$bulan8=$databulan8[jumlahnya_bulan8]/$kursnya;

$bulan4=mysql_query("select sum(value) as
jumlahnya_bulan4 from orders where order_date like
'$year-04-%%'") or die(mysql_error());

$databulan4=mysql_fetch_array($bulan4);
$bulan4=$databulan4[jumlahnya_bulan4]/$kursnya;

$bulan5=mysql_query("select sum(value) as
jumlahnya_bulan5 from orders where order_date like
'$year-05-%%'") or die(mysql_error());
$databulan5=mysql_fetch_array($bulan5);
$bulan5=$databulan5[jumlahnya_bulan5]/$kursnya;

$bulan11=mysql_query("select sum(value) as
jumlahnya_bulan11 from orders where order_date like
'$year-11-%%'") or die(mysql_error());

$bulan9=mysql_query("select sum(value) as
jumlahnya_bulan9 from orders where order_date like
'$year-09-%%'") or die(mysql_error());
$databulan9=mysql_fetch_array($bulan9);
$bulan9=$databulan9[jumlahnya_bulan9]/$kursnya;

$bulan10=mysql_query("select sum(value) as
jumlahnya_bulan10 from orders where order_date like
'$year-10-%%'") or die(mysql_error());

$bulan12=mysql_query("select sum(value) as
jumlahnya_bulan12 from orders where order_date like
'$year-12-%%'") or die(mysql_error());
$databulan12=mysql_fetch_array($bulan12);
$bulan12=$databulan12[jumlahnya_bulan12]/$kursnya;

//targetperbulan
$targetbulan=$quartet/3;
//presentase bulan

?>
<table width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
<td width="10%" class="palareport">Quarter
(Q)</td>
<td width="12%"
class="palareport">Month</td>
<td width="21%" class="palareport">Sales
Target<br /></td>
<td width="22%" class="palareport">Actual
Sales </td>
<td width="22%"
class="palareport">Differencies</td>
<td width="13%" class="palareport">Growth
(%)</td>
</tr>
<tr>
<?php

31

$quarter=$_GET[quarter];
if($quarter>="1"){

?>
<td rowspan="3" class="palareport">Q1</td>
<td class="palareport">January</td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan/$kursnya);
?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan1);
?>&nbsp;</strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($bulan1/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">February</td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*2/$kursnya);
?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan2+$c); ?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">March</td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*3/$kursnya);
?></strong></div></td>

<td bgcolor="AFD8F8" class="isitabel"><div


align="right"><strong><?php echo
number_format($c=$bulan3+$c); ?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="AFD8F8" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<?php
}
if($quarter>="2"){

?>
<tr>
<td rowspan="3" class="palareport">Q2</td>
<td class="palareport">April</td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*4/$kursnya);
?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan4+$c); ?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">May</td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*5/$kursnya);
?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan5+$c); ?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>

<td bgcolor="F6BD0F" class="isitabel"><div


align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">June</td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*6/$kursnya);
?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan6+$c); ?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="F6BD0F" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<?php
}

if($quarter>="3"){

?>
<tr>
<td rowspan="3" class="palareport">Q3</td>
<td class="palareport">July</td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*7/$kursnya);
?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan7+$c); ?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">August</td>

32

<td bgcolor="8BBA00" class="isitabel"><div


align="right"><strong><?php echo
number_format($a=$targetbulan*8/$kursnya);
?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan8+$c); ?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">September</td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*9/$kursnya);
?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan9+$c); ?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td bgcolor="8BBA00" class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<?php
}

if($quarter>="4"){

?>
<tr>
<td rowspan="3" class="palareport">Q4</td>
<td class="palareport">October</td>
<td class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*10/$kursnya);
?></strong></div></td>

<td class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan10+$c); ?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">November</td>
<td class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*11/$kursnya);
?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan11+$c); ?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<tr>
<td class="palareport">December</td>
<td class="isitabel"><div
align="right"><strong><?php echo
number_format($a=$targetbulan*12/$kursnya);
?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo
number_format($c=$bulan12+$c); ?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format($c-$a);
?></strong></div></td>
<td class="isitabel"><div
align="right"><strong><?php echo number_format(((100)+($c/$a*100)),2); ?></strong></div></td>
</tr>
<?php

<tr>

<td colspan="4">*Notes : <?php echo "1


&nbsp;". $kurs ."=".$kursnya ."&nbsp; IDR"?> Last
Updated :
<?php

$last=mysql_query("select updated from currencys where


curr_id='$kurs'");

$datalast=mysql_fetch_array($last);
$last=$datalast[0];
echo $last;
?></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="2">
<form name="form1"
method="post" action="">
<table width="100%" border="0"
class="formcolor">
<tr>
<td width="55%">&nbsp;</td>
<td width="6%">View In </td>
<td width="5%">
<select name="curr_id"
id="curr_id">
<option
value='<?php echo $kurs;?>' selected ><?php echo
$kurs;?></option>
<?php

include_once"../class/db.class.php";

?>

$sql_curr=mysql_query("SELECT currencys.curr_id,
currencys.name FROM currencys where curr_id<>'$kurs'")

33

</tr>
</table>
</form></td>

or
die(

mysql_error());

</tr>
</table>
</body>
</html>
</h1>
________________________________________________
End dashboard.php

while($jum=mysql_fetch_array($sql_curr)){
$id_curr=$jum['curr_id'];
$name=$jum['name'];

<td><div align="center"><span
class="style111"><strong><strong> IHYAA&amp;CO
SALES TARGET FOR
<?php
$year=date("Y");
echo $year;
?>
</strong></strong></span></div>
</td>
</tr>

echo" <option value='$id_curr'>$id_curr</option>";


}
?>
</select></td>
<td width="4%">Year</td>
<td width="5%"><select
name="tahun" id="tahun">
<option value="<?php
echo $year; ?>" selected><?php echo $year; ?></option>
<?php
$query=mysql_query("select distinct(year) from target
where year<>'$year'");
while($data=mysql_fetch_array($query)){
$tahun=$data[0];
echo"<option value='$tahun'>$tahun</option>";
}
?>
</select></td>
<td width="9%"><label>Grafik
Type </label>
</td>
<td width="8%"><select
name="grafik_type" id="grafik_type">
<option value="<?php
echo $type;?>"><?php echo $type;?></option>
<option
value="Quarterly">Quarterly</option>
<option
value="Yearly">Yearly</option>
</select></td>
<td width="8%"><input
name="Submit_change" type="submit" class="button"
id="Submit_change" value="Change"></td>

Targetlist.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<meta name="Developer" content="Ivan Dwi Nasrudin
(man_eater_gilr)">
<title>GPS Indo Mandiri Sales Target For <?php echo
(date("Y")); ?></title>
<link href="../style/template.css" rel="stylesheet"
type="text/css">
<link href="../style/style.css" rel="stylesheet"
type="text/css">
<style type="text/css">
<!-.style1 {}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
->
</style>
</head>
<body>
<table width="100%" border="0" cellpadding="1"
cellspacing="1">
<tr>

<tr>
<td valign="top"><table width="100%" border="0"
cellpadding="0" cellspacing="0">
<tr>
<td width="3%" height="28" rowspan="2"
class="palareport">No</td>
<td width="17%" rowspan="2"
class="palareport">Product</td>
<td width="26%" rowspan="2"
class="palareport">Application</td>
<td width="14%" class="palareport">Sales
Target</td>
<td width="8%" rowspan="2"
class="palareport">Head Office </td>
<td width="9%" rowspan="2"
class="palareport">Semarang</td>
<td width="7%" rowspan="2"
class="palareport">Solo</td>
</tr>
<tr>
<td class="palareport">Rp (Juta) </td>
</tr>
<?php
include_once"../class/db.class.php";
$alldata=mysql_query("SELECT
Sum(target.target_market_money) as jumlah from target
where target.`year`='$year'");
$hasilall=mysql_fetch_array($alldata);
$hasile_all=number_format($hasilall[jumlah]);

34

$query=mysql_query("SELECT
product_category.category_name,
product_category.category_id FROM product_category");

while($hasil=mysql_fetch_array($query)){
$category_id=$hasil['category_id'];

sum(target.target_market_money) as
totalcategorysemarang FROM target , products ,
product_category WHERE target.product_id =
products.product_id AND products.category_id =
product_category.category_id and
products.category_id='$category_id' and target.year='$year'
and target.office_id='3' ")or die(mysql_error());

$no=0;
$querys=mysql_query("SELECT
products.product_id, products.name, products.application,
products.category_id, product_category.category_name
FROM products , product_category WHERE
product_category.category_id = products.category_id and
products.category_id='$category_id'");

$category_name=$hasil['category_name'];
$datacategorysemarang=mysql_fetch_array($cat
egorysemarang);
$allcategory=mysql_query("SELECT
sum(target.target_market_money) as totalcategory FROM
target ,products ,product_category WHERE
target.product_id = products.product_id AND
products.category_id = product_category.category_id and
products.category_id='$category_id'
and target.year='$year'")or die(mysql_error());

$datacategory=mysql_fetch_array($allcategory)
;

$semarang=number_format($datacategorysemar
ang[totalcategorysemarang]);

$categorysolo=mysql_query("SELECT
sum(target.target_market_money) as totalcategorysolo
FROM target , products , product_category WHERE
target.product_id = products.product_id AND
products.category_id = product_category.category_id and
products.category_id='$category_id' and target.year='$year'
and target.office_id='2' ")or die(mysql_error());

$totalcategory=number_format($datacategory[t
otalcategory]);
$datacategorysolo=mysql_fetch_array($categor
$presentase_kategori=number_format(($totalcat
egory/$hasile_all*100),1);

$datacategoryhead=mysql_fetch_array($categor
yhead);
$head_office=number_format($datacategoryhea
d[totalcategoryhead]);

$categorysemarang=mysql_query("SELECT

$targetproduct_all=mysql_query("SELECT
sum(target.target_market_money) as kabeh FROM target ,
products, office where products.product_id='$product_id'
and target.product_id=products.product_id and
target.office_id=office.office_id and target.`year`='$year'")
or die(mysql_error());
$target_product_all=mysql_fetch_array($target
product_all);
$targetnya_all=number_format($target_product
_all[kabeh]);

ysolo);
$solo=number_format($datacategorysolo[totalc
ategorysolo]);

$categoryhead=mysql_query("SELECT
sum(target.target_market_money) as totalcategoryhead
FROM target , products , product_category WHERE
target.product_id = products.product_id AND
products.category_id = product_category.category_id and
products.category_id='$category_id' and target.year='$year'
and target.office_id='1' ")or die(mysql_error());

while($data=mysql_fetch_array($querys)){
$product_id=$data['product_id'];
$prod_name=$data['name'];
$application=$data['application'];
$no=$no+1;

echo"<tr bgcolor='#FFFF66'>
<td class='style1 kiritabel'><strong>#</strong></td>
<td class='style1
isitabel'><strong>$category_name</strong></td>
<td class='style1
isitabel'><strong>&nbsp;</strong></td>
<td class='style1
isitabel'><strong>($presentase_kategori %) $totalcategory
</strong></td>
<td class='style1
isitabel'><strong>$head_office</strong></td>
<td class='style1 isitabel'><strong>$semarang
</strong></td>
<td class='style1
isitabel'><strong>$solo </strong></td>
</tr>";

$targetproduct_headoffice=mysql_query("SELE
CT target.target_market_money, office.office_name,
products.name FROM target , products, office where
products.product_id='$product_id' and office.office_id='1'
and target.product_id=products.product_id and
target.office_id=office.office_id and target.`year`='$year'")
or die(mysql_error());
$target_ho=mysql_fetch_array($targetproduct_
headoffice);
$targetnya_ho=number_format($target_ho[targe
t_market_money]);

$targetproduct_semarang=mysql_query("SELE
CT target.target_market_money, office.office_name,
products.name FROM target , products, office where
products.product_id='$product_id' and office.office_id='3'
and target.product_id=products.product_id and
target.office_id=office.office_id and target.`year`='$year'")
or die(mysql_error());

35

$hasil_semarang=mysql_fetch_array($all_sema
$target_semarang=mysql_fetch_array($targetpr
oduct_semarang);
$targetnya_semarang=number_format($target_s
emarang[target_market_money]);
$targetproduct_solo=mysql_query("SELECT
target.target_market_money, office.office_name,
products.name FROM target , products, office where
products.product_id='$product_id' and office.office_id='2'
and target.product_id=products.product_id and
target.office_id=office.office_id and target.`year`='$year'")
or die(mysql_error());

rang);
$hasile_semarang=number_format($hasil_sema
rang[jumlah]);
$all_solo=mysql_query("SELECT
Sum(target.target_market_money) as jumlah from target
where target.`year`='$year' and
office_id='2'");
$hasil_solo=mysql_fetch_array($all_solo);
$hasile_solo=number_format($hasil_solo[jumla
h]);

$target_solo=mysql_fetch_array($targetproduct
_solo);
$targetnya_solo=number_format($target_solo[t
arget_market_money]);
//beginning print
echo"<tr >
<td class=' kiritabel '>$no </td>
<td class='isitabel'>$prod_name </td>
<td class=' isitabel'>&nbsp;$application </td>
<td class=' isitabel'>$targetnya_all</td>
<td class=' isitabel'>$targetnya_ho</td>
<td class=' isitabel'>$targetnya_semarang</td>
<td class='
isitabel'>$targetnya_solo</td>
</tr>";
}
}
$all_ho=mysql_query("SELECT
Sum(target.target_market_money) as jumlah from target
where target.`year`='$year' and
office_id='1'");
$hasil_ho=mysql_fetch_array($all_ho);
$hasile_ho=number_format($hasil_ho[jumlah]);

$all_semarang=mysql_query("SELECT
Sum(target.target_market_money) as jumlah from target
where target.`year`='$year' and office_id='3'");

________________________________________________
end targetlist.php

$presentase_all=number_format(($hasile_all/$hasile_all*1
00),1);
$presentase_ho=number_format(($hasile_ho/$hasile_all*1
00),1);
$presentase_semarang=number_format(($hasile_semarang/
$hasile_all*100),1);
$presentase_solo=number_format(($hasile_solo$hasile_all
*100),1);
echo"<tr>
<td class=' kiritabel' colspan='2' align='center'>
<strong>TOTAL </td>
<td class=' isitabel'>&nbsp;</td>
<td class=' isitabel'><strong>$hasile_all <br>
($presentase_all %)</td>
<td class=' isitabel'>&nbsp;<strong>$hasile_ho
<br>($presentase_ho %)</td>
<td class='
isitabel'>&nbsp;<strong>$hasile_semarang
<br>($presentase_semarang %)</td>
<td class='
isitabel'>&nbsp;<strong>$hasile_solo
<br>($presentase_solo %)</td>
</tr>";
?>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>

Productdetail.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="../style/style.css" rel="stylesheet"
type="text/css" />
<link href="../style/template.css" rel="stylesheet"
type="text/css" />
<style type="text/css">
<!-.style1 {
font-family: Verdana, Arial, Helvetica, sansserif;
font-size: 11px;
}
-->
</style>
</head>
<?php
$part_number=$_GET[id_edit];
if(isset($part_number)){
$sql=mysql_query("SELECT
vendors.name AS nama_vendor,
products.product_id,
products.name AS nama_product,
products.material,
products.name,
products.application,
products.co_origin,
manufacturer.name AS nama_manuf,
product_category.category_name,
product_detail.id,
product_detail.part_number,
product_detail.unit,
product_detail.description,
product_detail.figure,

36

product_detail.weight,
product_detail.import_duty,
product_detail.hs_code,
product_detail.harga_beli,
product_detail.harga_jual,
product_detail.ppn,
product_detail.pph,
product_detail.alias_part_number,
product_detail.qty,
product_detail.product_id,
product_category.category_id
FROM
products ,
vendors ,
manufacturer ,
product_category ,
product_detail
WHERE
products.vendor_id = vendors.vendor_id AND
product_detail.product_id=products.product_id
AND
products.category_id = product_category.category_id
and
manufacturer.manufacturer_id=products.manufacturer_id
and product_detail.part_number='$part_number'
")or die(mysql_error());

$data=mysql_fetch_array($sql);
$product_id=$data[product_id];
$category_name=$data[category_name];
$harga_jual=$data[harga_jual];
$harga_beli=$data[harga_beli];
$alias_part_number=$data[alias_part_number];
$category_id=$data[category_id];
$qty=$data[qty];
$weight=$data[weight];
$hs_code=$data[hs_code];
$description=$data[description];
$product_name=$data[name];
$unit=$data[unit];
$ppn=$data[ppn];
$pph=$data[pph];
$gambar=$data[figure];

}
?>
<body>
<!--next comes the form, you must set the enctype to
"multipart/frm-data" and use an input type "file" -->
<form name="newad" method="post"
enctype="multipart/form-data" action="">
<span class="orange"><strong>&nbsp;<span
class="style1">|| </span></strong></span><strong><span
class="style1">Product Item</span></strong><span
class="orange"><strong> </strong></span>
<table width="100%" border="0" cellpadding="0"
cellspacing="2" class="formcolor">
<tr>
<td>Part Number </td>
<td><input name="part_number" type="text"
id="part_number" value="<?php echo $part_number; ?>"
/></td>
<td>Diameter (mm) </td>
<td><input name="diameter" type="text"
id="diameter" /></td>
</tr>
<tr>
<td>Part Number Alias </td>
<td><input name="alias_part_number" type="text"
id="alias_part_number" value="<?php echo
$alias_part_number; ?>" /></td>
<td>Lenght (m) </td>
<td><input name="lenght" type="text" id="lenght"
/></td>
</tr>
<tr>
<td>Description</td>
<td rowspan="6"><textarea name="description"
cols="80" rows="8" id="description"><?php echo
$description; ?></textarea></td>
<td width="9%">Quantity</td>
<td width="41%"><input name="qty" type="text"
id="qty" value="<?php echo $qty; ?>" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>Selling Price </td>
<td><input name="harga_jual" type="text"
id="harga_jual" value="<?php echo $harga_jual; ?>"
/></td>
</tr>
<tr>

<td>&nbsp;</td>
<td>Buying Price </td>
<td><input name="harga_beli" type="text"
id="harga_beli" value="<?php echo $harga_beli; ?>"
/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="9%"> HS Code</td>
<td width="41%"><input name="hs_code" type="text"
id="hs_code" value="<?php echo $hs_code; ?>" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><p>Import duty</p></td>
<td><input name="import_duty" type="text"
id="import_duty" value="<?php echo $import_duty; ?>"
/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>PPN </td>
<td><input name="ppn" type="text" id="ppn"
value="<?php echo $ppn; ?>" /></td>
</tr>
<tr>
<td>Product Category </td>
<td><select name="prod_name" id="prod_name">
<?php
if(isset($_GET[id_edit])){
echo" <option value='$product_id'
selected='selected'>$product_name</option";
}
?>
<?php

include_once"../class/db.class.php";
$sql_products=mysql_query("select
product_id,name from products ")or die(mysql_error());

while($jum=mysql_fetch_array($sql_products)){
$id_product=$jum['product_id'];

37

$name=$jum['name'];

echo'<input name="Submit" type="submit"


class="button" value="Save" />';
}else{
echo'<input name="Submit_update"
type="submit" class="button" value="Update" />';

echo"
<option value='$id_product'
>$name</option>";
}

?>
</select>&nbsp;</td>
<td>PPH</td>
<td><input name="pph" type="text" id="pph"
value="<?php echo $pph; ?>" /></td>
</tr>
<tr>
<td width="15%">Unit</td>
<td width="35%"><select name="unit" id="unit">
<?php
if(isset($_GET[id_edit])){
echo" <option value='$unit'
selected='selected'>$unit</option";
}
?>
<option value="Psc" >Pcs</option>
<option value="Unit">Unit</option>
<option value="Set">Set</option>
<option value="Lenght">Lenght</option>
</select></td>
<td>Figure</td>
<td><input type="file" name="image"/>
* Best View 200 x 200 px </td>
</tr>
<tr>
<td>Weight (Kg) </td>
<td><input name="weight" type="text" id="weight"
value="<?php echo $weight; ?>" /></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><?php
if(!isset($_GET[id_edit])){

echo'&nbsp;<input name="Back"
type="button" class="button" value="Back"
Onclick="window.back()" />';
}
?>
</td>
<td class="errtext"><?php
//define a maxim size for the uploaded images in Kb
define ("MAX_SIZE","100");
//This function reads the extension of the file. It is used to
determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
//This variable is used as a flag. The value is initialized
with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures.
//If the error occures the file will not be uploaded.
$errors=0;
//checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted
for uploading
$image=$_FILES['image']['name'];
//if it is not empty
if ($image)
{
//get the original name of the file from the
clients machine
$filename =
stripslashes($_FILES['image']['name']);
//get the extension of the file in a lower case
format
$extension =
getExtension($filename);
$extension = strtolower($extension);

//if it is not a known extension, we will suppose


it is an error and will not upload the file,
//otherwise we will do more tests
if (($extension != "jpg") && ($extension != "jpeg") &&
($extension != "png") && ($extension != "gif"))
{
//print error message
echo '<h1>Unknown
extension!</h1>';
$errors=1;
}
else
{
//get the size of the image in bytes
//$_FILES['image']['tmp_name'] is the temporary filename
of the file
//in which the uploaded file was stored on the server
$size=filesize($_FILES['image']['tmp_name']);
//compare the size with the maxim size we defined and
print error if bigger
if ($size > MAX_SIZE*1024)
{
echo 'You have exceeded the size limit!';
$errors=1;
}
//we will give an unique name, for example the time in unix
time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will
be stored (images folder)
$newname="../images/products/".$image_name;
//we verify if the image has been uploaded, and print error
instead
$copied = copy($_FILES['image']['tmp_name'],
$newname);
if (!$copied)
{
echo 'Copy unsuccessfull!';
$errors=1;
}}}}
//If no errors registred, print the success message
if(isset($_POST['Submit']) && !$errors)
{
include_once"../class/db.class.php";
$part_number=$_POST[part_number];
$product_id=$_POST[prod_name];

38

$unit=$_POST[unit];
$description=$_POST[description];
$figure=$newname;
$weight=$_POST[weight];
$import_duty=$_POST[import_duty];
$hs_code=$_POST[hs_code];
$harga_beli=$_POST[harga_beli];
$harga_jual=$_POST[harga_jual];
$ppn=$_POST[ppn];
$pph=$_POST[pph];
$alias_part_number=$_POST[alias_part_number];
$qty=$_POST[qty];
$diameter=$_POST[diameter];
$lenght=$_POST[lenght];
$sql=mysql_query("insert into product_detail
values('','$part_number','$alias_part_number','$product_id','
$unit','$description','$figure','$weight','$import_duty','$hs_c
ode','$harga_beli','$harga_jual','$ppn','$pph','$qty','$diamete
r','$lenght')")or die(mysql_error());
echo "File Uploaded Successfully!";
//echo "<img src=$newname widht=250
height=250 />";
}

if(isset($_POST[Submit_update])){

<title>Untitled Document</title>

$sql=mysql_query("UPDATE product_detail SET


alias_part_number =
'$part_number',unit='$unit',description='$description',figure
='$figure',weight = '$weight', import_duty= '
$import_duty',hs_code = '$hs_code', harga_beli =
'$harga_beli', harga_jual = '$harga_jual', ppn= '$ppn', pph=
'$pph',qty = '$qty', diameter='$diameter', lenght='$lenght'
WHERE part_number='$_GET[id_edit]' LIMIT 1;")or
die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=home.php?act=inventory'>";

<script type="text/javascript" src="calendar.js"></script>


<script type="text/javascript" src="calendarsetup.js"></script>
<script type="text/javascript" src="calendaren.js"></script>

body {

?></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</body>
</html>

$part_number=$_POST[part_number];
$product_id=$_POST[prod_name];
$unit=$_POST[unit];
$description=$_POST[description];
$figure=$newname;
$weight=$_POST[weight];
$import_duty=$_POST[import_duty];
$hs_code=$_POST[hs_code];
$harga_beli=$_POST[harga_beli];
$harga_jual=$_POST[harga_jual];
$ppn=$_POST[ppn];
$pph=$_POST[pph];
$alias_part_number=$_POST[alias_part_number];
$qty=$_POST[qty];
$diameter=$_POST[diameter];
$lenght=$_POST[lenght];

________________________________________________
End productdetail.php

if($figure==''){
$figure=$gambar;
}else{
$figure=$figure;

<head>

<style type="text/css"> @import url("calendar-win2kcold-1.css"); </style>


<link href="../style/template.css" rel="stylesheet"
type="text/css">
<style type="text/css">
<!--

margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="../style/style.css" rel="stylesheet"
type="text/css">
<style type="text/css">

Order.php

<!--

<?php
session_start();
$office_id_sess=$_SESSION[office_id];
?>

.style1 {font-weight: bold}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01


Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

<meta http-equiv="Content-Type" content="text/html;


charset=iso-8859-1">

-->
</style>
<script language="javascript">
function Muncul(){
document.getElementById('tabeltambah').style.display="inl
ine";
document.getElementById('tabeledit').style.display="none"
;
}

39

employees.office_id = office.office_id ".$ash."


and orders.po_no like '%$keyword%' limit
$page,$record_home")or die(mysql_error());
}else{

function Ndelik(){
document.getElementById('tabeltambah').style.display="no
ne";
}
function Ndelikedit(){
document.getElementById('tabeledit').style.display="none"
;
}
</script>

<?php
include_once"../class/db.class.php";
$level=$_SESSION[level];
$bgcolor="#DBE7F2";
if($level=='1'){
$ash="";
}else{
$ash="and employees.office_id

</head>

='$office_id_sess'";
<body>
<table width="100%" border="0" cellpadding="1"
cellspacing="1">
<tr>
<td colspan="2"><table width="100%" border="0"
cellpadding="1" cellspacing="1">
<tr>
<td colspan="2"><span class="style1
style111">&nbsp;</span><span
class="orange"><strong>||</strong></span><span
class="style1 style111">&nbsp;&nbsp;<strong> Orders
Income </strong></span></td>
</tr>
<tr>
<td colspan="2" valign="top"><table width="100%"
border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="2%" class="palareport">N0</td>
<td width="7%" class="palareport">Order
Date</td>
<td width="6%" class="palareport"> PO Number
</td>
<td width="22%" class="palareport">Customer
Name </td>
<td width="11%" class="palareport">Emp
Name</td>
<td width="9%" class="palareport">Products</td>
<td width="9%" class="palareport">Curr</td>
<td width="9%" class="palareport">Value</td>
<td width="17%"
class="palareport">Remarks</td>
<td colspan="2" class="palareport">Act</td>
</tr>

$Submit_search=$_POST[Submit_search];
if(isset($Submit_search)){
$keyword=$_POST[keyword];
$keyword=$_POST[keyword];
$record_home = 10;
$page = 0;

$sql_customer=mysql_query("SELECT
currencys.name AS mata_uang,
orders.value,
orders.remarks,
orders.po_no,
orders.order_date,
orders.order_id,
customers.cust_name,
employees.emp_name,
products.name AS product_name,
office.office_id
FROM
orders ,
currencys ,
customers ,
employees ,
products ,
office
WHERE
orders.curr_id = currencys.curr_id AND
orders.customer_id = customers.customer_id AND
orders.emp_id = employees.emp_id AND
products.product_id = orders.product_id AND

$record_home = 20;
if(!$_GET['page'])
$page = 0;
else
$page = $_GET['page'];

$sql_customer=mysql_query("SELECT
currencys.name AS mata_uang,
orders.value,
orders.remarks,
orders.po_no,
orders.order_date,
orders.order_id,
customers.cust_name,
employees.emp_name,
products.name AS product_name,
office.office_id
FROM
orders ,
currencys ,
customers ,
employees ,
products ,
office
WHERE
orders.curr_id = currencys.curr_id AND
orders.customer_id = customers.customer_id AND
orders.emp_id = employees.emp_id AND
products.product_id = orders.product_id AND
employees.office_id = office.office_id ".$ash." limit
$page,$record_home
")or die(mysql_error());
}
$no=0;
while($jum=mysql_fetch_array($sql_customer)){
$mata_uang=$jum['mata_uang'];
$value=number_format($jum['value']);
$remarks=$jum['remarks'];
$po_no=$jum['po_no'];
$order_date=$jum['order_date'];

40

?>

$order_id=$jum['order_id'];
$cust_name=$jum['cust_name'];
$emp_name=$jum['emp_name'];
$product_name=$jum['product_name'];
$no=$no+1;

if($bgcolor=='#DBE7F2'){$bgcolor='#ffffff';}
else{$bgcolor='#DBE7F2';}

echo" <tr bgcolor=$bgcolor>


<td class='kiritabel'>$no</td>
<td class='isitabel'>$order_date</td>
<td class='isitabel'>$po_no</td>
<td class='isitabel'>$cust_name</td>
<td class='isitabel'>$emp_name</td>
<td class='isitabel'>$product_name</td>
<td class='isitabel'>$mata_uang</td>
<td class='isitabel'>$value</td>
<td class='isitabel'>&nbsp;$remarks</td>
<td width='3%' class='isitabel'><a
href='home.php?act=orders&util=edit&&id_order=$order_
id'>Edit</a></td>
<td width='5%' class='isitabel'><a
href='home.php?act=orders&util=delete&id_order=$order_
id'>Delete</a></td>
</tr>";
}
?>
</table>
</td>
</tr>
<tr>
<td width="63%"><?php
if($page-$record_home>=0)
{
?>
<a
href="?act=orders&page=0">First</a> - <a
href="?act=orders&page=<?=$page$record_home?>">Previous</a> -

<?
}else{
?>
<?php
//First - Previous ?>
<?
}
$nav = "select count(*)
FROM
orders ,
currencys ,
customers ,
employees ,
products ,
office
WHERE
orders.curr_id = currencys.curr_id AND
orders.customer_id = customers.customer_id AND
orders.emp_id = employees.emp_id AND
products.product_id = orders.product_id AND
employees.office_id = office.office_id ".$ash."";
$query = mysql_query($nav);
$brs=mysql_fetch_row($query);
$n = $brs[0];
if
($page+$record_home<ceil($n/$record_home)*$record_ho
me){
?>
<a
href="?act=orders&page=<?=$page+$record_home?>">Ne
xt</a> - <a
href="?act=orders&page=<?=(ceil($n/$record_home)*$rec
ord_home)-$record_home?>">Last</a>
<?
}else{
?>
<?php
//Next - Last
?>
<?
}

&nbsp;</td>
<td width="37%">
<form name="form1"
method="post" action="">
<div align="right">Search by PO number
<input name="keyword" type="text"
id="keyword">
<input name="Submit_search" type="submit"
class="button" id="Submit_search" value="Search">
<input name="Button" type="button"
class="button" onClick="Muncul()" value="Add Order">
</div>
</form>
</td>
</tr>
<tr>
<td colspan="2"><form name="form2"
method="post" action="" id="tabeltambah"
style="display:none " >
<table width="100%" border="0" cellpadding="1"
cellspacing="1" class="formcolor" >
<tr>
<td width="136">Order Date </td>
<td width="300">
<input
name="order_date" type="text" id="order_date" size="12"
/>
<input name="Button" type="button"
class="button" value="..." id="cal-button-1">
</td>
<td width="94">Value</td>
<td width="714">
<input
name="value" type="text" id="value">
<script type="text/javascript">
Calendar.setup({
inputField :
"order_date",
button
: "cal-button1",
align
: "Tr"
});
</script>
</td>
</tr>

41

$id_product=$jum['product_id'];
$name=$jum['name'];
echo"<option value='$id_product'

}
<tr>
<td>PO Number</td>
<td><input name="po_number" type="text"
id="po_number"></td>
<td>Currency</td>
<td><select name="curr_id" id="curr_id">
<option value='' selected ></option>
<?php

?>
</select>

}
<td>Remarks</td>
<td rowspan="4" valign="top"><textarea
name="remarks" cols="60" rows="5"
id="remarks"></textarea></td>
</tr>

include_once"../class/db.class.php";
$sql_curr=mysql_query("SELECT
currencys.curr_id,
currencys.name
FROM
currencys
")or die(mysql_error());
while($jum=mysql_fetch_array($sql_curr)){
$id_curr=$jum['curr_id'];
$name=$jum['name'];
echo"
<option value='$id_curr'
>$id_curr</option>";
}
?>
</select>

>$name</option>";

</td>

<tr>
<td>Employee Name </td>
<td><select name="emp_id" id="emp_id">
<option value="" selected></option>
<?php

include_once"../class/db.class.php";
$sql_employees=mysql_query("select emp_id,emp_name
from employees")or die(mysql_error());
while($jum=mysql_fetch_array($sql_employees)){
$id=$jum['emp_id'];
$emp_name=$jum['emp_name'];
echo"
<option value='$id'
>$emp_name</option>";

</td>
</tr>

?>
</select>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><input name="Submit_add" type="submit"
class="button" id="Submit_add" value="Add"></td>
<td><input name="Reset" type="reset"
class="button" onClick="Ndelik()" value="Hide"></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</td>
</tr>

?>
<tr>
<td>Customer Name </td>
<td><select name="customer_id"
id="customer_id">
<option value="" selected></option>
<?php
include_once"../class/db.class.php";
$sql_customer=mysql_query("select
customer_id,cust_name from customers")or
die(mysql_error());
while($jum=mysql_fetch_array($sql_customer)){
$id=$jum['customer_id'];
$cust_name=$jum['cust_name'];
echo"
<option value='$id'
>$cust_name</option>";

</select>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Product</td>
<td><select name="product_name"
id="product_name">
<option value='' selected ></option>
<?php
include_once"../class/db.class.php";
$sql_products=mysql_query("select
product_id,name from products")or die(mysql_error());
while($jum=mysql_fetch_array($sql_products)){

<tr>
<td colspan="2"><form name="form3"
method="post" action="" id="tabeledit" <?php
$util=$_GET[util];if($util=='edit'){
echo"style='display:inline'";
}else{
echo"style='display:none'";
}
?> >
<?php
$util=$_GET[util];
if(isset($util)){
$id_order=$_GET[id_order];
switch($util){
case"edit":

42

}
$sqlqueryedit=mysql_query("SELECT
currencys.curr_id as mata_uang,
orders.value,
orders.remarks,
orders.po_no,
orders.order_date,
orders.order_id,
customers.cust_name,
employees.emp_name,
products.name as product_name,
employees.emp_id,
products.product_id,
customers.customer_id
FROM
orders ,
currencys ,
customers ,
employees ,
products
WHERE
orders.curr_id = currencys.curr_id AND
orders.customer_id = customers.customer_id AND
orders.emp_id = employees.emp_id AND
products.product_id = orders.product_id
and orders.order_id ='$id_order'")or die(mysql_error());

while($hasil=mysql_fetch_array($sqlqueryedit))
{
$mata_uang_edit=$hasil['mata_uang'];
$value_edit=$hasil['value'];
$remarks_edit=$hasil['remarks'];
$po_no_edit=$hasil['po_no'];
$order_date_edit=$hasil['order_date'];
$order_id_edit=$hasil['order_id'];
$cust_name_edit=$hasil['cust_name'];

$Submit_edit=$_POST[Submit_edit];
$id_order=$_GET[id_order];
if(isset($Submit_edit)){
$value_edit=$_POST['value_edit'];
$remarks_edit=$_POST['remarks_edit'];
$po_no_edit=$_POST['po_number_edit'];
$order_date_edit=$_POST['order_date_edit'];
$order_id_edit=$_POST['order_id_edit'];
$cust_name_edit=$_POST['customer_id_edit'];
$emp_name_edit=$_POST['emp_id_edit'];
$product_name_edit=$_POST['product_name_edit'];
$curr_id_edit=$_POST['curr_id_edit'];

$querys=mysql_query("update
orders set order_id
='$id_order',order_date='$order_date_edit',po_no='$po_no
_edit',customer_id='$cust_name_edit'
,product_id='$product_name_edit',curr_id='$curr_id_edit',e
mp_id='$emp_name_edit',value='$value_edit',remarks='$re
marks_edit' where order_id='$id_order'")or
die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=orders'>";
}
break;

$emp_name_edit=$hasil['emp_name'];
$product_name_edit=$hasil['product_name'];
$emp_id_edit=$hasil['emp_id'];
$product_id_edit=$hasil['product_id'];
$customer_id_edit=$hasil['customer_id'];

case"delete":
$querys=mysql_query("delete from
orders where order_id='$id_order' ")or die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=orders'>";
break;

case"move_to_orders";
$id_quote=$_GET['id_quote'];
$querys=mysql_query("SELECT
customer_quotations.quote_id,
customer_quotations.curr_id,
customer_quotations.value,
customer_quotations.remarks,
employees.emp_id,
products.product_id,
company.company_id,
customers.customer_id
FROM
customer_quotations ,
customers ,
company ,
employees,
products
WHERE
customer_quotations.company_id = company.company_id
AND
customer_quotations.customer_id =
customers.customer_id AND
customer_quotations.emp_id = employees.emp_id AND
customer_quotations.product_id= products.product_id
and customer_quotations.quote_id='$id_quote'")or
die(mysql_error());
while($jum=mysql_fetch_array($querys)){
$quote_id=$jum['quote_id'];
$curr_id=$jum['curr_id'];
$value=$jum['value'];
$remarks=$jum['remarks'];
$product_name=$jum['product_id'];
$customer_id=$jum['customer_id'];
$emp_id=$jum['emp_id'];
}
$order_date=date("Y-F-d ");

$query_customer=mysql_query("insert into orders


values('','$order_date','$po_number','$customer_id','$produ
ct_name','$curr_id','$emp_id','$value','$remarks','$quote_id'
)")or die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=orders'>";
break;
}

43

}
?>
<table width="100%" border="0" cellpadding="1"
cellspacing="1" class="formcolor" >
<tr>
<td width="136">Order Date </td>
<td width="300"><input name="order_date_edit"
type="text" id="order_date_edit" value="<?php echo
$order_date_edit ?>" size="12" />
<input name="Button" type="button"
class="button" value="..." id="cal-button-2"></td>
<td width="94">Value</td>
<td width="714"><input name="value_edit"
type="text" id="value_edit" value="<?php echo
"$value_edit"; ?>">
<script type="text/javascript">
Calendar.setup({

while($jum=mysql_fetch_array($sql_curr)){
$id_curr=$jum['curr_id'];
$name=$jum['name'];
echo"<option value='$id_curr'
>$id_curr</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Customer Name </td>
<td><select name="customer_id_edit"
id="customer_id_edit">
<option value="<?php echo"$customer_id_edit";
?>" selected><?php echo"$cust_name_edit"; ?></option>
<?php
include_once"../class/db.class.php";

inputField :
"order_date_edit",
button

: "cal-button-

2",
align

$sql_customer=mysql_query("select
customer_id,cust_name from customers where
customer_id<>'$customer_id_edit'")or die(mysql_error());

: "Tr"
});

</script>
</td>
</tr>
<tr>
<td>PO Number</td>
<td><input name="po_number_edit" type="text"
id="po_number_edit" value="<?php echo $po_no_edit
?>"></td>
<td>Currency</td>
<td><select name="curr_id_edit"
id="curr_id_edit">
<option value='<?php echo"$mata_uang_edit";
?>' selected ><?php echo"$mata_uang_edit"; ?></option>
<?php
include_once"../class/db.class.php";
$sql_curr=mysql_query("SELECT
currencys.curr_id,
currencys.name
FROM
currencys where curr_id<>'$mata_uang_edit'
")or die(mysql_error());

while($jum=mysql_fetch_array($sql_customer)){
$id=$jum['customer_id'];
$cust_name=$jum['cust_name'];
echo"
<option value='$id'
>$cust_name</option>";
}
?>
</select>
</td>
<td>Remarks</td>
<td rowspan="4" valign="top"><textarea
name="remarks_edit" cols="60" rows="5"
id="remarks_edit"><?php echo "$remarks_edit";
?></textarea></td>
</tr>
<tr>
<td>Employee Name </td>
<td><select name="emp_id_edit"
id="emp_id_edit">
<option value="<?php echo"$emp_id_edit"; ?>"
selected><?php echo"$emp_name_edit"; ?></option>
<?php
include_once"../class/db.class.php";

$sql_employees=mysql_query("select emp_id,emp_name
from employees where emp_id<>'$emp_id_edit'")or
die(mysql_error());
while($jum=mysql_fetch_array($sql_employees)){
$id=$jum['emp_id'];
$emp_name=$jum['emp_name'];
echo"
<option value='$id'
>$emp_name</option>";
}
?>
</select>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Product</td>
<td><select name="product_name_edit"
id="product_name_edit">
<option value="<?php echo"$product_id_edit";
?>" selected><?php echo"$product_name_edit";
?></option>
<?php
include_once"../class/db.class.php";
$sql_products=mysql_query("select
product_id,name from products where
product_id<>'$product_id_edit'")or die(mysql_error());
while($jum=mysql_fetch_array($sql_products)){
$id_product=$jum['product_id'];
$name=$jum['name'];
echo"<option value='$id_product'
>$name</option>";
}
?>
</select>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>

44

<td><input name="Submit_edit" type="submit"


class="button" id="Submit_edit" value="Update"></td>
<td><input name="Reset" type="reset"
class="button" onClick="Ndelikedit()"
value="Hide"></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<?php
$Submit_add=$_POST[Submit_add];
$order_date=$_POST[order_date];
$emp_id=$_POST[emp_id];
$customer_id=$_POST[customer_id];
$product_name=$_POST[product_name];
$curr_id=$_POST[curr_id];
$value=$_POST[value];
$po_number=$_POST[po_number];
$remarks=$_POST[remarks];

if(isset($Submit_add)){
include_once"../class/db.class.php";
$query_customer=mysql_query("insert into orders
values('','$order_date','$po_number','$customer_id','$produ
ct_name','$curr_id','$emp_id','$value','$remarks','')")or
die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=orders'>";
}
?>
________________________________________________
End order.php

Users.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01


Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title>Untitled Document</title>
<link href="../style/template.css" rel="stylesheet"
type="text/css">
<style type="text/css">
<!-body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="../style/style.css" rel="stylesheet"
type="text/css">
<style type="text/css">
<!-.style1 {font-weight: bold}
-->
</style>
<script language="javascript">
function Muncul(){
document.getElementById('tabeltambah').style.display="inl
ine";
document.getElementById('tabeledit').style.display="none"
;

<table width="100%" border="0" cellpadding="1"


cellspacing="1">
<tr>
<td colspan="2"><table width="100%" border="0"
cellpadding="1" cellspacing="1">
<tr>
<td colspan="2"><span class="style1
style111">&nbsp;</span><span
class="orange"><strong>||</strong></span><span
class="style1 style111">&nbsp;&nbsp;<strong> USER
LIST </strong></span></td>
</tr>
<tr>
<td colspan="2" valign="top"><table width="100%"
border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="6%" class="palareport">ID</td>
<td width="7%" class="palareport">Emp ID </td>
<td width="17%" class="palareport">Emp Name
</td>
<td width="13%"
class="palareport">Username</td>
<td width="19%"
class="palareport">Password</td>
<td width="7%" class="palareport">Level</td>
<td width="18%" class="palareport">Office</td>
<td width="7%" class="palareport">Log</td>
<td colspan="2" class="palareport">Act</td>
</tr>

<?php
include_once"../class/db.class.php";

}
function Ndelik(){
document.getElementById('tabeltambah').style.display="no
ne";
}
function Ndelikedit(){
document.getElementById('tabeledit').style.display="none"
;
}
</script>
</head>
<body>

$Submit_search=$_POST[Submit_search];
if(isset($Submit_search)){
$keyword=$_POST[keyword];

$sql_product=mysql_query("SELECT
users.user_id,
users.emp_id,
users.`password`,
users.level,
users.`log`,
office.office_name,
employees.emp_name,
users.username

45

FROM
users ,
office ,
employees
WHERE
users.emp_id = employees.emp_id AND
employees.office_id = office.office_id
and employees.emp_name like '%$keyword%'
")or die(mysql_error());

<td class='isitabel'>&nbsp;$level</td>
<td
class='isitabel'>&nbsp;$office_name&nbsp;</td>
<td class='isitabel'>&nbsp;$log</td>
<td width='2%' class='isitabel'><a
href='home.php?act=users&util=edit&id_user=$user_id'>E
dit</a></td>
<td width='4%' class='isitabel'><a
href='home.php?act=users&util=delete&id_user=$user_id'
>Delete</a></td>
</tr>";

}else{
$sql_product=mysql_query("SELECT
users.user_id,
users.emp_id,
users.`password`,
users.level,
users.`log`,
office.office_name,
employees.emp_name,
users.username
FROM
users ,
office ,
employees
WHERE
users.emp_id = employees.emp_id AND
employees.office_id = office.office_id
")or die(mysql_error());
}
while($jum=mysql_fetch_array($sql_product)){
$user_id=$jum['user_id'];
$emp_id=$jum['emp_id'];
$password=$jum['password'];
$level=$jum['level'];
$log=$jum['log'];
$office_name=$jum['office_name'];
$emp_name=$jum['emp_name'];
$username=$jum['username'];
echo"<tr>
<td class='kiritabel'>&nbsp;$user_id</td>
<td class='isitabel'>&nbsp;$emp_id</td>
<td class='isitabel'>$emp_name</td>
<td class='isitabel'>$username</td>
<td class='isitabel'>&nbsp;&nbsp;$password</td>

}
?>

</table></td>
</tr>
<tr>
<td width="60%">&nbsp;</td>
<td width="40%"><form name="form1"
method="post" action="">
<div align="right">Search by Product name
<input name="keyword" type="text"
id="keyword">
<input name="Submit_search" type="submit"
class="button" id="Submit_search" value="Search">
<input name="Button" type="button"
class="button" onClick="Muncul()" value="Add User">
</div>
</form>
<div align="right">
</div></td>
</tr>
<tr>
<td colspan="2"><form name="form2"
method="post" action="" id="tabeltambah"
style="display:none " >
<table width="100%" border="0" cellpadding="1"
cellspacing="1" class="formcolor" >
<tr>
<td>Employee Name</td>
<td><select name='emp_name_add'
id='emp_name_add'>
<option value='' selected></option>
<?php

$sql_vendors=mysql_query("select
emp_id,emp_name from employees ")or
die(mysql_error());

while($jum3=mysql_fetch_array($sql_vendors)){
$id_edit=$jum3['emp_id'];
$name_edit=$jum3['emp_name'];
echo"
<option value='$id_edit'>$name_edit</option>
";
}
?>
</select></td>
</tr>
<tr>
<td>Username</td>
<td><input name='username_add' type='text'
id='username_add' size='30'></td>
</tr>
<tr>
<td>Password</td>
<td><input name='password_add' type='password'
id='password_add' size='30'></td>
</tr>
<tr>
<td>Level</td>
<td><select name='level_add' id='level_add'>
<option value='' selected></option>
<?php
$sql_categorys=mysql_query("select distinct level from
user_roles ")or die(mysql_error());

while($jum3=mysql_fetch_array($sql_categorys)){
$level=$jum3['level'];
$level=$jum3['level'];
echo"
<option value='$level'>$level</option>
";
}
?>
</select></td>
</tr>
<tr>

46

<td width="109"><input name="Submit_add"


type="submit" class="button" id="Submit_add"
value="Add"></td>
<td width="1124"><input name="Button"
type="button" class="button" onClick="Ndelik()"
value="Hide"></td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td colspan="2">
<?php
$util=$_GET[util];
$user_id=$_GET[id_user];
$sqlqueryedit=mysql_query("SELECT
users.user_id,
users.emp_id,
users.`password`,
users.level,
users.`log`,
office.office_name,
employees.emp_name,
users.username,
office.office_id
FROM
users ,
user_roles,
office ,
employees
WHERE
users.emp_id = employees.emp_id AND
employees.office_id = office.office_id
and user_id='$user_id'");
while($hasil=mysql_fetch_array($sqlqueryedit))
{
$user_id=$hasil['user_id'];
$emp_id=$hasil['emp_id'];
$password=$hasil['password'];
$level=$hasil['level'];
$log=$hasil['log'];
$office_name=$hasil['office_name'];
$emp_name=$hasil['emp_name'];
$username=$hasil['username'];
$office_id=$hasil['office_id'];
}

<td>
if(isset($util)){
switch($util){
case"edit":
echo"
<form name='form3' method='post'
action='' id='tabeledit'>
<table width='100%' border='0' cellpadding='1'
cellspacing='1' class='formcolor' >
<tr>
<td width='109'>Employee Name</td>
<td width='1124'>
<select
name='emp_name_edit' id='emp_name_edit'>
<option value='$emp_id'
selected>$emp_name</option> ";
$sql_vendors=mysql_query("select
emp_id,emp_name from employees ")or
die(mysql_error());

while($jum3=mysql_fetch_array($sql_vendors))
{
$id_edit=$jum3['emp_id'];
$name_edit=$jum3['emp_name'];
echo"<option
value='$id_edit'>$name_edit</option> ";
}
echo"
</select>
</td>
</tr>
<tr>
<td>Username</td>
<td>
<input name='username_edit'
type='text' id='username_edit' value='$username'
size='30'></td>
</tr>
<tr>
<td>Password</td>
<td><input name='password_edit' type='password'
id='password_edit' value='$password' size='30'></td>
</tr>
<tr>
<td>Level</td>

<select
name='level_edit' id='level_edit'>";

//echo"<option value='$level' selected>$level</option>";


$sql_categorys=mysql_query("select level from
user_roles")or die(mysql_error());

while($jum3=mysql_fetch_array($sql_categorys))
{
$category_id=$jum3['level'];
$category_name=$jum3['level'];
$sel =
$category_name==$level?" selected='selected' ":"";
echo"<option
value='".$category_name."'
".$sel.">".$category_name."</option>";
}
echo"
</select></td>
</tr>
<tr>
<td><input name='Submit_edit' type='submit'
class='button' id='Submit_edit' value='Update'></td>
<td><input name='Button' type='button'
class='button' onClick='Ndelikedit()' value='Hide'></td>
</tr>
</table>
</form>";
$Submit_edit=$_POST[Submit_edit];
if(isset($Submit_edit)){

$username_edit=$_POST[username_edit];
$password_edit=md5($_POST[password_edit]);
$level_edit=$_POST[level_edit];
$emp_name_edit=$_POST[emp_name_edit];

$querys=mysql_query("update users
set
user_id='$user_id',emp_id='$emp_name_edit',username='$

47

username_edit',password='$password_edit', level='
$level_edit' where user_id='$level'")or die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=users'>";
}
break;
case"delete":
$querys=mysql_query("delete from
users where user_id='$user_id'")or die(mysql_error());
echo"<meta
http-equiv='refresh'
content='0;url=../module/home.php?act=users'>";
break;
}
}
?></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<?php
$Submit_add=$_POST[Submit_add];
if(isset($Submit_add)){
$username_add=$_POST[username_add];
$password_add=md5($_POST[password_add]);
$level_add=$_POST[level_add];
$emp_name_add=$_POST[emp_name_add];

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01


Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title>Untitled Document</title>
<link href="../style/template.css" rel="stylesheet"
type="text/css">
<style type="text/css">
<!-body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="../style/style.css" rel="stylesheet"
type="text/css">
<style type="text/css">
<!-.style1 {font-weight: bold}
-->
</style>
<script language="javascript">
function Muncul(){
document.getElementById('tabeltambah').style.display="inl
ine";
document.getElementById('tabeledit').style.display="none"
;

<table width="100%" border="0" cellpadding="1"


cellspacing="1">
<tr>
<td colspan="2"><table width="100%" border="0"
cellpadding="1" cellspacing="1">
<tr>
<td colspan="2"><span class="style1
style111">&nbsp;</span><span
class="orange"><strong>||</strong></span><span
class="style1 style111">&nbsp;&nbsp;<strong> USER
LIST </strong></span></td>
</tr>
<tr>
<td colspan="2" valign="top"><table width="100%"
border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="6%" class="palareport">ID</td>
<td width="7%" class="palareport">Emp ID </td>
<td width="17%" class="palareport">Emp Name
</td>
<td width="13%"
class="palareport">Username</td>
<td width="19%"
class="palareport">Password</td>
<td width="7%" class="palareport">Level</td>
<td width="18%" class="palareport">Office</td>
<td width="7%" class="palareport">Log</td>
<td colspan="2" class="palareport">Act</td>
</tr>

<?php
include_once"../class/db.class.php";

include_once"../class/db.class.php";
$query_customer=mysql_query("insert into users
values('','$emp_name_add','$username_add','$password_ad
d','$level_add','')")or die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=users'>";
}
?>
________________________________________________
End users.php

Quotes.php

}
function Ndelik(){
document.getElementById('tabeltambah').style.display="no
ne";
}
function Ndelikedit(){
document.getElementById('tabeledit').style.display="none"
;
}
</script>
</head>
<body>

$Submit_search=$_POST[Submit_search];
if(isset($Submit_search)){
$keyword=$_POST[keyword];

$sql_product=mysql_query("SELECT
users.user_id,
users.emp_id,
users.`password`,
users.level,
users.`log`,
office.office_name,
employees.emp_name,
users.username

48

FROM
users ,
office ,
employees
WHERE
users.emp_id = employees.emp_id AND
employees.office_id = office.office_id
and employees.emp_name like '%$keyword%'
")or die(mysql_error());

<td class='isitabel'>&nbsp;$level</td>
<td
class='isitabel'>&nbsp;$office_name&nbsp;</td>
<td class='isitabel'>&nbsp;$log</td>
<td width='2%' class='isitabel'><a
href='home.php?act=users&util=edit&id_user=$user_id'>E
dit</a></td>
<td width='4%' class='isitabel'><a
href='home.php?act=users&util=delete&id_user=$user_id'
>Delete</a></td>
</tr>";

}else{
$sql_product=mysql_query("SELECT
users.user_id,
users.emp_id,
users.`password`,
users.level,
users.`log`,
office.office_name,
employees.emp_name,
users.username
FROM
users ,
office ,
employees
WHERE
users.emp_id = employees.emp_id AND
employees.office_id = office.office_id
")or die(mysql_error());
}
while($jum=mysql_fetch_array($sql_product)){
$user_id=$jum['user_id'];
$emp_id=$jum['emp_id'];
$password=$jum['password'];
$level=$jum['level'];
$log=$jum['log'];
$office_name=$jum['office_name'];
$emp_name=$jum['emp_name'];
$username=$jum['username'];
echo"<tr>
<td class='kiritabel'>&nbsp;$user_id</td>
<td class='isitabel'>&nbsp;$emp_id</td>
<td class='isitabel'>$emp_name</td>
<td class='isitabel'>$username</td>
<td class='isitabel'>&nbsp;&nbsp;$password</td>

}
?>
</table></td>
</tr>
<tr>
<td width="60%">&nbsp;</td>
<td width="40%"><form name="form1"
method="post" action="">
<div align="right">Search by Product name
<input name="keyword" type="text"
id="keyword">
<input name="Submit_search" type="submit"
class="button" id="Submit_search" value="Search">
<input name="Button" type="button"
class="button" onClick="Muncul()" value="Add User">
</div>
</form>
<div align="right">
</div></td>
</tr>
<tr>
<td colspan="2"><form name="form2"
method="post" action="" id="tabeltambah"
style="display:none " >
<table width="100%" border="0" cellpadding="1"
cellspacing="1" class="formcolor" >
<tr>
<td>Employee Name</td>
<td><select name='emp_name_add'
id='emp_name_add'>
<option value='' selected></option>
<?php

$sql_vendors=mysql_query("select
emp_id,emp_name from employees ")or
die(mysql_error());

while($jum3=mysql_fetch_array($sql_vendors)){
$id_edit=$jum3['emp_id'];
$name_edit=$jum3['emp_name'];
echo"
<option value='$id_edit'>$name_edit</option>
";
}
?>
</select></td>
</tr>
<tr>
<td>Username</td>
<td><input name='username_add' type='text'
id='username_add' size='30'></td>
</tr>
<tr>
<td>Password</td>
<td><input name='password_add' type='password'
id='password_add' size='30'></td>
</tr>
<tr>
<td>Level</td>
<td><select name='level_add' id='level_add'>
<option value='' selected></option>
<?php
$sql_categorys=mysql_query("select distinct level from
user_roles ")or die(mysql_error());

while($jum3=mysql_fetch_array($sql_categorys)){
$level=$jum3['level'];
$level=$jum3['level'];
echo"
<option value='$level'>$level</option>
";
}
?>
</select></td>
</tr>
<tr>
<td width="109"><input name="Submit_add"
type="submit" class="button" id="Submit_add"
value="Add"></td>

49

<td width="1124"><input name="Button"


type="button" class="button" onClick="Ndelik()"
value="Hide"></td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td colspan="2">
<?php
$util=$_GET[util];
$user_id=$_GET[id_user];
$sqlqueryedit=mysql_query("SELECT
users.user_id,
users.emp_id,
users.`password`,
users.level,
users.`log`,
office.office_name,
employees.emp_name,
users.username,
office.office_id
FROM
users ,
user_roles,
office ,
employees
WHERE
users.emp_id = employees.emp_id AND
employees.office_id = office.office_id
and user_id='$user_id'");
while($hasil=mysql_fetch_array($sqlqueryedit))
{
$user_id=$hasil['user_id'];
$emp_id=$hasil['emp_id'];
$password=$hasil['password'];
$level=$hasil['level'];
$log=$hasil['log'];
$office_name=$hasil['office_name'];
$emp_name=$hasil['emp_name'];
$username=$hasil['username'];
$office_id=$hasil['office_id'];
}
if(isset($util)){
switch($util){

case"edit":
echo"
<form name='form3' method='post'
action='' id='tabeledit'>
<table width='100%' border='0' cellpadding='1'
cellspacing='1' class='formcolor' >
<tr>
<td width='109'>Employee Name</td>
<td width='1124'>
<select
name='emp_name_edit' id='emp_name_edit'>
<option value='$emp_id'
selected>$emp_name</option> ";
$sql_vendors=mysql_query("select
emp_id,emp_name from employees ")or
die(mysql_error());

while($jum3=mysql_fetch_array($sql_vendors))
{
$id_edit=$jum3['emp_id'];
$name_edit=$jum3['emp_name'];
echo"<option
value='$id_edit'>$name_edit</option> ";
}
echo"
</select>
</td>
</tr>
<tr>
<td>Username</td>
<td>
<input name='username_edit'
type='text' id='username_edit' value='$username'
size='30'></td>
</tr>
<tr>
<td>Password</td>
<td><input name='password_edit' type='password'
id='password_edit' value='$password' size='30'></td>
</tr>
<tr>
<td>Level</td>
<td>
<select
name='level_edit' id='level_edit'>";

//echo"<option value='$level' selected>$level</option>";


$sql_categorys=mysql_query("select level from
user_roles")or die(mysql_error());

while($jum3=mysql_fetch_array($sql_categorys))
{
$category_id=$jum3['level'];
$category_name=$jum3['level'];
$sel =
$category_name==$level?" selected='selected' ":"";
echo"<option
value='".$category_name."'
".$sel.">".$category_name."</option>";
}
echo"
</select></td>
</tr>
<tr>
<td><input name='Submit_edit' type='submit'
class='button' id='Submit_edit' value='Update'></td>
<td><input name='Button' type='button'
class='button' onClick='Ndelikedit()' value='Hide'></td>
</tr>
</table>
</form>";
$Submit_edit=$_POST[Submit_edit];
if(isset($Submit_edit)){
$username_edit=$_POST[username_edit];
$password_edit=md5($_POST[password_edit]);
$level_edit=$_POST[level_edit];
$emp_name_edit=$_POST[emp_name_edit];
$querys=mysql_query("update users
set
user_id='$user_id',emp_id='$emp_name_edit',username='$
username_edit',password='$password_edit', level='
$level_edit' where user_id='$level'")or die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=users'>";
}

50

break;
case"delete":
$querys=mysql_query("delete from
users where user_id='$user_id'")or die(mysql_error());
echo"<meta
http-equiv='refresh'
content='0;url=../module/home.php?act=users'>";
break;

}
}
?></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<?php
$Submit_add=$_POST[Submit_add];
if(isset($Submit_add)){
$username_add=$_POST[username_add];
$password_add=md5($_POST[password_add]);
$level_add=$_POST[level_add];
$emp_name_add=$_POST[emp_name_add];
include_once"../class/db.class.php";
$query_customer=mysql_query("insert into users
values('','$emp_name_add','$username_add','$password_ad
d','$level_add','')")or die(mysql_error());
echo"<meta http-equiv='refresh'
content='0;url=../module/home.php?act=users'>";
}
?>
________________________________________________
End quotes.php