Logical Design Phase
Logical Design Phase Other Names Stakeholder involved Input Output Modeling Phase Stakeholder involved System analyst and system users Input Business Requirement Statement Output Data & Process Modeling Most Techniques Used Fact-finding ERD & DFD building 2
Data Modeling Data modeling – a technique for organizing and documenting a system’s data. Sometimes called database modeling. Entity relationship diagram (ERD) – a data model utilizing several notations to depict data in terms of the entities and relationships described by that data. No additional notes 3
Entiti Model relasi entiti didasarkan pada persepsi dunia nyata yang terdiri dari himpunan obyek dasar yang disebut entiti dan relasi antar entiti. Entiti adalah obyek yang dapat diidentifikasi secara unik. Entiti dikarakterisasi dan dipresentasikan dengan suatu gugus atribut. Contoh gugus atribut dari entiti PEKERJA adalah nama, tanggal lahir, NIP, golongan/pangkat. Sekelompok entiti yang memiliki karakterisasi entiti disebut gugus entiti (entity set). Setiap entiti dari gugus tersebut disebut anggota gugus (member of set). Contoh gugus entiti adalah gugus entiti pegawai bank, gugus entiti nasabah bank. Dari beberapa gugus tadi mungkin terjadi suatu relasi, misalnya relasi antara gugus bank dengan gugus nasabah bank. Berdasarkan jumlah gugus yang terlibat maka relasi antar entiti dibedakan menjadi : Relasi biner (binary), yaitu relasi antar 2 gugus entiti. Relasi trio (ternary), yaitu relasi antar 3 gugus entiti. Relasi N-ary, yaitu relasi antar n gugus entiti. 4
Relasi Biner Khusus untuk relasi biner maka relasi antar anggota dari dua gugus yang terlibat (kardinalitas relasi biner) dapat bersifat : Relasi 1-1 (one-to-one relationship). Adalah satu entiti anggota gugus diasosiasikan dengan tepat satu entiti anggota gugus yang lain. Relasi 1-banyak (one-to-many relationship). Adalah satu entiti anggota gugus diasosiasikan dengan satu atau lebih entiti anggota gugus yang lain. Sebaliknya satu entiti anggota gugus yang lain tersebut diasosiasikan dengan tepat satu entiti anggota gugus pasangannya. Relasi banyak-1 (many-to-one relationship). Adalah satu entiti anggota gugus diasosiasikan dengan satu atau lebih entiti anggota gugus yang lain dan berlaku pula sebaliknya. 5
ERD ke Tabel 6
Normalisasi Adalah proses yang berkaitan dengan model data relational untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah himpunan-himpunan data dalam bentuk normal (normal form). Ada beberapa bentuk normal, yaitu : Bentuk Normal I (First Normal Form / 1-NF). Bentuk Normal II (Second Normal Form / 2-NF). Bentuk Normal III (Third Normal Form / 3-NF). Bentuk Normal IV (Fourth Normal Form / 4-NF). Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF). Kegunaan normalisasi : Meminimasi pengulangan informasi. Memudahkan indentifikasi entiti / obyek. 7
Bentuk Normal 1 (1-NF) Suatu relasi memenuhi 1-NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris atau record. Non 1-NF table 1-NF table 8
Bentuk 2-NF table (satisfying 1-NF) Bentuk Normal 2 (2-NF) Suatu relasi memenuhi 2-NF jika dan hanya jika : Memenuhi 1-NF. Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut. Jika suatu relasi memenuhi 1-NF dan relasi tersebut memiliki tepat satu atribut yang membentuk kunci utama, maka relasi tersebut memenuhi 2-NF. Rasionalisasi 2-NF : Memiliki semantik yang lebih eksplisit dari 1-NF. Mencegah beberapa kondisi anomali dalam update data. Bentuk 2-NF table (satisfying 1-NF) 9
Bentuk Normal 3 Ketergantungan Fungsional dilakukan untuk StudentID => Student, BirthDate (SC1). CourseID => Course, Credit (SC2). StudentID, CourseID => Grade (SC3, SC3A). Grade => Weight (SC3B). Memenuhi 2-NF Memenuhi 3-NF 10
3-NF & BCNF Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika : Relasi tersebut memenuhi 2-NF. Setiap atribut bukan kunci tidak tergantung secara fungsional kepada atribut bukan kunci yang lain dalam relasi tersebut. Suatu relasi yang memenuhi 2-NF dan hanya memiliki satu atribut bukan kunci selalu memenuhi 3-NF. Akhirnya semua tabel SC1, SC2, SC3A, SC3B berada dalam kondisi 3-NF, sehingga semua databases mengalami kondisi 3-NF. Boyce Codd Normal Form Suatu relasi memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah kunci kandidat (candidate keys). Determinan adalah gugus atribut dimanaa satu atau lebih atribut lain tergantung secara fungsional. 11
DFD DFD pada dasarnya sebuah diagram yang menjelaskan bagaimana hubungan bersama dari bagian file, laporan, sumber dokumen dan sebagainya. DFD termasuk alat komunikasi medium yang baik antara analyst dan pemakai karena mudah dipahami (hanya berisi 4 simbol). Tujuan dari DFD adalah membuat/mengetahui aliran (track) aliran data seluruhnya dari sistem. Data dan proses adalah hal yang kritis untuk dipahami. DFD berbeda dengan flow sistem (systems flowcharts) dan flow program (program flowcharts) karena keduanya lebih mengarah ke hasil (orientation). 12
Context Diagram Context Diagram adalah bagian dari Data Flow Diagram (DF) yang berfungsi memetakan model lingkungan, yang dipresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem Sering disebut DFD Level 0 Hanya Ada satu proses CD menyoroti sejumlah karakteristik penting sistem, yaitu : Kelompok pemakai, organisasi atau sistem lain dimana sistem melakukan komunikasi (sebagai terminator). Data masuk, yaitu data yang diterima sistem dari lingkungan dan harus diproses dengan cara tertentu. Data keluar, yaitu data yang dihasilkan sistem dan diberikan ke dunia luar. Penyimpanan data (storage), yaitu digunakan secara bersama antara sistem dengan terminator. Data ini dapat dibuat oleh sistem dan digunakan oleh lingkungan atau sebaliknya dibuat oleh lingkungan dan digunakan oleh sistem. Hal ini berarti pembuatan simbol data storage dalam CD dibenarkan, dengan syarat simbol tersebut merupakan bagian dari dunia diluar sistem. Batasan, antara sistem dan lingkungan. 13
Contoh Context Diagram 14
Komponen DFD Proses (fungsi) Dipresentasikan dalam bentuk lingkaran (circle) atau bujursangkar dengan sudut melengkung (a rounded rectangle). Setiap proses ditandai dengan nomor. Nomor berfungsi menjelaskan tingkatan proses dari hierarchy chart. Setiap proses dinamai dengan sepasang kata kerja yang simple, contoh : screen customer-order, record customer-order. Dalam physical DFD, lokasi atau program yang memproses seringkali dituliskan dibagian bawah simbol, tetapi dalam logical DFD tidak perlu disebutkan. Untuk menunjukkan transformasi dari masukan menjadi keluaran, dalam hal ini sejumlah masukan dapat menjadi hanya satu keluaran ataupun sebaliknya. Proses umumnya didefinisikan dengan kata tunggal, atau kalimat sederhana. Fokus simbol ini adalah apa yang dikerjakan atau tindakan yang dilakukan (proses), bukan orang atau melakukan kegiatan apa. 15
Komponen DFD (2) Aliran data (data arrow). Dipresentasikan dalam bentuk anak panah yang menuju ke atau dari proses. Digunakan untuk menggambarkan gerakan paket data atau informasi dari satu bagian ke bagian lain dari sistem dimana penyimpanan mewakili lokasi penyimpanan data. Nama berfungsi untuk mendefinisikan arti dari aliran dan ditulis untuk mengidentifikasi aliran tersebut. Ujung panah menunjukkan kemana data bergerak ke atau dari proses, penyimpanan ataupun terminator atau keduanya. Aliran yang digambarkan sebagai panah dengan dua ujung menggambarkan terjadinya dialog. Nama data yang digambarkan dalam aliran disebut data packet dan dituliskan diatas garis panah. Arus data menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil proses sistem dan dapat berbentuk sebagai berikut : Formulir atau dokumen yang digunakan di perusahaan. Laporan tercetak yang dihasilkan oleh sistem. Tampilan atau output dilayar komputer yang dihasilkan oleh sistem. Masukan untuk komputer. Komunikasi lisan / ucapan. Surat-surat atau memo. Data yang dibaca atau direkamkan ke suatu file. Suatu sistem yang dicatat pada buku agenda. Transmisi data dari suatu komputer ke komputer yang lain. 16
Komponen DFD (3) Penyimpanan (data stores) Komponen ini digunakan untuk memodelkan kumpulan data atau paket data. Notasi yang digunakan adalah garis sejajar, segiempat dengan sudut melengkung atau persegi panjang, atau open-ended rectangle on the right side. Nama (database atau file) dari penyimpanan disebutkan dalam simbol Dalam kasus notasi ini dapat mendefinisikan file atau basis data seperti tape magnetic, disk, dan model DBMS lainnya, atau seringkali mendefinisikan bagaimana penyimpanan diimplementasikan dalam sistem komputer. Penyimpanan kadangkala didefinisikan sebagai suatu mekanisme di antara dua proses yang dibatasi oleh jangka waktu tertentu. Terminator (external or internal entities) Dipresentasikan dengan simbol persegi panjang yang mewakili entiti luar atau dalam dimana sistem berkomunikasi dan disebut dengan sources (data, masukan ke sistem) atau destinations (informasi, keluaran dari sistem). Seringkali sulit untuk menentukan mana external dan internal entity. Pertanyaan kunci untuk menjawabnya adalah "apakah pelaku (person) atau group ini melakukan proses dari bagian sistem? Jika jawabannnya tidak, entity tersebut adalah external. External entity jika jelas bahwa entity tersebut diluar sistem organisasi, seperti customers, vendors, pemerintah, orang, kelompok orang, perusahaan, departemen. Contoh dalam order entry system adalah customer, order inventory system adalah suppliers. Internal entity jika mewakili unit-unit fungsi suatu organisasi, yang meliputi pemakai. External dan internal entity juga dapat didefinisikan sebagai batasan sistem. Untuk mengidentifikasi terminator tidak sulit. Kadangkala terminator berupa pemakai sistem itu sendiri. Hal itu bisa terjadi jika pemakai punya sikap sikap seperti berikut : "Saya menyediakan data x, y, z bagi sistem, dan saya mengharapkan sistem dapat memberikan informasi/data a, b, dan c" Pada kasus lain pemakai berpikir bahwa dia merupakan bagian dari sistem sehingga mempermudah pemodelan untuk mengidentifikasi terminator yang relevan. Hal itu bisa terjadi jika pemakai bersikap : "Kami menerima transaksi penerimaan dari Departemen Akuntasi, dan kami harus menyerahkan laporan mingguan biaya ke Komisi Keuangan". Simbol untuk entity external adalah sebuah bujur sangkar (square). Untuk mengidentifikasinya adalah dengan memberikan tanda alfabet huruf kecil yang dituliskan pada sudut kiri atas dari bujur sangkar, selanjutnya diberi sebuah nama tunggal. 17
Petunjuk Membuat DFD Pilih nama yang jelas maksudnya (bagi proses, aliran, penyimpanan, dan terminator) Untuk proses sebaiknya menggunakan nama yang mengacu pada fungsi, yaitu gabungan antara kata kerja yang spesifik dan obyek, misalnya memproses laporan inventori, validasi nomer telepon dan lain-lain. Untuk terminator lebih mengacu pada orang atau kelompok orang, sedangkan untuk aliran dan penyimpanan mengacu pada paket data atau informasi yang terkandung didalamnya. Jangan menggunakan nama yang terlalu umum, misalnya proses data, tangani masukan dan lain-lain. Gunakan nama yang familiar bagi pemakai. Menomori proses untuk memperjelas sistematika. Tidak jadi masalah bagaimana urutan ditempatkan. Nomor tidak menunjukkan urutan. Penomoran dimaksudkan sebagai identifikasi proses dan memudahkan penurunan ke level yang lebih rendah atau ke proses berikutnya. 18
Petunjuk Membuat DFD (2) Menggambar kembali DFD hingga beberapa kali, sehingga cukup estetik. Penggambaran kembali yang kadang-kadang bahkan lebih dari sepuluh kali digunakan untuk menjaga secara teknis gambar tersebut sudah benar, dapat diterima oleh pemakai, misalnya tingkat operasional yang akan mengoperasikan dan dapat diterima oleh pimpinan yang dalam hal ini menentukan strategi organisasi. Ketika penggambaran dilakukan ada beberapa hal yang perlu diperhatikan, yaitu : Ukuran dan bentuk lingkaran sebaiknya tetap sama, karena jika tidak dapat menimbulkan kesan lingkaran yang lebih besar memproses sesuatu yang juga lebih besar. Panah yang melengkung dan lurus tidak jadi masalah tetapi sebaiknya tidak menggunakan kedua cara tersebut pada gambar yang sama. Menggambar dengan tangan atau menggambar dengan perangkat tertentu, tidak merupakan masalah. Menggambar dengan tangan seringkali memberikan sesuatu yang lain katakanlah sentuhan seni, tetapi menggambar dengan mesin, seringkali lebih memudahkan modifikasi. Mencegah DFD yang terlalu kompleks dan tidak perlu. Kegunaan DFD bukan hanya menggambarkan fungsi dan interaksinya dalam sistem secara akurat tetapi juga untuk dibaca dan dimengerti oleh bukan hanya penganalisa sistem, tetapi juga pemakai yang berpengalaman dalam sistem yang dimodelkan. Hal ini berarti : jangan membuat DFD dengan terlalu banyak proses, aliran, penyimpanan dan terminator. Menjamin konsistensi DFD tersebut secara intern ataupun yang berkaitan dengan DFD. Konsistensi dalam hal ini juga menyangkut konsistensi dengan model lain (misalnya : entity relationship diagram, state transition diagram, dan process specification). 19
Perhatikan ! Mencegah proses yang mempunyai masukan tetapi tidak mempunyai keluaran yang dikenal dengan lubang hitam (black-hole) Mencegah proses yang mempunyai keluaran tetapi tidak punya masukan, misalnya penghasil bilangan acak. Hati-hati dengan aliran dan proses yang tidak dinamakan karena dapat mengakibatkan elemen data yang saling tidak berhubungan menjadi satu. Hati-hati dengan penyimpanan yang punya status hanya dapat dibaca atau hanya dapat ditulis dan berkaitan dengan proses yang hanya memproses masukan atau hanya memproses keluaran. 20
Penurunan Level DFD Setiap penurunan ke level yang lebih rendah harus mampu mempresentasikan proses tersebut dalam spesifikasi proses yang jelas, sehingga seandainya belum cukup jelas maka seharusnya diturunkan ke level yang lebih rendah. Setiap penurunan harus dilakukan hanya jika perlu. Tidak semua bagian dari sistem harus diturunkan dengan jumlah level yang sama karena yang kompleks bisa saja diturunkan, dan yang sederhana mungkin tidak perlu diturunkan. Selain itu, karena tidak semua proses dalam level yang sama punya derajat kompleksitas yang sama juga. Konfirmasikan DFD yang telah dibuat pada pemakai dengan cara top-down. Aliran data yang masuk dan keluar pada suatu proses di level harus berhubungan dengan aliran data yang masuk dan keluar pada level x+1. Dimana level x+1 tersebut mendefinisikan sub proses pada level x tersebut. Ketika mulai menurunkan DFD dari level tertinggi, cobalah untuk mengindentifikasi external events dimana sistem harus memberikan respon. External events dalam hal ini berarti suatu kejadian yang berkaitan dengan pengolahan data di luar sistem, dan menyebabkan sistem kita memberikan respon. 21
Penurunan Level DFD 22