Analisis dan Perancangan Sistem
Analisis dan Perancangan Sistem adalah proses menguraikan suatu sistem yang kompleks menjadi bagian-bagian yang lebih kecil untuk kemudian dipelajari, dievaluasi, dan dirancang ulang menjadi sistem yang lebih baik. Proses ini sangat penting dalam pengembangan sistem informasi baru atau memperbaiki sistem yang sudah ada.
1. Teknik Analisis Kebutuhan Sistem
Tahap awal dalam pengembangan sistem adalah memahami kebutuhan pengguna. Analisis Kebutuhan Sistem bertujuan untuk mengidentifikasi dan mendokumentasikan apa yang diharapkan dari sistem baru. Teknik yang umum digunakan antara lain:
- Wawancara: Berinteraksi langsung dengan pengguna untuk menggali informasi mengenai pekerjaan mereka, masalah yang dihadapi, dan harapan terhadap sistem baru.
- Observasi: Mengamati langsung aktivitas pengguna dalam melakukan pekerjaan sehari-hari untuk memahami alur kerja yang sebenarnya.
- Kuisioner: Mengumpulkan data dari sejumlah besar pengguna melalui pertanyaan tertulis.
- Prototyping: Membuat model sederhana dari sistem yang akan dibangun untuk mendapatkan umpan balik dari pengguna.
2. Pemodelan Proses Bisnis dan Alur Data
Setelah kebutuhan sistem teridentifikasi, langkah selanjutnya adalah memodelkan proses bisnis dan alur data. Model ini akan menggambarkan bagaimana data mengalir dalam sistem dan bagaimana proses bisnis dilakukan.
a. DFD (Data Flow Diagram)
Apa itu DFD?
DFD adalah representasi grafis dari suatu sistem yang menggambarkan bagaimana data mengalir dari satu proses ke proses lainnya. DFD digunakan untuk memvisualisasikan sistem secara keseluruhan, sehingga memudahkan pemahaman, analisis, dan pengembangan sistem.
Komponen Utama DFD
DFD terdiri dari beberapa komponen utama, yaitu:
- Proses:
- Dilambangkan dengan lingkaran atau gelembung.
- Mewakilkan suatu aktivitas atau transformasi data.
- Contoh: Menghitung total penjualan, mencetak laporan, melakukan verifikasi data.
- Aliran Data:
- Dilambangkan dengan panah.
- Menunjukkan arah aliran data dari satu proses ke proses lain, atau antara proses dan entitas eksternal.
- Contoh: Data pelanggan, data produk, data transaksi.
- Entitas Eksternal:
- Dilambangkan dengan persegi panjang.
- Mewakilkan entitas di luar sistem yang berinteraksi dengan sistem.
- Contoh: Pelanggan, pemasok, database eksternal.
- Penyimpanan Data:
- Dilambangkan dengan dua garis sejajar.
- Mewakilkan tempat penyimpanan data yang bersifat persisten.
- Contoh: Database, file.
Tingkatan Abstraksi dalam DFD
DFD biasanya dibuat dalam beberapa tingkatan abstraksi:
- Level 0 (Context Diagram): Merupakan tingkat abstraksi tertinggi, hanya menunjukkan sistem secara keseluruhan dan interaksi dengan entitas eksternal.
- Level 1: Memecah sistem menjadi proses-proses utama.
- Level 2 dan seterusnya: Mendetailkan lebih lanjut setiap proses pada level sebelumnya.
Contoh DFD
Mari kita ambil contoh sederhana, yaitu sistem pemesanan tiket bioskop. DFD level 0 mungkin terlihat seperti ini:

Pada gambar di atas:
- Entitas Eksternal: Pelanggan, Kasir, Sistem Pembayaran.
- Proses: Pesan Tiket, Bayar Tiket.
Jika kita ingin lebih detail, kita bisa membuat DFD level 1 yang menunjukkan proses “Pesan Tiket” terbagi menjadi beberapa sub-proses, seperti memilih film, memilih kursi, dan mencetak tiket.
Kegunaan DFD
- Memahami sistem secara keseluruhan: DFD membantu kita melihat gambaran besar dari suatu sistem.
- Menganalisis aliran data: Dengan melihat aliran data, kita dapat mengidentifikasi potensi masalah atau bottleneck dalam sistem.
- Memudahkan komunikasi: DFD dapat digunakan sebagai alat komunikasi yang efektif antara analis sistem, pengembang, dan pengguna.
- Mendukung pengembangan sistem: DFD dapat menjadi dasar untuk merancang database, program, dan prosedur sistem.
Keterbatasan DFD
- Tidak menunjukkan urutan waktu: DFD tidak menunjukkan urutan di mana proses-proses dilakukan.
- Tidak menunjukkan keputusan: DFD tidak menggambarkan kondisi atau keputusan yang mempengaruhi aliran data.
- Terlalu sederhana untuk sistem yang kompleks: Untuk sistem yang sangat kompleks, DFD mungkin perlu dilengkapi dengan diagram lain seperti UML.
b. ERD (Entity Relationship Diagram)
Apa itu ERD?
ERD adalah diagram yang digunakan untuk menggambarkan hubungan antara berbagai data dalam suatu sistem. Diagram ini sangat berguna dalam merancang database, karena membantu kita memahami struktur data dan bagaimana data tersebut saling terkait.
Komponen Utama ERD
ERD terdiri dari beberapa komponen utama, yaitu:
- Entitas:
- Pengertian: Objek atau konsep dalam sistem yang memiliki keberadaan unik dan dapat dibedakan.
- Contoh: Pelanggan, Produk, Pesanan, Karyawan.
- Visualisasi: Digambarkan sebagai persegi panjang.
- Atribut:
- Pengertian: Sifat atau karakteristik dari suatu entitas.
- Contoh: Nama pelanggan, harga produk, tanggal pesanan, nomor telepon karyawan.
- Visualisasi: Dituliskan di dalam persegi panjang yang mewakili entitas.
- Relasi:
- Pengertian: Hubungan antara dua entitas.
- Contoh: Seorang pelanggan dapat melakukan banyak pesanan, sebuah produk dapat dimiliki oleh banyak pelanggan.
- Visualisasi: Digambarkan sebagai garis yang menghubungkan dua entitas.
- Kardinalitas:
- Pengertian: Menunjukkan jumlah kejadian pada satu entitas yang berhubungan dengan kejadian pada entitas lain.
- Contoh: Satu pelanggan dapat memiliki banyak pesanan (satu-ke-banyak), satu pesanan hanya dapat dimiliki oleh satu pelanggan (satu-ke-satu).
- Visualisasi: Ditunjukkan dengan notasi seperti 1:1, 1:N, atau M:N pada garis relasi.
Jenis-jenis Relasi
- Satu-ke-satu (1:1): Satu kejadian pada entitas pertama hanya terkait dengan satu kejadian pada entitas kedua, dan sebaliknya.
- Satu-ke-banyak (1:N): Satu kejadian pada entitas pertama dapat terkait dengan banyak kejadian pada entitas kedua, tetapi satu kejadian pada entitas kedua hanya terkait dengan satu kejadian pada entitas pertama.
- Banyak-ke-banyak (M:N): Satu kejadian pada entitas pertama dapat terkait dengan banyak kejadian pada entitas kedua, dan sebaliknya.
Contoh ERD
Misalnya, kita ingin membuat ERD untuk sebuah toko buku. Entitasnya bisa berupa Buku, Pelanggan, dan Pembelian. Relasinya bisa seperti:
- Satu buku dapat dibeli oleh banyak pelanggan (1:N).
- Satu pelanggan dapat membeli banyak buku (N:1).
- Setiap pembelian dilakukan oleh satu pelanggan dan terkait dengan satu atau lebih buku (N:M).

Kegunaan ERD
- Memudahkan perancangan database: ERD membantu dalam menentukan tabel, kolom, dan relasi dalam database.
- Memperjelas struktur data: ERD memberikan gambaran yang jelas tentang bagaimana data saling terkait.
- Memudahkan komunikasi: ERD dapat digunakan sebagai alat komunikasi yang efektif antara analis sistem, pengembang, dan pengguna.
Keterbatasan ERD
- Tidak menunjukkan urutan waktu: ERD tidak menggambarkan urutan kejadian.
- Tidak menunjukkan perilaku sistem: ERD hanya menggambarkan struktur data, bukan bagaimana data dimanipulasi.
c. UML (Unified Modeling Language)
UML (Unified Modeling Language)
UML atau Unified Modeling Language adalah bahasa pemodelan visual yang standar untuk merancang, membangun, dan mendokumentasikan sistem perangkat lunak. UML digunakan untuk memberikan representasi visual dari suatu sistem, sehingga lebih mudah dipahami oleh pengembang, analis, dan pemangku kepentingan lainnya.
Tujuan Utama UML
- Visualisasi: Menggambarkan sistem secara visual sehingga lebih mudah dipahami.
- Spesifikasi: Mendefinisikan sistem secara rinci dan tepat.
- Konstruksi: Membantu dalam membangun sistem.
- Dokumentasi: Mendokumentasikan aspek-aspek penting dari sistem.
Komponen Utama UML
UML terdiri dari beberapa jenis diagram yang masing-masing memiliki tujuan dan fokus yang berbeda. Berikut adalah beberapa diagram UML yang paling umum digunakan:
1. Use Case Diagram
Use Case Diagram: Gambaran Interaksi Pengguna dengan Sistem
Use Case Diagram adalah salah satu diagram UML yang paling dasar dan sering digunakan. Diagram ini memberikan gambaran visual tentang bagaimana pengguna (aktor) berinteraksi dengan sistem. Dengan kata lain, use case diagram menggambarkan fungsionalitas sistem dari perspektif pengguna.
Komponen Utama Use Case Diagram:
- Aktor: Representasi dari entitas yang berinteraksi dengan sistem. Bisa berupa manusia (user), sistem lain, atau perangkat keras.
- Use Case: Representasi dari suatu fungsi atau tugas yang dilakukan oleh sistem sebagai respons terhadap permintaan aktor.
- Hubungan: Menunjukkan hubungan antara aktor, use case, atau antara use case itu sendiri.
- Include: Menunjukkan bahwa satu use case menyertakan fungsionalitas dari use case lain.
- Extend: Menunjukkan kondisi khusus di mana fungsionalitas suatu use case dapat diperluas.
- Generalisasi: Menunjukkan hubungan “is-a” antara dua use case, di mana satu use case merupakan kasus khusus dari use case lainnya.
Contoh:
Sebuah sistem perpustakaan online.
- Aktor: Anggota perpustakaan, Pustakawan, Administrator.
- Use Case:
- Anggota: Melakukan pencarian buku, Meminjam buku, Mengembalikan buku, Memperpanjang masa peminjaman.
- Pustakawan: Menambahkan buku baru, Menghapus buku, Mengelola data anggota.
- Administrator: Mengelola sistem, Membuat laporan.
- Hubungan:
- Include: Use case “Meminjam buku” mungkin termasuk use case “Verifikasi keanggotaan”.
- Extend: Use case “Meminjam buku” dapat diperluas dengan use case “Membayar denda” jika anggota terlambat mengembalikan buku.
- Generalisasi: Use case “Mengelola data anggota” dapat digeneralisasi menjadi use case “Mengelola data pengguna”.
Visualisasi Use Case Diagram:

2. Class Diagram
Class Diagram: Blueprint Sistem
Class Diagram adalah diagram dalam UML yang menggambarkan struktur statis dari suatu sistem. Diagram ini seperti cetak biru atau blueprint dari sebuah bangunan, yang menunjukkan komponen-komponen utama sistem dan bagaimana mereka saling berhubungan.
Komponen Utama Class Diagram:
- Kelas (Class):
- Representasi dari suatu konsep atau objek dalam sistem.
- Digambarkan sebagai kotak dengan tiga kompartemen:
- Kompartemen atas: Nama kelas
- Kompartemen tengah: Atribut (properties) kelas
- Kompartemen bawah: Operasi (method) kelas
- Contoh: Kelas “Mobil” memiliki atribut seperti “merk”, “model”, “tahun”, dan operasi seperti “start”, “stop”, “accelerate”.
- Atribut (Attribute):
- Properti atau karakteristik dari suatu kelas.
- Menjelaskan data yang dimiliki oleh objek dari kelas tersebut.
- Contoh: Atribut “nama” pada kelas “Pelanggan” menunjukkan nama dari setiap pelanggan.
- Operasi (Operation):
- Tindakan atau perilaku yang dapat dilakukan oleh objek dari kelas tersebut.
- Sering disebut sebagai metode atau fungsi.
- Contoh: Operasi “hitungTotalHarga” pada kelas “Pesanan” digunakan untuk menghitung total harga dari semua item dalam pesanan.
- Hubungan (Relationship):
- Menunjukkan bagaimana kelas-kelas saling berhubungan.
- Beberapa jenis hubungan:
- Asosiasi: Hubungan umum antara dua kelas.
- Generalisasi: Hubungan “is-a”, menunjukkan hubungan antara kelas induk dan kelas anak (inheritance).
- Agregasi: Hubungan “has-a”, menunjukkan bahwa suatu kelas merupakan bagian dari kelas lain (bagian-keseluruhan).
- Komposisi: Jenis agregasi khusus, di mana bagian tidak dapat berdiri sendiri tanpa keseluruhan.
Contoh Class Diagram: Sistem Perpustakaan
Class Diagram: Blueprint Sistem
Class Diagram adalah diagram dalam UML yang menggambarkan struktur statis dari suatu sistem. Diagram ini seperti cetak biru atau blueprint dari sebuah bangunan, yang menunjukkan komponen-komponen utama sistem dan bagaimana mereka saling berhubungan.
Komponen Utama Class Diagram:
- Kelas (Class):
- Representasi dari suatu konsep atau objek dalam sistem.
- Digambarkan sebagai kotak dengan tiga kompartemen:
- Kompartemen atas: Nama kelas
- Kompartemen tengah: Atribut (properties) kelas
- Kompartemen bawah: Operasi (method) kelas
- Contoh: Kelas “Mobil” memiliki atribut seperti “merk”, “model”, “tahun”, dan operasi seperti “start”, “stop”, “accelerate”.
- Atribut (Attribute):
- Properti atau karakteristik dari suatu kelas.
- Menjelaskan data yang dimiliki oleh objek dari kelas tersebut.
- Contoh: Atribut “nama” pada kelas “Pelanggan” menunjukkan nama dari setiap pelanggan.
- Operasi (Operation):
- Tindakan atau perilaku yang dapat dilakukan oleh objek dari kelas tersebut.
- Sering disebut sebagai metode atau fungsi.
- Contoh: Operasi “hitungTotalHarga” pada kelas “Pesanan” digunakan untuk menghitung total harga dari semua item dalam pesanan.
- Hubungan (Relationship):
- Menunjukkan bagaimana kelas-kelas saling berhubungan.
- Beberapa jenis hubungan:
- Asosiasi: Hubungan umum antara dua kelas.
- Generalisasi: Hubungan “is-a”, menunjukkan hubungan antara kelas induk dan kelas anak (inheritance).
- Agregasi: Hubungan “has-a”, menunjukkan bahwa suatu kelas merupakan bagian dari kelas lain (bagian-keseluruhan).
- Komposisi: Jenis agregasi khusus, di mana bagian tidak dapat berdiri sendiri tanpa keseluruhan.
Contoh Class Diagram: Sistem Perpustakaan
Pada diagram di atas:
- Kelas “Buku” memiliki atribut seperti “judul”, “pengarang”, “ISBN”.
- Kelas “Anggota” memiliki atribut seperti “nama”, “alamat”, “nomor anggota”.
- Hubungan antara “Buku” dan “Anggota” adalah “banyak-ke-banyak” (M:N), karena satu buku dapat dipinjam oleh banyak anggota, dan satu anggota dapat meminjam banyak buku.
3. Sequence Diagram
Sequence Diagram: Peta Jalan Interaksi Objek
Sequence Diagram adalah diagram dalam UML yang digunakan untuk menggambarkan interaksi antara objek-objek dalam suatu sistem secara berurutan berdasarkan waktu. Diagram ini sangat berguna untuk memahami alur eksekusi suatu skenario atau use case.
Komponen Utama Sequence Diagram:
- Objek: Representasi dari instance suatu kelas. Setiap objek memiliki garis hidup (lifeline) yang menunjukkan durasi keberadaan objek dalam interaksi.
- Lifeline: Garis vertikal yang merepresentasikan garis waktu eksekusi suatu objek.
- Pesan: Garis berpanah yang menghubungkan antara dua objek, menunjukkan pengiriman pesan (method call) dari satu objek ke objek lainnya.
Jenis Pesan:
- Synchronous Message: Pesan yang membutuhkan respons sebelum melanjutkan eksekusi. Digambarkan dengan panah solid.
- Asynchronous Message: Pesan yang tidak membutuhkan respons langsung. Digambarkan dengan panah putus-putus.
- Return Message: Pesan balasan dari sebuah panggilan. Digambarkan dengan panah putus-putus dengan panah balik.
Contoh Sequence Diagram: Proses Login
Pada diagram di atas:
- Objek: User, Sistem
- Pesan:
- User mengirimkan pesan “Masukkan Username dan Password” ke Sistem.
- Sistem menerima pesan dan melakukan verifikasi.
- Jika verifikasi berhasil, Sistem mengirimkan pesan “Login Berhasil” ke User.
- Jika gagal, Sistem mengirimkan pesan “Login Gagal” ke User.
4. Activity Diagram
Activity Diagram: Peta Jalan Proses Bisnis
Activity Diagram adalah diagram dalam UML yang digunakan untuk menggambarkan aliran kerja atau aktivitas dalam suatu proses bisnis. Diagram ini memberikan gambaran visual tentang langkah-langkah yang terlibat dalam suatu proses, mulai dari awal hingga akhir.
Komponen Utama Activity Diagram:
- Aktivitas (Activity): Representasi dari suatu tindakan atau tugas dalam proses. Digambarkan sebagai kotak dengan sudut membulat.
- Aliran (Flow): Garis panah yang menunjukkan urutan pelaksanaan aktivitas.
- Keputusan (Decision): Simbol berlian yang menunjukkan titik di mana aliran proses dapat bercabang berdasarkan kondisi tertentu.
- Gabungan (Merge): Simbol berlian yang menunjukkan titik di mana beberapa aliran bergabung menjadi satu.
- Percabangan (Fork): Simbol garis horizontal dengan garis vertikal yang menunjukkan titik di mana aliran proses terbagi menjadi beberapa aliran paralel.
- Garis Renang (Swimlane): Membagi diagram menjadi beberapa kolom untuk menunjukkan tanggung jawab masing-masing aktor atau sistem.
Contoh Activity Diagram: Proses Pemesanan Barang Online

Pada diagram di atas:
- Aktivitas: Pilih produk, Tambahkan ke keranjang, Lakukan pembayaran, Konfirmasi pesanan.
- Aliran: Garis panah yang menghubungkan antar aktivitas.
- Keputusan: Apakah pelanggan sudah memiliki akun?
- Gabungan: Setelah pembayaran berhasil, aliran kembali ke aktivitas konfirmasi pesanan.
5. Statechart Diagram
Diagram Statechart: Memetakan Perjalanan Hidup Suatu Objek
Diagram Statechart adalah salah satu diagram UML yang digunakan untuk menggambarkan perilaku dinamis suatu objek sepanjang siklus hidupnya. Diagram ini menunjukkan berbagai keadaan (state) yang dapat dialami oleh suatu objek, serta transisi yang terjadi antara satu keadaan dengan keadaan lainnya sebagai respons terhadap suatu peristiwa (event).
Komponen Utama Diagram Statechart
- State: Representasi dari kondisi atau situasi yang dimiliki oleh suatu objek pada suatu waktu tertentu. Digambarkan sebagai kotak dengan sudut membulat.
- Transition: Representasi dari perubahan keadaan yang terjadi akibat adanya suatu peristiwa. Digambarkan sebagai garis panah yang menghubungkan dua state.
- Event: Pemicu yang menyebabkan terjadinya suatu transisi. Biasanya dituliskan di dekat garis panah transisi.
Contoh Diagram Statechart: Siklus Hidup Pesanan

Pada diagram di atas:
- State: Dibuat, Diproses, Dikirim, Selesai, Dibatalkan.
- Transition:
- Dari “Dibuat” ke “Diproses” ketika pembayaran berhasil.
- Dari “Diproses” ke “Dikirim” ketika pesanan sudah siap dikirim.
- Dari “Dikirim” ke “Selesai” ketika pesanan sudah diterima oleh pelanggan.
- Dari setiap state ke “Dibatalkan” jika terjadi pembatalan pesanan.
Diagram UML Lainnya:
- Component Diagram: Menggambarkan struktur fisik suatu sistem.
- Deployment Diagram: Menjelaskan arsitektur fisik sistem.
- Package Diagram: Mengorganisir elemen-elemen UML ke dalam paket.
- Communication Diagram: Mirip dengan sequence diagram, tetapi lebih fokus pada hubungan antara objek.
Manfaat Menggunakan UML
- Peningkatan komunikasi: UML menyediakan bahasa yang sama untuk semua anggota tim proyek.
- Peningkatan kualitas: UML membantu dalam mengidentifikasi kesalahan desain sejak dini.
- Produktivitas: UML dapat meningkatkan produktivitas dengan mengurangi waktu yang dibutuhkan untuk mengembangkan sistem.
- Dokumentasi yang baik: UML menghasilkan dokumentasi yang komprehensif dan mudah dipahami.
3. Desain Sistem
Setelah model proses bisnis dan alur data selesai, tahap selanjutnya adalah merancang sistem secara detail.
a. Antarmuka Pengguna (User Interface)
- Fungsi: Menentukan bagaimana pengguna berinteraksi dengan sistem.
- Prinsip: Mudah digunakan, menarik, dan efisien.
- Contoh: Desain antarmuka untuk aplikasi mobile banking harus intuitif dan aman.
b. Arsitektur Data
- Fungsi: Menentukan bagaimana data disimpan, diakses, dan dikelola.
- Komponen: Database, server, dan jaringan.
- Contoh: Arsitektur data untuk sistem e-commerce harus mampu menampung data produk, pelanggan, dan transaksi dalam jumlah besar.
c. Keamanan
- Fungsi: Melindungi sistem dari akses yang tidak sah.
- Mekanisme: Enkripsi, otentikasi, dan otorisasi.
- Contoh: Sistem perbankan online harus memiliki mekanisme keamanan yang kuat untuk mencegah penipuan.
Contoh Nyata Implementasi
Misalnya, dalam pengembangan aplikasi pemesanan tiket pesawat, tahap-tahap analisis dan perancangan sistem akan meliputi:
- Analisis Kebutuhan: Melakukan wawancara dengan calon pengguna untuk mengetahui fitur-fitur yang diinginkan, seperti pencarian penerbangan, pemesanan tiket, dan pembayaran online.
- Pemodelan: Membuat DFD untuk menggambarkan aliran data pemesanan tiket, ERD untuk memodelkan hubungan antara entitas seperti penerbangan, penumpang, dan pembayaran, serta UML untuk menggambarkan interaksi pengguna dengan sistem.
- Desain: Merancang antarmuka pengguna yang intuitif, menentukan arsitektur database untuk menyimpan data penerbangan dan pemesanan, dan menerapkan mekanisme keamanan untuk melindungi data pelanggan.
![]()

