SI401 Perancangan Sistem Informasi Pertemuan #12 Suryo Widiantoro, ST, MMSI, M.Com(IS) Mahasiswa mampu membuat rancangan sistem informasi menggunakan pendekatan terstruktur. 1. 2. 3. Format penyimpanan data Model data lojikal menjadi fisikal Optimasi penyimpanan data Ada 4 fungsi umum program aplikasi: 1) 2) 3) 4) data storage, data access logic, application logic, presentation logic. Fungsi data storage berkaitan dengan bagaimana data disimpan dan ditangani oleh program yang menjalankan sistem. Aplikasi tidak berguna tanpa data yang mereka dukung. ◦ Penting untuk memastikan bahwa data storage sehingga dapat mencegah sistem yang inefisien, waktu respon lama, dan informasi sulit diakses. Beberapa hal harus dikerjakan saat Analis memberikan perhatiannya pada data storage yang akan diperlukan bagi sistem yang baru: 1) Format data storage format untuk sistem yang baru harus dipilih. 2) Model data yang dibuat saat tahapan analysis dimodifikasi untuk mengikuti implementasi. 3) Format data storage yang terpilih harus dirancang untuk mengoptimalkan efisiensi pemrosesan. Ada 2 jenis format data storage yang utama, yaitu file dan database. ◦ File adalah daftar elektronik dari data yang telah dioptimalkan untuk menjalankan transaksi tertentu. ◦ Database adalah kumpulan pengelompokan informasi yang berkaitan satu sama lain dengan cara tertentu (misalnya field yang sama). Sebuah database management system (DBMS) adalah software untuk membuat dan memanipulasi database. ◦ End-user DBMS seperti MsAccess mendukung database skala kecil yang digunakan untuk penggunaan personal, ◦ Enterprise DBMS seperti DB2, Jasmine, SQL Server, dan Oracle dapat mengelola volume data yang besar dan mendukung aplikasi yang dijalankan di seluruh organisasi. File data berisi daftar elektronik informasi yang diformat untuk transaksi tertentu, dimana informasi diubah dan dimanipulasi oleh program yang dibuat untuk maksud tersebut. Ada beberapa jenis file yang berbeda dalam hal penggunaannya untuk mendukung aplikasi: 1) 2) 3) 4) 5) File master, File look-up, File transaction, File audit, File history. Contoh file: 1. File Master menyimpan informasi utama yang penting bagi bisnis dan aplikasi, misalnya informasi order atau informasi alamat customer. 2. File Look-up berisi nilai statis, misalnya daftar kode pos atau nama propinsi, yang biasanya digunakan untuk validasi. 3. File Transaction berisi informasi yang dapat digunakan untuk memperbarui file master. ◦ File transaction dapat dihapus setelah perubahan ditambahkan, atau dapat juga disimpan bila transaction perlu diakses lagi nanti. 4. File Audit mencatat gambaran data “before” dan “after” bila ada perubahan data, sehingga audit dapt dilakukan bila integritas data dipertanyakan. 5. File history (atau file archive) menyimpan transaction di waktu lampau (misalnya customer lama, order lama) yang tidak lagi dibutuhkan oleh user sistem. ◦ Biasanya file disimpan secara off-line, namun dapat diakses sesuai kebutuhan. Ada beberapa jenis database yang tersedia di pasaran saat ini: 1) 2) 3) 4) legacy, relational, object, multidimensional. 1# Legacy Database Legacy database adalah database yang menggunakan dasar teknologi lama namun masih sering digunakan untuk mengembangkan aplikasi baru; Contoh legacy database: ◦ hierarchical database ◦ network database. 2# Relational Database Relational database adalah jenis database yang populer saat ini untuk pengembangan aplikasi. Relational database didasarkan pada kumpulan tabel, yang masing2 memiliki sebuah primary key —field yang nilainya berbeda untuk setiap baris di dalam tabel. ◦ Tabel saling dihubungkan dengan menempatkan primary key dari 1 tabel ke tabel lain yang berkaitan sebagai foreign key. Tabel memiliki sejumlah kolom dan baris yang berisi data. ◦ Structured Query Language (SQL) adalah bahasa standar untuk mengakses data di dalam tabel 3# Object Database Object database disebut juga object-oriented database. Prinsip dasar dari orientasi object adalah bahwa semua benda harus diperlakukan sebagai object yang memiliki data (attribute) dan proses (behavior). ◦ Sebuah object mengubah atau mengakses attribute miliknya hanya melalui behavior miliknya. Object-oriented database management systems (OODBMSs) digunakan untuk mendukung sistem atau aplikasi multimedia yang melibatkan data yang kompleks (misalnya grafis, video, dan suara). ◦ Industri telekomunikasi, layanan keuangan, kesehatan, dan transportasi adalah yang banyak menggunakan object database. 4# Multidimensional Database Multidimensional database adalah jenis relational database yang digunakan untuk data warehousing. ◦ Data warehousing adalah cara mengambil data dari transaction processing system perusahaan, mentransform data (membersihkan, mentotal, mengumpulkan), dan kemudian menyimpan data untuk digunakan dalam data warehouse (database yang sangat besar) yang mendukung decision support system (DSS). ◦ Perusahaan dapat membuat data mart, yaitu database lebih kecil yang berbasiskan data dari data warehouse. Biasanya data mart menerima data download dari data warehouse secara teratur, dan mendukung DSS untuk bagian atau area fungsional tertentu dari perusahaan. •ERD fisikal Saat tahapan analysis, Analis menentukan data yang dibutuhkan aplikasi dengan membuat entity relationship diagram (ERD) lojikal. Model lojikal ini menggambarkan “business view” dari data, namun tidak menyertakan detil implementasi. Setelah format data storage ditentukan, maka dibuat model data fisikal untuk memperlihatkan detil implementasi dan menjelaskan bagaimana sistem akan jadi nantinya. Model “to-be” ini mendeskripsikan karakteristik sistem yang akan dibuat serta menggambarkan “systems view” dari sistem yang baru. ERD untuk model lojikal dan fisikal berisi komponen yang sama, yaitu entitas, relationship, dan atribut. Perbedaannya adalah pada ERD fisikal berisi referensi mengenai bagaimana data secara pasti akan disimpan di dalam file atau tabel database, serta banyaknya metadata yang ditambahkan pada CASE repository untuk mendeskripsikan komponen model data tersebut. Transisi dari model data lojikal menjadi fisikal dijelaskan berikut ini: #1: ubah entitas menjadi tabel atau file Langkah pertama adalah mengubah semua entitas di ERD lojikal untuk menjadi file atau tabel yang akan digunakan untuk menyimpan data. Biasanya tim proyek berpegang pada konvensi penamaan seperti tabel, file, dan field, sehingga ERD fisikal akan menggunakan nama komponen nyata yang digunakan saat implementasi. #2: ubah atribut menjadi field Langkah kedua, mengubah atribut menjadi field, yaitu kolom dalam file atau tabel, dan tambahkan informasi seperti panjang field, tipe data, nilai default, dan nilai valid pada CASE repository. Analis memasukkan tipe data bersama dengan ukuran dari field ke dalam CASE tool sehingga sistem dapat dirancang dengan informasi yang benar. #3: tambahkan Primary Key Langkah ketiga, atribut yang berfungsi sebagai identifier pada ERD lojikal kemudian diubah menjadi primary key, yaitu field yang berisi nilai unik untuk setiap record dalam file atau tabel. Unique identifier adalah harus (mandatory) untuk setiap tabel yang dibuat pada ERD fisikal; sehingga field primary key harus dibuat untuk entitas yang tidak memiliki identifier sebelumnya. #4: tambahkan Foreign Key Relationship pada ERD lojikal menunjukkan bahwa pasangan entitas saling berhubungan, maka Analis menentukan bagaiman hubungan akan dijalin secara teknis. Dalam relational database, hubungan antara 2 tabel dijalin dengan sebuah teknik yang disebut foreign key. Foreign key adalah field primary key dari satu tabel yang berulang di tabel lain untuk menyediakan field bersama di antara kedua tabel tersebut. #5: tambahkan komponen yang berhubungan dengan sistem Langkah terakhir, komponen ditambahkan ke ERD fisikal untuk memperlihatkan kebutuhan implementasi khusus, termasuk komponen yang disertakan pada DFD. Data stores dan data element untuk implementasi khusus dari DFD fisikal juga harus disertakan pada ERD sebagai tabel dan field. •Optimasi efisiensi •Optimasi kecepatan •Estimasi ukuran penyimpanan Ada 2 dimensi utama untuk mengoptimalkan relational database: 1) Efisiensi storage, 2) Kecepatan akses. Sayangnya 2 tujuan ini selalu konflik karena rancangan untuk akses yang cepat mungkin memerlukan storage yang besar dan sebaliknya: ◦ Gunakan normalisasi untuk mengoptimalkan efisiensi data storage. ◦ Gunakan denormalisasi untuk mempercepat kinerja sistem. Mengoptimalkan efisiensi storage Tabel paling efisien dalam relational database secara ukuran storage tidak memiliki data redundant dan sangat sedikit null value, karena kedua hal itu membutuhkan storage. Semakin banyak data yang disimpan berarti biaya data storage hardware semakin tinggi. Selain itu redundancy dan null value juga menyebabkan error dan menambah kemungkinan adanya problem integritas data. Normalisasi adalah cara terbaik untuk mengoptimalkan efisiensi data storage. Mengoptimalkan kecepatan akses Setelah rancangan data model dioptimalkan untuk efisiensi data storage, hasilnya adalah data tersebar di banyak tabel. Saat data dari banyak tabel harus diakses atau diquery, maka tabel harus dijoin bersama. Ada beberapa teknik yang digunakan tim proyek untuk mempercepat akses data: ◦ ◦ ◦ ◦ denormalisasi, clustering, indexing, perkiraan ukuran data untuk perencanaan hardware. Denormalisasi mengurangi jumlah join yang harus dilakukan saat query, sehingga mempercepat akses data. Cara lain mempercepat akses adalah mengurangi jumlah waktu akses media storage saat terjadi transaksi. ◦ Ini dapat dicapai dengan melakukan clustering record secara fisik bersama sehingga record disimpan saling berdekatan. Index dalam data storage adalah seperti index yang ada di bagian belakang buku teks: ◦ Adalah tabel mini yang berisi value dari 1 atau lebih kolom dalam tabel dan lokasinya value tersebut dalam tabel. Cara terakhir untuk merencanakan kinerja yang baik adalah untuk melakukan volumetrics, yaitu memperkirakan jumlah data yang perlu didukung oleh hardware. Ukuran database ditentukan oleh jumlah raw data dalam tabel dan kebutuhan overhead dari DBMS. ◦ Raw data adalah semua data yang disimpan dalam tabel database, dan dikalkulasi melalui pendekatan bottom-up. Untuk perkiraan ukuran perlu pemahaman yang baik ukuran awal data dan rasio pertumbuhan yang diharapkan sejalan waktu. 1. 2. 3. Tulis perkiraan rata2 lebar semua kolom (field) tabel dan jumlahkan nilainya untuk menghitung ukuran total record. Hitung overhead tabel dengan persentase semua record. Catat jumlah initial record yang akan dimasukkan tabel, juga harapan pertumbuhannya per bulan. Selamat belajar dan semoga sukses