i
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh :
Markus Danang Suryapratama
NIM : 03 5314 011
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
A Thesis
Presented as Partial Fulfillment of the Requirements
to Obtain the Sarjana Teknik Degree
in Department of Informatics Technology
Created by :
Markus Danang Suryapratama
NIM : 03 5314 011
DEPARTMENT OF INFORMATICS TECHNOLOGY
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
v
Untuk semua yang aku cintai & aku bangg
akan :
Tuhan Yesus Kristus
Bapak V.Y. Suradi dan Ibu Th. Sukinah
Mbak Dian & Mas Sigit, Mbak Diah & Mas Danu, Mbak Dewi
vi
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah .
Yogyakarta, Juni 2007
Penulis
vii
adalah dari segi infrastruktur dan dokumen yang digunakan sebagai format
pertukaran data.
Web service sangat potensial untuk perkembangan kolaborasi
aplikasi B2B (Business to Business). Salah satu keunggulan utama dari
penggunaan
web service adalah masalah
platform independency, dimana
web
service dapat digunakan oleh aplikasi yang lain yang berada dalam platform yang
lain.
Pada tugas akhir ini dibuat suatu sistem informasi berbasis
web service
yang dapat digunakan untuk mengetahui stok buku yang ada di toko buku, dan
juga order yang dilakukan oleh toko buku. Sistem ini dibuat dengan cara simulasi
yang melibatkan 1 penerbit (Penerbit Andi Offset : dikembangkan dengan
menggunakan Microsoft Visual Studio .NET dalam bahasa pemrograman C# dan
database SQL Server 2000) dan 2 toko buku (Toko Buku Andi Star :
dikembangkan dengan menggunakan Microsoft Visual Studio .NET 2003 dalam
bahasa pemrograman C# dan database SQL Server 2000; Toko Buku Toga Mas :
dikembangkan dengan menggunakan Netbeans 5.0 dalam bahasa pemrograman
Java dan database MySQL 5).
viii
infrastructure and documents used as the format of data exchanging. Web service
is very potential to the colaboration of B2B (Business to Business) development.
One of the strong points of web service usage is platform independency, in which
web service can be used by another application located in another platform.
In this final paper, a web service based information system is developed.
This system can be used to know the book stocks in a book shop and orders done
by the book shop. This system is developed using simulation which involves a
publisher (Andi Offset Publisher : it is developed using Microsoft Visual Studio
.NET 2003 in C# programming language and SQL Server 2000 database) and 2
book shops (Andi Star Book Shop : it is developed using Microsoft Visual Studio
.NET 2003 in C# programming language and SQL Server 2000 database; Toga
Mas Book Shop : it is developed using Netbeans 5.0 in Java programming
language and MySQL 5 database).
ix
Nya sehingga penulis dapat menyelesaikan skripsi (tugas akhir) sebagai salah satu
mata kuliah yang wajib ditempuh dan merupakan salah satu syarat akademik pada
jurusan Teknik Informatika Fakultas Teknik Universitas Sanata Dharma
Yogyakarta.
Judul skripsi ini adalah “Sistem Informasi Stok Buku Berbasis Web
Services Dengan Teknologi .NET (Studi kasus pada Penerbit Andi Offset, Toko
Buku Andi Star, dan Toko buku Toga Mas)
”
.
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada
pihak-pihak yang telah banyak membantu penulis baik selama penelitian maupun
pada saat penulisan skripsi ini. Ucapan terima kasih penulis sampaikan
diantaranya kepada :
1. Ir. Greg Heliarko, S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan Fakultas
Teknik Universitas Sanata Dharma Yogyakarta.
2. A.M. Polina, S.Kom, M.Sc., selaku Ketua Jurusan Teknik Informatika Fakultas
Teknik Sanata Dharma Yogyakarta sekaligus sebagai Dosen Pembimbing.
3. Seluruh staff dan dosen pengajar di Universitas Sanata Dharma pada umumnya
dan Jurusan Teknik Informatika pada khususnya.
x
6. Teman–teman Teknik Informatika USD, khususnya angkatan 2003.
7. Teman–teman Paduan Suara Mahasiswa “Cantus Firmus”, dan juga Mas
Mbong.
8. Teman-teman kos “Barokah”.
9. Semua pihak yang telah membantu penulis baik secara langsung maupun tidak
langsung, yang tidak dapat penulis sebutkan satu per satu.
Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada
laporan ini. Saran dan kritik selalu penulis harapkan dari pembaca untuk
perbaikan-perbaikan di masa yang akan datang.
Akhir kata, penulis berharap tulisan ini dapat bermanfaat bagi kemajuan
dan perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada
umumya.
xi
HALAMAN JUDUL
i
HALAMAN JUDUL
ii
HALAMAN PERSETUJUAN
iii
HALAMAN PENGESAHAN
iv
HALAMAN PERSEMBAHAN
v
PERNYATAAN KEASLIAN KARYA
vi
ABSTRAK
vii
ABSTRACT
viii
KATA PENGANTAR
ix
DAFTAR ISI
xi
DAFTAR TABEL
xv
DAFTAR GAMBAR
xvi
BAB I : PENDAHULUAN
1
A. Latar Belakang Masalah
1
B. Rumusan Masalah
2
C. Batasan Masalah
2
D. Tujuan Penelitian
3
E. Metodologi Penelitian
3
F. Sistematika Penulisan
3
xii
D. Use Case Diagram
12
E. Entity Relationship Diagram (ER-Diagram)
16
F. Data Flow Diagram (DFD)
19
G. Internet dan World Wide Web
20
H. SQL (Structured Query Language)
21
I. Extensible Markup Language (XML)
24
J. Web Services
25
K. Simple Object Access Protocol (SOAP)
26
L. Web Service Description Language (WSDL)
27
M. Universal Description, Discovery, and Integration (UDDI)
28
N. .NET
28
BAB III : ANALISIS DAN PERANCANGAN SISTEM
35
A. Analisis Sistem
35
A.1. Fase Definisi
35
A.2. Fase Analisis
36
A.2.1. Cause and Effect Analysis
36
A.2.1.1. Problem or Opportunity
36
A.2.1.2 Cause and Effects
37
A.2.2. Tujuan Pengembangan Sistem
37
xiii
A.4.3. Data Modeling (ER-Diagram)
43
B. Perancangan Sistem
45
B.1. Desain Database
45
B.1.1. Logical Data Model (Hubungan Antar Tabel)
45
B.1.2. Fisikal Desain
46
B.2. Desain Output
51
B.3. Desain Input
52
B.4. Desain User Interface
57
BAB IV : IMPLEMENTASI SISTEM
61
A. Tampilan Andi Offset (Penerbit) : Windows Application
63
A.1. Form Login
63
A.2. Form Faktur
65
B. Tampilan Andi Star dan Toga Mas ( Toko Buku)
: Windows Application
69
B.1. Form Login
69
B.2. Form Menu Utama Staff Toko Buku
72
B.3. Form Input Faktur
73
B.4. Form Input Buku
76
B.5. Form Cek Faktur
83
xiv
C. Tampilan Andi Offset (penerbit) : Web Application
109
C.1. Form Login
109
C.2. Form Menu
109
C.3. Form Stok Buku
110
C.4. Form Order Buku
112
BAB V : ANALISIS HASIL IMPLEMENTASI
115
A. Analisa Tools Pengembang
115
B. Analisa Hasil Perangkat Lunak
115
BAB VI : PENUTUP
117
A. Kesimpulan
117
B. Saran
117
xv
Tabel 3.1. Tabel Buku (Penerbit)
46
Tabel 3.2. Tabel Toko_Buku (Penerbit)
46
Tabel 3.3. Tabel Kategori
46
Tabel 3.4. Tabel Stok (Penerbit)
47
Tabel 3.5. Tabel Order_Buku (Penerbit)
47
Tabel 3.6. Tabel Detail_Order_Buku (Penerbit)
47
Tabel 3.7. Tabel Faktur (Penerbit)
47
Tabel 3.8. Tabel Detail_Faktur (Penerbit)
48
Tabel 3.9. Tabel Buku (Toko Buku)
48
Tabel 3.10. Tabel Penerbit (Toko Buku)
48
Tabel 3.11. Tabel Pelanggan (Toko Buku)
49
Tabel 3.12. Tabel Faktur (Toko Buku)
49
Tabel 3.13. Tabel Penjualan (Toko Buku)
49
Tabel 3.14. Tabel Transaksi_Penjualan (Toko Buku)
50
Tabel 3.15. Tabel Order_Buku (Tok Buku)
50
xvi
Halaman
Gambar 2.1. Simbol Use Case
13
Gambar 2.2. Simbol Actor
13
Gambar 2.3. Simbol Use Case Association Relationship
13
Gambar 2.4. Simbol Use Case Extends Relationship
14
Gambar 2.5. Simbol Use Case Uses Relationship
14
Gambar 2.6. Simbol Use Case Depends on Relationship
15
Gambar 2.7. Simbol Use Case Inheritance Relationship
15
Gambar 2.8. Simbol Entity
16
Gambar 2.9. Notasi Relasi
17
Gambar 2.10. Simbol Proses
19
Gambar 2.11. Simbol External Agent
20
Gambar 2.12. Simbol Data Store
20
Gambar 3.1. Use Case Diagram Penerbit
37
Gambar 3.2. Use Case Diagram Toko Buku
38
Gambar 3.3. Gambaran sistem yang baru
39
Gambar 3.4. Gambar Context Diagram Penerbit
39
Gambar 3.5. Gambar Hirarki Diagram Penerbit
40
Gambar 3.6. Gambar DFD Level 0 Penerbit
40
Gambar 3.7. Gambar Context Diagram Toko Buku
41
xvii
Gambar 3.12. ER-Diagram Penerbit
43
Gambar 3.13. ER-Diagram Toko Buku
44
Gambar 3.14. Form Output Faktur
51
Gambar 3.15. Form Output Nota
51
Gambar 3.16. Form Faktur
52
Gambar 3.17. Form Input Faktur
53
Gambar 3.18. Form Input Buku
53
Gambar 3.19. Form Input Buku Andi Offset
54
Gambar 3.20. Form Cek Faktur
54
Gambar 3.21. Form Edit Faktur
55
Gambar 3.22. Form Edit Buku
55
Gambar 3.23. Form Input Data Penjualan
56
Gambar 3.24. Form Input Order
57
Gambar 3.25. Form Login
57
Gambar 3.26. Form Menu
58
Gambar 3.27. Form Lihat Stok
58
Gambar 3.28. Form Lihat Order
59
Gambar 3.29. Form Login
59
Gambar 3.30. Form Menu
60
xviii
Gambar 4.5. Cetak Faktur (ditujukan ke Toko Buku Toga Mas)
68
Gambar 4.6. Form Login Toko Buku Andi Star
69
Gambar 4.7. Form Login Toko Buku Toga Mas
70
Gambar 4.8. Form Menu Utama Staff Toko Buku Andi Star
72
Gambar 4.9. Form Menu Utama Staff Toko Buku Toga Mas
72
Gambar 4.10. Form Input Faktur Toko Buku Andi Star
73
Gambar 4.11. Form Input Faktur Toko Buku Toga Mas
75
Gambar 4.12. Form Input Buku Toko Buku Andi Star
76
Gambar 4.13. Form Input Buku Toko Buku Andi Star
80
Gambar 4.14. Form Input Buku Toko Buku Toga Mas
81
Gambar 4.15. Form Cek Faktur Toko Buku Andi Star
83
Gambar 4.16. Form Cek Faktur Toko Buku Toga Mas
84
Gambar 4.17. Form Edit Faktur Toko Buku Andi Star
86
Gambar 4.18. Form Input Faktur Toko Buku Toga Mas
88
Gambar 4.19. Form Edit Buku Toko Buku Andi Star
91
Gambar 4.20. Form Edit Buku Toko Buku Toga Mas
93
Gambar 4.21. Form Order Buku Toko Buku Andi Star
95
Gambar 4.22. Form Order Buku Toko Buku Toga Mas
97
Gambar 4.23. Form Transaksi Toko Buku Andi Star
102
xix
Gambar 4.28. Form Stok Buku
110
1
A. Latar Belakang Masalah
Informasi merupakan hasil dari pengolahan data yang sangat berharga.
Kita dapat mengambil suatu keputusan atau tindakan yang baik berdasarkan
informasi yang telah kita peroleh . Sistem informasi merupakan sistem yang dapat
mengolah data-data untuk menghasilkan suatu informasi kepada semua pihak
yang membutuhkan informasi tersebut.
Seiring dengan perkembangan teknologi yang pesat, ada banyak cara
untuk mengetahui informasi yang kita butuhkan. Akan tetapi, masalah akan
muncul bila informasi yang ingin kita ketahui tidak hanya berasal dari satu
tempat, padahal saat itu juga kita harus mengambil keputusan atau tindakan yang
tepat.
Salah satu contoh masalah di atas adalah pada kasus stok buku pada setiap
toko buku yang menjual buku milik sebuah penerbit. Pihak penerbit tentunya
ingin mengetahui jumlah stok buku di setiap toko buku, supaya bila stok buku di
toko buku tersebut tinggal sedikit atau bahkan habis, maka penerbit dapat dengan
segera mengirimkan buku kembali.
Dari latar belakang itulah, maka penulis tertarik untuk mengembangkan
sistem informasi stok buku berbasis
web services
dengan menggunakan teknologi
.NET dengan mengambil studi kasus pada Penerbit Andi Offset, Toko Buku Andi
Star, dan Toko Buku Toga Mas.
B. Rumusan Masalah
Bagaimana membuat suatu sistem informasi berbasis
web services
yang
digunakan untuk mengetahui stok buku yang ada di suatu toko buku .
C. Batasan Masalah
Dalam pembuatan sistem informasi stok buku ini dilakukan beberapa
batasan sebagai berikut :
1.
Sistem informasi ini akan dicoba dengan cara simulasi (1 penerbit dan
2 toko buku).
a. Andi Offset (sebagai penerbit) : menggunakan
tool
Microsoft
Visual studio .NET 2003 dengan bahasa pemrograman C# dan
database
SQL Server 2000.
b. Andi Star (sebagai toko buku) : menggunakan
tool
Microsoft
Visual Studio .NET 2003 dengan bahasa pemrograman C# dan
database
SQL Server 2000.
c. Toga Mas (sebagai toko buku) : menggunakan
tool
Netbeans 5.0
dengan bahasa pemrograman Java dan
database
MySQL 5.
D. Tujuan Penelitian
Membuat sistem informasi stok buku berbasis
web services
dengan
menggunakan teknologi .NET.
E. Metodologi Penelitian
Metodologi yang digunakan oleh peneliti dalam penelitian ini adalah studi
kasus dengan langkah-langkah sebagai berikut:
1.
Observasi ke toko buku dan penerbit tentang bagaimana sistem yang
digunakan untuk memantau informasi stok buku.
2.
Studi literatur tentang pemrograman dengan menggunakan C#, Java, web,
dan database SQL Server 2000, MySQL 5.
3.
Mengembangkan sistem informasi stok buku dengan menggunakan
metode pengembangan perangkat lunak secara terstruktur :
a. Menganalisa dan merancang sistem (menu,
database
, user interface,
proses).
b. Mengimplementasikan hasil rancangan ke dalam bahasa pemrograman.
c. Menguji coba program per modul kemudian secara keseluruhan.
d. Mengevaluasi sistem informasi apakah sudah dapat berjalan dengan
baik.
F. Sistematika Penulisan
BAB I : PENDAHULUAN
dan tenaga peneliti, tujuan dari penelitian, metode penelitian yang
digunakan oleh peneliti.
BAB II : LANDASAN TEORI
Bab ini berisi tentang teori-teori yang berkaitan erat dan
dipergunakan dalam penelitian masalah ini.
BAB III : ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang analisis sistem yang dibutuhkan dalam
penelitian ini. Berdasarkan hasil analisis sistem tersebut kemudian
dirancang sistem untuk menyelesaikan masalah penelitian ini.
BAB IV : IMPLEMENTASI SISTEM
Bab ini berisi tentang kegiatan peneliti mengubah rancangan ke
dalam bentuk program.
BAB V : ANALISIS HASIL IMPLEMENTASI
Bab ini berisi tentang analisis hasil penelitian yang dapat diambil
peneliti selama penelitian ini.
BAB VI : PENUTUP
5
A. Perangkat Lunak (Software)
Perangkat lunak adalah sekumpulan item atau objek yang membentuk
sebuah konfigurasi yang terdiri dari program, data, dan dokumentasi. “Software is
(1) instructions (computer programs) that when execute provide desired function
and performance, (2) data structures that enable the programs to adequately
manipulate information, and (3) documents that describe the operation and use of
the programs” (Pressman,2001).
Peran dari perangkat lunak yaitu sebagai suatu produk dan kendaraan yang
mengantarkan produk. Sebagai produk, perangkat lunak merupakan suatu
transformer informasi yang memproduksi, mengatur, memperoleh, memodifikasi,
menampilkan, dan menyalurkan informasi apapun ke seluruh dunia. Sebagai
kendaraan yang mengantarkan sebuah produk, perangkat lunak berlaku sebagai
kontrol komputer (sistem operasi), komunikasi informasi (jaringan), dan
penciptaan serta kontrol dari program-program lain (piranti dari lingkungan
perangkat lunak).
Tiga karakteristik dari perangkat lunak yang berbeda dengan perangkat
keras (Pressman,2001) :
1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk
klasik.
3. Sebagian besar perangkat lunak dibuat secara
custom-built, serta tidak dapat
dirakit dari komponen yang sudah ada.
Delapan area aplikasi perangkat lunak (Pressman,2001) :
1. System software
System software merupakan sekumpulan program yang ditulis untuk melayani
program-program yang lain.
2. Real-time software
Real-time software
adalah program-program yang memonitor, menganalisis,
atau mengontrol kejadian dunia nyata pada saat terjadinya.
3. Bussiness software
Bussiness software merupakan area yang paling luas dari area aplikasi
perangkat lunak. Sistem diskrit (contoh :
payroll, inventory,
dll) telah
mengembangkan perangkat lunak sistem informasi manajemen (SIM) yang
mengakses satu atau lebih database besar yang berisi informasi bisnis.
4. Engineering and scientific software.
5. Embedded software
Embedded software
ada di dalam
read only memory
dan dipakai untuk
mengontrol hasil serta sistem untuk keperluan konsumen dan pasar industri.
6. Personal computer software
Artificial software adalah perangkat lunak yang menggunakan algoritma
non-numeris
untuk memecahkan masalah kompleks yang tidak sesuai untuk
perhitungan atau analisis secara langsung.
B. Sistem Informasi
“Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang
saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan
untuk menyelesaikan suatu sasaran yang telah ditentukan” (Jogiyanto,1995).
“Information is data that is organized, meaningful, and useful”
(Capron,2000). Informasi adalah data yang telah disaring dan diorganisasikan oleh
suatu proses dan untuk suatu maksud tertentu. Sementara, data itu sendiri adalah
fakta-fakta ‘mentah’ tentang organisasi dan transaksi bisnisnya.
“An informastion system(IS) is an arrangement of people, data, processes,
information presentation, and information technology that interact to support and
improve day-to-day operations in a business as well as support the problem
solving and decision making needs of management and users” (Whitten,2005).
C. Proses Pengembangan Sistem Informasi
dikembangkan. Stakeholder untuk sistem informasi dapat dibagi menjadi enam
kelompok (Whitten,2005) :
1. System owners : membayar sistem untuk dibangun dan dipelihara.
2. System users
: yang secara nyata menggunakan sistem untuk membantu
menyelesaikan pekerjaannya.
3. System designers : mendesain sistem untuk mempertemukan pemakai.
4.
System builders
: membangun, menguji, dan mengantarkan sistem ke dalam
operasi.
5.
System analyst
: memfasilitasi pengembangan dari sistem informasi dan
aplikasi komputer dengan menjembatani “jurang” komunikasi yang terjadi
antara nontechnical (system owners dan users) dan technical (system designers
and builders).
6.
IT vendors and consultant
: menjual perangkat keras, perangkat lunak, dan
pelayanan untuk kerja sama bisnis dalam sistem informasi.
Ada tiga hal yang dapat memicu proyek pengembangan sistem
(Whitten,2005) :
1. Problems adalah situasi yang tidak diinginkan yang mencegah organisasi untuk
mencapai tujuannya.
2.
Opportunities
adalah kesempatan untuk meningkatkan organisasi walaupun
tanpa masalah yang khusus.
James Wetherbe dan Nicholas P. Vitalari mengembangkan kerangka kerja
PIECES yang berguna untuk mengkategorikan
problem, opportunity,
dan
directive tersebut. Kategori tersebut sesuai dengan akronim dari PIECES yaitu :
1.
Performance (kinerja), peningkatan terhadap kinerja (hasil kerja) sistem yang
baru sehingga lebih efektif.
2.
Information (informasi), peningkatan terhadap kualitas informasi yang
disajikan.
3. Economy (ekonomis), peningkatan terhadap manfaat-manfaat atau
keuntungan-keuntungan atau penurunan-penurunan biaya yang terjadi.
4.
Control (pengendalian), peningkatan terhadap pengendalian untuk mendeteksi
dan memperbaiki kecurangan-kecurangan yang akan terjadi.
5. Eficiency (efisiensi), peningkatan terhadap efisiensi operasi.
6.
Services (pelayanan), peningkatan terhadap pelayanan yang diberikan oleh
sistem.
Tahap-tahap pengembangan sistem secara klasik (Whitten,2005) :
1. Scope definition
PIECES merupakan kerangka kerja yang baik yang dapat digunakan pada
tahap ini.
2. Problem analysis
Tahap ini adalah studi untuk sistem yang ada sekarang dan menganalisis
temuan-temuan untuk menyediakan informasi kepada tim proyek dengan lebih
memahami masalah yang terjadi dalam proyek.
Hasil dari tahap ini adalah sekumpulan system improvement objectives
(tujuan-tujuan peningkatan sistem) yang diperoleh melalui pemahaman dari masalah
bisnis.
3. Requirement analysis
Tahap ini mendefinisikan dan memberi prioritas terhadap kebutuhan sistem.
Use case diagram dapat digunakan untuk membantu mendefinisikan kebutuhan
sistem pada tahap ini.
4. Logical design
Tahap ini akan menerjemahkan kebutuhan bisnis pemakai ke dalam sistem
model yang hanya memperhatikan kebutuhan bisnis dan tidak pada desain
technical atau implementasi dari kebutuhan tersebut.
Tahap ini meliputi dua langkah, yaitu :
a.
Data modeling : memodelkan tabel-tabel yang akan digunakan untuk
menyimpan data-data dalam database.
5. Decision analysis
Tujuan dari tahap ini adalah mengidentifikasikan kandidat solusi teknik,
menganalisa kebutuhan tersebut untuk
feasibility, dan merekomendasikan
kandidat sistem sebagai target solusi yang akan didesain.
Evaluasi terhadap kandidat solusi dengan memperhatikan kriteria :
-
Technical feasibility
-
Operasional feasibility
-
Economic feasibility
-
Schedule feasibility
-
Risk feasibility
6. Physical design and integration
Tahap ini akan menerjemahkan kebutuhan bisnis pemakai ke dalam sistem
model yang menggambarkan implementasi teknik dari kebutuhan bisnis
pemakai.
Fokus pada tahap ini pada
view yang berbasis teknologi dari sistem, yang
meliputi (1)
physical database design spesification, (2)
physical business
process and software design spesification, dan (3)
physical user and system
interface spesification.
Ada 2 cara yang dapat dipakai dalam tahap ini, yaitu :
b. Design by prototyping adalah suatu cara yang tidak lengkap tetapi merupakan
aplikasi atau subsistem fungsional (prototypes) yang dibangun dan
didefinisikan berdasarkan feedback dari pemakai atau desainer yang lain.
7. Construction and testing
Tujuan dari tahap ini yaitu (1) membangun dan menguji sistem apakah sudah
sesuai dengan kebutuhan dan spesifikasi dari
physical design, dan (2)
mengimplementasikan interface antara sistem yang baru dengan sistem yang
ada.
8. Installation and delivery
Kegiatan-kegiatan yang dilakukan pada tahap ini adalah instalasi sistem,
training pemakai, manual sistem, mengkonversi
file dan database yang ada ke
database yang baru, final testing, dan prosedur konversi.
D.
Use Case Diagram
“Use case modeling is the process of modeling system’s functions in terms
of business events, who initiated the events, and how the system responds to the
events” (Whitten,2005).
Use case diagram adalah sebuah digram yang menggambarkan interaksi
antara sistem dan eksternal sistem dan user.
1. Use case
“A use case is a behaviorally related sequence of steps (a scenario), both
automated and manual, for the purpose of completing a single business task”
(Whitten,2005). Use case merupakan bagian dari seluruh fungsi sistem.
Gambar 2.1. Simbol Use Case (diambil dari Whitten,2005)
2. Actor
“An actor is represents anything that needs to interact with the system to
exchange information” (Whitten,2005).
Actor
Gambar 2.2. Simbol Actor (diambil dari Whitten,2005)
3. Use case association relationship
Association adalah relasi antara
actor dan sebuah
use case dimana terjadi
interaksi diantara mereka.
Actor 1 Actor 2
4. Use case extends relationship
Extension use case
adalah sebuah use case yang berisi langkah-langkah yang
diekstrak dari sebuah use case yang lebih kompleks agar menjadi use case yang
lebih sederhana dan kemudian diberikan tambahan fungsinya.
Relationship
antara extension use case dan use case yang di-extend disebut dengan extends
relationship.
<<extend>> <<extend>>
Gambar 2.4. Simbol Use Case Extends Relationship (diambil dari Whitten,2005)
5. Use case uses relationship
Abstract use case merupakan sebuah
use case yang mengurangi
redudancy
antara satu atau lebih
use case dengan cara mengkombinasikan
langkah-langkah yang umum yang ditemukan dalam
case-nya.
Relationship antara
abstract use case
dan
use case yang digunakannya disebut dengan
uses
(or
includes) relationship.
<<uses>> <<uses>>
6.Use case depends on relationship
Depends on adalah sebuah relasi
use case yang menentukan bahwa
use case
yang lain harus dibuat sebelum current use case.
<<depends on>> <<depends on>>
Gambar 2.6. Simbol
Use Case Depends on Relationship (diambil dari
Whitten,2005)
7. Use case inheritance relationship
Inheritance adalah relasi
use case yang tingkah laku pada umumnya
menggambarkan dua
actor yang meng-initiating
use case yang sama akan
ditugaskan dan di-extrapolasi dalam
abstract actor yang baru untuk
mengurangi redudancy.
Abstract actor
Actor 1 Use case 1 Actor 2
Use case 2
E.
Entity Relationship Diagram
(ER Diagram)
“Data modeling is a technique for organizing and documentation a
system’s data” (Whitten,2005). Model aktual yang sering digunakan untuk
menggambarkan data modeling adalah entity relationship diagram (ER Diagram).
Simbol-simbol yang sering digunakan dalam ER Diagram :
1. Entity
“An entity is something about which the business needs to store data”
(Whitten,2005). Entity instance adalah kejadian tunggal dari sebuah entity.
Gambar 2.8. Simbol Entity (diambil dari Whitten,2005)
2. Relationship
“A relationship is a natural business association that exists between one ore
more entities” (Whitten,2005).
“Cardinality defines the minimum and maximum number of occurrences of
one entity that may be related to a single occurrence of the other entity.
Because all relationship are bi-directional, cardinality must be defined in
both directions for every relationship” (Whitten,2005).
Muatan Relasi
(Minimum,Maksimum)
Notasi
(0,N)
(1,N)
Nama_Entity
Nama_Entity (0,N)
(1,1)
(0,1)
Gambar 2.9. Notasi Relasi
Tahapan yang dilakukan dalam
data modeling
selama analisis sistem
(Whitten,2005) :
1. Menggambar context data model untuk memperoleh scope proyek.
2. Menggambar key-based data model
*) Mengeliminasi non specific relationship
Non specific relationship adalah relasi dimana banyak atribut dari
sebuah
instance berasosiasi dengan banyak instance dari entity yang
lainnya. Disebut juga dengan many-to-many relationship.
*) Menambahkan associative entity
Associative entity adalah sebuah
entity
yang menurunkan
primary
key-nya ke lebih dari satu entity (disebut parents).
*) Menambahkan primary key dan alternate key
Primary key
adalah sebuah
candidate key yang paling umum
digunakan untuk mengidentifikasi secara unik
instance dari
entity
tunggal.
Candidate key adalah suatu dari nilai
key yang paling umum
digunakan untuk mengidentifikasi secara unik
instance dari
entity
yang tunggal.
Nama_Entity (1,1)
Key adalah sebuah atribut atau kelompok atribut yang diasumsikan
memiliki nilai yang unik untuk sebuah instance.
Alternate key adalah sebuah
candidate key yang tidak dapat dipilih
untuk menjadi primary key.
*) Cardinality yang tepat.
3. Membuat fully attrbuted data model
*) Memasukkan seluruh atribut.
Atribut (atribute) adalah sebuah properti yang deskriptif atau
karakteristik dari sebuah entity.
*) Subsetting criteria
Subsetting criteria adalah sbuah atribut yang memiliki nilai finite
yang membagi ke seluruh
instance entity ke dalam sebuah
subset
yang bermanfaat.
4. Normalization
Normalization
(normalisasi) adalah teknik analisis data yang
mengorganisasikan data ke dalam kelompok-kelompok ke dalam bentuk
entity yang non-redundant, stabil, fleksibel, dan adaptif.
*)
First normal form
(1NF) dimana tidak terdapat atribut dari sebuah
entity yang memiliki satu atau lebih nilai untuk instance tunggal dari
entity-nya.
*)
Third normal form (3NF) dimana non-primary key dari sebuah entity
tidak tergantung non-primary key yang lain.
F.
Data Flow Diagram
(DFD)
Data flow diagram (DFD) digunakan untuk menggambarkan suatu sistem
yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau
lingkungan fisik dimana data tersebut akan disimpan. DFD merupakan alat yang
digunakan pada metodologi pengembangan sistem yang terstruktur (Structural
Analysis and Design).
Sebelum menggambarkan DFD,
process modeling juga dapat dibantu
dengan
context data flow diagram dan
decompotiton diagram. “A context data
flow diagram defines the scope and boundary for the system and project”
(DeMacro,1978). “A decomposition diagram shows the top-down functional
decomposition or structure of a system” (Whitten,2005).
Simbol-simbol umum yang dipakai dalam DFD adalah :
1. Proses
Proses adalah kerja yang dilakukan oleh sistem dalam merespon
data
flow yang datang atau suatu kondisi.
Gambar 2.10. Simbol Proses (diambil dari Whitten,2005)
2. External agent / external entity
External agent adalah orang, unit organisasi, sistem, atau organisasi luar
yang berinteraksi dengan sistem.
Gambar 2.11. Simbol External Agent (diambil dari Whitten,2005)
3. Data store
Data store adalah penyimpanan data untuk penggunaan selanjutnya.
Data StoreGambar 2.12. Simbol Data Store (diambil dari Whitten,2005)
G. Internet dan
World Wide Web
“Internet is a public communication network once used primarily by
business, government, and academic institution but now also used by individuals
via variuos private access method” (Capron,2000).
Menurut Dr. Volker Muller, istilah internet (mulai dengan “i”) adalah
singkatan
international network (jaringan internasional).Jaringan internasional
tersebut bisa jaringan sebuah perusahaan multi-nasional (atau lembaga/badan)
yang terbatas untuk karyawan-karyawan perusahaan tersebut. Sebaliknya, istilah
“Internet” (mulai dengan “I”) adalah sebuah
Public International Network of
Network bisa dipakai oleh siapa saja dan tidak terbatas pada kelompok orang
tertentu saja.
“Intranet is a private Internet-like network internet to a certain company”
(Capron,2000).
“World Wide Web (the web) is an internet subset of sites with text, images,
and sounds; most web site provides links to reated topic” (Capron,2000).
“Web site is an individual location on the world wide web” (Capron,2000).
Ada dua aplikasi khusus yang digunakan dalam aplikasi
web, yaitu
web
browser, misalnya
Internet Explorer, Netscape/Mozilla, atau
Opera pada sisi
client, dan web server, misalnya Apache, Microsoft (IIS), SunOne, atau Zeus pada
sisi server.
Aplikasi
web berjalan minimal dalam arsitektur
3-tier.Arsitektur
3-tier
terdiri dari 3 lapisan, yaitu :
1. Presentation Layer, yaitu lapisan yang dekat dengan pemakai web.
2.
Business Logic Layer, yaitu lapisan tempat pemrosesan segala sesuatu yang
dibutuhkan.
3. Data Layer, yaitu lapisan dimana database berada.
H. SQL (
Structured Query Language
)
SQL adalah bahasa pemrograman yang dapat digunakan untuk akses ke
database. SQL diciptakan oleh perusahaan IBM sekitar tahun 1970, pada waktu
yang bersamaan dengan diperkenalkannya konsep
relational database. “Bahasa
SQL dapat digolongkan bahasa generasi ke-4 yang tidak berupa bahasa yang
berstruktur sehingga bahasa SQL mudah dipelajari” (Wijaya,2003).
Pernyataan(statement) SQL dapat digolongkan atas tiga golongan, yaitu :
1. Data Definition Language (DDL) yang mendefinisikan struktur data.
Perintah CREATE digunakan untuk membuat table dengan sintaks sebagai
berikut :
CREATE TABLE [Pemakai.] Nama_Tabel
({Nama_kolom_pertama Tipedata [default] [constraint kolom] constraint
tabel)
[,Nama_kolom_kedua Tipedata [default] [constraint kolom] constraint
tabel}]…)
[AS QUERY]
b. Perintah ALTER
Perintah ALTER digunakan untuk mengubah tabel yang telah dibuat (misal:
menambah kolom baru, mengubah ukuran kolom, mengubah aturan-aturan
yang berlaku untuk suatu kolom) dengan sintaks sebagai berikut :
ALTER TABLE [Pemakai.] Nama_Tabel
{[ADD({Nama_kolom | [constraint nama_constraint] constraint tabel}
[,Nama_kolom | [constraint nama_constraint] constraint tabel}]…)]
[MODIFY (Nama Kolom[,Nama Kolom]…)]
[DROP nama constraint]}
[ENABLE Nama_constraint | DISABLE Nama_constraint]
c. Perintah DROP
Perintah DROP digunakan untuk menghapus suatu tabel dengan sintaks
sebagai berikut :
2.
Data Manipulation Language
(DML) yang dapat mencari (query) dan
mengubah (modify) suatu tabel.
a. Perintah SELECT
Perintah ini adalah perintah yang sering digunakan karena kegunaannya
untuk membaca (query) isi tabel.
SELECT [ALL | DISTINCT {*| [Pemakai.|nama_tabel.*| Ekspresi
[Alias[,Ekspresi Alias]]…}
FROM [Pemakai.]Nama_tabel[@nama_database][alias]…
[WHERE kondisi]
[CONNECT BY Kondisi[START WITH Kondisi]]
[GROUP BY Ekspresi[,Ekspresi]…]
[HAVING kondisi]
[(UNION [ALL] | INTERSECT | MINUS) SELECT …]
[ORDER BY {Ekspresi | Posisi} [ASC | DESC]…
[,{Ekspresi | Posisi }[ASC | DESC]]]…
[FOR UPDATE [OF[[Pemakai.]{Nama_tabel | Nama_view}.]]…]
[NO WAIT]
b. Perintah INSERT
Perintah ini digunakan untuk memasukkan data ke tabel. Sintaks :
INSERT INTO [Pemakai.]Nama_Tabel[@nama_database]
[(Nama_Kolom[,Nama_Kolom]…)]
Perintah in digunakan untuk mengubah isi tabel. Sintaks :
UPDATE [Pemakai.]Nama_tabel
SET {Nama_Kolom=Ekspresi[,Nama_Kolom=Ekspresi]…|
(Nama_kolom[,Nama_Kolom]..) = (Subquery) | [WHERE kondisi]
d. Perintah DELETE
Perintah ini digunakan untuk menghapus isi tabel. Sintaks :
DELETE
FROM
[Pemakai.]Nama_Tabel[@nama_database][WHERE
Kondisi]
3.
Data Control Language (DCL) yang mengatur hak-hak (privilege) untuk
seorang pemakai database.
I.
Extensible Markup Language
(XML)
XML merupakan dasar terbentuknya web services. Bahkan di level paling
detail,
web services secara keseluruhan dibentuk di atas XML. XML digunakan
untuk menjelaskan suatu data yang bersifat platform independent.
Tag dalam XML menjelaskan mengenai informasi dan struktur suatu
dokumen. Aplikasi yang mengartikan tag-tag yang ada sesuai dengan struktur
dokumennya, mampu mendapatkan informasi yang terkandung dalam dokumen
XML tersebut.
Sebagai contoh, dokumen XML berikut mengidentifikasikan suatu
informasi. Informasi yang diidentifikasikan adalah
bookshelf. XML ini juga
terdiri atas dua subordinat
book, dimana tiap
book mempunyai tiga subordinat
title, author, dan price.
<bookshelf> <book>
<title>Thick Face Black Heart</title> <author>Chin Nin-Chu</author>
<price>35.000</price> </book>
<book>
<title>Self Management</title>
<author>Ariwibowo Prijaksono</author> <price>35.000</price>
</book> </bookshelf>
J.
Web Services
Web services merupakan salah satu bentuk implementasi dari arsitektur
model aplikasi N-tier. Perbedaan web services dengan pendekatan N-tier lainnya
adalah dari segi infrastrukur dan dokumen yang digunakan sebagai format
pertukaran data.
Dalam implementasinya, web services tidak mempunyai tampilan, karena
web services memang termasuk dalam
tier business services. Artinya, di dalam
web services hanya tersedia fungsi-fungsi yang nantinya dapat digunakan oleh
suatu aplikasi.
-
Web services tidak mendukung transaksi
Dalam database dikenal adanya istilah
transaction, dimana transaksi-
transaksi yang dilakukan terhadap database dapat commit atau
di-rollback berdasarkan kondisi tertentu. Protokol SOAP saat ini belum
mendukung penggunaan transaksi.
-
Mekanisme callback
Web services tidak dapat digunakan untuk melakukan
callback terhadap
client. Artinya,
web services tidak dapat mengaktifkan method-method
yang berada di client.
-
Isu dalam debugging
Ketika terjadi error pada saat pemanggilan
web method, web sevices
merespon dalam bentuk informasi kesalahan SOAP. Artinya, error muncul
di server tidak sama dengan pesan error yang ada di
client. Sebagai
contoh, saat pemanggilan suatu web method yang berhubungan dengan
database terjadi time-out, di server kita dapat mengetahui exception yang
muncul, namun di sisi client hanya menerima exception SoapException.
-
Performance
Web services membutuhkan suatu infrastruktur jaringan yang cukup baik,
dalam hal ini kita tidak dapat begitu saja mengimplementasikan
web
services dalam sistem yang tidak didukung dengan infrastruktur jaringan
yang memadai.
Karena di dalam suatu web services mengandung fungsi-fungsi yang dapat
digunakan oleh aplikasi lain, XML saja tidak cukup untuk mengimplementasikan
web services. SOAP merupakan suatu dokumen XML yang mengatur bagaimana
request dan respons dari suatu web services akan bekerja.
<?xml version=”1.0” encoding=”UTF-8” standalone=”no”?> <soap:Envelope>
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/> <soap:Body>
<Calculate xmlns=’http://tempuri.org/’> <FromZipCode>12345</FromZipCode> <ToZipCode>97403-1627</ToZipCode> </Calculate>
</soap:Body> </soap:Envelope>
Kode tersebut merupakan salah satu contoh dokumen SOAP yang
menggunakan method
Calculate
dan mempunyai dua buah parameter
(FromZipCode dan ToZipCode).
L.
Web Service Description Language
(WSDL)
WSDL merupakan suatu dokumen XML yang menjelaskan
method-method apa saja yang tersedia dalam suatu web service, parameter apa saja yang
diperlukan untuk memanggil suatu
method, dan apa hasil dari
method yang akan
dipanggil.
<definitions>……… <types>………
<portType name=”Service1Soap”>……… <binding name=”Service1Soap”>……… <service name=”Service1”>……… </definitions>
M.
Universal Description, Discovery, and Integration
(UDDI)
UDDI merupakan suatu
directory service untuk
web services, di mana di
dalamnya kita bisa mencari
web services berdasarkan
keyword
dan kategori
tertentu.
N. .NET
.NET Platform merupakan satu set kumpulan teknologi yang
memungkinkan teknologi
Internet ditransformasikan ke dalam platform
distributed computing
dengan skalabilitas dan kompatibilitas tinggi. Secara
teknikal, .NET Platform menyediakan konsep pemrograman dengan
library dan
modul-modul baru yang konsisten, terlepas dari jenis bahasa pemrograman yang
digunakan.
.NET Platform menyediakan hal-hal berikut bagi para developer :
1) Language independent, dengan programming model yang konsisten di
semua tier aplikasi yang dibangun.
2) Interoperability dan kompatibilitas antar aplikasi.
3) Kemudahan migrasi dari teknologi yang ada saat ini.
4) Dukungan penuh terhadap berbagai teknologi standar yang digunakan
dalam platform internet, antara lain HTTP, XML, SOAP dan HTML.
1) .NET Framework
.NET Framework adalah teknologi inti yang menyediakan berbagai library
untuk digunakan oleh aplikasi di atasnya. Komponen inti .NET
Framework adalah Common Language Runtime (CLR) yang menyediakan
run time environment untuk aplikasi yang dibangun menggunakan Visual
Studio .NET, terlepas dari jenis bahasa pemrogramannya.
Dengan adanya CLR tersebut, programmer dapat menikmati
consistent
object model dalam mengakses berbagai komponen library. Dengan
demikian penggunaan bahasa pemrograman dalam dunia .NET adalah
lebih ke masalah selera atau
taste, dan bukan pada kelebihan maupun
kekurangan masing-masing bahasa. Mengapa ? Karena semua bahasa
pemrograman yang mensupport .NET mengakses library yang sama di
dalam .NET Framework, dengan object model yang konsisten, dengan run
time file yang sama. Bahasa adalah sekedar skin atau theme, bukan senjata
sakti. Bagi seorang .Net Developer, pemahaman terhadap konsep dan
object model .NET Framework adalah jauh lebih penting daripada bahasa
pemrograman itu sendiri.
Building block merupakan sekumpulan
services
yang bersifat
programmable, yang dapat diakses secara offline maupun online.
Service
tersebut merupakan modul-modul yang terdapat di suatu komputer, server
dalam jaringan, maupun di suatu server di internet.
Service ini merupakan suatu idealisasi di masa depan, dimana sebuah
aplikasi bersifat terdistribusi dengan modul-modul yang tersimpan di
berbagai tempat, tetapi dapat diintegrasikan membentuk suatu aplikasi.
Konsep ini merupakan arah pengembangan
subscription based software,
yang saat ini mulai banyak berkembang dan dikenal sebagai
Application
Service Provider.
Service tersebut dapat diakses oleh berbagai
platform, asalkan
platform
tersebut mensupport protokol SOAP, yang merupakan protokol standar
dalam mengakses
web service. Peranan XML sebagai media definisi data
menjadi sangat penting dalam hal ini, dan XML juga menjadi pusat
perubahan besar dalam platform .NET. Dalam pelajaran selanjutnya, anda
akan melihat bahwa semua data dalam .NET selalu direpresentasikan
dalam bentuk XML.
3) Visual Studio .NET
Programming dengan baik, jika tidak ingin menghasilkan aplikasi dengan
performa rendah.
VS.Net juga semakin mempertipis jarak antara Windows Programmer
dengan Web Programmer. Dunia scripting yang akrab bagi programmer
web akan sulit ditemukan dalam .NET, karena pemrograman web sudah
bersifat
full object oriented, dengan fasilitas
event driven programming
sebagaimana layaknya windows programming. Pemrograman web menjadi
lebih mudah dan menyenangkan bagi para
programmer windows,
sedangkan anda para veteran
scripting language sudah saatnya untuk
beralih ke ASP.NET, yang dapat diprogram menggunakan VB, C#, C++
maupun Phyton dan COBOL sekalipun.
Microsoft masih menyediakan Jscript.NET bagi anda para pecandu
JavaScript dan JScript, sedangkan versi .Net dari VBScript belum
diketahui apakah akan disediakan atau tidak. Para veteran VB.Script
disarankan untuk mempelajari VB, sehingga dapat menggunakan VB.Net
untuk membangun aplikasi web. Bahasa pemrograman yang terdapat di
VS.NET adalah VB.NET, C#, C++ .NET, J#, dan Jscript .NET. Dalam
masa mendatang akan terus ditambah berbagai bahasa pemrograman lain.
4) .Net Enterprise Server
yang disediakan antara lain adalah Windows 2000 Server, SQL Server,
Exchange, ISA Server dan BiZTalk Server.
Ada beberapa alasan yang menguntungkan bila mempelajari .NET :
*) Multi Language
Arsitektur .NET bersifat terbuka, sehingga memungkinkan berbagai
bahasa pemrograman mengakses CLR dengan mulus. Banyak kalangan
menyebut .NET sebagai “open source” versi Microsoft. Saat ini .NET dapat
diprogram menggunakan Visual Basic.NET, C++.NET, Visual C#, Jscript, dan
J#. Berbagai
third Party yang dapat digunakan adalah COBOL, Eiffel,
Smalltalk, Perl, Phyton, ML, Pascal, dan Delphi. Para veteran Pascal mungkin
tidak pernah bermimpi membuat aplikasi web dengan bahasa “kuno” tersebut,
tetapi kehadiran .Net Framework merealisasikan hal tersebut.
Bagan berikut menjelaskan kedudukan bahasa pemrograman terhadap .NET
Framework dengan CLR sebagai intinya.
dari satu bahasa ke bahasa lain dalam satu proyek aplikasi yang sama. .Net
menyediakan integrasi bahasa pemrograman dalam satu peroyek aplikasi. Hal
ini membuka kemungkinan kerjasama tim yang lebih baik, walaupun dalam
tim tersebut masing-masing memiliki keahlian bahasa pemrograman yang
berbeda.
*) No DLL Hell
Anda tahu DLL ? Tentu saja, kalo tidak tentu anda bukan seorang
programmer. DLL merupakan blok atau modul-modul obyek dari sebuah
aplikasi. Peranannya sangat penting, sekaligus memusingkan. Sering terjadi
dalam dunia windows, kompatibilitas dan registrasi DLL di masing-masing
Workstation menjadi isu besar dalam deployment aplikasi.
*) Strong Typing dan Type Safety
*) Cross Platform Possibility
.Net menyimpan dan mengirim data dalam bentuk XML yang merupakan
format data universal di internet. Dengan demikian integrasi data antar
platform lebih mudah dilakukan, selama platform tersebut mendukung XML.
Representasi konsep ini adalah dataset, suatu cache data yang berbentuk XML
dan dapat diakses dengan mudah. Sebuah data dapat
diparsing antar
tier
aplikasi, baik dari database,
middle tier, maupun aplikasi klien dalam format
XML. Manipulasi format data dalam bentuk XML, .txt, maupun .rtf merupakan
sesuatu yang menantang para programmer untuk membuat aplikasi lintas
platform.
*) Code Once, More Application
35
A. Analisis Sistem
A.1. Fase Definisi
Permasalahan yang dihadapi dalam penelitian ini adalah bagaimana penerbit
dapat mengetahui stok buku yang diterbitkannya yang ada di masing-masing toko
buku.
Keterbatasan dari sistem yang ada sekarang ini adalah :
1. Sistem yang ada di penerbit belum dapat mengecek stok buku yang
diterbitkannya di masing-masing toko buku karena belum terhubung
secara online.
2. Pengecekan stok buku masih dilakukan secara manual, yaitu petugas
datang ke toko buku untuk mencatat stok buku.
Dari sudut pandang PIECES (Performance, Information, Economics,
Control, Efficiency, Service), maka inti permasalahan di atas dapat dijelaskan
secara lebih detail menjadi :
Performance
: Pengecekan stok buku di setiap toko buku masih dilakukan secara
manual, sehingga menyebabkan kinerja menjadi kurang efisien
dan bergantung pada petugas yang datang ke toko buku untuk
Information
: Informasi yang dihasilkan kurang fleksibel dan
up to date
karena
tidak mudah untuk mendapatkan informasi yang cepat dan
akurat.
Economics
: Membutuhkan tenaga kerja yang banyak untuk datang dan
mengecek stok buku di setiap toko buku.
Control
: Adanya kemungkinan kehilangan data sehingga terdapat kesalahan
dalam penyampaian informasi.
Efficiency
: Manager penerbit tidak dapat dengan segera mengetahui informasi
stok buku di suatu toko buku secara cepat dan akurat.
Service
: Sistem kurang fleksibel jika manager ingin segera mengetahui stok
buku di suatu toko buku.
A.2. Fase Analisis
A.2.1. Cause and Effect Analysis
A.2.1.1 Problem or Opportunity
Problem
(masalah) pokok dalam penelitian ini adalah pihak penerbit
(manager) tidak dapat mengetahui stok buku yang diterbitkannya yang ada di toko
buku secara langsung.
Opportunity
(peluang) yang dapat dimanfaatkan dalam penelitian ini
adalah kerjasama antara pihak penerbit dan toko buku akan semakin meningkat
A.2.1.2 Cause and Effects
Cause and effects
yang terjadi dari permasalahan tersebut adalah pihak
penerbit mengalami kesulitan untuk mengetahui stok buku yang diterbitkannya
yang ada di suatu toko buku.
A.2.2 Tujuan Pengembangan Sistem
Tujuan yang hendak dicapai dalam pengembangan sistem informasi stok
buku ini adalah agar dapat membantu pihak penerbit dalam mengetahui secara
online
stok buku yang diterbitkannya yang ada di suatu toko buku.
A.3. Requirement Analysis
A.3.1. Use Case Diagram Penerbit
Input Data Faktur
Cetak Faktur
Login
<<depend on>>
<<depend on>>
Manager Penerbit
Lihat Stok Toko Buku
<<depend on>> Staff Penerbit
Lihat Order Toko Buku
<<depend on>>
A.3.2. Use Case Diagram Toko Buku
Staff Toko Buku
Kasir
Update Data Faktur Pembelian
Update Data Buku
Order Buku
Login <<depend on>>
<<depend on>>
<<depend on>>
Input Data Penjualan ke Pelanggan
<<depend on>>
Gambar 3.2.
Use Case Diagram
Toko Buku
A.4. Logical Design
A.4.1. Gambaran Umum Sistem Baru
Sistem informasi stok buku ini akan memanfaatkan jaringan internet agar
pihak penerbit dan toko buku dapat terhubung secara
online
. Masing-masing
pihak (penerbit dan toko buku) akan menginputkan data stok awalnya
masing-masing. Ketika terjadi transaksi penjualan pada toko buku, sistem akan mengecek
apakah buku yang dibeli berasal dari penerbit ANDI. Bila tidak, maka sistem
hanya akan meng-
update
stok toko buku (lokal) yang ada di toko buku tersebut.
Bila ya, maka sistem akan meng-
update
stok toko buku (lokal) yang ada di toko
buku dan juga meng-
update
stok yang ada di
database
penerbit melalui fungsi
(
web service
) yang sudah disediakan di
web server
penerbit.
Dengan demikian, manager penerbit akan dapat dengan cepat dan akurat
Gambar 3.3. Gambaran sistem yang baru
A.4.2. Process Modeling (DFD)
A.4.2.1. Process Modeling Penerbit
A.4.2.1.1. Context Diagram Penerbit
A.4.2.1.2. Hirarki Diagram Penerbit
Gambar 3.5. Gambar Hirarki Diagram Penerbit
A.4.2.1.3. DFD Level 0
A.4.2.2. Process Modeling Toko Buku
A.4.2.2.1. Context Diagram Toko Buku
Gambar 3.7. Gambar Context Diagram Toko Buku
A.4.2.2.2. Hirarki Diagram Toko Buku
A.4.2.2.3. DFD Level 0 Toko Buku
Gambar 3.9. Gambar DFD Level 0 Toko Buku
A.4.2.2.4. DFD Level 1 Proses 2
A.4.2.2.5. DFD Level 1 Proses 3
Gambar 3.11. Gambar DFD Level 1 Proses 3
A.4.3. Data Modeling (E-R Diagram)
A.4.3.1. ER-Diagram Penerbit
tgl_faktur
Buku
Toko Buku
punya
id_bukujudul
pengarang isbn harga
id_tb nama_tb
alamat_tb telp_tb jml_stok
1..N 1..N
pesan
jml_pesan
Kategori
nama_kate id_kate
punya
1..N1
1..N 1..N
kirim
1..N 1..N
tgl_order id_order no_faktur
jumlah harga
diskon
Gambar 3.13. ER-Diagram Toko Buku
alamat_pelstok_awal pengarang
Pelanggan
Buku
Faktur
jual
isi
punya
id_pel no_identitas nama_peltelp_pel email
id_beli
jumlah tgl_jual
no_faktur tgl_faktur
diskon_pel diskon
id_buku
judul
isbn
harga stok
B. Perancangan Sistem
B.1. Desain Database
B.1.1. Logical Data Model (Hubungan Antar Tabel)
B.1.1.1. Logical Data Model Penerbit
B.1.1.2. Logical Data Model Toko Buku
Detail_Order_Buku
** id_order
** id_buku
jml_pesan
Order_Buku
* id_order
** id_tb
tgl_order
Toko_Buku
* id_tb
nama_tb
alamat_tb
telp_tb
Detail_Faktur ** no_faktur ** id_buku jumlah harga diskon Faktur * no_faktur ** id_tb tgl_fakturKategori
* id_kate
nama_kate
Stok
** id_buku ** id_tb jml_stok jml_lakuBuku
* id_buku
** id_kate
judul
pengarang
harga
isbn
Faktur * no_faktur ** id_penerbit tgl_faktur diskon diskon_pelOrder_Buku
* id_order
** id_penerbit
tgl_kirim
Kategori * id_kate nama_kate Pelanggan * id_pel no_identitas nama_pel alamat_pel telp_pel email Penerbit * id_penerbit nama_penerbit alamat_penerbit telp_penerbit
Transaksi_Penjualan
** id_jual
** id_buku
jumlah
Penjualan * id_jual ** id_pel tgl_jualB.1.2. Fisikal Desain
B.1.2.1. Tabel Buku (Penerbit)
Tabel 3.1. digunakan untuk menyimpan data-data buku pada penerbit.
Nama Tabel : Buku
Nama field Tipe data Ukuran Keterangan
*id_buku varchar 6 Primary key untuk setiap buku judul varchar 70 Judul buku yang dijual pengarang varchar 50 Pengarang buku yang dijual
isbn varchar 15 Kode buku
**id_kate integer - Foreign key untuk tabel buku harga integer - Harga buku yang dijual
Tabel 3.1. Tabel Buku (Penerbit)
B.1.2.2. Tabel Toko_Buku (Penerbit)
Tabel 3.2. digunakan untuk menyimpan data-data toko buku.
Nama Tabel : Toko_Buku
Nama field Tipe data Ukuran Keterangan
*id_tb integer - Primary key untuk setiap toko buku nama_tb varchar 50 Nama toko buku
alamat_tb varchar 100 Alamat toko buku telp_tb varchar 15 Telepon Toko Buku
Tabel 3.2. Tabel Toko Buku (Penerbit)
B.1.2.3. Tabel Kategori
Tabel 3.3. merupakan tabel yang digunakan untuk menyimpan informasi
tentang kategori dari setiap jenis buku yang dijual.
Nama Tabel : Kategori
Nama field Tipe data Ukuran Keterangan
*id_kate integer - Primary key untuk setiap kategori buku. nama_kate varchar 50 Nama kategori dari setiap buku.
Tabel 3.3. Tabel Kategori
B.1.2.4. Tabel Stok (Penerbit)
Tabel 3.4. digunakan untuk menyimpan data-data stok buku yang ada di
Nama Tabel : Stok
Nama field Tipe data Ukuran Keterangan **id_buku varchar 6 Foreign key untuk tabel stok
**id_tb integer - Foreign key untuk setiap toko buku jml_stok integer - Jumlah stok buku di setiap toko buku jml_laku integer - Jumlah buku yang sudah laku
Tabel 3.4. Tabel Stok
B.1.2.5. Tabel Order_Buku (Penerbit)
Tabel 3.5. digunakan untuk menyimpan data-data buku yang dipesan
oleh toko buku.
Nama Tabel : Order_Buku
Nama field Tipe data Ukuran Keterangan *id_order varchar 10 Primary key untuk tabel order_buku
**id_tb integer - Foreign key untuk setiap toko buku tgl_order date - Tanggal Order Buku
Tabel 3.5. Tabel Order Buku (Penerbit)
B.1.2.6. Tabel Detail_Order_Buku (Penerbit)
Tabel 3.6. digunakan untuk menyimpan detail data-data buku yang
dipesan oleh toko buku.
Nama Tabel : Detail_Order_Buku
Nama field Tipe data Ukuran Keterangan
**id_order varchar 10 Foreign key untuk tabel detail_order_buku
**id_buku varchar 6 Foreign key untuk setiap buku
jml_pesan integer - Jumlah buku yang dipesan oleh toko buku
Tabel 3.6. Tabel Detail Order Buku (Penerbit)
B.1.2.7. Tabel Faktur (Penerbit)
Tabel 3.7. digunakan untuk menyimpan data faktur yang dikirimkan ke
toko buku.
Nama Tabel : Faktur
Nama field Tipe data Ukuran Keterangan * no_faktur varchar 6 Primary key tabel faktur
**id_tb integer - Foreign key untuk setiap toko buku tgl_faktur date - Tanggal faktur dibuat
Tabel 3.7. Tabel Faktur (Penerbit)
B.1.2.8. Tabel Detail_Faktur (Penerbit)
Tabel 3.8. digunakan untuk menyimpan data detail faktur yang
dikirimkan ke toko buku.
Nama Tabel : Detail_Faktur
Nama field Tipe data Ukuran Keterangan **no_faktur varchar 6 Foreign key untuk tabel detail_faktur
**id_buku varchar 6 Foreign key untuk tabel detail_faktur jumlah integer - Jumlah buku yang dikirim ke toko buku
harga integer - Harga buku
diskon integer - Diskon buku yang diberikan ke toko buku
Tabel 3.8. Tabel Detail Faktur (Penerbit)
B.1.2.9. Tabel Buku (Toko Buku)
Tabel 3.9. digunakan untuk menyimpan data-data buku yang ada di toko
buku.
Nama Tabel : Buku
Nama field Tipe data Ukuran Keterangan
*id_buku integer - Primary key untuk setiap buku judul varchar 70 Judul buku yang dijual pengarang varchar 50 Pengarang buku yang dijual
isbn varchar 15 Kode buku
**id_kate integer - Foreign key untuk tabel buku
**no_faktur varchar 10 Foreign key untuk tabel buku stok_awal integer - Stok awal buku
stok integer - Sisa stok buku yang dijual harga integer - Harga buku yang dijual
Tabel 3.9. Tabel Buku (Toko Buku)
B.1.2.10. Tabel Penerbit (Toko Buku)
Tabel 3.10. digunakan untuk menyimpan data-data penerbit yang
mengirimkan buku yang diterbitkannya.
Nama Tabel : Penerbit
Nama field Tipe data Ukuran Keterangan
*id_penerbit integer - Primary key untuk setiap penerbit nama_penerbit varchar 50 Nama penerbit
alamat_penerbit varchar 100 Alamat penerbit telp_penerbit varchar 15 Telepon penerbit
B.1.2.11. Tabel Pelanggan (Toko Buku)
Tabel 3.11. digunakan untuk menyimpan data-data pelanggan.
Nama Tabel : Pelanggan
Nama field Tipe data Ukuran Keterangan
*id_pel integer - Primary key untuk setiap pelanggan no_identitas varchar 30 No Identitas pelanggan
nama_pel varchar 50 Nama pelanggan alamat_pel varchar 100 Alamat pelanggan telp_pel varchar 15 Telepon pelanggan email varchar 50 Email pelanggan
Tabel 3.11. Tabel Pelanggan (Toko Buku)
B.1.2.12. Tabel Faktur (Toko Buku)
Tabel 3.12. digunakan untuk menyimpan data-data faktur yang
dikirimkan oleh penerbit.
Nama Tabel : Faktur
Nama field Tipe data Ukuran Keterangan
*no_faktur varchar 10 Primary key untuk setiap pelanggan
**id_penerbit integer - Foreign key untuk tabel faktur tgl_faktur date - Tanggal Faktur
diskon integer - Diskon yang akan diberikan kepada pembeli buku.
diskon_pel integer
- Diskon yang akan diberikan kepada pembeli buku yang sudah menjadi member.
Tabel 3.12. Tabel Faktur (Toko Buku)
B.1.2.13. Tabel Penjualan (Toko Buku)
Tabel 3.13. merupakan tabel yang digunakan untuk menyimpan
informasi tentang pembelian yaitu: id penjualan, id pelanggan dan tgl penjualan.
Nama Tabel : Pembelian
Nama field Tipe data Ukuran Keterangan
*id_jual integer - Primary key untuk setiap penjualan. **id_pel integer - Foreign key untuk tabel penjualan. tgl_jual date - Tanggal penjualan buku.
B.1.2.14. Tabel Transaksi_Penjualan (Toko Buku)
Tabel 3.14. merupakan tabel yang digunakan untuk menyimpan
informasi tentang transaksi pembelian yaitu: id pembelian, id buku dan jumlah
buku yang dibeli.
Nama Tabel : Transaksi_penjualan
Nama field Tipe data Ukuran Keterangan
**id_jual integer - Foreign key untuk setiap transaksi_penjualan. **id_buku integer - Foreign key untuk tabel transaksi_penjualan. jumlah integer - Jumlah buku yang dibeli.
Tabel 3.14. Tabel Transaksi Penjualan (Toko Buku)
B.1.2.15. Tabel Order_Buku (Toko Buku)
Tabel 3.15. digunakan untuk menyimpan data-data buku yang dipesan
oleh toko buku.
Nama Tabel : Order_Buku
Nama field Tip