ALAT PEMODELAN SISTEM 2.1.KONSEP DASAR Ada tiga alasan mengapa kita melakukan pemodelan sistem, yaitu: 1. Dapat memfokuskan perhatian pada hal yang lebih penting dalam sistem tanpa mesti terlibat lebih jauh. 2. Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan resiko dan biaya minimal. 3. Menguji pengertian penganalisa sistem terhadap kebutuhan pemakai dan membantu pendesaian sistem dan programmer dalam membangun sistem. Tetapi ada banyak bentuk model yang dapat kita gunakan dalam perancangan sistem antara lain model narasi, model prototipe, model grafis, dll. Dalam hal ini tidak jadi masalah model mana yang akan digunakan, yang jelas harus sampai mereperesentasikan visualisasi bentuk sistem yang diinginkan pemakai, karena sistem akhir yang dibuat bagi pemakai akan diturunkan dari model. Secara garis besar model yang digunakan seharusnya mempunyai sejumlah karaktersitik, yaitu: Dibuat dalam bentuk grafis dan tambahan keterangan secara tekstual. Dapat diamati dengan pola top-down dan partitioned. Memenuhi persyaratan minimal redudancy. Dapat merepresentasikan tingkah laku sistem. Dari perkembangannya sampai sekarang, metodologi sistem informasi dapat dikelompokkan menjadi empat ditinjau dari alat untuk membuat model dan paradigma. Sedangkan tahapan pengembangan sistem informasi (waterfall, iterasi, spiral) pada prinsipnya tidak mengalami perubahan yang mendasar, yang berbeda hanya pada sistem konvensional, mensyaratakan setiap tahapan harus diselesaikan secara tuntas sebelum memasuki tahapan selanjutnya. Sedangkan konsep baru lebih menekankan adanya iterasi atau pelaksanaan secara spiral. Keempat metodologi yang disebutkan diatas terdiri dari: 1. Metodologi berorientasi keluaran (output). 2. Metodologi berorientasi proses (process). - Data Flow Diagram (DFD) / Diagram Aliran Data. - Data Dictionary (DD) / Kamus Data. - Process Specification (PS) / Proses Spesifikasi. - State-Trasition Diagram (STD). - Block Chart Diagram (BCD). - System Procedure Diagram (SPD). 3. Metodologi berorientasi data - Entity Relationship Diagram (ERD) / Hubungan Entiti. 4. Object Oriented / Metodologi Berorientasi Objek. 2.2.METODE BERORIENTASI KELUARAN Sebelum alat bantu pemodelan sistem dikembangkan, kebanyakan para perancang sistem menggunakan pendekatan berbasis keluaran atau sering disebut pendekatan klasik (trasisononal). Metode ini diperkenalkan sekitar tahun 1960 dengan memberikan tahapan dalam pengembangan sistem tanpa dibekali dengan teknik dan peranti (tools) yang memadai seperti cara menganalisa, menggambarkan sistem, sehingga sering juga disebut metodologi System Development Life Cycle (SDLC). Hal diatas tidak menjadi maslah untuk pengembangan sistem yang kecil dimana sistem analisa, desain dan programmer ditangani oleh satu orang. Bagaimana dengan pengembangan sistem yang melibatkan tim di mana sistem analisa, desain dan programmer terdiri dari orang yang berbeda ?, disini akan timbul kesulitan dalam menyampaikan hasil analisa ke orang yang mendesain dan dari orang yang mendesain ke programmer, karena penggunaan narasi dapat menimbulkan persepsi yang berlainan. Foklus utama metodologi ini pada keluaran / output seperti laporan penjualan, laporan pembelian, dan sebagainya. Gambar 2.1 Fokus utama metodologi berorientasi keluaran 2.3.METODOLOGI BERORIENTASI PROSES Metodologi ini disebut juga dengan metodologi analisa dan desain, diperkenalkan sekitar tahun 1970 dan masih mendominasi dalam sistem pengembangan sistem sampai saat ini, karena metodologi ini telah dilengkapi dengan alat-alat (tools) dan teknik-teknik yang dibutuhkan dalam pengembangan sistem khususnya pemrograman terstruktur / modular. Fokus utama metodologi ini pada proses dengan menggambarkan dunia nyata memakai diagram arus data. 2.3.1. DATA FLOW DIAGRAM (DFD) Model ini menggambarkan sistem sebagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data. Sebagai perangkat analisis, model ini hanya mampu memodelkan sistem dari satu sudut pandang yaitu sudut pandang fungsi. Pada sejumlah kasus model ini biasanya dinamakan berbeda seperti buble diagram, process model, work flow diagram, dan function model. Ada empat komponen daalam model ini yaitu: Proses, komponen pertama dalam model ini dinamakan proses, kadang-kadang dinamakan juga gelembung (bubble), fungsi, dan transofrmasi. Proses menunjukkan tenasformasi dari masukkan menjadi keluaran, dalam hal ini sejumlah masukkan dapat menjadi hanya satu keluaran ataupun sebaliknya. Proses direpresentasikan dalam bentuk lingkaran (bisa juga oval, atau bujur sangkar dengan sudut melengkung). Proses umumnya didefinisikan dengan kata tunggal, atau kalimat sederhana. Pada sejumlah kasus definisi ini dapat berupa nama departemen, bagian dalam suatu organisasi, komputer perlatan mekanik. Sehingga definisi tadi lebih sering mengidentifikasi subyek proses daripada obyek proses itu sendiri. Aliran, aliran direpresentasikan menggunakan panah yang menunjukkan ke atau dari proses. Arah panah menunjukkan arah aliran. Aliran yang digambarkan sebagai panah dengan dua ujung menggambarkan terjadinya dialog. Aliran dapat juga menyebar atau menyatu (sejumlah atribut dapat membentuk satu aliran, atau satu aliran menyebar menjadi sejumlah atribut, atribut dalam hal ini dapat merupakan bagian atau duplikasi dari aliran). Penyimpanan, komponen ini digunakan untuk memodelkan kumpulan data (paket data). Notasi yang digunakan adalah garis sejajar, segi empat dengan sudut melenkung, atau persegi panjang. Notasi ini dapat mendefinisikan file atau basis data. Panah yang bergerak dari penyimpanan berarti; pengunaan data paket tunggal, penggunaan data paket kelompok, penggunaan perbagai paket dan penggunaan perbagian bagi lebih dari satu paket. Jika aliran tidak didefinsikan, maka keseluruhan paket informasi dari penyimpanan digunakan, demikian juga dengan aliran yang mempunyai nama sama dengan penyimpanan, sedangkan definisi aliran yang berbeda dengan penyimpanan menunjukkan hanya satu atau dua komponen dari keseluruhan penyimpanan yang digunakan. Hal yang penting untuk diingat bahwa penyimpanan tidak berubah ketika paket informasi bergerak dari penyimpanan melalui aliran. Panah yang bergerak ke penyimpanan mendeskripsikan pemulisan, perubahan atau penghapusan, satu atau lebih paket dimasukkan ke baru), atau lebih paket dihapus, dipindahkan dari penyimpanan, satu atau lebih paket dimodifikasi atau berubah (dapat berarti menggubah seluruh paket atau hanya sebagain dari paket). Teminator, yang direpresentasikan dengan persegi panjang yang mewakili entiti luar dimana sistem berkomunikasi. Ada hal penting yang harus diingat tentang terminator. a. Terminatro merupakan bagian luar sistem, dan aliran data (panah) yang dihubungkan dengan terminator (ke/dari proses, ke/dari penyimpanan) dalam sistem memodelkan hubungan antar sisten dengan dunia luar. b. Hubungan atar terminator tidak digambarkan dalam model ini, hal ini disebabkan karena hubungan antar terminator bukan merupakan bagian sistem yang akan dimodelkan. Jika pada sejmumlah kasus, hubungan antar teminator sangat penting dan esensial bagi sistem yang akan dimodelkan, maka terminator tersebut merupakan bagian dari sistem dan seharusnya dimodelkan sebagai proses. Ketika DFD mulai dibuat kita harus hati-hati agar DFD tadi tidak kelewat sederhana, salah dan tidak konsisten. Karena itu ada sejumlah petunjuk yang perlu dilakukan untuk membuat DFD yang jelas, dan enak dibaca yaitu: a. Pilih nama yang jelas maksudnya (bagi proses, aliran penyimpanan dan terminator). 1. kata kerja yang spesifik dan obyek (misalnya memproses laporan inventori, validasi nomor telepon, dll). 2.jangan menggunakan nama yang terlalu umum (misalnya proses data, tangani masukan, dll). 3.gunakan nama yang familiar bagi pemakai. b. Menomori proses, 1.tidak jadi masalah bagimana urutan ditempatkan. 2.nomor tidak menunjukkan urutan. 3.penomoran dimaksudkan sebagai identifikasi proses dan sebagiknya menggunaan nama yang lebih mangacu pada fungsi, yaitu gabungan antara memudahkan penuruan (level yang lebih rendah) ke proses berikutnya. c. Menggambarkan kembali DFD sehingga cukup estetis. Dalam menggambarkan lingkaran (proses) harus benar-benar bulat dan setiap proses memiliki ukuran yang sama. Jangan ada yang besar atau ada yang kecil, karena dapat mengandung penafsiran lingkaran yang besar mengontrol lingkaran yang kecil. d. Mencegah DFD yeng teterlalu kompleks. Kegunaan DFD bukan hanya menggambarkan fungsi dan interaksinya dalam sistem secara akurat tetapi juga untuk dibaca dan dimengerti oleh bukan hanya penganalaisa sistem, tetapi pemakai yang berpengalaman dalam sistem yang dimodelkan, hal ini berati: jangan membuat DFD dengan terlalu banyak proses, aliran, penyimapanan dan terminator. e. Meyakinkan DFD tersebut konsisten secara intren dan konsisten dengan DFD lain yang berhubungan. Hal-hal penting yang harus diingat adalah: 1.mencegah proses yang mempunyai masukkan tetapi tidak mempunyai keluaran (dikenal sebagi black hols). 2.mencegah proses yang mempunyai keluaran tetapi tidak mempunyai masukkan. 3.hati-hati dengan aliran dan proses yang tidak dinamakan (dapat mengakibatkan elemen data yang saling tidak berhubungan menjadi satu). 4.hati-hati dengan penyimpanan yang punya satatus hanya dapat dibaca atau hanya dapat ditulis yang berkaitan erat dengan hanya memproses masukkan dan hanya memproses keluaran. Level yang paling tinggi dalam DFD hanya punya sebuah lingkaran (proses) yang memodelkan seluruh sistem, sedangkan aliran memodelkan hubungan antar sistem dengan terminator diluar sistem (external terminator), level ini disebut contex-diagram (diagram konteks). Dalam hal ini berperan penomoran DFD yang sudah dibahas sebelumnya (yang berguna untuk memudahkan penuruan DFD ke level yang lebih rendah). Penurunan ini mengacu pada aturan tertentu yaitu: 1. Setiap penurunan ke-level yang lebih rendah harus mampu merepresentasikan proses tersebut dalam spesifikasi proses yang jelas (seandainya belum cukup jelas maka seharusnya diturunkan ke-level yang lebih rendah). 2. Setiap penurunan harus dilakaukan hanya jika perlu. 3. Tidak semua bagian dari sistem harus diturunkan dengan jumlah level yang sama (yang kompleks bisa saja diturunkan, dan hanya sesederhana mungkin tidak perlu diturunkan, karena tidak semua proses dalam level yang sama punya drajat kompleksitas yang sama juga). 4. Konfirmasikan DFD yang telah dibuat pada pemakai dengan cara top-down. 5. Aliran data yang masuk dan keluar pada suatu proses di level x harus berhubungan dengan aliran data yang masuk dan keluar pada level x+1 yang mendefinisikan proses pada levek x tersebut. 6. Penyimpanan yang muncul pada level x harus didefinsikan kembali pada level x+1, sedangkan penyimpanan yang muncul pada level x tidak harus muncul pada level x-1 (karena penyimpanan tersebut bersfiat lokal). 7. Ketika mulai menurunkan DFD dari level tertinggi cobalah untuk mengidentifikasi external events diamana sistem harus memberikan respon. DFD sebagai perangkat pemodelan bisa dikatakan sederhana, tetapi sangat berguna untuk memodelkan fungsi dalam sistem, jika yang akan dimodelkan punya ketergantungan dengan waktu (misalnya real time sistem) harus dimodelkan dengan model lain. Ruginya banyak penganalisa sistem mengira dengan DFD, maka meraka sudah tahu banyak segala sesuatu tentang analisa terstruktur, sedangkan kenyataan membuktikan tanpa perangkat pemodelan tambahan DFD menjadi sesuatu yang serba penuh kekurangan. CONTOH ANALISA KASUS DFD Sebuah Rumah Sakit UIGM yang sedang berkembang ingin meningkatkan service terhadap para pasiennya dengan cara membangun sistem pelayanan pasien yang dibantu oleh komputer. Sistem yang akan dibuat hanya dibatasi untuk poliklinik. Ketika pasien mendaftar maka akan dilakukan pengecekan terhadap data yang telah disimpan untuk mencari apakah pasien tersebut pernah terdaftar, ataukah belum. Bila belum terdaftar maka data lengkap pasien akan dimasukkan. Sebagai salah satu bahan masukkan bagi dokter dalam melakukan diagnosa adalah catatan kesehatan pasien. Setelah selesai pemeriksaan, dokter memberikan data tantang diagnosa terhadap pasien tersebut, serta menuliskan resep. Dokter juga harus melaporakan tentang injeksi apa yang telah diberikan dan resep yang dibuat dokter, maka dikeluarkan biaya tentang obat yang harus dibayar. Selanjutnya petugas rumah sakit akan menyrahkan obat tersebut beserta rincian biaya tersebut (biaya obat dan biaya pemeriksaan). Data tentang diagnosa dan obat yang diberikan dicatat oleh petugas rumah sakit berharap agar sistem yang akan dibuat dapat memberikan laporan keuangan dan laporan pemakian obat. Dari abstraksi diatas akan dibuat DFD yang memetakan sistem pelayanan rumah sakit. Langkah-langkah yang ditempuh adalah sebagai berikut: 1. identifikasi data-data yang berkaitan dengan sistem. 2. identifikai sumber data. 3. buat diagram konteks. 4. turunkan diagram konteks menjadi DFD level 0. 5. bila dirasa perlu turunkan DFD level 0 menjadi DFD level berikutnya. Dari Diagram Konteks ini coba di buat level selanjutnya. sistem pelayanan rumah sakit adalah: Data pasien, yang diperoleh dari pasien yang bersangkutan. Data diagnosa, yang dibuat oleh dokter setelah malakukan pemeriksaan (termasuk injeksi yang diberikan dokter). Resep, yang juga didapat dari dokter. Biaya pengobatan, yang dihitung berdasarkan resep dan data diagnosa. Laporan keuangan, yang dibuat berdasarkan biaya yang dibayarkan oleh pasien serta harga obat yang telah digunakan, serta laporan pemakian obat-obatan, yang dibuat berdsarkan data pemakian obat oleh pasien. Selanjutnya kita buat diagram konteks-nya. Untuk membuat diagram konteks, kita daftarkan terlebih dahulu terminator-terminator (entiti luar) yang berkaitan dengan sistem, yaitu: Dokter Pasien Direktur Rumah Sakit Tahap selanjutnya adalah menurunkan Diagram Konteks menjadi DFD level ke-0. Cara yang cukup membantu dalam penurunan diagram konteks menjadi DFD level ke-0 adalah dengan menentukan kejadian (event) apa saja yang mungkin muncul dalam sistem. Kita catat kejadiankejadian tersebut dalam suatu daftar (list). Daftar ini sering disebut sebagai even list. Kejadiankejadian tersebut adalah: Pencarian data pasien, untuk mengetahui apakah pasien tersebut sudah pernah tecatat sebelumnya. Pencetatan data pasien, untuk mencatat data pasien yang belum pernah terdaftar. Pencatatan data injeksi. Pencatatan data resep. Pengambilan data riwayat kesehatan pasien, untuk digunakan oleh dokter dalam mendiagnosa psien. Pembuatan dafatar biaya, yaitu biaya yang harus dibayar oleh pasien. Pembuatan laporan keuangan. Pembuatan laoran pemakaian obat. Bila daftar terlalu panjang (menurut Yordon, lebih dari tujuh termasuk panjang), maka kejadian-kejadian tersebut harus dikelompokkan terlebih dahulu. Dafatar kejadian diatas dapat dikelompokkan sebagai berikut: 1. Pendaftaran pasien - pencarian data pasien - pencatatan data pasien - pengambilan data riwayat kesehatan pasien 2. Diagnosa - pencatatan data hasil diagnosa - pencatatan data injeksi - pencatatan data resep 3. Pembuatan dafatar biaya 4. Pembuatan laporan - pembuatan laporan keuangan - pembuatan laporan pemakaian obat LATIHAN ANALISA KASUS DFD Sebuah hotel berbintang akan mengembangkan sebuah sistem yang dapat membantu pelayanan tamu. Sistem tersebut diharapkan dapat langsung mengeluarkan daftar biaya yang harus dibayar oleh tamu, ketika tamu hendak meningalkan hotel. Biaya yang harus ikut dihitung adalah biaya kamar, biaya makanan di restoran, biaya pelayanan tambahan (pencucian baju, dll). Di hotel itu terdapat juga sebuah toko souvenir. Tamu hotel boleh saja mengambil souvenir tertentu dimana pembayarannya dilakukan ketika dia hendak meninggalkan hotel. Di hotel tersebut terdapat juga bagian perjalanan yang melayani tamu yang ingin melakukan perjalanan baik dengan pesawat terbang maupun dengan kereta api.