Pengantar Arsitektur Three-Tier 20120417

advertisement
Pengantar Perangkat Lunak dengan
Arsitektur Three
Three--Tier
Workshop Sistem Informasi Manajemen Arsip &
Dokumen Perusahaan
Ariadie Chandra N., M.T.
17 April 2012
Sejarah Perkembangan
Aplikasi Komputer (1)
Di awal perkembangan
komputer (sebelum
tahun 1980
1980),
), komputer
berharga sangat mahal,
program dan data
terletak pada komputer
yang disebut mainframe
mainframe..
Pengguna mengakses
program melalui
terminal..
terminal
2
1
Sejarah Perkembangan
Aplikasi Komputer (2)
Tahun 1980
1980--an, komputer personal
(PC) yang relatif murah memasyarakat.
Berkembang aplikasi desktop stand
stand-alone.. Aplikasi dan data berada pada
alone
komputer yang digunakan pengguna.
Aplikasi yang berkembang pada masa
tersebut seperti aplikasi spreadsheet
Lotus--1-2-3
Lotus
3
Sejarah Perkembangan
Aplikasi Komputer (3)
Seiring dengan
perkembangan teknologi
jaringan komputer dan
kebutuhan untuk
berkomunikasi antara
beberapa pengguna
dalam satu organisasi,
berkembang arsitektur
klien--server.
klien
4
2
Three--tier Architecture (1
Three
(1)
Pada arsitektur klienklien-server dengan konsep fat
client,, pada sisi klien terdapat logika program
client
(business rule)
rule) dan tampilan aplikasi (user interface)
interface).
Bila logika program berubah, maka program
klien juga harus berubah, walaupun tampilan
aplikasi tidak berubah.
Hal tersebut mendorong pemisahan lapisan
business rule dan user interface,
interface, menjadi arsitektur
three--tier
three
tier..
5
Three--tier Architecture (2)
Three
6
3
n-tier Architecture
Presentation tier
Caching Service tier
Application Server
tier
Integration Server
tier
Data tier
7
Desktop vs WebWeb-Based Apps
Dilihat antarmuka pengguna (User
(User Interface),
Interface),
aplikasi dapat dibagi dua jenis :
Aplikasi Desktop, biasanya membutuhkan instalasi
di sisi klien, dan memanfaatkan pustaka user
interface yang disediakan sistem operasi.
Contoh : MS Office, Photoshop, dll
Aplikasi berbasis web,
web, memanfaatkan browser web
dan teknologi web untuk antarmukanya.
Contoh : Google Mail, Facebook, dll.
8
4
Aplikasi Berbasis Desktop
Aplikasi berbasis desktop yang berarsitektur nnfat-client
client..
tier biasanya termasuk jenis fatPiranti pengembangan aplikasi desktop :
1.
2.
3.
4.
5.
Visual Basic
Delphi
Visual C
Foxpro
Powerbuilder, dan lainlain-lain.
9
Aplikasi Berbasis Web
Bahasa pemrograman di sisi server
PHP -> biasanya jalan di atas sistem op. Linux
ASP -> biasanya menggunakan Windows Server
ColdFusion
ColdFusion,, dll
Bahasa pemrograman di sisi klien
HTML (sebenarnya bukan bahasa pemrograman)
Javascript
AJAX (gabungan antara Javascript, XML, dan kode
di sisi server)
10
5
berlanjut ke
Pengantar Basis Data
Basis Data
Pada three
three--tier architecture,
architecture, biasanya data disimpan
dalam sistem basis data.
data.
Data disimpan dalam tabel yang memiliki baris dan
kolom seperti spreadsheet.
Sebuah basis data dapat memiliki beberapa tabel
tabel,, di
mana setiap tabel menyimpan data tentang hal yang
berbeda
Setiap baris dalam sebuah tabel menyimpan data
tentang suatu entitas, bisa orang, barang, atau kejadian
(seperti transaksi penjualan)
12
6
Perkembangan cara
Penyimpanan Data
Manual (di buku agenda, dll)
File komputer (belum menggunakan spreadsheet)
Menggunakan spreadsheet
Menggunakan basis data (database
(database))
Basis data stand alone (Access, dBase)
Basis data berbasis jaringan (fitur replikasi, dll)
Oracle
MS SQL Server
MySQL
PostgreSQL, dll
13
Definisi Database
Basis Data berasal dari bahasa Inggris yaitu Database.
Database ini terdiri dari 2 kata yaitu Data dan base.
Basis atau base = sarang atau markas atau gudang
Data = bentuk jamak dari datum adalah representasi
dari kejadian atau fakta yang mewakili suatu objek
seperti manusia, barang, hewan, peristiwa, konsep,
keadaan dan sebaginya yang direkam dalam bentuk
angka, huruf, symbol, gambar, bunyi atau kombinasinya
14
7
Definisi ...
Informasi yaitu data yang telah diolah atau
diproses sehingga mempunyai makna dan
bermanfaat bagi yang membutuhkan.
Informasi bagi seseorang mungkin merupakan
data bagi orang lain tergantung pada kebutuhan
orang tersebut.
Data dan informasi sering kali rancu karena
memang bersifat unik bagi setiap orang.
15
Definisi ...
Basis data dapat didefinisikan sebagai berikut :
Basis data adalah Kumpulan data yang saling berhubungan yang
dikelola agar dapat disimpan, diupdate
diupdate dan diakses dengan cepat
dan mudah.
Kumpulan data yang saling berhubungan yang disimpan secara
bersama sedemikian hingga dapat menghindari pengulangan
penulisan (redundansi) untuk memenuhi kebutuhan
Kumpulan data yang saling berhubungan yang disimpan dalam
media penyimpanan elektronik.
16
8
Analogi
File
Pegawai
File
Pembelian
File
Produksi
File
Penjualan
File
Pegawai
File
Pembelian
File
Produksi
File
Penjualan
Brankas Arsip
Disk
Basis data pada H-Disk
17
Analogi ...
•
•
•
Basis data dapat dianalogikan dengan brankas
arsip atau lemari arsip.
Brankas arsip merupakan kumpulan arsip yang
disimpan dalam suatu brankas secara beraturan
untuk memudahkan penyimpanan dan pencarian
kembali jika dibutuhkan.
Fungsi brankas arsip dan database mempunyai
kesamaan yaitu untuk menyimpan dan mengatur
arsip--arsip atau data sehingga akan memudahkan
arsip
dalam pengaksesannya.
18
9
Perbedaan
•
•
•
•
Basis data disimpan dalam media penyimpanan
elektronis seperti Floppy Disk, Hard Disk,
Compact Disk, Flash Disk dll.
Basis data dikelola oleh program aplikasi
berbasis komputer
Brankas data disimpan dalam media
penyimpanan fisik seperti brangkas kayu, besi,
lemari plastik, dll.
Brankas data dikelola oleh manusia secara
manual dengan aturan
aturan--aturan tertentu
19
Data dalam Disk
•
•
•
•
•
•
Basis data bukan hanya sekedar data yang disimpan
dalam disk.
Maksudnya tidak semua data yang disimpan dalam disk
adalah basis data.
Contoh : data teks yang disimpan dalam disk dengan
format (txt, word, rtf, dll) bukan termasuk database.
Demikian juga dengan file gambar (bmp, jpg, jpeg, gif,
dll) bukan termasuk database.
Data suara (wav, mp3
mp3, mdi, mid dll) juga bukan
termasuk database.
Demikian juga data video (dat, avi, mpeg, wmv dll juga
bukan database
20
10
Pemrosesan File (bukan database)
Purchasing
Program
Billing Program
Customers
Accounts
Receivable
Buyers
Accounts Payable
Vendors
Invoice
Inventory
Vendors
Sales Order
Processing
Customers
Payroll
Inventory
Employee
21
Pemrosesan File (database)
Program
A
Program
B
Program
C
Order Filling
system
Customers
Inventory
Master
Program
E
Program
D
Invoicing
system
Back
Orders
Inventory
Pricing
Customer
Master
22
11
Interrelated File Outline
Salesperson
Buyers
Sales
Stats
Inventory
Customer
Accounts
Receivable
Vendor
Accounts
Payable
Purchase
Order
General
Ledger
23
Maksud & Tujuan Database
•
•
•
•
•
•
•
Kecepatan dan kemudahan Akses Data
Efisiensi ruang penyimpanan
Akurasi
Ketersediaan
Kelengkapan
Keamanan (security)
Kebersamaan pemakaian (sharing)
24
12
Kegunaan Database
Basis data digunakan untuk mengatasi
permasalah pada penyusunan data yaitu :
• Redundansi dan inkonsistensi
• Kesulitan pengaksesan data
• Isolasi data untuk standarisasi
• Multiple user
• Keamanan data
• Integrasi (kesatuan) data
• Kebebasan data
25
Redundansi & Inkonsistensi
• Terkadang pada suatu kumpulan data terdapat penggandaan
data pada file-file yang berbeda
• Contoh : alamat dan nomor telepon dari pelanggan suatu
bank tercatat pada file nasabah, file rekening koran dan file
deposito.
• Penyimpanan data yang sama pada tiga jenis file ini
mengakibatkan pemborosan ruang penyimpanan.
• Penyimpanan data yang sama pada beberapa file dapat
menyebabkan inkonsistensi data.
• Contoh : jika pada suatu saat pelanggan tadi pindah alamat
dan nomor telepon dan yang dilakukan update hanya salah
satu file saja maka hal ini akan membuat data pelanggan tadi
mempunyai perbedaan dan akan menyulitkan
26
13
Kecepatan Akses Data
• Pada suatu saat Ketua Jurusan membutuhkan data semua
mahasiswa yang IPK-nya > 2,75 dan masa studinya <= 4,5
tahun padahal belum ada program aplikasi untuk ini maka
harus dilakukan secara manual yang sulit.
• Demikian juga jika diiginkan mahasiswa yang berasal dari luar
pulau jawa dengan IPK > 3,00 yang orang tuanya kurang
mampu.
• Atau mahasiswa angkatan 2000 dengan IPK < 2,75 sekarang
sedang cuti.
• Hal ini dapat diatasi dengan DBMS.
27
Isolasi data
• Data yang tersebar dalam beberapa file dalam format yang
tidak sama akan menyulitkan dalam menulis program aplikasi
untuk mengambil dan menyimpan data.
• Maka data dalam satu database harus dibuat dalam satu
format yang sama sehingga akan memudahkan dalam
penulisan programnya.
28
14
Multi User
• Untuk meningkatkan efisiensi, beberapa sistem basis data
mengijinkan beberapa user untuk melakukan akses dan
update ke database secara simultan dengan tingkat
kewenangan yang berbeda.
• Contoh : database mahasiswa dapat diupdate oleh dosen,
petugas yang mengurusi mahasiswa, orang tua atau bahkan
mahasiswa yang bersangkutan melalui sistem yang ada.
• Contoh lain : database tabungan di Bank. Data ini dapat
diupdate oleh nasabah melalui ATM, atau melalui kasir di
Bank atau melalui transfer dari orang lain oleh sistem dalam
waktu yang berbeda.
29
Multi User
Sinkronisasi sesuai
kebutuhan
Web
Akses data di masingmasing Bagian
Data Pusat
30
15
Keamanan Data
• Untuk menjaga keamanan data maka tidak semua pemakai
diperbolehkan untuk mengakses, mengupdate dan
menyimpan data.
• Contoh : data gaji pegawai hanya boleh dibuka oleh bagian
keuangan dan personalia.
• Contoh : Data nilai mahasiswa hanya boleh diupdate oleh
dosen pengampu dan bagian administrasi kemahasiswaan
tidak untuk bagian lainnya.
31
Integrasi Data
• Database berisi file-file yang saling berhubungan.
• Masalah utama yaitu bagaimana kaitan antara file ini terjadi.
• Meskipun telah diketahui bahwa file A berkaitan dengan file
B namun secara teknik ada kunci yang mengkaitkan kedua
file tersebut.
• Untuk itu perlu dibuat suatu kunci tertentu untuk
mengkaitkan kedua file tersebut. Dalam database hal ini
disebut sebagai fields kunci
32
16
Integrasi Data
Server
User tables
Data
dictionary
33
Kebebasan Data
• Jika aplikasi basis data dibuat dengan program aplikasi
seperti VB, Delphi, atau lainnya misal untuk membaca file
data mahasiswa dengan field NIM, Nama, Jenis Kelamin dan
Alamat. Jika struktur data mahasiswa berubah maka program
juga harus diubah.
• Hal ini disebut bahwa program aplikasi yang dibuat tidak
bebas terhadap database-nya.
• Pada DBMS hal ini dtidak perlu risau karena untuk
mengakses data maka digunakan sintaks yang sama yang
disediakan oleh program pengelola database tersebut.
34
17
Operasi Dasar
• Pembuatan Database Baru (Create Database)
• Penghapusan Database (Drop Database)
• Pembuatan file atau table baru ke dalam database (Create
Table)
• Penghapusan file atau table dari suatu database (Drop Table)
• Pengisian dan penambahan data baru ke dalam table (Insert)
• Pengubahan data pada table (Update)
• Pengambilan data dari table (Retrieve/Search)
• Penghapusan data dari sebuah table (Delete)
• Memilih data yang akan ditampilkan (Select)
35
Aplikasi
• Hampir setiap organisasi baik profit maupun non-profit
membutuhkan sistem pengelolaan data yang mudah, cepat
dan efisien.
• Implementasi teknologi informasi dalam
organisasi/perusahaan dalam rangka pengelolaan sistem
informasi dimana basis data menjadi komponen utama dalam
sistem informasi yang dibangun
• Dengan sistem informasi yang baik akan meningkatkan
efisiensi, daya saing, akurasi, kecepatan dan operasionalisasi
organisasi/perusahaan
36
18
Aplikasi
Bidang-bidang fungsional yang telah memanfaatkan basis data
• Kepegawaian
• Pergudangan
• Pembelian dan Penjualan
• Akuntansi dan keuangan
• Reservasi hotel, perjalanan, dll
• Layanan pelanggan
• Dan lain-lain
37
Komponen Sistem Basis Data
•
•
•
•
•
•
Isi Database
DBMS (Database Manajemen System)
Program Aplikasi
Pengembang (Developers)
Pengguna (Users)
Database
38
19
Komponen Sistem Basis Data
39
Isi Basis Data
• Yang disimpan dalam basis data
• Data User
• Metadata
• Indeks
• Metadata Aplikasi
40
20
Data User
• Database merupakan kumpulan dari data (tabel) yang saling
berkaitan.
• Sebuah tabel data disebut sebagai sebuah relation
• Kolom (Columns) merupakan fields atau atribut
• Baris (Rows) merupakan entitas
• Relation harus disusun dengan tepat sesuai dengan
kebutuhan sistem
41
Metadata
• Metadata menggambarkan struktur dan format data
• Tabel sistem menyimpan metadata berupa
– Jumlah dan nama tabel
– Jumlah dan nama field
– Field yang menjadi primary key
– Nama field, tipe data, dan ukurannya
– Dan lain-lain
42
21
Indexing
• Memperbaiki performansi
• Memperbaiki accessibilitas
• (Overhead data)
43
Aplikasi Metadata
• Menyimpan struktur dan format dari
– form
– Laporan (report)
– query
– Komponen aplikasi lainnya
44
22
DBMS
• Design Tools Subsystem
• Run-Time Subsystem
• DBMS Engine
45
Design Tools Subsystems
• Tool untuk mendesain dan mengembangkan
– tabel
– form
– query
– report
• Bahasa pemrograman
– makro
– Bahasa pemrograman
– SQL (Structured Query Language)
46
23
RunRun-time Subsystems
• Processes database components created by design tools
47
DBMS Engine
• Perantara antara tool desain, run-time subsystems dan data
• Juga menangani . . .
– Manajemen transaksi
– locking
– backup dan recovery data
48
24
Creating Database
• Mendefinisikan Skema database
• Membuat tabel
• Mendefinisikan relationship antar tabel
49
Skema Database
• Mendefinisikan struktur database
– Tabel - subjects within the database
– Relationship - one-to-many or 1:N
– Domain - set of values a column may have
– Business rules - restrictions on data values
50
25
Creating Tabel (Contoh kasus : MS Access)
51
Creating Tabel
52
26
Relationship antar tabel
53
Komponen Aplikasi
•
•
•
•
•
Form
Query
Report
Menu
Program Aplikasi
54
27
Form
55
Query Pada Database
56
28
Hasil Query
57
Model Data
• Model data menjelaskan dan menggambarkan
struktur data dan hubungan (relationship) antar
data
• Model data dibangun dengan
• Interview dengan user
• Dokumentasi kebutuhan
• Pembangunan model data
• Pembangunan prototype database
• Proses penarikan kesimpulan
58
29
Entity--Relationship Diagram
Entity
(E-R Diagram)
Salah satu metode dalam mebuat model data
adalah entity
entity--relationship diagram (E
(E--R Diagram)
Diagram)..
Sebuah E-R Diagram adalah sebuah representasi
grafis dari model E-R yang menggunakan
sekumpulan aturan standar.
59
An EntityEntity-Relationship Diagram
(E(E-R Diagram) Example
60
30
E-R Diagram Example:
San Juan Charters
61
Terima Kasih
62
31
Download