SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Pemodelan pada
Pemrograman Terstruktur
Badie’ah, ST, M.Kom
Pemrograman Terstruktur
• Merupakan konsep atau paradigm atau sudut pandang pemrograman
yang membagi-bagi program berdasarkan fungsi-fungsi atau
prosedur-prosedur yang dibutuhkan program komputer
• Fungsi atau prosedur ditulis secara sekuensial atau terurut dari atas
ke bawah sesuai dengan kebergatungan antar fungsi atau prosedur
• Fungsi/prosedur yang dapat dipakai oleh fungsi/prosedur di
bawahnya harus sudah ditulis dan dideklarasikan di atasnya
Pemrograman Terstruktur
• Setiap fungsi/prosedur akan menjalankan sub-proses tertentu
• Biasanya setiap fungsi/prosedur akan merepresentasikan
fungsionalitas tertentu
• Contoh : fungsi hitung IPK secara spesifik akan menjalan proses perhitungan
IPK mahasiswa
• Dengan cara ini, akan memudahkan programmer untuk melakukan
testing atau debug pada kode program
• Biasanya pada pemrograman terstruktur ada fungsi utama (program
utama) yang digunakan untuk mengontrol jalannya program serta
tempat dimana fungsi-fungsi tersebut dipanggil
Gambaran Pemrograman Terstruktur
• asas
Fungsi
Prosedur
Fungsi
Program Utama
File Kode Program
Fungsi
Prosedur
Fungsi
File Kode Program
Fungsi
Prosedur
Fungsi
File Kode Program
dipanggil
dipanggil Include dan uses
sebagai
mekanisme
menyatukan kode
agar dapat saling
akses
Masih ingat dengan pemrograman C++ ?
Fungsi/Program
Utama
Include digunakan untuk
memanggil file header
iostream
Fungsi hitung
Fungsi hitung
dideklarasikan
Fungsi
Prosedur
Fungsi
Program Utama
File Kode Program
Fungsi
Prosedur
Fungsi
File Kode Program
Fungsi
Prosedur
Fungsi
File Kode Program
dipanggil
dipanggil Include dan uses
sebagai mekanisme
menyatukan kode
agar dapat saling
akses
Fungsi/Program
Utama
Include digunakan untuk
memanggil file header iostream
Fungsi hitung
Fungsi hitung
dideklarasikan
Apakah Pemrograman Terstruktur Hanya di
C++
• Tentu saja tidak, di Bahasa pemrograman lainnya kita bisa
menggunakan paradigma ini :
• C
• PHP
• Pascal
• Delphi
• dll
Pemrograman tidak Terstruktur VS
Pemrograman Terstruktur di PHP
Pemrograman tidak Terstruktur Pemrograman Terstruktur
Pemodelan pada Pemrograman Terstruktur
1. Pemodelan Proses
• Pemodelan proses digunakan untuk menggambarkan proses-proses yang
berjalan pada sebuah sistem (bisnis proses)
• Menggunakan gambar/diagram
• Tools : Data Flow Diagram (DFD)
2. Pemodelan Data
• Pemodelan data digunakan untuk menggambarkan data-data yang diperlukan
pada sebuah sistem dana bagaimana relasinya satu sama lainnya
• Menggunakan gambar/diagram
• Tools : Entity Relational Database (ERD)
PEMODELAN PROSES
DATA FLOW DIAGRAM (DFD)
• Merupakan representasi grafik yang menggambarkan aliran informasi
dan transformasi informasi yang diaplikasikan sebagai data yang
mengalir dari masukan (input) dan keluaran (output)
• Merupakan diagram yang digunakan untuk menggambarkan proses
yang ada pada sebuah sistem dan bagaimana data bergerak di
dalamnya
• Ingat dalam sebuah sistem berlaku : Input-proses-output
• DFD menggambarkan bagaimana input masuk ke dalam proses dan
menghasilkan output
PEMODELAN PROSES
DATA FLOW DIAGRAM (DFD)
• DFD dapat merepresentasikan sebuah sistem atau perangkat lunak
pada beberapa level abstraksi
I
II
III
IV
ELEMEN DATA FLOW DIAGRAM (DFD)
• Ada 4 buah symbol elemen yang digunakan untuk menggambar DFD :
1. Entitas luar(external entities)
2. Aliran data (data flows)
3. Proses (process)
4. Penyimpanan data (data stores)
ENTITAS (External Entity)
• Sesuatu yang berada di luar sistem, tetapi memberikan data ke dalam
sistem atau mendapatkan data dari sistem
• Entitas tidak termasuk bagian dari sistem
• Orang
• Unit kerja
• Sistem lain
• Sesuatu yang memiliki interaksi dengan sistem
ENTITAS (External Entity)
• Simbol :
<name>
Manajer
Contoh :
Mahasiswa Departemen Keuangan
ENTITAS (External Entity)
• Aturan pemberian nama Entitas
• Nama entitas menggunakan kata benda
• contoh : petugas, anggota, keuangan, manager, dll
• Entitas tidak boleh memiliki nama yang sama kecuali memang objeknya sama
(digambarkan dua kali, dimaksudkan untuk membuat tampilan diagram lebih
jelas. Bila demikian, maka entitas perlu diberi tanda garis miring pada pojok
kiri atas
Manajer Mahasiswa
Departemen
Keuangan
<name>
ALIRAN DATA (Data Flow)
• Merupakan tempat mengalirnya data/informasi menuju dan keluar
dari entitas, proses dan data store
• Digambarkan dengan garis yang menghubungkan antar komponen
• Tanda panah menunjukkan arah aliran data
• Data dapat berupa input maupun output
• Simbol :
Name
ALIRAN DATA (Data Flow)
• Contoh arus data (data flow) :
username Mata_kuliah
daftar_mata_kuliah biodata_mahasiswa
ALIRAN DATA (Data Flow)
• Aturan pemberian nama arus data (data flow) :
• Penamaan data flow harus menggunakan “kata benda” (noun)
• Nama data flow yang terdiri dari beberapa kata harus dihubungkan dengan
garis sambung
• Contoh :
• Hindari penggunaan kata “data” dan “informasi” untuk pemberian nama
• Nama data flow yang masuk ke dalam proses tidak boleh sama dengan nama
data flow yang keluar dari proses
daftar_mata_kuliah biodata_mahasiswa
Entry
Nilai
Nilai_mahasiswa Transkrip_nilai
ALIRAN DATA (Data Flow)
• Data flow yang terdiri dari beberapa elemen data dapat dinyatakan
dalam 1 nama yang menggambarkan data-data tersebut
• Contoh :
• Elemen nama, alamat, no_telepon dapat dijadikan satu data flow bernama
“identitas” atau “biodata”
• Tidak boleh ada aliran data dari entitas luar langsung ke data store
dan sebaliknya.
• Hal ini dikarenakan entitas luar bukan bagian dari system. Sehingga,
hubungan antara entitas luar dengan data store harus melalui sebuah proses
Proses (Process)
• Merupakan apa yang dikerjakan oleh sistem
• Proses berfungsi untuk mentransformasikan satu atau beberapa data
masukan (input) menjadi data keluaran (output)
• Proses harus menggambarkan proses yang tunggal (tidak boleh ada 2
proses dituliskan jadi satu)
• Contoh yang salah : memproses KRS dan menampilkan KHS
• Minimal memiliki 1 buah data flow input dan 1 buah data flow output
• Simbol :
1
Name
Proses (Process)
• Aturan penamaan proses :
• Nama proses terdiri dari kata kerja dan kata benda yang mencerminkan
proses tersebut
• Contoh : hitung bonus, cetak faktur, pendataan karyawan
• Hindari penggunaan kata “proses” sebagai bagian dari nama proses
• Tidak boleh ada beberapa proses dengan nama yang sama
• Proses diberi nomor
• Context diagram tidak diberi nomor
• Proses pada DFD level 0 (nol) : 1.0, 2.0, 3.0, dst
• Proses pada DFD level 1 (satu) sebagai perincian dari DFD 1.0 adalah : 1.1, 1.2, 1.3, dst
1.0
Pendataan
KRS
1.2
Entry KRS
1.3
Cetak KRS
1.1
Cek Status
Bayar
PENYIMPANAN DATA (Data Store)
• Data store merupakan wadah penyimpanan
data
• Penamaan data store harus menggunakan kata
benda dan harus mencerminkan isinya
• Bila namanya lebih dari satu kata, maka harus
diberi tanda sambung
• Contoh : transaksi_pembelian, peminjaman_buku
D1 Name
Name
Gane & Sarson
DeMarco & Yourdon
Level pada DFD
1. Diagram Konteks (Context Diagram)
 Menggambarkan keseluruhan system dan bagaimana system tersebut berinteraksi dengan
entitas luarnya
 Data store tidak ditampilkan di dalam context diagram
2. DFD Level 0
 Mendetailkan proses-proses utama yang terjadi system yang telah digambarkan pada context
diagram
 Pada DFD Level 0, keseluruhan proses utama yang ada pada sistem, entitas-entitas yang
berhubungan dengan system, data flow dan data store ditampilkan secara detail alurnya
3. DFD Level 1
 DFD Level 1 bertujuan untuk mendetailkan subproses-subproses yang ada pada tiap proses
utama yang ditampilkan pada DFD Level 0
4. DFD Level 2
 Sama dengan DFD Level 1, jika pada subproses yang ada pada DFD Level 1 masih terdapat sub-
subproses dan harus didetailkan kembali prosesnya, maka pada DFD Level 2 proses tersebut
digambarkan lebih detail.
Keseimbangan (balancing) pada DFD
Data flow yang masuk ke dalam suatu proses harus sama dengan data flow
pada proses di level yang lebih rendah
1. Jumlah data flow sama
2. Nama data flow sama
1.0
Pendataan
_KRS
Level 0 (nol)
mahasiswa
Sistem_keuangan
KRS Tagihan
KRS tagihan
list_tagihan
status_
bayar
Detail
_krs
krs_
mhs
Bukti_
krs
Input (4) : KRS, tagihan, detail_krs, status_bayar
Output (3) : krs_mhs, bukti_krs, list_tagihan
Level 1 Pendataan KRS
1.2
Entry
KRS
1.1
Cek
Bayar
1.3
Cetak
KRS
mahasiswa
Sistem_keuangan
KRS
Tagihan
tagihan list_tagihan
KRS krs_mhs
Input (4) : KRS, tagihan, detail_krs, status_bayar
Output (3) : krs_mhs, bukti_krs, list_tagihan
Larangan dalam DFD
1. Data flow tidak boleh dari entitas satu ke entitas lainnya secara
langsung, tanpa melalui proses
Mahasiswa Dosen
X
Larangan dalam DFD
2. Data flow tidak boleh dari data store ke entitas, tanpa melalui
proses
KRS Mahasiswa
X
Larangan dalam DFD
3. Data flow tidak boleh dari data store satu ke data store lainnya
tanpa melalui suatu proses
Tagihan KRS
X
Larangan dalam DFD
4. Data flow dari proses satu ke proses lainnya tanpa melalui data
store sebaiknya dihindari
1.2
Entry KRS
1.1
Cek Bayar X
Contoh Kasus Data Flow Diagram
CONTEXT DIAGRAM
Sistem
Informasi
Akademik
mahasiswa Sistem_keuangan
KRS tagihan
Bukti_krs
Kehadiran_mahasiswa
Laporan_kehadiran
DFD LEVEL 0
1.0
Pendataan
KRS
mahasiswa
Sistem_keuangan
KRS Tagihan
KRS tagihan
list_tagihan
status_
bayar
Detail
_krs
krs_
mhs
Bukti_
krs
2.0
Pendataan
Absensi
ABSENSI
absen
List_kehadiran
Laporan_kehadiran
DFD LEVEL 1 PENDATAAN KRS
1.2
Entry
KRS
1.1
Cek
Bayar
1.3
Cetak
KRS
mahasiswa
Sistem_keuangan
KRS
Tagihan
tagihan list_tagihan
KRS krs_mhs
PEMODELAN DATA
ENTITY RELATIONSHIP DIAGRAM (ERD)
• Merupakan penggambaran hubungan antar entitas data
• Merupakan tahapan awal sebelum kita merancang database
• Meskipun merupakan perancangan awal dari database, namun
penggambarannya diusahakan untuk mudah dipahami oleh orang
yang tidak/kurang memahami teknis dari database.
Komponen dasar dari ERD
• ENTITAS
• Merupakakan objek yang memiliki karakteristik unik
yang membedakannya dengan objek lainnya
• RELATIONSHIP
• Merupakan sesuatu yang menghubungkan satu
entitas dengan entitas lainnya
• ATRRIBUTE
• Merupakan properti/karakteristik dari sebuah atribut
atau relationship
Simbol-simbol ER diagram
Entity
Atribut
Relationship
Weak Entity
Identifying Relationship
Atribut key
Atribut Multivalue
Atribut Composite
Atribut Derivatif
Entitas (Entity)
• Entity  benda atau objek  data
• Entity Set  merupakan kumpulan dari entity sejenis
• Entity Set dapat berupa :
• Objek secara fisik  orang, rumah, kendaraan, peralatan, dll
• Objek secara konsep  pekerjaan, perusahaan, proyek, dll
• Penamaan Entitas  menggunakan kata benda
• Jika pada database, entitas akan merepresentasikan tabel
Contoh Entity
ORANG
BENDA
KARYAWAN
PRODUK
BUKU
Dan lain-lain…
ATRIBUT
• Attribute menggambarkan property/karakteristik dari entitas/relationship
• Contoh :
• Entitas KARYAWAN  NIK, nama, alamat, tgl_lahir, no_ktp
• Entitas MATA KULIAH  kode_matakuliah, nama_matakuliah, jml_sks
• Relationship MEMINJAM (buku)  id_pinjam, id_buku, tgl_pinjam, tgl_kembali
Contoh Entitas & Attribute
Nama
Mobil
Tahun
Produksi
Warna
Merk
Macam Attributes
1.Key
• Digunakan untuk menentukan suatu entity secara unik
• Contoh : NIM, NIK, kode_barang, nomor_peserta
2.Simple
• Atribut yang bernilai tunggal. tidak bisa dibagi menjadi bagian yg lebih kecil lagi
• Contoh : nama, harga, status_pernikahan
3.Multivalue
• Atribut yang memiliki sekelompok nilai pada setiap baris datanya
• Contoh : gelar (ST, M.Kom, Phd) , hobi (membaca, shopping, travelling)
4.Composite
• Suatu atribut yang memiliki komponen atribut yang lebih kecil & memiliki arti tertentu
• Contoh : alamat dapat dipecah menjadi  nama_jalan, RT, RW, kota, propinsi
5.Derivative
• Suatu atribut yang dihasilkan dari pengolahan atribut lainnya
• Contoh : atribut umur didapatkan dari perhitungan antribut tanggal_lahir dan tanggal sekarang
Key Attribute
1.Primary Key
• Merupakan atribut kunci yang digunakan untuk membedakan antara satu data
dengan data lain pada sebuah entitas
• Contoh :
• Entitas MAHASISWA  NIM
• Entitas BARANG  kode_barang
• Entitas MATAKULIAH  kode_matakuliah
2.Foreign Key
• Merupakan atribut tamu yang mengacu pada atribut kunci dari entitas lain
• Muncul karena adanya hubungan antara 2 entitas atau lebih
• Atribut key ditulis dengan menggunakan garis bawah
Kode_jenis_karyawan Jenis_karyawan
JK001 Kontrak
JK002 Tetap
Kode_karyawan Kode_jenis_karyawan Nama_karyawan
K001 JK002 Anto
K002 JK001 Desta
TABEL JENIS KARYAWAN
TABEL KARYAWAN
Primary Key :
Kode_jenis_karyawan
Primary Key :
Kode_karyawan
Foreign Key :
Kode_jenis_karyawan
Contoh Primary Key & Foreign Key
Keterangan :
PK Entitas BUKU = id_buku
PK Entitas KATEGORI_BUKU = id_kategori
FK Entitas BUKU = id_kategori  setiap buku memiliki kategori buku
BUKU KATEGORI_BUKU
memiliki
id_buku
Judul
Id_kategori
Id_kategori
kategori
Atribut Simple
BUKU
id_buku
Judul
Pengarang
Id_buku Judul pengarang
BK-001 MySQL Purwanto
BK-002 Sistem Informasi Abdul
Atribut yang bernilai tunggal. tidak bisa
dibagi menjadi bagian yg lebih kecil lagi
Judul
Atribut Multivalue
DOSEN
id_dosen
gelar
nama
Id_dosen nama gelar
DS-001 Hanif ST, M.Kom , PhD
DS-002 Suryono Ir, M.Kom
Dilambangkan dengan bentuk oval dengan garis double
Catatan :
• Sangat tidak disarankan untuk digunakan.
• Mengatasi multivalue attribute  dipecah menjadi 1 atau lebih entitas baru
Cara Mengatasi Multivalue Attribute
DOSEN
id_dosen
nama
memiliki GELAR
N M
id_gelar
id_dosen
gelar
Jenis_gelar
NIK
alamat
Urutan_gelar
id_gelar
Id_dosen nama NIK alamat gelar
DS-001 Hanif 32600018 semarang ST, M.Kom
DS-002 Suryono 32692827 jakarta Ir, M.Kom,PhD
Id_dosen nama NIK alamat
DS-001 Hanif 32600018 semarang
DS-002 Suryono 32692827 jakarta
1
Id_gelar gelar Posisi_gelar
GL-001 ST belakang
GL-002 MKOM belakang
GL-003 Ir depan
GL-004 PhD belakang
2
id Id_dosen Id_gelar Urutan_gelar
1 DS-001 ST 1
2 DS-001 M.Kom 2
3 DS-002 Ir 1
4 DS-002 M.Kom 1
5 DS-002 PhD 2
3
DOSEN
GELAR
DOSEN_GELAR
4. Composite atribute
Kode_karyawan Nama_karyawan Alamat
K001 Anto Jl.Patimura No.9 Semarang Jawa Tengah
K002 Desta Jl.Anggrek No.3 Pekanbaru Riau
Suatu atribut yang memiliki komponen atribut yang lebih kecil & memiliki arti
tertentu
Alamat bisa dipecah menjadi :
- Nama jalan
- Nama daerah
- Nama Provinsi
Composite Attribute
Derivative attribute
 Suatu atribut yang dihasilkan dari pengolahan atribut lainnya
 Contoh :
Kode_karyawan Nama_karyawan Tgl_Lahir Umur
K001 Anto 21 Maret 1982 34
K002 Risa 21 Januari 1990 26
Kolom usia, bergantung
dengan kolom tanggal
Dihitung dari tanggal
sekarang – tanggal lahir
Derivative Attribute
RELATIONSHIP
• Merupakan elemen dari ERD yang berfungsi untuk mengkoneksikan
antar entitas
• Relationship digambarkan dalam bentuk belah ketupat
Contoh Entity & Relationship
Menikah
WANITA PRIA
Contoh Entity, Attribute & Relationship
Memiliki
Nama
Alamat
No.Telp Nama Mobil
Tahun
Produksi
Warna
Attribute pada Relationship
Meminjam
Nama Alamat
No.Telp
Nomor
Anggota
Kode
Buku
Judul
Pengarang
Penerbit
Kode
Pinjam
Tgl
Pinjam
Tgl
Kembali
Nomor
Anggota
Kode
Buku
Derajat Relationship
Unary
Binary
Ternary
PEGAWAI MENGATUR
SUPERVISOR
KARYAWAN
Pegawai
Memiliki
Kendaraan
Unary Relationship
• Keterangan :
• Entitas PEGAWAI (supervisor) mengatur entitas
PEGAWAI (karyawan)
• Relationship MENGATUR hanya menghubungkan
entitas PEGAWAI
PEGAWAI MENGATUR
SUPERVISOR
KASIR
Id_pegawai Nama Id_supervisor
P001 Purwanto Null
P002 Sujatmiko P001
Binary Relationship
Keterangan :
• Pegawai memiliki kendaraan
• Relationship MEMILIKI menghubungkan entitas PEGAWAI dengan
entitas KENDARAAN
PEGAWAI Memiliki KENDARAAN
Ternary Relationship
Artinya :
• Pegawai bekerja pada kota dan departemen tertentu
• Relationship KERJA menghubungkan entity PEGAWAI,
DEPARTEMEN dan KOTA
Kardinalitas
• Menjelaskan batasan jumlah keterhubungan antara satu entitas dengan entitas
lainnya
• Jenis kardinalitas
• One-to-One (1:1)
• One-to-Many (1:M) atau Many-to One (M:1)
• Many-to-Many (M:N)
One-to-One (1:1)
PEGAWAI KENDARAAN DINAS
Memiliki
1 1
ARTINYA :
• Pegawai memiliki 1 buah kendaraan dinas
• Atribut memiliki menghubungkan antara entitas PEGAWAI dengan entitas KENDARAAN DINAS
HINT :
• FK akan dimiliki oleh salah satu entitas
Id_pegawai nama
Id_kendaraan
Id_pegawai
Merk
One-to-Many (1:M)
ARTINYA :
• Setiap FAKULTAS dapat memiliki banyak jurusan, dan
• Setiap JURUSAN memiliki 1 FAKULTAS
HINT :
• FK akan dimiliki oleh entitas dengan kardinalitas M (yang banyak)
FAKULTAS JURUSAN
Memiliki
1 M
Id_fakultas
Nama_fakultas
Id_jurusan
Id_fakultas
Nama_jurusan
Many-to-Many (M:N)
ARTINYA :
• Setiap MAHASISWA dapat mengambil banyak MATAKULIAH
• Setiap MATAKULIAH bisa diambil oleh banyak MAHASISWA
HINT :
• Kardinalitas M:N akan menghasilkan entitas baru dari sebuah relationship.
• FK yang diambil dari kedua PK entitas yang terhubung, akan dimiliki oleh entitas baru yang terbentuk
MAHASISWA MATAKULIAH
Mempelajari
N M
Id_mahasiswa
Nama
Id_makul
Nama_makul
Id_mahasiswa Id_makul

Contenu connexe

Similaire à Materi 6 - Pemodelan pada Pemrograman Terstruktur.pdf

Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataFraiza Geraldi
 
Materi rsi 7 permodelan proses
Materi rsi 7 permodelan prosesMateri rsi 7 permodelan proses
Materi rsi 7 permodelan prosesdonasiilmu
 
Materi rsi 7 permodelan proses
Materi rsi 7 permodelan prosesMateri rsi 7 permodelan proses
Materi rsi 7 permodelan prosesdonasiilmu
 
Sia diagram aliran data untuk perusahaan kecil
Sia   diagram aliran data untuk perusahaan kecilSia   diagram aliran data untuk perusahaan kecil
Sia diagram aliran data untuk perusahaan kecilTheresia Magdalena
 
Diagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecilDiagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecilMUHAMADANGGORO1
 
Diagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecilDiagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecilMUHAMADANGGORO1
 
Bab 7 pemodelan proses
Bab 7 pemodelan prosesBab 7 pemodelan proses
Bab 7 pemodelan prosesRif'at Hm
 
Data flow diagram 1
Data flow diagram 1Data flow diagram 1
Data flow diagram 1mbahsukir
 
Dfd 879078
Dfd 879078Dfd 879078
Dfd 879078pia_13
 
Data flow diagram 1
Data flow diagram 1Data flow diagram 1
Data flow diagram 1D Istigfarin
 
Data flow diagram 1
Data flow diagram 1Data flow diagram 1
Data flow diagram 1D Istigfarin
 
Laporan praktikum modul 10 (dfd)
Laporan praktikum modul 10 (dfd)Laporan praktikum modul 10 (dfd)
Laporan praktikum modul 10 (dfd)Devi Apriansyah
 
Pengertian data flow diagram
Pengertian data flow diagramPengertian data flow diagram
Pengertian data flow diagramMeily Perdana
 

Similaire à Materi 6 - Pemodelan pada Pemrograman Terstruktur.pdf (20)

Software enginering
Software engineringSoftware enginering
Software enginering
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus Data
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Df ddiah
Df ddiahDf ddiah
Df ddiah
 
Materi rsi 7 permodelan proses
Materi rsi 7 permodelan prosesMateri rsi 7 permodelan proses
Materi rsi 7 permodelan proses
 
Materi rsi 7 permodelan proses
Materi rsi 7 permodelan prosesMateri rsi 7 permodelan proses
Materi rsi 7 permodelan proses
 
Materi 10
Materi 10Materi 10
Materi 10
 
Sia diagram aliran data untuk perusahaan kecil
Sia   diagram aliran data untuk perusahaan kecilSia   diagram aliran data untuk perusahaan kecil
Sia diagram aliran data untuk perusahaan kecil
 
Diagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecilDiagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecil
 
Diagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecilDiagram aliran data untuk perusahaan kecil
Diagram aliran data untuk perusahaan kecil
 
Bab 7 pemodelan proses
Bab 7 pemodelan prosesBab 7 pemodelan proses
Bab 7 pemodelan proses
 
Bab 7 pemodelan proses
Bab 7 pemodelan prosesBab 7 pemodelan proses
Bab 7 pemodelan proses
 
Process Modeling
Process ModelingProcess Modeling
Process Modeling
 
Data flow diagram 1
Data flow diagram 1Data flow diagram 1
Data flow diagram 1
 
Dfd 879078
Dfd 879078Dfd 879078
Dfd 879078
 
Data flow diagram 1
Data flow diagram 1Data flow diagram 1
Data flow diagram 1
 
Data flow diagram 1
Data flow diagram 1Data flow diagram 1
Data flow diagram 1
 
Laporan praktikum modul 10 (dfd)
Laporan praktikum modul 10 (dfd)Laporan praktikum modul 10 (dfd)
Laporan praktikum modul 10 (dfd)
 
Pengertian data flow diagram
Pengertian data flow diagramPengertian data flow diagram
Pengertian data flow diagram
 
Dfd
DfdDfd
Dfd
 

Materi 6 - Pemodelan pada Pemrograman Terstruktur.pdf

  • 2. Pemrograman Terstruktur • Merupakan konsep atau paradigm atau sudut pandang pemrograman yang membagi-bagi program berdasarkan fungsi-fungsi atau prosedur-prosedur yang dibutuhkan program komputer • Fungsi atau prosedur ditulis secara sekuensial atau terurut dari atas ke bawah sesuai dengan kebergatungan antar fungsi atau prosedur • Fungsi/prosedur yang dapat dipakai oleh fungsi/prosedur di bawahnya harus sudah ditulis dan dideklarasikan di atasnya
  • 3. Pemrograman Terstruktur • Setiap fungsi/prosedur akan menjalankan sub-proses tertentu • Biasanya setiap fungsi/prosedur akan merepresentasikan fungsionalitas tertentu • Contoh : fungsi hitung IPK secara spesifik akan menjalan proses perhitungan IPK mahasiswa • Dengan cara ini, akan memudahkan programmer untuk melakukan testing atau debug pada kode program • Biasanya pada pemrograman terstruktur ada fungsi utama (program utama) yang digunakan untuk mengontrol jalannya program serta tempat dimana fungsi-fungsi tersebut dipanggil
  • 4. Gambaran Pemrograman Terstruktur • asas Fungsi Prosedur Fungsi Program Utama File Kode Program Fungsi Prosedur Fungsi File Kode Program Fungsi Prosedur Fungsi File Kode Program dipanggil dipanggil Include dan uses sebagai mekanisme menyatukan kode agar dapat saling akses
  • 5. Masih ingat dengan pemrograman C++ ? Fungsi/Program Utama Include digunakan untuk memanggil file header iostream Fungsi hitung Fungsi hitung dideklarasikan
  • 6. Fungsi Prosedur Fungsi Program Utama File Kode Program Fungsi Prosedur Fungsi File Kode Program Fungsi Prosedur Fungsi File Kode Program dipanggil dipanggil Include dan uses sebagai mekanisme menyatukan kode agar dapat saling akses Fungsi/Program Utama Include digunakan untuk memanggil file header iostream Fungsi hitung Fungsi hitung dideklarasikan
  • 7. Apakah Pemrograman Terstruktur Hanya di C++ • Tentu saja tidak, di Bahasa pemrograman lainnya kita bisa menggunakan paradigma ini : • C • PHP • Pascal • Delphi • dll
  • 8. Pemrograman tidak Terstruktur VS Pemrograman Terstruktur di PHP Pemrograman tidak Terstruktur Pemrograman Terstruktur
  • 9. Pemodelan pada Pemrograman Terstruktur 1. Pemodelan Proses • Pemodelan proses digunakan untuk menggambarkan proses-proses yang berjalan pada sebuah sistem (bisnis proses) • Menggunakan gambar/diagram • Tools : Data Flow Diagram (DFD) 2. Pemodelan Data • Pemodelan data digunakan untuk menggambarkan data-data yang diperlukan pada sebuah sistem dana bagaimana relasinya satu sama lainnya • Menggunakan gambar/diagram • Tools : Entity Relational Database (ERD)
  • 10. PEMODELAN PROSES DATA FLOW DIAGRAM (DFD) • Merupakan representasi grafik yang menggambarkan aliran informasi dan transformasi informasi yang diaplikasikan sebagai data yang mengalir dari masukan (input) dan keluaran (output) • Merupakan diagram yang digunakan untuk menggambarkan proses yang ada pada sebuah sistem dan bagaimana data bergerak di dalamnya • Ingat dalam sebuah sistem berlaku : Input-proses-output • DFD menggambarkan bagaimana input masuk ke dalam proses dan menghasilkan output
  • 11. PEMODELAN PROSES DATA FLOW DIAGRAM (DFD) • DFD dapat merepresentasikan sebuah sistem atau perangkat lunak pada beberapa level abstraksi I II III IV
  • 12. ELEMEN DATA FLOW DIAGRAM (DFD) • Ada 4 buah symbol elemen yang digunakan untuk menggambar DFD : 1. Entitas luar(external entities) 2. Aliran data (data flows) 3. Proses (process) 4. Penyimpanan data (data stores)
  • 13. ENTITAS (External Entity) • Sesuatu yang berada di luar sistem, tetapi memberikan data ke dalam sistem atau mendapatkan data dari sistem • Entitas tidak termasuk bagian dari sistem • Orang • Unit kerja • Sistem lain • Sesuatu yang memiliki interaksi dengan sistem
  • 14. ENTITAS (External Entity) • Simbol : <name> Manajer Contoh : Mahasiswa Departemen Keuangan
  • 15. ENTITAS (External Entity) • Aturan pemberian nama Entitas • Nama entitas menggunakan kata benda • contoh : petugas, anggota, keuangan, manager, dll • Entitas tidak boleh memiliki nama yang sama kecuali memang objeknya sama (digambarkan dua kali, dimaksudkan untuk membuat tampilan diagram lebih jelas. Bila demikian, maka entitas perlu diberi tanda garis miring pada pojok kiri atas Manajer Mahasiswa Departemen Keuangan <name>
  • 16. ALIRAN DATA (Data Flow) • Merupakan tempat mengalirnya data/informasi menuju dan keluar dari entitas, proses dan data store • Digambarkan dengan garis yang menghubungkan antar komponen • Tanda panah menunjukkan arah aliran data • Data dapat berupa input maupun output • Simbol : Name
  • 17. ALIRAN DATA (Data Flow) • Contoh arus data (data flow) : username Mata_kuliah daftar_mata_kuliah biodata_mahasiswa
  • 18. ALIRAN DATA (Data Flow) • Aturan pemberian nama arus data (data flow) : • Penamaan data flow harus menggunakan “kata benda” (noun) • Nama data flow yang terdiri dari beberapa kata harus dihubungkan dengan garis sambung • Contoh : • Hindari penggunaan kata “data” dan “informasi” untuk pemberian nama • Nama data flow yang masuk ke dalam proses tidak boleh sama dengan nama data flow yang keluar dari proses daftar_mata_kuliah biodata_mahasiswa Entry Nilai Nilai_mahasiswa Transkrip_nilai
  • 19. ALIRAN DATA (Data Flow) • Data flow yang terdiri dari beberapa elemen data dapat dinyatakan dalam 1 nama yang menggambarkan data-data tersebut • Contoh : • Elemen nama, alamat, no_telepon dapat dijadikan satu data flow bernama “identitas” atau “biodata” • Tidak boleh ada aliran data dari entitas luar langsung ke data store dan sebaliknya. • Hal ini dikarenakan entitas luar bukan bagian dari system. Sehingga, hubungan antara entitas luar dengan data store harus melalui sebuah proses
  • 20. Proses (Process) • Merupakan apa yang dikerjakan oleh sistem • Proses berfungsi untuk mentransformasikan satu atau beberapa data masukan (input) menjadi data keluaran (output) • Proses harus menggambarkan proses yang tunggal (tidak boleh ada 2 proses dituliskan jadi satu) • Contoh yang salah : memproses KRS dan menampilkan KHS • Minimal memiliki 1 buah data flow input dan 1 buah data flow output • Simbol : 1 Name
  • 21. Proses (Process) • Aturan penamaan proses : • Nama proses terdiri dari kata kerja dan kata benda yang mencerminkan proses tersebut • Contoh : hitung bonus, cetak faktur, pendataan karyawan • Hindari penggunaan kata “proses” sebagai bagian dari nama proses • Tidak boleh ada beberapa proses dengan nama yang sama • Proses diberi nomor • Context diagram tidak diberi nomor • Proses pada DFD level 0 (nol) : 1.0, 2.0, 3.0, dst • Proses pada DFD level 1 (satu) sebagai perincian dari DFD 1.0 adalah : 1.1, 1.2, 1.3, dst 1.0 Pendataan KRS 1.2 Entry KRS 1.3 Cetak KRS 1.1 Cek Status Bayar
  • 22. PENYIMPANAN DATA (Data Store) • Data store merupakan wadah penyimpanan data • Penamaan data store harus menggunakan kata benda dan harus mencerminkan isinya • Bila namanya lebih dari satu kata, maka harus diberi tanda sambung • Contoh : transaksi_pembelian, peminjaman_buku D1 Name Name Gane & Sarson DeMarco & Yourdon
  • 23. Level pada DFD 1. Diagram Konteks (Context Diagram)  Menggambarkan keseluruhan system dan bagaimana system tersebut berinteraksi dengan entitas luarnya  Data store tidak ditampilkan di dalam context diagram 2. DFD Level 0  Mendetailkan proses-proses utama yang terjadi system yang telah digambarkan pada context diagram  Pada DFD Level 0, keseluruhan proses utama yang ada pada sistem, entitas-entitas yang berhubungan dengan system, data flow dan data store ditampilkan secara detail alurnya 3. DFD Level 1  DFD Level 1 bertujuan untuk mendetailkan subproses-subproses yang ada pada tiap proses utama yang ditampilkan pada DFD Level 0 4. DFD Level 2  Sama dengan DFD Level 1, jika pada subproses yang ada pada DFD Level 1 masih terdapat sub- subproses dan harus didetailkan kembali prosesnya, maka pada DFD Level 2 proses tersebut digambarkan lebih detail.
  • 24. Keseimbangan (balancing) pada DFD Data flow yang masuk ke dalam suatu proses harus sama dengan data flow pada proses di level yang lebih rendah 1. Jumlah data flow sama 2. Nama data flow sama 1.0 Pendataan _KRS Level 0 (nol) mahasiswa Sistem_keuangan KRS Tagihan KRS tagihan list_tagihan status_ bayar Detail _krs krs_ mhs Bukti_ krs Input (4) : KRS, tagihan, detail_krs, status_bayar Output (3) : krs_mhs, bukti_krs, list_tagihan Level 1 Pendataan KRS 1.2 Entry KRS 1.1 Cek Bayar 1.3 Cetak KRS mahasiswa Sistem_keuangan KRS Tagihan tagihan list_tagihan KRS krs_mhs Input (4) : KRS, tagihan, detail_krs, status_bayar Output (3) : krs_mhs, bukti_krs, list_tagihan
  • 25. Larangan dalam DFD 1. Data flow tidak boleh dari entitas satu ke entitas lainnya secara langsung, tanpa melalui proses Mahasiswa Dosen X
  • 26. Larangan dalam DFD 2. Data flow tidak boleh dari data store ke entitas, tanpa melalui proses KRS Mahasiswa X
  • 27. Larangan dalam DFD 3. Data flow tidak boleh dari data store satu ke data store lainnya tanpa melalui suatu proses Tagihan KRS X
  • 28. Larangan dalam DFD 4. Data flow dari proses satu ke proses lainnya tanpa melalui data store sebaiknya dihindari 1.2 Entry KRS 1.1 Cek Bayar X
  • 29. Contoh Kasus Data Flow Diagram
  • 30. CONTEXT DIAGRAM Sistem Informasi Akademik mahasiswa Sistem_keuangan KRS tagihan Bukti_krs Kehadiran_mahasiswa Laporan_kehadiran
  • 31. DFD LEVEL 0 1.0 Pendataan KRS mahasiswa Sistem_keuangan KRS Tagihan KRS tagihan list_tagihan status_ bayar Detail _krs krs_ mhs Bukti_ krs 2.0 Pendataan Absensi ABSENSI absen List_kehadiran Laporan_kehadiran
  • 32. DFD LEVEL 1 PENDATAAN KRS 1.2 Entry KRS 1.1 Cek Bayar 1.3 Cetak KRS mahasiswa Sistem_keuangan KRS Tagihan tagihan list_tagihan KRS krs_mhs
  • 33. PEMODELAN DATA ENTITY RELATIONSHIP DIAGRAM (ERD) • Merupakan penggambaran hubungan antar entitas data • Merupakan tahapan awal sebelum kita merancang database • Meskipun merupakan perancangan awal dari database, namun penggambarannya diusahakan untuk mudah dipahami oleh orang yang tidak/kurang memahami teknis dari database.
  • 34. Komponen dasar dari ERD • ENTITAS • Merupakakan objek yang memiliki karakteristik unik yang membedakannya dengan objek lainnya • RELATIONSHIP • Merupakan sesuatu yang menghubungkan satu entitas dengan entitas lainnya • ATRRIBUTE • Merupakan properti/karakteristik dari sebuah atribut atau relationship
  • 35. Simbol-simbol ER diagram Entity Atribut Relationship Weak Entity Identifying Relationship Atribut key Atribut Multivalue Atribut Composite Atribut Derivatif
  • 36. Entitas (Entity) • Entity  benda atau objek  data • Entity Set  merupakan kumpulan dari entity sejenis • Entity Set dapat berupa : • Objek secara fisik  orang, rumah, kendaraan, peralatan, dll • Objek secara konsep  pekerjaan, perusahaan, proyek, dll • Penamaan Entitas  menggunakan kata benda • Jika pada database, entitas akan merepresentasikan tabel
  • 38. ATRIBUT • Attribute menggambarkan property/karakteristik dari entitas/relationship • Contoh : • Entitas KARYAWAN  NIK, nama, alamat, tgl_lahir, no_ktp • Entitas MATA KULIAH  kode_matakuliah, nama_matakuliah, jml_sks • Relationship MEMINJAM (buku)  id_pinjam, id_buku, tgl_pinjam, tgl_kembali
  • 39. Contoh Entitas & Attribute Nama Mobil Tahun Produksi Warna Merk
  • 40. Macam Attributes 1.Key • Digunakan untuk menentukan suatu entity secara unik • Contoh : NIM, NIK, kode_barang, nomor_peserta 2.Simple • Atribut yang bernilai tunggal. tidak bisa dibagi menjadi bagian yg lebih kecil lagi • Contoh : nama, harga, status_pernikahan 3.Multivalue • Atribut yang memiliki sekelompok nilai pada setiap baris datanya • Contoh : gelar (ST, M.Kom, Phd) , hobi (membaca, shopping, travelling) 4.Composite • Suatu atribut yang memiliki komponen atribut yang lebih kecil & memiliki arti tertentu • Contoh : alamat dapat dipecah menjadi  nama_jalan, RT, RW, kota, propinsi 5.Derivative • Suatu atribut yang dihasilkan dari pengolahan atribut lainnya • Contoh : atribut umur didapatkan dari perhitungan antribut tanggal_lahir dan tanggal sekarang
  • 41. Key Attribute 1.Primary Key • Merupakan atribut kunci yang digunakan untuk membedakan antara satu data dengan data lain pada sebuah entitas • Contoh : • Entitas MAHASISWA  NIM • Entitas BARANG  kode_barang • Entitas MATAKULIAH  kode_matakuliah 2.Foreign Key • Merupakan atribut tamu yang mengacu pada atribut kunci dari entitas lain • Muncul karena adanya hubungan antara 2 entitas atau lebih • Atribut key ditulis dengan menggunakan garis bawah
  • 42. Kode_jenis_karyawan Jenis_karyawan JK001 Kontrak JK002 Tetap Kode_karyawan Kode_jenis_karyawan Nama_karyawan K001 JK002 Anto K002 JK001 Desta TABEL JENIS KARYAWAN TABEL KARYAWAN Primary Key : Kode_jenis_karyawan Primary Key : Kode_karyawan Foreign Key : Kode_jenis_karyawan
  • 43. Contoh Primary Key & Foreign Key Keterangan : PK Entitas BUKU = id_buku PK Entitas KATEGORI_BUKU = id_kategori FK Entitas BUKU = id_kategori  setiap buku memiliki kategori buku BUKU KATEGORI_BUKU memiliki id_buku Judul Id_kategori Id_kategori kategori
  • 44. Atribut Simple BUKU id_buku Judul Pengarang Id_buku Judul pengarang BK-001 MySQL Purwanto BK-002 Sistem Informasi Abdul Atribut yang bernilai tunggal. tidak bisa dibagi menjadi bagian yg lebih kecil lagi
  • 45. Judul Atribut Multivalue DOSEN id_dosen gelar nama Id_dosen nama gelar DS-001 Hanif ST, M.Kom , PhD DS-002 Suryono Ir, M.Kom Dilambangkan dengan bentuk oval dengan garis double Catatan : • Sangat tidak disarankan untuk digunakan. • Mengatasi multivalue attribute  dipecah menjadi 1 atau lebih entitas baru
  • 46. Cara Mengatasi Multivalue Attribute DOSEN id_dosen nama memiliki GELAR N M id_gelar id_dosen gelar Jenis_gelar NIK alamat Urutan_gelar id_gelar
  • 47. Id_dosen nama NIK alamat gelar DS-001 Hanif 32600018 semarang ST, M.Kom DS-002 Suryono 32692827 jakarta Ir, M.Kom,PhD Id_dosen nama NIK alamat DS-001 Hanif 32600018 semarang DS-002 Suryono 32692827 jakarta 1 Id_gelar gelar Posisi_gelar GL-001 ST belakang GL-002 MKOM belakang GL-003 Ir depan GL-004 PhD belakang 2 id Id_dosen Id_gelar Urutan_gelar 1 DS-001 ST 1 2 DS-001 M.Kom 2 3 DS-002 Ir 1 4 DS-002 M.Kom 1 5 DS-002 PhD 2 3 DOSEN GELAR DOSEN_GELAR
  • 48. 4. Composite atribute Kode_karyawan Nama_karyawan Alamat K001 Anto Jl.Patimura No.9 Semarang Jawa Tengah K002 Desta Jl.Anggrek No.3 Pekanbaru Riau Suatu atribut yang memiliki komponen atribut yang lebih kecil & memiliki arti tertentu Alamat bisa dipecah menjadi : - Nama jalan - Nama daerah - Nama Provinsi
  • 50. Derivative attribute  Suatu atribut yang dihasilkan dari pengolahan atribut lainnya  Contoh : Kode_karyawan Nama_karyawan Tgl_Lahir Umur K001 Anto 21 Maret 1982 34 K002 Risa 21 Januari 1990 26 Kolom usia, bergantung dengan kolom tanggal Dihitung dari tanggal sekarang – tanggal lahir
  • 52. RELATIONSHIP • Merupakan elemen dari ERD yang berfungsi untuk mengkoneksikan antar entitas • Relationship digambarkan dalam bentuk belah ketupat
  • 53. Contoh Entity & Relationship Menikah WANITA PRIA
  • 54. Contoh Entity, Attribute & Relationship Memiliki Nama Alamat No.Telp Nama Mobil Tahun Produksi Warna
  • 55. Attribute pada Relationship Meminjam Nama Alamat No.Telp Nomor Anggota Kode Buku Judul Pengarang Penerbit Kode Pinjam Tgl Pinjam Tgl Kembali Nomor Anggota Kode Buku
  • 57. Unary Relationship • Keterangan : • Entitas PEGAWAI (supervisor) mengatur entitas PEGAWAI (karyawan) • Relationship MENGATUR hanya menghubungkan entitas PEGAWAI PEGAWAI MENGATUR SUPERVISOR KASIR Id_pegawai Nama Id_supervisor P001 Purwanto Null P002 Sujatmiko P001
  • 58. Binary Relationship Keterangan : • Pegawai memiliki kendaraan • Relationship MEMILIKI menghubungkan entitas PEGAWAI dengan entitas KENDARAAN PEGAWAI Memiliki KENDARAAN
  • 59. Ternary Relationship Artinya : • Pegawai bekerja pada kota dan departemen tertentu • Relationship KERJA menghubungkan entity PEGAWAI, DEPARTEMEN dan KOTA
  • 60. Kardinalitas • Menjelaskan batasan jumlah keterhubungan antara satu entitas dengan entitas lainnya • Jenis kardinalitas • One-to-One (1:1) • One-to-Many (1:M) atau Many-to One (M:1) • Many-to-Many (M:N)
  • 61. One-to-One (1:1) PEGAWAI KENDARAAN DINAS Memiliki 1 1 ARTINYA : • Pegawai memiliki 1 buah kendaraan dinas • Atribut memiliki menghubungkan antara entitas PEGAWAI dengan entitas KENDARAAN DINAS HINT : • FK akan dimiliki oleh salah satu entitas Id_pegawai nama Id_kendaraan Id_pegawai Merk
  • 62. One-to-Many (1:M) ARTINYA : • Setiap FAKULTAS dapat memiliki banyak jurusan, dan • Setiap JURUSAN memiliki 1 FAKULTAS HINT : • FK akan dimiliki oleh entitas dengan kardinalitas M (yang banyak) FAKULTAS JURUSAN Memiliki 1 M Id_fakultas Nama_fakultas Id_jurusan Id_fakultas Nama_jurusan
  • 63. Many-to-Many (M:N) ARTINYA : • Setiap MAHASISWA dapat mengambil banyak MATAKULIAH • Setiap MATAKULIAH bisa diambil oleh banyak MAHASISWA HINT : • Kardinalitas M:N akan menghasilkan entitas baru dari sebuah relationship. • FK yang diambil dari kedua PK entitas yang terhubung, akan dimiliki oleh entitas baru yang terbentuk MAHASISWA MATAKULIAH Mempelajari N M Id_mahasiswa Nama Id_makul Nama_makul Id_mahasiswa Id_makul