rekayasa-perangkat-lunak1

418
Pertemuan 1 REKAYASA PERANGKAT LUNAK

description

rekayasa-perangkat-lunak1

Transcript of rekayasa-perangkat-lunak1

  • Pertemuan 1

    PENGENALANPENGENALANREKAYASA PERANGKAT

    LUNAK

  • Pokok Bahasan dalam RPL : RPL sebagai produk dan sebagai produk Konsep manajemen proyek Proses pembangunan PL dan metrik proyek Perencanaan proyek PL Perencanaan proyek PL Manajemen resiko dlm pelaksanaan proyek Penjadwalan dan penelusuran proyek pembangunan PL Jaminan kualitas PL Manajemen konfigurasi PL Rekayasa sistem ke arah CB

  • Pokok Bahasan dalam RPL (lanjutan) Konsep dan prinsip analisis Pemodelan analisis Konsep dan prinsip desain Metode desain Metode desain Implementasi pembangunan Teknik pengujian perangkat Strategi perancangan PL CASE tool pembangunan PL

  • Pressman, RS., 2008, Software Engineering: APractitioners Approach, New York: McGraw-Hill

    Buku Referensi :

    Sommerville, I, 2007, Software Engineering, AddsionWesley

  • Rekayasa Perangkat Lunak Perangkat Lunak? (Software??) Rekayasa Perangkat lunak-RPL? (Software engineering-SE??) Rekayasa sistem-RS? (system engineering-SyE??) Evolusi Perangkat Lunak Evolusi Perangkat Lunak Computer Science vs RPL RPL vs RS ?? Pelaku yang berhubungan dengan Rekayasa

    Perangkat Lunak Mitos yang ada berkembang Tantangan dalam Pengembangan Perangkat Lunak

  • Definisi Perangkat Lunak (PL) IEEE-Standar Glossary of Software EngineeringTerminology, 1990:Computer programs, procedures, and possibly associateddocumentation and data pertaining to the operation of acomputer system.computer system.Maksudnya :Perangkat lunak merupakan kumpulan dari program, prosedur,dan dokumen data lain yang saling berhubungan yangmerepresentasikan masalah di dunia nyata yangdikonfigurasikan dalam sebuah bentuk aplikasi yang harusdikerjakan komputer

  • Produk Perangkat Lunak Perangkat lunak tidak sama dengan produk perangkat

    keras Produk perangkat lunak dikembangkan (developed)

    atau direkayasa (engineered). Sebagian besaratau direkayasa (engineered). Sebagian besardikembangkan atau dibangun berdasrkan pemesanandan sebagian kecil dibuat secara paket.

    Tidak dipabrikkan seperti pabrik perangkat keras, misalkomputer, mobil.

    Perangkat lunak secara pemakaian tidak pernah AUSlayaknya perangkat keras

  • Produk Perangkat Lunak (2) 2 Bentuk produk perangkat lunak:1. Produk Generik (Umum)

    Sistem stand-alone standar yang diproduksi olehorganisasi pengembang dan dijual ke pasar terbuka keorganisasi pengembang dan dijual ke pasar terbuka kesiapapun yg membelinya. Biasa disebut sebagai softwareshrink-wrapped. Contoh : word processor, Database.

    2. Produk pesanan (yang disesuaikan)Sistem yang dipesan oleh pelanggan tertentu.Dikembangkan khusus bagi pelanggan oleh kontraktorperangkat lunak. Contoh : Sistem untuk mendukungproses bisnis tertentu dan sistem kontrol lalu lintas udara

  • Produk Perangkat Lunak (3) Perbedaan PENTING antara 2 bentuk perangkat lunak :

    Pada produk generik, organisasi yangmengembangkan perangkat lunak mengontrolspesifikasi perangkat lunak.

    Pada produk pesanan, spesifikasi biasanyadikembangkan dan dikontrol oleh organisasi yangmembeli perangkat lunak tersebut.

  • Produk Perangkat Lunak (4) Karakteristik perangkat lunak yang baik:

    Usability : Mempunyai daya guna yang tinggi be reliable : Mampu diandalkan maintenability : Mudah dirawat/diperbaiki Efficiency : perangkat perangkat lunak tidak boros

    dalam menggunakan sumber daya sistem sepertidalam menggunakan sumber daya sistem sepertimemory & processor

    eye cathcing user interface : Mempunyai antarmuka ygmenarik

    long life time : Mempunyai siklus hidup yang cukuplama

    Mempunyai kinerja sesuai fungsi yang dibutuhkanpemakai

  • Jenis-jenis aplikasi Perangkat Lunak Perangkat Lunak Sistem (System software)

    Adalah sekumpulan program yang ditulis untuk melayaniatau menunjang program lainnya.Misalnya : compiler, editor, komponen-komponen sistemoperasi, driver dan prosesor telekomunikasi.

    Perangkat lunak waktu nyata (Realtime Software)Perangkat lunak yang berfungsi untuk memonitor,menganalisis, mengontrol dan memberikan laporan tentangkejadian dunia nyata dan meresponnya dalam waktukurang dari 1 menit.Misal: pengontrol arus udara, pengontrol keasaman tabungreaksi (pressman punya), pengontrol reaksi nuklir, dll

  • Jenis-jenis aplikasi Perangkat Lunak (2) Perangkat Lunak Teknik Dan Ilmu Pengetahuan

    (Scientific & Engineering Software)Perangkat lunak yg menangani bidang teknik dan ilmupengetahuan secara rinciMisal: simulasi astronomi, vulkanologi, analisis otomatif,dinamika orbit pesawat ruang angkasa, biologi molekuler,dinamika orbit pesawat ruang angkasa, biologi molekuler,otomasi pabrik, dll

    Embeded SystemPerangkat lunak yg ditempelkan/dilekatkan pada perangkatlainnya (lunak/keras).Misal: pada kamera digital, GPS, automobil, microwave,kulkas cerdas, dll

  • Jenis-jenis aplikasi Perangkat Lunak (3) Perangkat Lunak Pengolah Data (Data Processing)

    Perangkat lunak yg khusus digunakan untuk mengolahdata dan menghasilkan suatu keputusan tertentu.Misal: billing telepon, pengolah statistikMisal: billing telepon, pengolah statistik

    Perangkat Lunak Sistem Informasi (InformationSystem)Perangkat lunak yg mampu memberi informasi dari suatusistem secara lebih detail.Misal: web site, perpustakaan digital, dll

  • Jenis-jenis aplikasi Perangkat Lunak (4) Perangkat Lunak Sensor

    Perangkat lunak yg mampu mengukur dan mengatursuatu keadaan khusus, kadang digolongkan dalamembedded system juga.Misal: pengatur cuaca, pengatur suhu ruangan, dll

    Perangkat Lunak Komunikasi (CommunicaionSoftware)Perangkat lunak yg berfungsi untuk menghubungkan ataumengkomunikasikan suatu objek satu dengan lainnya.Misal: router, handphone, dll

  • Jenis-jenis aplikasi Perangkat Lunak (5) Perangkat Lunak Pengolah Grafis

    Perangkat lunak yang digunakan untuk melakukanperancangan grafisMisal: pembuatan film, pembuatan posterMisal: pembuatan film, pembuatan poster

    Perangkat Lunak KecerdasanPerangkat lunak yg menggunakan algoritma no-numerisuntuk memecahkan masalah kompleks yg tdk sesuaiuntuk perhitungan atau analisis secara langsungMisal: sistem pakar, pembuktian teorema, game strategi,jaringan saraf tiruan, dll

  • Evolusi Perangkat Lunak Perangkat lunak telah semakin berkembang sejak

    pertama kali diciptakan tahun 1945 Fokus utama pembuatannya untuk mengembangkan

    praktik dan teknologi dalam meningkatkan produktivitaspara praktisi pengembang PL dan kualitas aplikasi ygpara praktisi pengembang PL dan kualitas aplikasi ygdapat digunakan oleh pemakai

    Evolusi dipicu adanya tuntutan bisnis dan lingkungankerja yang berkembang sangat dinamis

  • Evolusi Perangkat Lunak (2) Era I (1945 1960):

    Munculnya teknologi perangkat keras di tahap awal Penggunaan perangkat lunak yg berorientasi batch Distribusi perangkat lunak masih terbatas Distribusi perangkat lunak masih terbatas Didominasi perangkat lunak model custome Munculnya istilah software engineering (akhir 1950-

    an/awal 1960-an) Belum didefinisikan secara jelas tentang aspek

    software engineering

  • Evolusi Perangkat Lunak (3) Era II (1960 1970) Disebut era krisis perangkat lunak (software crisis). Penggunaan perangkat lunak sudah meluas Telah hadir perusahaan yang membangun software Telah hadir perusahaan yang membangun software

    (software house) Perangkat lunak sdh mengenal multiprogram, multiuser,

    real-time, dan penggunaan database.

  • Evolusi Perangkat Lunak (4) Era II (Lanjutan) Banyak project PL yg gagal

    Over budget/anggaran Berakibat rusak fisik dan kematian Berakibat rusak fisik dan kematian Meledaknya Roket Ariane , kesalahan perintah dlm PL

    Dua konferensi ttg software engineering: Disponsori Komite Sains NATO Tahun 1968 dan 1969 Profesi resmi bidang software engineering

  • Evolusi Perangkat Lunak (5) Era III (1975 1985)

    Pengembangan sistem mengarah ke konsep sistemterdistribusi.

    Penerapan sistem embeded intelligence Penerapan sistem embeded intelligence Harga perangkat keras sudah jauh lebih murah

    sehingga pemakaian meluas Pemanfaatan jaringan global dan lokal serta sudah

    diperkenalkan komunikasi digital

  • Evolusi Perangkat Lunak (6) Era IV (1985 2000)

    Kemampuan PC sudah setara dengan komputermainframe

    Penerapan teknologi yang berorientasi pada objek Penerapan teknologi yang berorientasi pada objek Implementasi sistem pakar Jaringan saraf tiruan Komputasi paralel Jaringan komputer sudah semakin canggih

  • Evolusi Perangkat Lunak (7) Era V (2000 sekarang)

    Penggunaan media digital Media web berkembang pesat Wireless sudah meluas Wireless sudah meluas Teknologi meluas hingga di mobile computing, mobile

    programming Perangkat keras sudah semakin kecil namun powerfull Dilakukan berbagai penelitian yang menghasilkan

    model proses/paradigma pengembangan PL utkmengatasi krisis PL

  • Krisis Perangkat Lunak Masalah yang muncul:

    Estimasi jadwal dan biaya yang seringkali tidak tepat Produktivitas orang-orang software yang tidak dapat mengimbangi permintaan software Kualitas software yang kurang baik.

    Kurangnya pengetahuan tentang: Bagaimana mengembangkan software Bagaimana memelihara software yang ada, yang

    berkembang dalam jumlah besar Bagaimana mengimbangi permintaan software yang

    makin besar.

  • Mitos1: Kita tidak perlu mengubah pendekatan terhadap

    pengembangan software, karena jenis pemrogramanyang kita lakukan sekarang ini sudah kita lakukan 10

    Mitos Dalam Perangkat Lunak (Management)

    yang kita lakukan sekarang ini sudah kita lakukan 10tahun yang lalu.

    Realitasnya : Walau hasil program sama, produktivitasdan kualitas software harus ditingkatkan denganmenggunakan pendekatan software developments

  • Mitos2: Kita sudah mempunyai buku yang berisi standarisasi dan

    prosedur untuk pembentukan software. Realitasnya : Memang buku tersebut ada, tetapi apakah

    Mitos Dalam Perangkat Lunak (Management) (2)

    Realitasnya : Memang buku tersebut ada, tetapi apakahbuku tersebut sudah dibaca atau buku tersebut sudahketinggalan jaman ( out of date ).

    Mitos3: Jika kita tertinggal dari jadwal yang ditetapkan, kita

    menambah beberapa programmer saja. Konsep ini seringdisebut Mongolian harde concept.

  • Mitos1: Pernyataan tujuan umum sudah cukup untuk memulai

    penulisan program. Penjelasan yang lebih rinci akanmenyusul kemudian.

    Mitos dalam perangkat lunak (Customer)

    menyusul kemudian. Realitasnya : Definisi awal yang buruk adalah penyebab

    utama kegagalan terhadap usaha-usaha pem-bentukkansoftware. Penjelasan yang formal dan terinci tentanginformasi fungsi performance interface, hambatan desaindan kriteria validasi adalah penting. Karakteristik di atasdapat ditentukan hanya setelah adanya komunikasi antaracustomer dan developer.

  • Mitos2: Kebutuhan proyek yang terus menerus berubah dapat

    dengan mudah diatasi karena software itu bersifatfleksibel.

    Mitos dalam perangkat lunak (Customer)

    fleksibel. Realitasnya : memang benar bahwa kebutuhan software

    berubah, tetapi dampak dari peru-bahan berbeda dariwaktu ke waktu.

  • Mitos1: Tidak ada metode untuk analisis disain dan testing terhadap

    suatu pekerjaan, cukup menuju ke depan terminal dan mulaicoding.

    Realitasnya : Metode untuk analisis desain dan testingdiperlukan dalam pengembangan software.

    Mitos Dalam Perangkat Lunak (Praktisi)

    diperlukan dalam pengembangan software. Mitos2: Segera setelah software digunakan, pemeliharaan dapat

    diminimalisasikan dan diatasi dengan cara CATCH AS CATCHCAM.

    Realitasnya : Diperlukan budget yang besar dalam maintenancesoftware. Pemeliharaan software harus diorganisir, direncanakandan dikontrol seolah-olah sebagai suatu proyek besar dalamsebuah organisasi.

  • Mitos2: Kebutuhan proyek yang terus menerus berubah dapat

    dengan mudah diatasi karena software itu bersifatfleksibel.

    Realitasnya : memang benar bahwa kebutuhan software

    Mitos dalam perangkat lunak (Management)

    Realitasnya : memang benar bahwa kebutuhan softwareberubah, tetapi dampak dari peru-bahan berbeda dariwaktu ke waktu.

  • Definisi Rekayasa Perangkat Lunak (RPL)RPL atau Software Engineering (SE) Disiplin ilmu yangmembahas semua aspek produksi perangkat lunak, mulaidari tahap awal spesifikasi sistem sampai pemeliharaansistem setelah digunakan. Perangkat Lunak yang dibuatharus mampu:harus mampu: Tepat waktu Tepat anggaran Meningkatkan kinerja Mengoperasikan prosedur sistem dengan benar

  • Definisi Rekayasa Perangkat Lunak (Lanjutan)Ada 2 istilah kunci :1. disiplin rekayasa Perekayasa membuat suatu alat

    bekerja. Menerapkan teori, metode, dan alat bantu yangsesuai, selain itu mereka menggunakannya denganselektif dan selalu mencoba mencari solusi terhadapselektif dan selalu mencoba mencari solusi terhadappermasalahan.

    2. semua aspek produksi perangkat lunak RPL tidakhanya berhubungan dengan proses teknis daripengembangan perangkat lunak tetapi juga dengankegiatan seperti Manajemen proyek PL danpengembangan alat bantu, metode, dan teori untukmendukung produksi PL.

  • Computer science lebih memperhatikan teori

    & metode komputerisasi, sedangkan software

    engineering menyangkut masalah praktikal

    pembuatan dan delivery perangkat lunak

    Perbedaan RPL dengan Computer science

    pembuatan dan delivery perangkat lunak

    Software engineering merupakan bagian dari

    system engineering, dimana sistem

    engineering memperhatikan semua aspek

    pembuatan sistem berbasis komputer

    termasuk perangkat keras, perangkat lunak &

    proses

  • Perbedaan RPL dengan Rekayasa Sistem (RS)?

    Rekayasa Sistem (RS) berkaitan dengan semua aspekdalam pembangunan sistem berbasis komputertermasuk hardware, rekayasa PL dan proses.

    RPL adalah bagian dari rekayasa sistem yang meliputipembangunan PL, infrasktruktur, kontrol, aplikasi dandatabase pada sistem.

  • Tantangan warisanDikembangkan bertahun-tahun dengan orang-orangyang berbeda-beda

    Tantangan heterogensisDalam hal distribusi & teknologi

    Tantangan dalam Rekayasa Perangkat Lunak

    Dalam hal distribusi & teknologi Tantangan pengiriman

    Bagaimana mengirim sistem yang besar dan komplekscepat dan dengan kualitas tetap terjaga.

  • Pelaku Dalam RPL Manajer1. Manajer proyek2. Manajer konfigurasi3. Manajer penjamin kulitas PL4. Manajer bidang lainnya (sesuai kebutuhan

    Software Developer1. Analis sitem2. Desainer3. Programmer4. Inspektor PL5. Pengontrol perubahan

  • Pendukung 1. Staf administrasi2. Humas3. Pencatat teknis4. Administrator database

    Pelaku Dalam RPL (Lanjutan)

    4. Administrator database5. Administrator jaringan

  • Pertemuan 2

    SOFTWARE DEVELOPMENT SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

  • POKOK BAHASAN

    Biaya PL

    Software Quality Attribute

    Standar kualitas

    Takaran Jaminan Kualitas Takaran Jaminan Kualitas

    CASE TOOLS

    Siklus Hidup Perangkat Lunak

    (SWDLC/Software Development Life Cycle)

  • BIAYA PERANGKAT LUNAK (SOFTWARE COST)

    Terkadang mendominasi biaya sistem secara keseluruhanBiaya terbesar untuk perangkat lunak terletak pada proses

    perawatan (maintenance) dibanding biaya pembuatannya(develop)

    Biaya pengadaan perangkat lunak yang di pasang pada PCsering lebih besar dibandingkan dengan harga perangkatkerasnya kec. Di negara-negara yang tidak menghargai HAKIkerasnya kec. Di negara-negara yang tidak menghargai HAKI

    Biaya perangkat lunak secara kasar sebesar 60% dari biayauntuk pembangunan dan 40% untuk pengujian

    Secara umum besarnya biaya bervariasi tergantung pada tipesistem yang dibangun dan kebutuhan sistem seperti kinerja dankehandalan sistem

    Biaya distribusi tergantung pada model pembangunan yangdigunakan

  • SOFTWARE QUALITY ATTRIBUTE (1)Ciri-ciri kualitas menurut lembaga penjamin mutu PL (ISO,ANSI, IEEE, dll): Correctness (kebenaran) Kesesuaian antara kode program dg spesifikasi Kebebasan aplikasi aktual pada sistem PL

    Reliability (tahan uji) Didasari pada correctness dan availability

    (ketersediaannya) Sebagai suatu kemungkinan bahwa sistem ini mampu

    memenuhi suatu kegunaan (tergantung spesifikasinya)untuk sejumlah masukan percobaan di bawah kondisimasukan dan rentang waktu yang telah ditentukan.

  • User Friendliness (mudah digunakan) Adequacy (kecukupan) Learnability (mudah dipelajari) Robustness (antisipasi kesalahan)

    Maintenatibility (mudah dirawat)

    SOFTWARE QUALITY ATTRIBUTE (2)

    Maintenatibility (mudah dirawat) Readability (mudah dibaca) Extensibility (mudah diperluas) Testability (mudah untuk diuji/ditelusuri) Efficiency (efisiensi)

    Portability (mudah didistribusikan)

  • UKURAN JAMINAN KUALITAS (1) Ukuran membangun (constructive measures)

    Aplikasi yg konsisten pada metode di seluruh faseproses pembangunan

    Penggunaan perlatan/ tools yang memadai Pembangunan PL pd basis kualitas yg tinggi di akhir

    tahapan Perawatan yang konsisten pada dokumenasi

    pengembangan Ukuran analitik (analytical measures)

    Analisis program yang statis Analisis program yang dinamis Pemeilihan test case yang sistematis Pencatatan yang konsisten pada analisis produk

  • Ukuran Organisasi (Organization Measures) Pengalaman pengembang (developer) dalam

    mempelajari strategi dan teknik yang tepat dalammembangun PL

    UKURAN JAMINAN KUALITAS (2)

  • KRISIS PERANGKAT LUNAK Masalah yang muncul:

    Estimasi jadwal dan biaya yang seringkali tidak tepat Produktivitas orang-orang software yang tidak dapat

    mengimbangi permintaan software Kualitas software yang kurang baik.

    Kurangnya pengetahuan tentang: Bagaimana mengembangkan software Bagaimana memelihara software yang ada, yang

    berkembang dalam jumlah besar Bagaimana mengimbangi permintaan software yang

    makin besar.

  • KODE ETIK PROFESI

    Konfidensialitas (menghormati klien) Tidak boleh menerima pekerjaan di luar kompetensinya Hak kekayaan intelektual (HaKI) Hak kekayaan intelektual (HaKI) Penyalahgunaan komputer, hack, crack,

  • KODE ETIK INTERNASIONAL Digagas oleh masyarakat profesional di Amerika (1999) yang

    tergabung dalam ACM/IEEE Makna yang terkandung:

    Prinsip-prinsip kesepakatan yang dihubungkan dengan tingkahlaku dan keputusan yang dibuat oleh para ahli profesional

    Masyarakat profesional: praktisi, pengajar, manajer, supervisor,pengambil kebijakan.

    Yang diatur: Masyarakat dan kepentingannya Klien dan atasan (pelayanan terbaik) Produk (jaminan mutu) Manajemen Profesi Kolega Diri sendiri (ada usaha untuk mengupdate ipteknya)

  • CASE TOOLS CASE (Computer Aided Software Engineering)

    Suatu peralatan baik HW maupun SW komputer yangdigunakan untuk menyediakan pendukung otomatisdalam aktivitas pembangunan PL.

    Tujuanmeningkatkan produktivitas dalam proses pembangunanPL secara signifikanPL secara signifikan

    Dikelompokkan dalam 2 kategori:1. Upper-CASE

    Mendukung aktivitas proses pembangunan tahap awal(tahap analisis kebutuhan dan desain)

    2. Lower-CASEMendukung aktivitas pembangunan di tahap akhirprogramming, debuging, dan testing)

  • Penggunaan CASE tools: Graphical Editors

    Digunakan untuk membuat model sistem Data Dictionaries

    Digunakan untuk mengatur unit-unit proyek GUI Builders

    Digunakan untuk mengkonstruksi antarmuka pemakai Debugger

    CASE TOOLS (2)

    DebuggerDigunakan untuk mencari kesalahan yg mungkin terjadi

    Automated TranslatorsDigunakan untuk pembangkitan source code program otomatis

    Compilator IntegratedDigunakan membuat antarmuka, koding, hingga membentukaplikasi yg bisa dijalankan

    Instalator KitDigunakan untuk membuat file instalasi/setup

  • SOFTWARE DEVELOPMENTLIFE CYCLE (SDLC)

    Proses Generik Spesifikasi

    Apa yang harus dilakukan oleh perangkat lunak danbatasan/kendala pengembangannya

    PengembanganProses memproduksi sistem perangkat lunakProses memproduksi sistem perangkat lunak

    ValidasiPengujian perangkat lunak terhadap keinginan pengguna

    EvolusiPerubahan perangkat lunak berdasarkan perubahankeinginan.

  • MODEL PROSES RPL

    Model Waterfall, Model Prototyping, Model Evolutionary Model Spiral Reuse Based Development Reuse Based Development

  • WATERFALL MODEL

    Pemodelan

    Sistem/

    Informasi

    Requirement Definitions

    System andsoftware designsoftware design

    Implementationand unit testing

    Integr ation andsystem testing

    Operation andmaintenance

  • Requirements Analysis And DefinitionPembentukan kebutuhan

    System And Software DesignMengubah kebutuhan-kebutuhan menjadi bentukkarakteristik yang dimerngerti perangkat lunak

    WATERFALL MODEL (2)

    Implementation And Unit TestingPenulisan program

    Integration And System TestingMemeriksa program, mencari kesalahan

    Operation And MaintenancePemeliharaan sistem, menambahkan fungsi

  • WATERFALL MODEL (3)Problems Model Waterfall1. Jarang sekali proyek yang prosesnya bisa dilakukan

    secara sequencial.2. Sukar bagi customer untuk secara explisit

    mengemukakan semua kebutuhannya.mengemukakan semua kebutuhannya.3. Customer harus sabar.4. Developer sering menunda pekerjaan. Anggota tim

    harus menunggu anggota lainnya5. menyelesaikan tugasnya.

  • PROTOTYPE MODEL

    MendengarkanPelanggan

    MembangunKonstruksi(prototipe)

    Uji Pelanggan(evaluasi)

  • Prototype Paradigm dimulai dengan mengumpulkankebutuhan-kebutuhan customer.

    Developer dan customer bertemu dan mendefinisikanobyektif software secara menyeluruh, mengidentifikasikebutuhan-kebutuhan yang diketahui dari area pekerjaan.

    Setelah itu dibuat Quick Design.

    PROTOTYPE MODEL (2)

    Setelah itu dibuat Quick Design. Quick Design difokuskan pada representasi aspek software

    yang bisa dilihat customer/user (misal: format input danoutput).

    Quick Design cenderung ke pembuatan prototipe. Prototipe dievaluasi customer/user dan digunakan untuk

    menyempurnakan kebutuhan software yang akandikembangkan.

  • PROTOTYPE MODEL (2)

    Sering terjadi customer menjabarkan objektif umummengenai software yang diminta, tetapi tidak bisamendefinisakan input, proses, output yang dimintasecara detail.

    Disisi lain, developer menjadi tidak yakin terhadapefisiensi algoritma, kemampuan adaptasi terhadapefisiensi algoritma, kemampuan adaptasi terhadapsistem operasi, atau bentuk interaksi mesin denganorang.

    Untuk mengatasi situasi tersebut, bisa digunakanpendekatan Prototype Paradigm.

  • PROTOTYPE MODEL (3)

    Problems Prototyping Model Customer melihat prototipe tersebut sebagai versi dari

    software. Pada saat produk tersebut harus dibangun ulang

    supaya level kualitas bisa terjamin, Customer akan mengeluh dan meminta sedikit

    perubahan saja supaya prototipe tersebut bisaperubahan saja supaya prototipe tersebut bisaberjalan.

    Development membuat implemetasi yang kompromitasdengan tujuan untuk memperoleh prototipe pekerjaansecara cepat. Dampaknya adalah sistem operasi atau bahasa

    pemrograman yang dipergunakan tidak tepat,algoritma tidak efisien.

  • EVOLUTIONARY MODEL

  • Penjelasan :1. Kombinasikan elemet-element dari waterfall dengan sifat

    iterasi/perulangan.2. Element-element dalam waterfall dikerjakan dengan

    hasil berupa produk dengan

    EVOLUTIONARY MODEL INCREMENTAL (2)

    3. Spesifikasi tertentu, kemudian proses dimulai dari fasepertama hingga akhir dan menghasilkan produk denganspesifikasi yang lebih lengkap dari yang sebelumnya.

    4. Demikian seterusnya hingga semua spesifikasi memenuhikebutuhan yang ditetapkan oleh pengguna.

  • 5. Produk hasil increment pertama biasanya produk inti(core product), yaitu produk yang memenuhi kebutuhandasar. Produk tersebut digunakan oleh pengguna ataumenjalani review/ pengecekan detil. Hasil reviewtersebut menjadi bekal untuk pembangunan padaincrement berikutnya. Hal ini terus dikerjakan sampaiproduk yang komplit dihasilkan.

    EVOLUTIONARY MODEL INCREMENTAL (3)

    produk yang komplit dihasilkan.6. Model ini cocok jika jumlah anggota tim

    pengembang/pembangun PL tidak cukup.7. Mampu mengakomodasi perubahan secara fleksibel.8. Produk yang dihasilkan pada increment pertama

    bukanlah prototype, tapi produk yang sudah bisaberfungsi dengan spesifikasi dasar.

  • Kekurangan Incremental Model: Hanya cocok untuk proyek berukuran kecil (tidak lebih

    dari 200.000 baris coding) Mungkin terjadi kesulitan untuk memetakan kebutuhan

    pengguna ke dalam rencana spesifikasi masing-masing hasil increment

    EVOLUTIONARY MODEL INCREMENTAL (4)

    masing hasil increment

  • EVOLUTIONARY MODEL SPIRAL

  • Penjelasan : Customer Comunication

    Membangun komunikasi yang baik dengan pelanggan Planning

    Mendefinisikan sumber, batas waktu, informasi-informasi lain seputarproyek

    Risk Analyst

    EVOLUTIONARY MODEL SPIRAL (2)

    Identifikasi resiko management dan teknis Engineering

    Pembangunan contoh-contoh aplikasi misalnya prototype Construction and release

    Pembangunan, test, install dan report Customer Evaluation

    Mendapatkan feedback dari pengguna berdasarkan evaluasi pada faseengineering dan fase instalasi

  • Pada model spiral, resiko sangat dipertimbangkan.Resiko adalah sesuatu yang mungkin mengakibatkankesalahan.

    Model spiral merupakan pendekatan yang realistikuntuk Perangkat Lunak berskala besar.

    Pengguna dan pembangun bisa memahami dengan

    EVOLUTIONARY MODEL SPIRAL (3)

    Pengguna dan pembangun bisa memahami denganbaik software yang dibangun karena setiapkemajuan yang dicapai selama proses dapat diamatidengan baik. Namun demikian, waktu yang cukuppanjang mungkin bukan pilihan bagi pengguna, karenawaktu yang lama sama dengan biaya yang lebih besar.

  • REUSE BASEDA. Software Re-engineering

    Apakah itu?Restrukturisasi atau menulis ulang sebagian ataukeseluruhan dari sistem yang telah ada tanpa merubahfungsionalitasnya.

    Kapan? Kapan?Ketika sebagian tetapi tidak semua sub sistem yg besarmembutuhkan perawatan yg seringKetika HW dan SW sudah lama hampir tak berfungsi

    Bagaimana?Sistem bisa di restrukturisasi dan didokumentasi ulanguntuk membuat menjadi mudah dalam perawatan

  • Software Re-engineering (lanjutan) Mengapa?

    Mengurangi resikoSW yang baru dibangun membawa resiko ygtinggi

    Mengurangi biaya

    REUSE BASED (2)

    Mengurangi biayaBiaya untuk re-engineering sering lebih kecildibanding membangun SW baru.

  • REUSE BASED (3)

  • B. Reverse Engineering Analisis SW kembali dalam tahap pemahaman dlm desain dan

    spesifikasinya Bisa sebagian proses re-engineering atau sebagian spesifikasi

    sistem untuk diimplementasi ulang Membangun database dan bangkitkan program informasi dari

    proses ini

    REUSE BASED (3)

    proses ini Mengapa?

    Kode aslinya telah dalam keterbatasan dimana sudah terlalulama, misal kebutuhan memori, kinerja, dll

    Perawatan terbentur pada struktur dan program yang rusaksehingga membutuhkan kerja yg sangat keras

    Program secara otomatis distrukturisasi ulang untukmenghilangkan beberapa bagian yang tidak beres dalamkondisi yang sangat kompleks.

  • Pertemuan 3

    Manajemen ProyekPerangkat Lunak

  • Proses Dalam Manajemen PLManajemen proyek merupakan lapisan pertama dalam prosesrekayasa perangkat lunak skala besar. Untuk menuju padaproyek yang berhasil, perlu dimengerti tentang :

    Lingkup pekerjaan Resiko yang dapat ditimbulkan Resiko yang dapat ditimbulkan Sumber-sumber yang diperlukan Tugas yang harus dilaksanakan Patokan yang harus diikuti Usaha atau biaya yang dikeluarkan Dan Penjadwalan

  • Untuk mengestimasi biaya, pembagian tugas, danpenjadwalan, sebelum sebuah proyek direncanakan :

    Langkah Awal dalam Manajemen Perangkat Lunak

    Memastikan tujuan dan ruang lingkupMemperhatikan alternatif-alternatif solusi

    Identifikasi batasan teknik dan manajerial

  • Fokus Manajemen ProyekManajemen proyek terfokus pada 4P, yaitu :1. People

    Elemen terpenting dalam keberhasilan suatu proyek2. Product

    Perangkat lunak yang dihasilkanPerangkat lunak yang dihasilkan3. Process

    Sekelompok aktivitas kerangka kerja dalammerekayasa perangkat lunak

    4. ProjectSeluruh proses yang dibutuhkan untuk menghasilkansuatu produk

  • Faktor-faktor yang mempengaruhi hasil akhir proyekPerangkat Lunak Ukuran (size) Batas waktu pengiriman (Delivery Deadline) Pembiayaan dan anggaran (Budgets & Costs) Bidang aplikasi (Application Domain) Bidang aplikasi (Application Domain) Implementasi Teknologi (Technology Can Be

    Implemented) Batasan-batasan sistem (System Constrains) Kebutuhan pengguna (User Requirements) Sumber daya yang tersedia (Available Resource)

  • Permasalahan Dalam Manajemen Proyek Bagaimana kualitas produk yang akan dihasilkan Perkiraan / beban resiko yang timbul Ukuran perangkat lunak Estimasi / perkiraaan dana Estimasi / perkiraaan dana Penjadwalan proyek Komunikasi dengan pelanggan Tim perancang Sumber daya lainnya Proses monitoring proyek

  • Fokus Dalam RPL Analisa Resiko Estimasi Biaya Penjadwalan Manajemen proyek Pengecekan Kualitas hasil terkait dengan kualitas yang

    diinginkan bersama Manajemen Sumber Daya Manusia

  • Pengukuran dan satuan ukuran akan membantu untukmengerti proses-proses dalam pengembangan danproduk itu sendiri. Proses dan produk diukur usaha

    Pengukuran Perangkat Lunak

    produk itu sendiri. Proses dan produk diukur usahauntuk meningkatkan kualitasnya.

  • 1. Pengukuran LangsungTerkait dengan biaya dan usaha yang diaplikasikan,misalnyayang menyangkut deretan kode program,kecepatan eksekusi, ukuran memori yang dibutuhkandan cacat pada produk, yang dilaporkan pada sejumlah

    Pengukuran Perangkat Lunak (2)

    dan cacat pada produk, yang dilaporkan pada sejumlahperiode waktu

    2. Pengukuran tidak LangsungTerkait dengan fungsionalitas, kualitas, kompleksitas,efisiensi, reabilitas, kemampuan pemeliharaan dan lain-lain

  • Mengapa perangkat Lunak Harus Diukur??1. Untuk mengetahui karakteristik Perangkat Lunak2. Proses evaluasi Perangkat Lunak3. Prediksi kebutuhan Perangkat Lunak

    Pengukuran Perangkat Lunak (3)

    3. Prediksi kebutuhan Perangkat Lunak4. Pengembangan Perangkat Lunak

  • Kualitas Pengukuran Perangkat Lunak : Correctness

    Sesuai dengan spesifikasi yang diinginkan Maintability

    Pengukuran Perangkat Lunak (4)

    Kemudahan pemeliharaan dan stabil Integrity

    Daya tahan terhadap serangan dari luar sistem Usability

    Kemudahan dalam penggunaan (user-friendly)

  • EstimasiDalam aktifitas utama proyek yaitu perencanaan,dilakukan: Sumber daya manusia (ukuran orang/bulan) Jangka waktu kronologis (Ukuran waktu kalender) Jangka waktu kronologis (Ukuran waktu kalender) Biaya (Ukuran uang Rp)

  • Estimasi (2)A. Tujuan Perencanaan Anggaran Proyek Untuk menjalankan apa yang telah ditentukan dalam

    tahap planning Memberikan arah/dukungan financial untuk membiayai

    proyek Untuk mengontrol dan mendokumentasikan Untuk mengontrol dan mendokumentasikan

    pembiayaan proyekB. Metode Perencanaan Anggaran Metode perkiraan (intuisi) pimpinan dan tim Taksiran standar TCA(Traditional Cost Accounting) ABC (Activity Based Costing)

  • Estimasi (3)Beberapa hal yang terkait dengan metode ABC :

    Konsistensi lebih akurat dibandingkan denganmetode TCA

    Terkonsentrasi pada biaya tidak langsung(tambahan)(tambahan)

    Biaya selalu berhubungan dengan aktifitas Aktifitas selalu menggunakan sumber daya Mengkonversi biaya langsung menjadi tidak langsung

  • Analisis resiko merupakan serangkaian langkah untukmenyiasati resiko

    Analisis resiko sangat penting dalam manajemen

    Analisis Resiko

    proyek perangkat lunak. Beberapa hal yang harusdiperhatikan berkaitan dengan resiko adalah: Masayang akan datang, Perubahan, Pilihan.

  • Identifikasi resikoMelihat semua resiko sesuai dengan kategori(secaramakro).

    Perkiraan resikoMemperhitungkan lebih lanjut estimasi resiko.

    Menyiasati Resiko

    Memperhitungkan lebih lanjut estimasi resiko. Proyeksi resiko

    Disebut juga estimasi resiko, adalah usaha untukmengukur setiap resiko.

    Strategi manajemen resiko Putusan (Resolution) resiko Pemantauan resiko

  • Pengendalian ResikoStrategi Penanganan Resiko1. Manajemen Resiko Reaktif

    Tim proyek beraksi pada resiko merekamenjumpainya

    Pelonggaran rencana penambahan resourceantisipasi, misalnya kebakaranantisipasi, misalnya kebakaran

    Perbaikan pada kesalahan, sumber daya yangditemukan & diterapkan ketika resiko sudahmenyerang

    Manejemen krisis kesalahan tidak dapat diresponoleh sumber daya & menjadi ancaman bagikeberlangsungan proyek

  • 2. Manajemen Resiko Proaktif Kinerja analisis resiko secara formal Koreksi terorganisasi pada penyebab resiko Pengujian sumber resiko yang diantaranya adalah

    perangkat lunak

    Pengendalian Resiko (2)

    perangkat lunak Pengembangan kemampuan untuk mengatur

    perubahan

  • Perencanaan Proyek Memahami masalah yang akan di hadapi Menentukan cara-cara yang tepat untuk mendapatkan

    solusi yang tepat Pengoptimalan efisiensi dan keuntungan proyek Memerlukan dokumen kebutuhan yang akan digunakan Memerlukan dokumen kebutuhan yang akan digunakan

    untuk pengambilan keputusan menerimaproyek/menolaknya. Jika menerima maka langkahselanjutnya adalah membuat proposal

  • Segitiga proyek (Proyek Triangle)1. Time

    Penjadwalan tugas, penentuan durasi,ketergantungan tugas

    Perencanaan Proyek (2)

    2. Money Anggaran Belanja, sumber daya

    3. Scope Ruang lingkup pekerjaan

  • Strategi Perencanaan memilih dan menerapkannya Hasil tujuan Asumsi/anggapan Pembatasan Area/cakupan berhubungan dengan tugas dan

    pengiriman

    Perencanaan Proyek (3)

    pengiriman Tahapan perencaan Proyek

    Penentuan area/cakupan proyek Pendefinisian tugas-tugas, teknik/tools (WBS, project

    Network Diagram) Pendefinisian sumber daya Penjadwalan teknik/tools : PERT, CPM, Gantt Chart Penentuan Anggaran

  • Tools dan Teknik Manajemen Proyek Work Breakdown Structure Project Network Diagram Critical Path Method (CPM)

    Perencanaan Proyek (4)

    Program Evaluation and Review Technique (PERT) Gantt Chart Precedence Diagramming Method (PDM)

  • PenjadwalanLangkah-langkah yang dilakukan dalam penjadwalan:1. Identifikasi sekumpulan tugas2. Pastikan keterkaitan antar tugas3. Estimasi usaha untuk tiap-tiap tugas4. Tentukan pekerja dan sumber-sumber lainnya4. Tentukan pekerja dan sumber-sumber lainnya5. Buat jaringan tugas6. Buat jadwal kerja berdasarkan waktu

  • Penelusuran dan pengendalian dilakukansetelah ada penjadwalan yang pasti, yaitumemeriksa apakah tugas telah dilaksanakan

    Penelusuran dan Pengendalian

    memeriksa apakah tugas telah dilaksanakansesuai dengan jadwal.

  • Indikasi kualitas produk Perkiraan produktivitas orang-orang yang

    menghasilkan produk Perkiraan manfaat dari penerapan metode dan

    tools

    Tujuan Pengukuran Perangkat Lunak

    tools Membentuk dasar dari estimasi Menegaskan (Justify) permintaan tools baru dan

    pelatihan

  • Kualitas perangkat lunak dihitung pada saat prosesrekayasa perangkat lunak ataupun setelahdiserahkan kepada pemakai.

    Satuan ukuran kualitas perangkat lunak pada saatproses rekayasa :

    Ukuran Kualitas Perangkat Lunak

    proses rekayasa :1. Kompleksitas program2. Modularitas yang efektif3. Besarnya program

  • Penyebab Kegagalan (PL)Penyebab kegagalan sebuah proyek PL : Batas waktu pengerjaan proyek yang tidak realistis Perubahan keinginan pelanggan Meremehkan pekerjaan Munculnya resiko yang dapat diperkirakan dan resiko Munculnya resiko yang dapat diperkirakan dan resiko

    yang diluar perkiraan Kesulitan secara teknis Kesalahpahaman antara anggota tim proyek Kesalahan dalam manajemen proyek

  • Komponen Dalam Proyek PL Manager Senior

    Menentukan isu-isu bisnis yang memiliki pengaruhpenting dalam proyek

    Manager (Teknis) ProyekMerencanakan, memotivasi, mengorganisir danmengontrol proyek sebuah produk / aplikasi

    PelaksanaYang menyampaikan keterampilan teknik yangdiperlukan untuk merekayasa sebuah produk / aplikasi

  • PelangganMenentukan jenis kebutuhan akan perangkat lunakyang akan direkayasa

    Pemakai Akhir (end-user)

    Komponen Dalam Proyek PL (2)

    Pemakai Akhir (end-user)Yang berinteraksi dengan perangkat lunak bilaperangkat lunak telah dipublikasikan (release) untukdigunakan

  • Komponen Dalam Proyek PL (3)Faktor yang harus dipertimbangkan dalam menyeleksi tim

    pelaksana proyek1. Tingkat kesulitan dari masalah yang akan dikerjakan2. Ukuran program yang dihasilkan yang terkait dengan2. Ukuran program yang dihasilkan yang terkait dengan

    jumlah fungsi yang digunakan3. Waktu yang dibutuhkan oleh tim untuk bekerja secara

    bersama-sama4. Tingkatan dimana masalah dapat dimodularisasi /

    dibuat dalam bentuk modul

  • 5. Kualitas yang diperlukan serta keandalan sistem yangdibangun

    6. Kepastian tanggal penyampaian ke pelanggan7. Memiliki kemampuan sosialisasi (komunikasi) yang

    Komponen Dalam Proyek PL (4)

    dibutuhkan dalam proyek

  • Definisi Masalah dalam RPL1. Menetapkan Ruang Lingkup Permasalahan : Konteks

    Bagaimana software yang akan dibangun nantinya dapatmemenuhi kebutuhan sistem serta batasan yangditentukan oleh sistemditentukan oleh sistem

    Tujuan InformasiMenentukan objek data yang dihasilkan sebagai outputdan object data yang diperlukan sebagai input

    Fungsi dan Unjuk KerjaMenentukan fungsi yang akan dilakukan untukmentransformasi input data menjadi output serta ciri kerjakhusus yang akan ditekankan

  • 2. Dekomposisi masalahMenetapkan pembagian fungsi / aktivitas kerja pada 2area utama, yaitu ;

    Fungsionalitas yang harus disampaikan Proses yang akan dipakai untuk menyampaikannya

    Definisi Masalah dalam RPL (2)

    Proses yang akan dipakai untuk menyampaikannya

  • ARTIFACT UML

    Actor AUse Case 1

    Use Case 2

    Actor B

    9: sortByName ( )

    GrpFile

    read( )open( )create( )fillFile( )

    rep

    Repository

    name : char * = 0

    readDoc( )readFile( )

    (from Persistence)

    FileMgr

    fetchDoc( )sortByName( )

    DocumentList

    add( )delete( )

    Document

    name : intdocid : intnumField : int

    get( )open( )close( )read( )sortFileList( )create( )fillDocument( )

    fList

    1

    FileList

    add( )delete( )

    1

    File

    read( )

    read() fill the code..

    UI

    MFC

    RogueWave

    DocumentApp

    Persistence Window95

    Windows95

    Windows95

    - 95 : - NT: - - : - -, - - IBM : -, -

    Repository DocumentList

    Customernameaddr

    withdraw()fetch()send()receive()

    Domain Expert

    Openning

    Writing

    Reading Closing

    add file [ numberOffile==MAX ] / flag OFF

    add file

    close file

    close file

    Use Case 3

    Use-Case Diagram Class Diagram State Diagram

    Deployment DiagramClass

    user :

    mainWnd : MainWnd

    fileMgr : FileMgr

    repository : Repositorydocument : Document

    gFile : GrpFile

    L1: Doc view request ( )

    2: fetchDoc( )

    5: readDoc ( )7: readFile ( )

    3: create ( )6: fillDocument ( )

    4: create ( )8: fillFile ( )

    global

    - .EXE

    WindowsNT

    - .EXE

    WindowsNT

    Solaris

    -.EXE

    AlphaUNIX

    IBM Mainframe

    -

    -

    Document

    FileManager

    GraphicFileFile FileList

    user

    mainWnd fileMgr : FileMgr

    repositorydocument : Document

    gFile

    1: Doc view request ( )

    2: fetchDoc( )

    3: create ( )

    4: create ( )

    5: readDoc ( )

    6: fillDocument ( )

    7: readFile ( )

    8: fillFile ( )

    9: sortByName ( )

    - .

    - - - .

    - - .

    Forward Engineering(Code Generation)and

    Reverse Engineering

    Executable System

    User InterfaceDefinition

    Source Code edit, compile, debug, link

    Collaboration Diagram

    Sequence Diagram

    Component Diagram

    Package Diagram

  • DIAGRAM-DIAGRAM DI UML

    Use CaseDiagramsUse CaseDiagramsUse CaseDiagrams

    StateDiagramsStateDiagramsObjectDiagrams

    Use CaseDiagramsUse CaseDiagramsActivityDiagrams

    StateDiagramsStateDiagramsClassDiagrams

    DeploymentDiagram

    ScenarioDiagramsScenarioDiagramsSequenceDiagrams

    StateDiagramsStateDiagramsStateDiagrams

    ComponentDiagramsComponent

    DiagramsComponentDiagrams

    Model

    ScenarioDiagramsScenarioDiagramsCollaborationDiagrams

  • USE CASE DIAGRAM

    Menggambarkan fungsionalitas yang diharapkan darisebuah sistem. Yang ditekankan adalah apa yangdiperbuat sistem, dan bukan bagaimana.

    Menggambarkan kebutuhan system dari sudutpandang user

    Mengfokuskan pada proses komputerisasi Mengfokuskan pada proses komputerisasi(automated processes)

    Menggambarkan hubungan antara use case danactor

  • Use case menggambarkan proses system (kebutuhansystem dari sudut pandang user)

    Secara umum use case adalah: Pola perilaku system Urutan transaksi yang berhubungan yang dilakukan

    oleh satu actor Use case diagram terdiri dari Use case diagram terdiri dari

    a. Use caseb. Actorsc. Relationshipd. System boundary boxes (optional)e. Packages (optional)

  • Deskripsi Use case Diagram

    Use case dibuat berdasar keperluan actor, merupakanapa yang dikerjakan system, bukan bagaimana systemmengerjakannya

    Use case diberi nama yang menyatakan apa hal yangdicapai dari hasil interaksinya dengan actor.

    Use case

    dicapai dari hasil interaksinya dengan actor. Use case dinotasikan dengan gambar (horizontal ellipse) Use case biasanya menggunakan kata kerja Nama use case boleh terdiri dari beberapa kata dan tidak

    boleh ada 2 use case yang memiliki nama yang sama

    Simbol use case

  • ACTOR Actor menggambarkan orang, system atau external entitas

    / stakeholder yang menyediakan atau menerima informasidari system

    Actor menggambarkan sebuah tugas/peran dan bukannyaposisi sebuah jabatanposisi sebuah jabatan

    Actor memberi input atau menerima informasi dari system Actor biasanya menggunakan Kata benda

    Simbol actor

  • Tidak boleh ada komunikasi langsung antaractor

    Indikasi untuk sebuah actor yangmerupakan sebuah system

    Adanya actor bernama Time yangmengindikasikan scheduled events (suatumengindikasikan scheduled events (suatukejadian yang terjadi secara periodik/bulanan)

    Letakkan actor utama anda pada pojok kiri atasdari diagram

  • Association

    Associations bukan menggambarkan alirandata/informasi

    Associations digunakan untuk menggambarkanbagaimana actor terlibat dalam use case

    Ada 4 jenis relasi yang bisa timbul pada use case Ada 4 jenis relasi yang bisa timbul pada use casediagram

    1. Association antara actor dan use case2. Association antara use case3. Generalization/Inheritance antara use case4. Generalization/Inheritance antara actors

  • Association antara actor dan use case

    Ujung panah pada association antara actor dan use casemengindikasikan siapa/apa yang meminta interaksi danbukannya mengindikasikan aliran data

    Sebaiknya gunakan Garis tanpa panah untuk associationantara actor dan use caseantara actor dan use case

    association antara actor dan use case yang menggunakanpanah terbuka untuk mengindikasikan bila actorberinteraksi secara pasif dengan system anda

  • Association antara use case

    termasuk didalam use case lain(required) / (diharuskan) Pemanggilan use case oleh use case lain, contohnya

    adalah pemanggilan sebuah fungsi program Tanda panah terbuka harus terarah ke sub use case Gambarkan association include secara horizontal Gambarkan association include secara horizontal

    Register for courses

    Logon validation

    Maintain curriculum

  • perluasan dari use case lain jika kondisi atau syaratterpenuhi Kurangi penggunaan association Extend ini, terlalu banyak

    pemakaian association ini membuat diagram sulit dipahami. Tanda panah terbuka harus terarah ke parent/base use case Gambarkan association extend secara vertical

    Association antara use case (Lanjut)

    BukaRekening

    BukaDeposito

    Nasabah

  • Generalization/inheritance antara use case Generalization/inheritance digambarkan dengan sebuah garis

    berpanah tertutup pada salah satu ujungnya yang menunjukkanlebih umum

    Gambarkan generalization/inheritance antara use case secaravertical dengan inheriting use case dibawah base/parent use case

    Generalization/inheritance dipakai ketika ada sebuah keadaan yang Generalization/inheritance dipakai ketika ada sebuah keadaan yanglain sendiri/perlakuan khusus (single condition)

    BukaRekening

    Nasabah BukaDeposito

  • Generalization/inheritance antara actor

    Gambarkan generalization/inheritance antara actorssecara vertical dengan inheriting actor dibawahbase/parent use case

  • Use case System boundary boxes

    Digambarkan dengan kotak disekitar use case, untuk menggambarkanjangkauan system anda (scope of of your system).

    Biasanya digunakan apabila memberikan beberapa alternative systemyang dapat dijadikan pilihan

    System boundary boxes dalam penggunaannya optional

  • CLASS DIAGRAM Class adalah sebuah spesifikasi yang jika diinstansiasi akan

    menghasilkan sebuah objek dan merupakan inti daripengembangan dan desain berorientasi objek.

    Class menggambarkan keadaan (atribut/properti) suatusistem, sekaligus menawarkan layanan untuk memanipulasikeadaan tersebut (metoda/fungsi).

    Class diagram menggambarkan struktur dan deskripsi class,package dan objek beserta hubungan satu sama lain seperticontainment, pewarisan, asosiasi, dan lain-lain.containment, pewarisan, asosiasi, dan lain-lain.

    Class memiliki tiga area pokok :1.Nama, merupakan nama dari sebuah kelas2. Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan

    batas nilai yangmungkin ada pada obyek dari class

    3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atauyang dapat dilakukan olehclass lain terhadap sebuah class

  • CLASS DIAGRAM (LANJUTAN) Atribut dan metoda dapat memiliki salah satu sifat berikut :

    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 Package, hanya dapat dipanggil oleh instance sebuah class

    pada paket yang samapada paket yang sama

    Nama Class

    Atribut

    Metode/operasi

  • HUBUNGAN ANTAR CLASS

    1. Asosiasi, yaitu hubungan statis antar class. Umumnyamenggambarkan class yang memiliki atribut berupa classlain, atau class yang harus mengetahui eksistensi class lain.Panah navigability menunjukkan arah query antar class.

    2. Agregasi, yaitu hubungan yang menyatakan bagian (terdiriatas..).

    3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapatditurunkan dari class lain dan mewarisi semua atribut danmetoda class asalnya dan menambahkan fungsionalitasbaru, sehingga ia disebut anak dari class yang diwarisinya.Kebalikan dari pewarisan adalah generalisasi.

    4. Hubungan dinamis, yaitu rangkaian pesan (message) yangdi-passing dari satu class kepada class lain. Hubungandinamis dapat digambarkan dengan menggunakansequence diagram yang akan dijelaskan kemudian.

  • CONTOH CLASS DIAGRAM

  • MULTIPLICITY

    1..*

    0..*

    1

    *

    Unspecified Exactly one Zero or more (many, unlimited)

    One or more

    2..4

    0..1

    1..* One or more Zero or one (optional scalar role) Specified range Multiple, disjoint ranges 2, 4..6

  • Class Diagram diperoleh berdasarkan dari database

    Contoh Kasus (Acknowledgments Evi Lutfi Muktar)

  • pelanggan_regno int(5)nomor_pelanggan varchar(12)nama_lengkap varchar(20)username varchar(13)password varchar(13)email varchar(30)

    cari()simpan()batal()

    i_01nomor_agenda int(5)tgl_agenda varchar(15)nomor_pelanggan varchar(12)nama pelanggan varchar(20)alamat_pelanggan varchar (30)no_ktp varchar(19)no_telpon varchar(13)tarif_lama varchar(2)daya_lama varchar(6)tarif_baru varchar(2)daya_baru varchar(6)peruntukan varchar(20)gardu varchar(20)status varchar(1)

    simpan()batal()

    11 11

    user

    id_user varchar(50)password varchar(50)nama_lengkap varchar(100)email varchar(100)bagian varchar(100)referensi varchar(100)level varchar(50)

    1n 1n

    master_tarifnomor int(5)peruntukan varchar(10)tarif varchar(2)daya varchar(10)bp int(10)ujl int(10)materai int(10)

    kwitansinomor_kwitansi int(5)tgl_kwitansi varchar(15)nomor_agenda int(5)nomor_pelanggan varchar(12)bp int(10)ujl int(10)materai int(10)total int(10)status int(1)userid varchar(10)

    simpan()batal()tambahkwitansi()cari()

    n1 n1

    n

    n

    n

    n

    perintah_kerjanomor_pk int(5)tgl_pk varhcar(15)no_kwitansi int(5)

    1

    1

    1

    1keluhan_pelangganid int(5)nomor_pelanggan varchar(12)nama_pelanggan varchar(20)email varchar(100)keluhan textkode_security varchar(6)

    Contoh Kasus (Acknowledgments Toeko triyanto)

    no_kwitansi int(5)tgl_kwitansi varchar(15)status int(1)

    cari()

    mutasinomor_mutasi int(5)tgl_mutasi varchar(15)nomor_pk int(5)tgl_pk varchar(15)status int(1)

    cari()

    1

    1

    1

    1

    master_statusnomor_status int(1)keterangan varchar(15)

    1

    1

    1

    1

    kode_security varchar(6)

    simpan()batal()

    tunggakannomor_pelanggan varchar(20)tanggal_rekening varchar(15)rupiah_ptl int(15)tagihan_lain_lain int(15)ppn int(12)ppj int(15)materai int(7)total_tagihan int(15)tanggal_bayar varchar(15)

    modulid_modul int(5)nama_modul varchar(50)link varchar(100)static_content textgambar varchar(100)publish enum('Y','N')status enum('user','admin','umum')aktif enum('Y','N')urutan int(5)

    simpan()batal()

    master_pelanggannomor_pelanggan varchar(12)nama_pelanggan varchar(20)penunjukan_alamat varchar (2)alamat_pelanggan varchar(18)nomor_bangunan varchar(3)nomor_rt int(3)nomor_rw int(2)golongan_tarif varchar(3)daya int(6)nomor_meter varchar(6)nomor_ktp varchar(20)telpon varchar(13)gardu varchar(20)

    11

    11

    n

    1

    n

    1

    n1

    n1

    n

    n

    n

    n

  • Statechart Statechart Diagram.

  • Statechart diagram, atau yang biasa juga disebut statediagram digunakan untuk mendokumentasikan beragamkondisi/keadaan yang bisa terjadi terhadap sebuah class dankegiatan apa saja yang dapat merubah kondisi/keadaantersebut. Contohnya sebuah televisi yang dapat beradadalam kondisi menyala atau mati, jika tombol power ditekanmaka televisi akan menyala, begitu juga sebaliknya akanmaka televisi akan menyala, begitu juga sebaliknya akanmati jika tombol power ditekan kembali. Maka disini kitamempunyai sebuah kelas yaitu televisi, 2 state yaitu menyaladan mati dan 2 transition yaitu menyalakan TV danmematikan TV. Tidak seperti diagram-diagram behaviourallainnya yang memodelkan interaksi diantara beberapa class,state diagram justru biasanya hanya memodelkan transisiyang terjadi hanya pada sebuah class. Berikut adalah notasistate diagram :

  • State Notasi State menggambarkan kondisi sebuahentitas, dan digambarkan dengan segiempat yang pinggirnya tumpul dengan nama state didalamnya State1

    Transition Sebuah Transition menggambarkan sebuahperubahan kondisi objek yang disebabkan oleh sebuah event. Transition digambarkan dengan sebuah anak panah dengan nama event yang ditulis diatasnya, dibawahnya atau sepanjang anak panah tersebut.

    Transition

    sebuah kondisi awal sebuah

    State1

    Initial State sebuah kondisi awal sebuahobject sebelum ada perubahan keadaan. InitialState digambarkan dengan sebuah lingkaransolid. Hanya satu Initial State yang diizinkandalam sebuah diagram

    Final State menggambarkan ketika objek berhentimemberi respon terhadap sebuah event. FinalState digambarkan dengan lingkaran soliddidalam sebuah lingkaran kosong.

  • Statechart diagram menggambarkan transisi dan perubahankeadaan (dari satu state ke state lainnya)

    suatu objek pada sistem sebagai akibat dari stimuli yangditerima. Pada umumnya statechart

    diagram menggambarkan class tertentu (satu class dapatmemiliki lebih dari satu statechart

    diagram). Dalam UML, state digambarkan berbentuk segiempat dengan

    sudut membulat dan memiliki nama Dalam UML, state digambarkan berbentuk segiempat dengan

    sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya

    memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam

    kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis

    miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna

    penuh dan berwarna setengah. Contoh statechart diagram :

  • State Machine Diagram (Statechart diagram in versi 1.x) Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object,

    transisi dari sebuah state ke state lainnya

  • State Machine Diagram (Statechart diagram in versi 1.x)Sebuah state machine diagram mempunyai : state (kejadian sesaat) are represented by the values of attributes of an object

    State digambarkan dengan bentukData Kosong

    atau

    Black Hole statesis state has transitions into it but none out

    Miracle statesis state has transitions out of it but none into it

    initial state / creation state dengan tandaUntuk memulai sebuah state machine diagram(in western culture people read from left to right, top to bottom, starting in thetop-left corner)

    Final state dengan tandaUntuk mengakhiri sebuah state machine diagramLetakkan pada pojok kanan bawah(in western culture people read from left toright, top to bottom, starting in the top-left corner)

    Simple StateSebuah State yang tidak mempunyai Sub States/region/submachines

  • State Machine Diagram (Statechart diagram in versi 1.x)

    Submachine State Sejenis composite state

    State 2

    State 1

    State 3

    Composite State Kumpulan dari

    beberapa states yang setidaknya dalam sebuah region

    Orthogonal State, jenis composite state lebih dari 1 region

    Digunakan untuk mendukung konsep encapsulation

    Sebuah state tidak boleh mempunyai region dan submachine secara bersamaan

    Nama state mempunyai sintaks : nama submachine state : referenced state machine

    Sejenis composite state yang isinya didefinisikan oleh state machine lain

    State Machine yang berisi submachine state disebut Containing state machine

    Sebuah state yang dihubungkan ke state machine lainnya

    Dihubungkan ke satu/lebih entry point dan satu/lebih exit point

    referenced state machine

  • State Machine Diagram (Statechart diagram in versi 1.x)Sub States Sebuah state yang ada dalam sebuah region

    Direct Substate, Sub state yang tidak berisi state lain

    Indirect Substate, Sub state yang berisi state lain

    Region (kelompok state) Dipisahkan dengan garis terputus, yang setiap region boleh mempunyai

    nama sebagai optional Sebuah state tidak boleh mempunyai region dan submachine secara

    bersamaanbersamaan

    State terpisah menjadi 3 bagian yaitu Activity label bisa berupa Entry, Exit atau do Dimana Activity expression adalah penggunaan atribut

    NIP Kosong

    Entry/isi NIP

    Exit/

    Help/Tekan F1

    Klik

    Double klik

    Nama State

    Internal Activity, kegiatan yang dilakukan dalam state

    sintaks : Activity label/activity expression

    Internal transition

  • State Machine Diagram (Statechart diagram in versi 1.x)Transition digambarkan dengan tanda anak panah progressions from one state to another, will be triggered by an event Transition adalah hasil dari methode yang menyebabkan perubahan state,

    walaupun tidak semua methode menyebabkan perubahan state

    label on transition is in the formatevent [guard][/methode list()]

    event biasa dituliskan dengan past tense event menyebabkan sebuah object berpindah dari satu state ke state lain event menyebabkan sebuah object berpindah dari satu state ke state lain Guard, condition that must be true for the transition to be triggered Guard harus konsisten dan tidak overlap

    Contoh: X0 konsistenX=0 tidak konsisten

    Guards harus lengkap logikanyaContoh: X0 , bagaimana jika X=0 ?

    Methode dijalankan ketika object memasuki state diindkasikan dengan methode bernama

    entry( ) ketika object keluar state diindikasikan dengan methode bernama exit( )

    Methode menyebabkan perubahan di sebuah state bisa juga tidak

  • State Machine Diagram (Statechart diagram in versi 1.x) Join, menggabungkan

    beberapa transition menjadisebuah transition

    Fork, memecah sebuahtransition menjadi beberapatransition yang berkondisiAND (transition harusdilewati semuanya).

    Junction, Menggabungkan

    Dimungkinkan transition kesebuah state yang berisibeberapa state yangdisebut state list

    State1, State1, State2State2

    Junction, Menggabungkansebuah/beberapa transitiondan memecahnya menjadisebuah/beberapa transitionyang berkondisi AND(transition harus dilewatisemuanya).Digunakan tanda lingkaranhitam kecilContoh:

  • State Machine Diagram (Statechart diagram in versi 1.x) Choice, Mengkondisikan sebuah transition menjadi sebuah/beberapa

    transition, yang hanya dipilih salah satu transition(choice). Digunakan lambang diamond Operand dapat diletakkan didalam diamond atau pada transition

    Contoh:

    Entry pointDilambangkan sebuah lingkarankecil yang ditaruh pada pinggiranstate(bisa juga didalam ataudiluar), dan berguna sebagaisubmachine state

    Exit pointDilambangkan sebuah lingkarankecil bersilang yang ditaruh padapinggiran state (bisa juga didalamatau diluar), dan berguna sebagaisubmachine state

  • State Machine Diagram (Statechart diagram in versi 1.x) State Machine Diagram ada 2 jenis

    Behavioral State Machines Merupakan state machine diagram umumnya Digunakan untuk mendefinisikan perilaku sebuah object

    Protocol State Machines Digunakan untuk penggunaan protocol pada sebuah system Dapat didefinisikan ke spesifik Protocol State Machines atau ke

    Behavioral State Machines Didefinisikan sebagai diagram context (global overview) Notasi yang digunakan sama dengan Behavioral State Machines

    dengan penambahan kata {protocol}

    Tidak adanya internal activity seperti entry,exit,do Transition pada Protocol State Machines harus menggunakan Protocol

    Transition Protocol Transition

    Sintaks : [pre condition] event / [post condition] precondition atau postcondition adalah guard (Guard is condition

    that must be true for the transition to be triggered) Precondition, kondisi sebelum transition Postcondition, kondisi setelah transition

  • Statechart diagram

    Statechart diagram menggambarkan transisi danperubahan keadaan (dari satu state ke state lainnya)suatu objek pada sistem sebagai akibat dari stimuli yangditerima.

    Pada umumnya statechart diagram menggambarkan classtertentu (satu class dapat memiliki lebih dari satustatechart diagram).

    Dalam UML, state digambarkan berbentuk segi empat Dalam UML, state digambarkan berbentuk segi empatdengan sudut membulat dan memiliki nama sesuaikondisinya saat itu. Transisi antar state umumnya memilikikondisi guard yang merupakan syarat terjadinya transisiyang bersangkutan, dituliskan dalam kurung siku. Actionyang dilakukan sebagai akibat dari event tertentudituliskan dengan diawali garis miring.

    Titik awal dan akhir digambarkan berbentuk lingkaranberwarna penuh dan berwarna setengah.

  • Contoh State Diagram

  • Deployment Diagram

    Deployment/physical diagram menggambarkan detailbagaimana komponen di-deploy dalam infrastruktursistem, di mana komponen akan terletak (pada mesin,server atau piranti keras apa), bagaimana kemampuanjaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikalhal lain yang bersifat fisikal

    Sebuah node adalah server, workstation, atau pirantikeras lain yang digunakan untuk men-deploy komponendalam lingkungan sebenarnya. Hubungan antar node(misalnya TCP/IP) dan requirement dapat jugadidefinisikan dalam diagram ini.

  • Component Diagram

    Component diagram menggambarkan struktur danhubungan antar komponen piranti lunak, termasukketergantungan (dependency) di antaranya.

    Komponen piranti lunak adalah modul berisi code, baikberisi source code maupun binary code, baik librarymaupun executable, baik yang muncul pada compile time,link time, maupun run time.link time, maupun run time.

    Pada umumnya komponen terbentuk dari beberapa classdan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.

    Komponen dapat juga berupa interface, yaitu kumpulanlayanan yang disediakan sebuah komponen untukkomponen lain.

  • Contoh : Component Diagram

    applet1.class

    Demo.html applet2.class

    applet1.java

    applet2.javaDemo.html applet2.class

    logo.gif

    applet2.java

  • Contoh : Component & Deployment Diagram

  • Contoh kasus (Acknowledgments Toeko triyanto)

    pengisian data

    isi ulangkirim

    data masukan

    state chart diagram pendaftaran

    pengisian data

    isi ulangkirim

    statechart diagram pengisian data kwitansi.

    simpan

    simpan

    data masukan

  • ACTIVITY DIAGRAM

    Menggambarkan proses bisnis dan urutan aktivitas dalamsebuah proses

    Dipakai pada business modeling untuk memperlihatkanurutan aktifitas proses bisnis

    Struktur diagram ini mirip flowchart atau Data FlowDiagram pada perancangan terstrukturDiagram pada perancangan terstruktur

    Sangat bermanfaat apabila kita membuat diagram initerlebih dahulu dalam memodelkan sebuah proses untukmembantu memahami proses secara keseluruhan

    Activity diagram dibuat berdasarkan sebuah ataubeberapa use case pada use case diagram

  • Simbol Activity DiagramSimbol Keterangan

    Start Point

    End Point

    Activities

    Fork (Percabangan)

    Join (Penggabungan)

    Decision

    Swimlane

    Sebuah cara untuk mengelompokkan

    activity berdasarkan Actor (mengelompokkan activity dalam sebuah urutan yang sama)

    Sumber : Rational rose

  • CONTOHACTIVITYDIAGRAM

    Penarikan Uang dari Account Account

    Bank Melalui ATM

  • CONTOH ACTIVITY DIAGRAMSupplierBagian PembelianBagian Gudang

    Memberi informasi dataBarang yang akan dipesan

    Menerimainformasi

    BuatSPP

    TerimaSPP

    Kirim Barangdisertai Faktur

    Terima Barangdan Faktur

    BuatSPBJ

    TandatanganiSPBJ

    TerimaSPBJ

    Konfirmasipembayaran

    Melakukanpembayaran

    Terimapembayaran

    Terima

    Kwitansi

    Buat

    kwitansi

  • Procedure Berjalan (Acknowledgments Evi Lutfi Muktar)

    Proses pembuatan Daftar Data Pegawai dan Gaji pada SMPPGRI 1 Depok adalah sebagai berkut :1. Proses Absensi

    Pegawai melakukan absensi harian melalui form daftarhadir pegawai. Berdasarkan form daftar hadir pegawai tersebutbagian Tata Usaha (TU) akan membuat Rekap Absen (RA)harian untuk diserahkan kepada Administrasi.harian untuk diserahkan kepada Administrasi.2. Proses Pemberian Rekap Biodata Pegawai (RBP)

    Pegawai memberikan data pribadi pegawai, datapendidikan, data keluarga yang dijadikan satu menjadi datapegawai kepada bagian Tata Usaha yang kemudian diarsipkanmenjadi Rekap Biodata Pegawai (RBP). Lalu Rekap BiodataPegawai (RBP) diserahkan kepada bagian administrasi untukproses pengolahan Daftar Data Pegawai Dan Gaji (DDPG).

  • 3. Proses Pengolahan Daftar Data Pegawai dan Gaji (DDPG)Setelah bagian administrasi menerima Rekap Biodata Pegawai

    (RBP) dan Rekap Absen (RA) akan mengolah kedua data tersebut untukdibuatkan menjadi Daftar Data Pegawai dan Gaji (DDPG) yangkemudian diserahkan kepada Kepala Sekolah untuk ditanda tanganiatau di Acc.

    4. Proses Pembuatan Laporan4. Proses Pembuatan LaporanDaftar Data Pegawai dan Gaji (DDPG) yang sudah diterima dan

    ditanda tangani oleh Kepala Sekolah akan diserahkan kembali kepadabagian Administrasi untuk dibuatkan Laporan Data Pegawai (LDP) danLaporan Gaji Pegawai (LGP).

    Setelah bagian administrasi menerima Daftar Data Pegawai danGaji yang sudah di Acc akan membuatkan Laporan Data Pegawai (LDP)dan Laporan Gaji Pegawai (LGP) yang nantinya akan diserakan kepadaKepala Sekolah.selain itu bagian Administrasi akan membuatkan slipgaji untuk diserahkan kepada pegawai.

  • Proses Absensi

  • Acivity Diagram Rekap Biodata Pegawai (RBP)

  • Activity Diagram Pembuatan Daftar Data pegawai dan Gaji (DDPG)

  • Activity Diagram Proses Laporan

  • (Acknowledgments Toeko triyanto)Proses bisnis pelayanan pelanggan perubahan daya padaPT PLN adalah sebagai berikut :

    Pendaftaran perubahan dayaKonsumen datang kekantor PT PLN(Persero) dengan

    membawa fotocopy KTP dan kwitansi pembayaranrekening bulan terakhir kemudian diserahkan dibagianrekening bulan terakhir kemudian diserahkan dibagianpelayanan pelanggan. Pegawai pelayanan pelanggan akanmenginput berdasarkan data dari konsumen , setelahdiinput maka akan dicetak formulir pendaftaran perubahandaya untuk kemudian ditandatangani oleh pelanggan. Saturangkap untuk pelanggan sebagai tanda bukti. Lainnyadisimpan oleh bagian pelayanan pelanggan untukditeruskan ke supervisor untuk proses persetujuan

  • memberikan fotocopy ktp dan rekening listrik

    menerima fotocopy ktp dan rekening listrik

    input pendaftaran pelanggan

    cetak formulir pendaftaran

    spv pelayananpelayanan pelangganpelanggan

    Activity diagram pendaftaran perubahan daya

    menerima formulir pendaftaran

    menyetujui formulir pendaftaran

    memberikan formulir pendaftaran

    memberikan formulir pendaftaran

    menerima formulir pendaftaran

    memberikan formulir pendaftaran

    menerima formulir pendaftaran

  • Persetujuan perubahan dayaRangkap formulir pendaftaran yang disimpan oleh bagian

    pelayanan pelanggan kemudian dibuatkan surat jawaban persetujuanyang kemudian ditandatangani oleh supervisor pelayanan pelanggandicetak menjadi dua rangkap, rangkap pertama diberikan kepadapelanggan , sedangkan rangkap yang kedua disimpan oleh bagianpelayanan pelangan sebagai arsip.

    pelangganspv pelayananpelayanan pelanggan

    memberikan formulir pendaftaran

    menerima formulir pendaftaran

    membuat surat persetujuan

    menyetujui surat persetujuan

    memberikan surat persetujuan

    menerima surat persetujuan

  • Perjanjian jual beli tenaga listrikSetelah pelanggan menerima surat jawaban persetujuan dari PT.

    PLN (Persero) maka sipelanggan akan datang ke kantor PT PLNuntuk menandatangani surat perjanjian jual beli tenaga listrik sesuaidengan daya listrik yang baru yang akan dipasang. Surat perjanjianjual beli tenaga listrik tersebut juga ditandatangani oleh manager.

    menerima surat persetujuan

    membuat surat perjanjian jual beli tenaga listrik

    managerspv pelayananpelanggan

    menerima surat perjanjian jual beli tenaga listrik

    menyetujui surat perjanjian jual beli tenaga listrik

    memberikan surat perjanjian jual beli tenaga listrik

    mencetak surat perjanjian jual beli tenaga listrik

    memberikan surat perjanjian jual beli tenaga listrik

    menerima surat perjanjian jual beli tenaga listrik

    memberikan surat perjanjian jual beli tenaga listrik

    menerima surat perjanjian jual beli tenaga listrik

    menerima surat perjanjian jual beli tenaga listrik

    menyetujui surat perjanjian jual beli tenaga listrik

    memberikan surat perjanjian jual beli tenaga listrik

  • PembayaranSetelah menandatangani surat perjanjian jual beli tenaga listrik

    maka sipelanggan tinggal membayar sejumlah yang tertera padasurat perjanjian jual beli tenaga listrik ke loket pembayaranperubahan daya, pelanggan akan mendapatkan kwitansipembayaran sebagai bukti bahwa si pelanggan telah melaksanakankewajibannya.

    loket PT PLNpelanggan

    melakukan pembayaran

    menerima bukti pembayaran

    menerima pembayaran

    cetak bukti pembayaran

    menyetujui bukti pembayaran

    memberikan bukti pembayaran

  • Perintah kerjaSaaat si pelanggan membayar kewajibannya maka perintah

    kerja terbit dan siap untuk di cetak, untuk diberikan kepadapelaksana sebagai perintah kerja untuk pelanksanaanpenggantian MCB pelanggan.

    cetak perintah kerja

    menyetujui perintah kerja

    pelangganpelaksanabagian penyambungan

    perintah kerja

    melakukan penggantian MCB

    menerima perintah kerja

    menerima perintah kerja

    melakukan penggantian MCB

    memberikan perintah kerja

    menerima perintah kerja

    memberikan perintah kerja

    menerima perintah kerja

    menyetujui perintah kerja

    memberikan perintah kerja

  • Koperasi STMIK Nusa Mandiri adalah sebuah koperasiyang mengelola simpan pinjam bagi para anggotanya,berikut ini adalah kegiatan yang dilakukan oleh bagianKredit dalam menangani pemberian pinjaman bagi paraanggotanya.

    Setiap kali bagian kredit akan memberikan pinjamankepada Anggota maka Anggota diharuskan mengisiFormulir Permohonan Pinjaman yang berisi Nomor FPP,

    Latihan STUDI KASUS ACTIVITY DIAGRAM

    Formulir Permohonan Pinjaman yang berisi Nomor FPP,Tanggal Permohonan, Nomor Anggota, Nama Anggota,Jumlah Permohonan dan Keperluan. Yang kemudian olehBagian Kredit dicatat dan disimpan kedalam Arsip FPP.Berdasarkan Arsip FPP tersebut Bagian Kredit membuatBukti Peminjaman yang diberikan kepada Anggota yangberisi No. BP, tgl BP, Nomor Anggota, Nama Anggota,Jumlah Realisasi, Lama Angsuran, Jumlah Angsuran danBunga.

  • Setiap Bulan Anggota diharuskan membayar Angsuransejumlah Angsuran yang disepakati pada saatPeminjaman yang kemudian oleh bagian Kredit dicatatdan direkam kedalam Arsip Angsuran. BerdasarkanArsip Angsuran tersebut bagian Kredit membuat BuktiAngsuran yang diberikan kepada Anggota yang berisiNo. BA, Tanggal BA, No. BP, Jumlah Angsur dan BungaNo. BA, Tanggal BA, No. BP, Jumlah Angsur dan Bunga

    Pada akhir bulan Bagian Kredit selalu membuat LaporanPeminjaman dan Laporan Angsuran yang diberikanKepada Ketua Koperasi.

  • Latihan Activity Diagram !

    PT. Nusantara adalah sebuah perusahaan yang bergerakdibidang penjualan Tunai barang-barang elektronik. Semuatransaksi di perusahaan masih dilakukan secara manual.Berikut ini adalah kegiatan kegiatan yang dilakukan olehbagian Penjualan dalam melaksanakan transaksi penjualanBarang di dalam perusahaan.

    1. Pemesanan barang1. Pemesanan barangSetiap kali Bagian penjualan akan menjual barang ia selalu

    menerima surat pesanan dari pelanggan. Berdasarkan Suratpesanan tersebut bagian penjualan kemudian mencatat danmerekamnya kedalam Arsip Surat Pesanan. BerdasarkanArsip surat pesanan tersebut, bagian penjualan membuatkanFaktur dan Surat Jalan yang dikirimkan kepada Pelanggansebagai bukti bahwa barang yang dipesan sudah terealisasidan rangkapnya disimpan sebagai Arsip Faktur dan ArsipSurat Jalan.

  • 2. Pembuatan KwitansiApabila Faktur dan Surat Jalan sudah sampai ditempat

    pelanggan, maka pelanggan megirimkan Pembayaranyang kemudian oleh bagian penjualan dibuatkanKwitansi yang dibuat berdasarkan Arsip Faktur yangkemudian diserahkan kepada pelanggan sebagai buktipembayaran dan rangkapnya disimpan kedalam ArsipKwitansi

    3. Pembuatan Laporan3. Pembuatan LaporanSetiap akhir bulan Bagian Penjualan selalu membuat

    Laporan Penjualan berdasarkan Arsip Faktur danLaporan Pesanan berdasarkan Arsip Pesanan danLaporan Pengiriman berdasarkan Arsip Surat Jalanyang ditujukan kepada Kepala Bagian Penjualan

    Diminta : Buatlah Activity diagram dari data diatas !

  • Sequence Diagram

    Sequence diagram menggambarkan interaksi antar objekdi dalam dan di sekitar sistem (termasuk pengguna,display, dan sebagainya) berupa message yangdigambarkan terhadap waktu. Sequence diagram terdiriatar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

  • Sequence diagram biasa digunakan untukmenggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuahevent untuk menghasilkan output tertentu. Diawali dariapa yang men-trigger aktivitas tersebut, proses danperubahan apa saja yang terjadi secara internal danoutput apa yang dihasilkan.

    Diagram ini secara khusus berasosiasi dengan use case Diagram ini secara khusus berasosiasi dengan use casediagram

    Memperlihatkan tahap demi tahap apa yang seharusnyaterjadi untuk menghasilkan sesuatu didalam use case

  • Simbol Sequence Diagram

  • Contoh Sequence Diagram

  • SEQUENCE DIAGRAM INPUT DATA PEGAWAI SEQUENCE DIAGRAM INPUT DATA PEGAWAI Contoh kasus Penggajian (Acknowledgments Evi Lutfi Muktar)

  • SEQUENCE DIAGRAM INPUT DATA PENDIDIKANSEQUENCE DIAGRAM INPUT DATA PENDIDIKAN

  • SEQUENCE DIAGRAM INPUT DATA KELUARGASEQUENCE DIAGRAM INPUT DATA KELUARGA

  • SEQUENCE DIAGRAM ABSEN MASUKSEQUENCE DIAGRAM ABSEN MASUK

  • : administrator : form tambah manajemen user : control form tambah

    manajemen user : pelanggan

    open ( )get username, passwordnama lengkap, email

    display username, passwordnama lengkap, email

    Contoh kasus PLN (Acknowledgments Toeko triyanto)

    simpan simpan

  • : pelanggan : form tambah pendaftaran : controlform tambah

    pendaftaran : pelanggan1

    open ( ) get nomor_pelangganperuntukan, tarif, daya

    display nomor_pelanggannama pelangganalamatnomor ktpnomor telpongardugardudaya tarif lamadaya tarif baruperuntukan

    simpansimpan

    display no, agenda,tgl, id_pelanggan

    nama, daya_lamadaya_baru, status,aksi

  • Collaboration diagram juga menggambarkan interaksiantar objek seperti sequence diagram, tetapi lebihmenekankan pada peran masing-masing objek danbukan pada waktu Penyampaian message.

    Setiap message memiliki sequence number, di manamessage dari level tertinggi memiliki nomor 1. Messagesmessage dari level tertinggi memiliki nomor 1. Messagesdari level yang sama memiliki prefiks yang sama.

  • Contoh Collaboration Diagram

  • Berikut adalah sebuah contoh collaboration diagram yang mengilustrasikan sebuahsistem telepon genggam (handphone) :

  • Collaboration Diagram (Acknowledgments Toeko triyanto)

    : index\home : pengunjung

    : info

    : register

    : login

    : cari

    : simpan

    : batal

    : login1 : batal

    : index\home

    : pendaftaran

    : manajemen kontrol

    : tambah data

    : cetak

    : simpan

    : batal

    : logout

    : index\home : login1

    : manajemen user

    : edit

    : hapus

    : batal

    : tambah user

    : simpan

    : update

    : batal

    : manajemen modul

    : tambah modul

    : edit

    : hapus

    : simpan

    : batal

    : update

    : batal : profile

    : browse

    : update

    : tambah data : pendaftaran

    : cetak : cari

    : simpan

    : batal

    : cetak dokumen

    : cari

    : cetak

    : kwitansi1

    : tambah kwitansi

    : cetak

    : cari

    : simpan

    : batal : cari

    : member

    : admin : login

    : batal

    : cetak

    : perintah kerja1

    : cari

    : cetak

    : mutasi1

    : batal

    : manajemen kontrol1

    : cari

    : cari

    : peremajaan : data pelanggan1

    : cari : informasi tagihan1

    : cari

    : guestbook1 : tambah guestbook

    : batal

    : simpan

    : edit : hapus

    : batal : simpan

    : user : index\home

    : cetak dokumen

    : cari : cetak

    : kwitansi1

    : tambah kwitansi

    : cetak

    : cari

    : simpan

    : batal

    : perintah kerja1

    : cari

    : cetak

    : batal

    : cari

    : peremajaan

    : mutasi1 : data pelanggan1

    : cari

    : informasi tagihan1

    : cari

    : guestbook1 : tambah guestbook

    : batal

    : simpan

    : edit : hapus

    : batal : simpan

  • PERTEMUAN 6

    COMPONENT DIAGRAM

  • Component diagram menggambarkan struktur danhubungan antar komponen piranti lunak, termasukketergantungan (dependency) di antaranya.

    Komponen piranti lunak adalah modul berisi code, baikberisi source code maupun binary code, baik librarymaupun executable, baik yang muncul pada compiletime, link time, maupun run time.

    Umumnya komponen terbentuk dari beberapa class

    Component Diagram

    Umumnya komponen terbentuk dari beberapa classdan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.

    Komponen dapat juga berupa interface, yaitu kumpulanlayanan yang disediakan sebuah komponen untukkomponen lain.

    Contoh component diagram:

  • Component Diagram Menggambarkan alokasi semua class dan object kedalam komponen dalam

    desain fisik system software, termasuk pengaturan dan kebergantungan antar komponen software

    Component dapat terdiri dari logical component, seperti business component, process component, dll Physical component (software arsitektur) , seperti Com+, dot

    NET,CORBA, dll Component digambarkan

    dengan bentuk pada UML versi 1.*:

    Pada UML versi 2 digambarkan dengan bentuk

    atau atau atau

    Stereotypes yang dapat digambarkan pada bentuk component,kumpulan aplikasi system ,component yang jalan di client, data file

    , technical component didalam system, source file, table data dalam sebuah database

    , User interface (screen, pages, report)dll

  • Component DiagramDependencies dimodelkan dengan garis terputus dengan panah terbuka gambarkan dependencies dari kiri ke kanan

    Contoh: Source Code bergantung pada MySQL

    Dimungkinkan sebuah component dependencies pada interfaces component lainnyaContoh:

    InheritanceInheritance inheriting/child component diletakkan dibawah parent component, dengan

    arah panah menuju ke parent component dimodelkan dengan garis dengan panah tertutup Contoh:

    Penjualan

    Menu Utama

    Pembelian

  • Interfaces - Component Diagram Interfaces adalah kumpulan >=1 methode dan >=0 attribute yang dapat

    dipakai pada class tanpa menjadi behavior suatu class. Jenis interface ada 2 macam yaitu :

    Provide, digambarkan dengan bentuk lollipopPada UML 1.* bisa juga digambarkan dengan garis terputus dengan panah tertutup

    Required, digambarkan dengan bentuk socket Penggambaran

    interfaces dapat juga dilakukan dengan menambah bagian component seperti contoh dibawah ini contoh dibawah ini

    Bentuk grafik

  • Component Diagramport adalah bentuk object yang menjelaskan interaksi antara object dan

    lingkungannya digambarkan sebagai kotak kecil di pinggiran componentAssembly connector Penghubung antara

    2/lebih component dimana sebuah/beberapa component provides interfaces dan component lain required component lain required interfaces

    Digambarkan dengan gabungan bentuk interfacescontoh:

  • Component Diagram (Acknowledgments Toeko triyanto)

    Kirim

    Simpan database server

    Browsing

    Isi data

  • Deployment Diagram

  • Deployment/physical diagram menggambarkan detailbagaimana komponen di-deploy dalam infrastruktur sistem, dimana komponen akan terletak (pada mesin, server atau pirantikeras apa), bagaimana kemampuan jaringan pada lokasitersebut, spesifikasi server, dan hal-hal lain yang bersifatfisikal

    Sebuah node adalah server, workstation, atau piranti keraslain yang digunakan untuk men-deploy komponen dalam

    Deployment Diagram

    lain yang digunakan untuk men-deploy komponen dalamlingkungan sebenarnya. Hubungan antar node (misalnyaTCP/IP) dan requirement dapat juga didefinisikan dalamdiagram ini

    Deployment diagram digunakan untuk melayani pemodelanhardware yang digunakan dalam implementasi sistem danasosiasinya antara komponen-komponen tersebut. Elemenyang digunakan dalam deployment diagram adalah nodes(ditunjukkan sebagai sebuah cube), komponen (ditunjukkansebagai sebuah kotak bujursangkar) dan juga asosiasi.

  • Deployment diagram ini menunjukkan hardware yang digunakan padajaringan kantor yang kecil. Application server (node) terhubung dengandatabase server (node) dan database client (component) sudahterinstall dalam application server. Workstation juga terhubung(association) dengan application server dan juga ke printer.

  • Deployment Diagram Menggambarkan arsitektur system Pemetaan software(component pada component diagram) yang jalan di

    sebuah hardware (node pada deployment diagram) Software component tidak selalu menggambarkan setiap software

    component yang ada pada sebuah Komputer(system operasi/MicrosoftOffice, dll), akan tetapi software component tersebut akan digambarkanketika ada hubungan dengan pengimplementasian sebuah system

    Menggambarkan bagaimana s/w dan h/w bekerja sama Menggambarkan topologi jaringan Artifact

    Spesifikasi dari bentuk physic informasi yang digunakan atau dihasilkan Contoh : source file, script, executable file, table di database, document Contoh : source file, script, executable file, table di database, document

    word/excel, e-mail, dll Digambarkan dengan bentuk

    Dapat dihubungkan dengan component pada component diagram Hanya digambarkan dalam sebuah node perhatikan potongan program dibawah ini yang sesuai dengan artifact yang ada: //code style sheet //javascript

  • Node - Deployment Diagram Adalah hardware seperti

    computer/PDA ,lap top, handphone peralatan komunikasi data (router,hub,switch,modem) dll

    Digambarkan dengan bentuk kotak 3 dimensi Nama Node Node dapat

    digabungkan dengan component pada component diagram

    Node dapat digambarkan dengan bentuk visual, ataupun gabungan antara node dan visual

  • Association (connection) - Deployment Diagram Digambarkan dengan sebuah garis yang menghubungkan antara

    node Setiap association mempunyai sebuah stereotypes seperti

    Stereotypes IstilahAsychronous Hubungan asynchronous HTTP HyperText Transport Protocol (internet protocol_JOBC Java Database Connectivity, a Java API for database access.ODBC Open Database Connectivity, a Microsoft API for database access.

    Client Server* 1* 1

    association dimungkinkan mempunyai multiplicity (0..1, 1..*, dll)

    RMI Remote Method Invocation, a Java communication protocol.

    RPC Communication via remote procedure callsSynchronous Komunikasi synchronous Web Services Komunikasi melalui Web Services protocols seperti as SOAP and UDDIEthernet Ethernet Card

  • Dependencies - Deployment Diagram Digambarkan dengan garis terputus yang berpanah terbuka deploy

    Sebuah garis terputus dengan ujung panah terbuka yang tertuju ke node dengan sebuah stereotypes untuk menggambarkan software yang terdapat pada sebuah hardware

    faktur.asp dependencies terhadap order.asp

    dimungkinkan sebuah node memiliki node yang lain

    terhadap order.asp

    cara diatas dapat digambarkan dengan memasukkan artifact/software ke dalam node/hardware

    atau

  • Manifest - Deployment Diagram bentuk fisik dari artifact digambarkan dengan sebuah garis terputus dengan ujung panah terbuka

    yang tertuju ke component dengan sebuah stereotypes

  • Interaction Overview Diagram Sebuah jenis activity

    Diagram yang memperlihatkan alur control dalam system atau business process.

    Setiap node/activity didalam diagram mewakili interaction diagram yang lain

    Sd = sequence diagram

    sd

    diagram yang lain Interaction Overview

    Diagram menggunakan notasi yang dipakai pada Activity diagram dan Sequence Diagram

    Interaction, dilambangkan dengan gambar dibawah ini

  • Interaction Overview DiagramContoh

    Sequence diagram Interaction overview diagram

  • Timing Diagram Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu Menggambarkan perubahan dalam state atau kondisi dari pengelompokkan

    instance atau tugas berlebihan Biasanya dipakai untuk memperlihatkan perubahan dalam state object

    berlebihan dalam merespon ke external events Dipakai untuk memperlihatkan perilaku dari sebuah/beberapa object melalui

    periode waktu Ada 2 jenis

    Timing diagram yaitu Concise/

    simple notation

    Dipakai untuk mengeksplorasi sebuah/beberapa object melalui periode waktuketerangan gambar : object :seminar states proposed, scheduled, enrolling students,

    Being Taught, Final Exams, Closed Lifeline

    Timing Constrant | {Nov 1 .. Des 31} | {jan 1 .. July 31}

  • Robust notationTiming Diagram

    ObjectObjectLifelineLifeline

    StateState/condition/condition

    LifelineLifeline

    MessagMessagee

  • Menggambarkan stuktur internal dari pengelompokkan (class, component, use case), termasuk hubungan pengelompokkan ke bagian lain dari system

    Collaboration Mendefinisikan struktur dari kerjasama element/role Ditampilkan dalam bentuk elipse dengan garis terputus, yang berisi nama

    collaboration Digunakan untuk menjelaskan bagaimana system bekerja

    Composite Structure Diagram

    atauatau

  • Collaboration occurrence Sebuah collaboration dihubungkan ke sebuah methode atau object melalui

    collaboration occurrence Digambarkan dengan sebuah elipse dengan garis terputus yang berisi nama

    occurrence (kejadian/peristiwa), titik dua dan type collaboration Contoh: retail:sale

    Composite Structure Diagram

    Keterangan gambar : Collaboration sale menggambarkan

    collaboration antara role buyer dan seller

    Collaboration brokeredsale menggambarkan collaboration diantara 3 role yaitu producer, diantara 3 role yaitu producer, broker dan consumer

    Collaboration brokeredsale terdiri dari 2 occurrence dari collaboration sale yaitu wholesale:sale dan retail:sale

    Ocucurrence wholesale mengindikasikan collaboration sale dimana producer sebagai seller dan broker adalah buyer

    Role Digambarkan dengan kotak

    dengan berisi nama Role Broker

  • Composite Structure Diagram

  • Contoh Deploment Diagram (Acknowledgments Toeko triyanto)

    Client Browser Client Browser

    Client Browser

  • Sebuah bentuk pengelompokkan yang memungkinkan untukmengambil sebuah bentuk di UML dan mengelompokkanelemen-elemennya dalam tingkatan unit yang lebih tinggi.Kegunaan package yang paling umum adalah untukmengelompokkan class.

    Package Diagram

    Package DiagramPackage Diagram

    Menggambarkan pengelompokan dari suatu class-class

  • guestbook

    i_01

    index/home

    keluhan pelanggan kwitansi

    master_pelangganperintah_kerja

    tunggakan

    Contoh package diagram (Acknowledgments Toeko tri