Dokumen tersebut membahas tentang pemodelan pada pemrograman terstruktur yang mencakup pemodelan proses menggunakan data flow diagram dan pemodelan data menggunakan entity relationship diagram."
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
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
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
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
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
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
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
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