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