13. CLASS DIAGRAM
1.6. Attribute
Sebuah class mungkin memiliki beberapa attribute atau tidak sama sekali. Atribut merepresentasikan beberapa property dari sesuatu yang kita modelkan, yang dibagi dengan semua objectdari semua classyang ada. Contohnya, setiap tembok memiliki tinggi, lebar dan ketebalan. Untuk penulisan atribut kelas, biasanya huruf pertama dari tiap kata merupakan huruf kapital, kecuali untuk huruf awal. Contoh : birthDate, length.
Cara menemukan atribut 1. Dari dokumentasi use case.
• Contoh : “Pemakai memasukkan nm pegawai, alamat, no ktp
• Di apotik “ Penjualan memasukkan data obat meliputi kode, nama, jenis”
2. Dari memeriksa struktur basisdata 1.7. Methods / Operasi
Methods / Operasi adalah abstraksi dari segala sesuatu yang dapat kita lakukan pada sebuah object dan ia berlaku untuk semua object yang terdapat dalam class tersebut.
Class mungkin memiliki beberapa operasi atau tanpa operasi sama sekali. Contohnya adalah sebuah class Kotak dapat dipindahkan, diperbesar atau diperkecil. Biasanya, pemanggilan operasi pada sebuah object akan mengubah data atau kondisi dari object tersebut.
1.8. Visibility / Sifat Class
Visibility merupakan property yang sangat penting dalam pendefinisian atribut dan operasi pada suatu class. Visibility menspesifikasikan apakah atribut/operasi tersebut dapat digunakan/diakses oleh class lain. UML menyediakan 3 buah tingkat visibility, yaitu:
 Private (-), tidak dapat dipanggil dari luar class yang bersangkutan
 Protected (#), hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
 Public (+), dapat dipanggil oleh siapa saja
Contoh sifat Class
Gambar 4. Visibility Menggambar Class
 Ketika menggambarkan sebuah class kita tidak perlu menampilkan seluruh atribut atau operasi.
 Karena dalam sebagian besar kasus kita tidak dapat menampilkannya dalam sebuah gambar, karena terlalu banyaknya atribut atau operasinya, bahkan terkadang tidak perlu karena kurang relevannya atribut atau operasi yang akan ditampilkan.
 Sehingga kita dapat menampilkan atribut dan operasinya hanya sebagian atau tidak sama sekali. Kosongnya tempat pengisian bukan berarti tidak ada. Karena itu kita dapat menambahkan tanda ellipsis (…) pada akhir daftar yang menunjukkan bahwa masih ada atribut atau operasi yang lain.
1.9. Stereotype Class
 Stereotype adalah sebuah mekanisme yang digunakan untuk mengkategorikan sebuah class. Misal, kita ingin mencari form dalam model. Kita dapat menciptakan Form stereotype, dan dapat menemukan seluruh form dalam stereotype Form. Fitur ini memudahkan kita dalam mengorganisasi responsibility dari tiap-tiap class.Sebagai contoh, beberapa class yang memiliki stereotype Form memiliki responsibility untuk menampilkan dan menerima informasi dari user.
 Terdapat 3 stereotype utama dalam UML, yaitu boundary, entity dan control.
1.10. Relationship
Relasi atau relationshipmenghubungkan beberapa objek sehingga memungkinkan terjadinya interaksi dan kolaborasi diantara objek-objek yang terhubung. Dalam pemodelan class diagram, terdapat tiga buah relasi utama yaitu association, agregation dan generalization.
Bentuk Relationships
Diagram Class mempunyai 3 macam relationships (hubungan):
 Association. Suatu hubungan antara bagian dari dua kelas. Terjadi association antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah association adalah penghubung yang menghubungkan dua kelas.
 Aggregation. Suatu association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian. Sebagai contoh : OrderDetail merupakan kumpulan dari Order.
 Generalization. Suatu hubungan turunan dengan mengasumsikan satu kelas merupakan suatu superClass dari kelas yang lain.Generalization memiliki tingkatan yang berpusat pada superClass. Contoh : Payment adalah superClass dari Cash, Check, dan Credit.
1.11. Asosiasi
 Relasi asosiasi merupakan relasi structural yang menspesifikasikan bahwa satu objek terhubung dengan objek lainnya. Relasi ini tidak menggambarkan aliran data, sebagaimana yang terdapat pada pemodelan desain pada analisa terstruktur.
 Relasi asosiasi dapat dibagi menjadi 2(dua) jenis, yaitu uni-directional association dan bi-directional association
 Hubungan association mempunyai 2 titik. Salah satu titik bisa memiliki label untuk menjelaskan association tersebut. Contoh : OrderDetail adalah line Item untuk setiap permintaan.
 Panah navigability (pengatur alur arah) dalam suatu association menggambarkan arah mana association dapat ditransfer atau disusun.
 Seperti dalam contoh : OrderDetail dapat disusun dari item-nya, namun tidak bisa sebaliknya. Panah ini juga menjelaskan siapa “memiliki” implementasi dari association;dalam kasus ini OrderDetail memiliki Item. Association tanpa arahpanah merupakan bidirectional (bolak-balik).
1.12. Aggregation
 Aggregation merupakan bentuk khusus dari asosiasi dimana induk terhubung dengan bagian-bagiannya.
 Aggregation merepresentasikan relasi “has-a”, artinya sebuah classmemiliki/terdiri dari bagian-bagian yang lebih kecil.
 Dalam UML, relasi agregasi digambarkan dengan open diamondpada sisi yang menyatakan induk (whole)
Gambar 5. Agregasi
Gambar 6. Contoh Agregasi
1.13. Multiplicity
Multiplicity menentukan/mendefinisikan banyaknya object yang terhubung dalam suatu relasi. Indikator multiplicity terdapat pada masing-masing akhir garis relasi.
Mutiplicity atau multiplisitas menunjukkan jumlah suatu objek yang bisa berhubungan dengan objek lain.
Gambar 7. Multiplicity
Multiplicity dari suatu titik association adalah angka kemungkinan bagian dari hubungan kelas dengan single instance (bagian) pada titik yang lain. Multiplicity berupa single number (angka tunggal) atau range number (angka batasan). Pada contoh di atas, hanya bisa satu ‘Customer’ untuk setiap ‘Order’, tapi satu ‘Customer’
hanya bisa memiliki beberapa ‘Order’.
Gambar 8. Contoh Multiplicity 1.14. Dependency
Dependencymerupakan sebuah relasi yang menyebutkan bahwa perubahan pada satu class (misal class event), maka akan mempengaruhi class lain yang menggunakannya (misal classwindow), tetapi tidak berlaku sebaliknya. Pada umumnya, relasi dependencydalam konteks Class Diagram, digunakan apabila terdapat satu class yang menggunakan / meng-instanceclass lain sebagai argumen dari sebuah method.
Perhatikan contoh dibawah, bila spesifikasi dari class Channel berubah, maka method playOn pada class FilmClip juga akan berubah.
Gambar 9. Depedency
1.15. Inheritance
 Inheritance merupakan salah satu karakteristik dalam pemrograman berorientasi objek, dimana sebuah class mewarisi / inherit sifat-sifat (dalam hal ini atribut &
operasi) dari class lain yang merupakan parent dari class tadi. Class yang menurunkan sifat-sifatnya disebut superclass, sedangkan class yang mewarisi sifat dari superclass disebut subclass.
 Inheritance disebut juga hierarki “is-a” (adalah sebuah) atau “kind-of” (sejenis).
Subclass dapat memiliki atau menggunakan atribut & operasi tambahan yang hanya berlaku pada tingkat hierarkinya.
 Karena inheritance relationship bukan merupakan relationship diantara objek yang berbeda, maka relationship ini tidak diberi nama. Begitu pula dengan penamaan role dan multiplicity
1.16. Generalization
Abstract class: jika satu class hanya diperlukan sebagai template untuk class-class yang lebih spesifik (dalam sistem tidak akan ada object dari class tsb). Tidak memiliki instance. Dalam notasi namanya dituliskan huruf miring (italic)
Gambar 10. Generalisasi
 class Shape merupakan generalisasi, class Rectangle, Circle dan Polygon adalah spesialisasi.
 class yang menjadi superclass (dalam hal ini adalah class Shape) dinamakan abstract class, sedangkan class yang menjadi subclass (class Rectangle, Circle dan Polygon) dinamakan concrete class
Rangkuman
a. Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
b. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas dan karakteristik data yang dimiliki suatu objek dalam kelas
c. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas d. Kelas memiliki tiga area pokok yaitu Nama, Atribut dan Operasi.
e. Kelas adalah menemukan hal-hal mendasar pada suatu objek dan mengabaikan hal-hal yang sifatnya insidental.
f. Objek adalah instansiasi (contoh) dari sebuah kelas.
g. Abstraksi bertujuan untuk menyaring properties dan operasi pada suatu objek, sehingga hanya tinggal yang dibutuhkan saja
h. Multiplisitas menunjukkan jumlah suatu objek yang bisa berhubungan dengan objek yang lain. Umumnya ditunjukkan dengan berapa banyak objek yang bisa mengisi properti “satu” atau “banyak”, tetapi secara khusus dapat ditunjukkan pula dengan bilangan integer lebih besar atau sama dengan nol.
i. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
j. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
k. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya.
Kebalikan dari pewarisan adalah generalisasi.
l. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Latihan
Jawablah pertanyaan berikut dengan singkat dan jelas
a. Bagaimanakah hubungan class diagram dengan database?
b. Sebutkan dan jelaskan bentuk relasi dalam class diagram?
c. Apakah yang dimaksud dengan depedensi?
d. Sebutkan dan jelaskan multiplicity dalam class diagram berikut contoh!
UNIVERSITAS BUDI LUHUR
FAKULTAS TEKNOLOGI INFORMASI
PERTEMUAN 14
JUDUL POKOK BAHASAN
Capaian Pembelajaran : Mahasiswa mampu menggunakan Class Diagram dalam memecahkan suatu studi kasus
Sub Pokok Bahasan : 1.1. Studi Kasus 1 : Penyewaan Mobil.
1.2. Studi Kasus 2 : Sistem Kepegawaian Daftar Pustaka : 1. Kung, David C., 2014. Object Oriented
Software Engineering: An Agile Methodology, McGraw-Hill
2. Pressman, Roger S. 2010. Software Engineering : A Practitioner's
Approach,7th, McGraw-Hill
3. Schach, Stephen R. 2010. Object Oriented and Classical Software Engineering, 8th, McGraw-Hill 4. Sommerville, Ian. 2010. Software
Engineering, 9th, Pearson Education
14. STUDI KASUS CLASS DIAGRAM
1.1. STUDI KASUS 1 : Penyewaan Mobil.
PT Anugerah Sejahtera Abadi adalah salah satu perusahaan yang bergerak dalam bisnis penyewaan mobil. Perusahaan tersebut beroperasi penuh selama 24 jam sehingga diperlukan karyawan dan pengemudi yang selalu siap selama 24 jam.
Perusahaan melayani penyewaan berbagai jenis kendaraan dan berbagai jurusan seluruh kota di Pulau Jawa. Penyewaan juga melayani berbagai jenis penyewaan seperti hanya menyewa mobil saja, mobil beserta pengemudinya, baik untuk perorangan, kelompok maupun perusahaan atau instansi. Untuk menyewa mobil maka calon penyewa harus menyerahkan identitas penyewa serta mengisi beberapa formulir.
Sehubungan dengan perkembangan usaha yang semakin besar dan meningkat serta kemajuan di bidang teknologi informasi maka perusahaan tersebut akan menerapkan sistem informasi IT pada bisnisnya.
Tugas Anda: Analisa proses bisnis pada PT Anugerah Sejahtera Abadi tersebut kemudian buatlah rancangan Class Diagramnya.
Analisa Proses Bisnis pada PT. Anugerah Sejahtera Abadi Prosedur sistem dari PT. Anugerah Sejahtera Abadi:
1. Proses Peminjaman Mobil
Untuk meminjam mobil, customer harus mengisi beberapa formulir kemudian customer memilih mobil yang akan disewa dan jika ingin memakai supir, makan petugas akan menyiapkan supir. Kemudian petugas mencatat data mobil yang di pinjam, data supir yang dipakai dan data customer yang menyewa mobil tersebut.
2. Proses Pengembalian Mobil
Setelah batas waktu penyewaan mobil telah habis, maka customer wajib mengembalikan mobil yang disewa dan menyerahkan bukti penyewaan, kemudian petugas akan memeriksa keadaan mobil yang disewa. Jika mobil yang disewa tersebut dalam keadaan rusak atau customer telah melampaui batas waktu penyewaan, maka customer tersebut dikenakan denda. Jika
mobil tersebut dalam keadaan baik dan pengembalian mobil sesuai dengan batas waktu yang ditentukan maka petugas akan memberikan bukti pengembalian.
3. Proses Pembuatan Laporan
Semua kegiatan yang terjadi pada PT. Anugerah Sejahtera Abadi yang meliputi dari data customer, data peminjaman mobil dan data pengembalian mobil akan dicatat oleh petugas. Kemudian petugas akan memberikan data penyewaan kepada Staff. Dan Staff akan membuat laporan penyewaan untuk diserahkan kepada pemilik PT. Anugerah Sejahtera Abadi.
Rancangan Class Diagram pada PT. Anugerah Sejahtera Abadi
1.2.
Studi Kasus 2 : Sistem Kepegawaian
PT. XYZ merupakan perusahaan dibidang pembuataan interior desain yang sangat dicari oleh masyarakat. Perusahaan ini sangat pesat perkembangannya dengan ditunjukan banyaknya perusahaan-perusahaan swasta maupun pemerintah dan masyarakat menggunakan jasa interior desain kantor PT. XYZ. Seiring dengan meningkatnya perkembangan perusahaaan tersebut, perusahaan harus menambah
jumlah karyawan dan dengan bertambahnya jumlah karyawan maka proses kepegawaianmenjadi masalah yang harus diatasi agar terhindar dari kekeliruan yang mengakibatkan produktivitas perusahaan menurun.
Sistem kepegawaian di kantor PT. XYZ masih manual dan kurang efektif.
sehingga sering terjadi kekeliruan dikarenakan pengolahan data yang manual dan kurang efektif sehingga sering terjadi kesalahan dan keterlambatan data yang berhubungan dengan karyawan yang mengakibatkan kinerja yang tidak efektif, oleh karena itu untuk mendukung tugas perusahaan diperlukan bagian admin yang handal dan dapat menciptakan suasana karyawan yang baik dilingkungan perusahaan. Salah satunya adalah sistem Informasi yang baik, jelas dan akurat sehingga bisa dijadikan panduan seberapa baik pelayanan PT. XYZ. Informasi yang baik, jelas dan akurat dapat dijadikan untuk meyakinkan pelanggan bahwa PT. XYZ adalah perusahaan yang dapat dipercayai.
Adapun proses bisnis sistem kepegawaian pada PT. XYZ adalah sebagai berikut : a. Pendataan karyawan
Bagian Admin memberikan formulir data karyawan kesetiap dengan jabatan masing-masing, lalu karyawan mengisi formulir data karyawan kemudian mengembalikan lagi ke admin. Bagian admin memeriksa formulir data karyawan tersebut jika data karyawan sudah lengkap maka akan dicatat lalu diarsipkan dan jika belum lengkap maka formulir akan dikembalikan kepada karyawan tersebut untuk dilengkapi.
b. Pengajuan Masa Pensiun
Bagian admin mengajukan surat pengajuan masa pensiun karyawan yang akan memasuki masa pensiun kepada pimpinan. Kemudian pimpinan menyetujui dan menyerahkan kembali kepada bagian admin untuk membuat SK pensiun.
c. Pengajuan Cuti Tahunan
Karyawan mengajukan cuti tahunan kepada bagian admin. Bagian admin akan memeriksa apakah karyawan tersebut sudah cukup cuti atau belum. Jika karyawan tersebut sudah cukup cuti maka cuti tersebut akan ditolak. Jika belum akan diproses. Kemudian admin mengajukan surat pengajuan cuti tersebut kepada pimpinan untuk disetujui. Setelah disetujui maka bagian admin akan membuat surat cuti karyawan dan menyerahan surat cuti kepada
karyawan.
d. Mutasi Karyawan
Sekretaris pimpinan menyerahkan surat mutasi karyawan kepada bagian admin kemudian bagian admin mencatat data mutasi karyawan. Setelah itu meyerahkan surat mutasi karyawan kepada karyawan.
e. Surat Tugas
Pimpinan memerintahkan untuk membuat surat tugas kepada bagian admin.
Kemudian admin membuat surat tugas dan menyerahkan kepada karyawan.
f. Kenaikan Gaji Berkala
Setiap 1 tahun sekali karyawan akan memperoleh kenaikan gaji berkala.Bagian admin akan memeriksa masa kerja karyawan. Jika tidak cukup tidak diproses dan Jika cukup bagian admin akan membuat surat kenaikan gaji berkala kemudian meyerahkan kepada pimpinan untuk disetujui. Setelah itu pimpinan menyerahkan kembali surat kenaikan gaji berkala kepada bagian admin.
Berdasarkan proses diatas, buatlah Use Case Diagram dan Class Diagram
Jawaban :
a) Use Case Diagram Sistem Usulan
Use case diagram digunakan untuk menggambarkan kebutuhan dan fungsionalitas sistem dari sudut pandang user berdasarkan hasil analisa yang telah dilakukan yang terfokus pada sistem yang terkomputerisasi. Adapun use case diagram sistem usulan tersebut adalah sebagai berikut :
Use Case Diagram Master Sistem Usulan
Use Case Diagram Transaksi Sistem Usulan
Use Case Diagram Laporan Sistem Usulan
b) Rancangan Basis Data
Alat bantu yang digunakan dalam perancangan basis data adalah Class Diagram yaitu untuk menggambarkan entitas-entitas apa saja yang terlibat dalam sistem informasi Kepegawaian pada Kantor PT. XYZ yang terlihat pada gambar berikut ini :
Rangkuman
 Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
 Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas dan karakteristik data yang dimiliki suatu objek dalam kelas
 Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas
 Kelas memiliki tiga area pokok yaitu Nama, Atribut dan Operasi.
 Kelas adalah menemukan hal-hal mendasar pada suatu objek dan mengabaikan hal-hal yang sifatnya insidental.
 Objek adalah instansiasi (contoh) dari sebuah kelas.
 Abstraksi bertujuan untuk menyaring properties dan operasi pada suatu objek, sehingga hanya tinggal yang dibutuhkan saja
 Multiplisitas menunjukkan jumlah suatu objek yang bisa berhubungan dengan objek yang lain. Umumnya ditunjukkan dengan berapa banyak objek yang bisa mengisi properti "satu" atau "banyak", tetapi secara khusus dapat ditunjukkan pula dengan bilangan integer lebih besar atau sama dengan nol.
 Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
 Agregasi, yaitu hubungan yang menyatakan bagian ("terdiri atas..").
 Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
 Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Latihan
a. Gambarkan class diagram utk situasi berikut : PC, Notebook & Netbook adalah ragam jenis komputer yang secara umum dapat dihubungkan dengan printer b. Gambarkan class diagram beserta atribut dan multiplicitynya untuk situasi berikut
: Pada sebuah perusahaan terdapat sejumlah biro yang masing-masing mempekerjakan minimal satu pegawai. Kalau ada biro tersebut terdapat lebih dari seorang pegawai maka pegawai laki-laki dipimpin oleh laki-laki begitupun pegawai perempuan hanya dipimpin oleh perempuan
UNIVERSITAS BUDI LUHUR
FAKULTAS TEKNOLOGI INFORMASI
PERTEMUAN 15
PRESENTASI TUGAS KELOMPOK
Capaian Pembelajaran : Mahasiswa mampu memaparkan hasil pengerjaan tugas kelompoknya dengan memasukkan kriteria nilai kebudiluhuran dalam penilaian presentasi kelompok Sub Pokok Bahasan : 1.1. Ruang lingkup tugas kelompok
1.2. Konsep penilaian
Daftar Pustaka : 1. Kung, David C., 2014. Object Oriented Software Engineering: An Agile
Methodology, McGraw-Hill
2. Pressman, Roger S. 2010. Software Engineering : A Practitioner's
Approach,7th, McGraw-Hill
3. Schach, Stephen R. 2010. Object Oriented and Classical Software Engineering, 8th, McGraw-Hill 4. Sommerville, Ian. 2010. Software
Engineering, 9th, Pearson Education
15. PRESENTASI TUGAS KELOMPOK
1.1. Ruang Lingkup Tugas
Tugas yang diberikan akan dibagi menjadi beberapa tahap pengerjaan antara lain meliputi materi berikut :
 Analisa kebutuhan
 Pemodelan kebutuhan dengan : o Activity Diagram
o Usecase Diagram o Class Diagram
Tahapan analisa merupakan tahap yang kritis dan sangat penting, karena kesalahan di dalam tahap ini akan menyebabkan juga kesalahan di tahap selanjutnya.
Digunakan untuk mendefinisikan dan menggambarkan kebutuhan pemakai secara detil, waktu spesifik dan hambatan biaya mengikuti perencanaan sistem dan dilanjutkan rancangan sistem general
Ada tiga faktor yang harus dipenuhi ketika melakukan analisis kebutuhan ini, yaitu lengkap, detail, dan benar. Lengkap artinya semua yang diharapkan oleh klien telah didapatkan oleh pihak yang melakukan analisis. Detail maksudnya adalah berhasil mengumpulkan informasi yang terperinci. Semua data dari analisis kebutuhan ini haruslah benar, sesuai apa yang dimaksud oleh klien, bukan benar menurut apa yang dipikirkan oleh pihak analisis.
Analisis kebutuhan yang dilakukan terhadap perangkat lunak akan menghasilkan spesifikasi perangkat lunak tersebut. Analisa kebutuhan ini terdiri dari lima langkah pokok:
1) Mempelajari dan memahami persoalan 2) Mengidentifikasi kebutuhan pemakai
3) Mendefinisikan kebutuhan perangkat lunak 4) Membuat dokumen spesifikasi kebutuhan 5) Mengkaji ulang (review) kebutuhan
Sehingga pada cakupan analisa kebutuhan, tiap kelompok mengidentifikasi hal berikut:
1. Menuliskan permasalahan yang ditemui dalam kasus pengembangan perangkat lunak
Pada tahap ini, masalah yang akan dibuat perangkat lunaknya dipelajari sehingga dapat ditentukan:
 Mendefinisikan deskripsi sistem yang akan dibangun o Mendefinisikan Stakeholder dan pengguna
Siapa pemakai yang akan menggunakan perangkat lunak serta Pekerjaan apa dari pemakai yang akan dibantu oleh perangkat lunak o Mendefinisikan pekerjaan apa saja dari pengguna yang akan
diselesaikan dengan bantuan sistem o Mendefinisikan Lingkungan Sistem
Dimana perangkat lunak akan digunakan
 Mendefinisikan Tujuan serta Ruang Lingkup
Dari dan sampai mana cakupan pekerjaan tersebut, dan bagaimana mekanisme pelaksanaannya
 Mendefinisikan permasalahan, kendala/keterbatasan yang ditemui
Apa yang menjadi kendala atau keterbatasannya dilihat dari sisi teknologi yang akan digunakan atau dari sisi hukum dan standar
2. Menentukan Kebutuhan Perangkat Lunak
Pada tahap ini, kebutuhan pemakai yang belum terstruktur tersebut dianalisis, diklasifikasikan, dan diterjemahkan menjadi kebutuhan fungsional dan non fungsional (kebutuhan antarmuka dan unjuk kerja perangkat lunak)
 Kebutuhan fungsional : deskripsi aktivitas dan layanan yang harus disediakan sebuah sistem (inputs, outputs, processes, stored data)
 Kebutuhan non-fungsional : deskripsi dari fitur, karakteristik dan batasan lain yang menentukan kepuasan system (Performance, ease of learning and use, budgets, deadlines, documentation, security, internal auditing controls)
Akibat ketidaktepatan penentuan kebutuhan fungsional & non-fungsional :
 biaya lebih tinggi dari perkiraan
 implementasi lebih lambat dari rencana
 ketidakpuasan user
 harga perawatan dan peningkatan system lebih tinggi
 system tidak terpecaya dan cenderung bermasalah
 reputasi staf TI dipertanyakan
3. Membuat pemodelan berdasarkan kebutuhan yang sudah dipahami
Pemodelan adalah bagian penting dari analisis dan perancangan sistem. kita telah mempelajari pada matakuliah sebelumnya tentang banyak model terutama UML. Analis membangun model untuk menggambarkan kebutuhan sistem dan berkomunikasi dengan user dan Desainer. Dengan mengembangkan model dan meninjaunya dengan user, seorang analis menunjukkan pemahaman tentang kebutuhan user. Jika user melihat
Pemodelan adalah bagian penting dari analisis dan perancangan sistem. kita telah mempelajari pada matakuliah sebelumnya tentang banyak model terutama UML. Analis membangun model untuk menggambarkan kebutuhan sistem dan berkomunikasi dengan user dan Desainer. Dengan mengembangkan model dan meninjaunya dengan user, seorang analis menunjukkan pemahaman tentang kebutuhan user. Jika user melihat