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