Data Flow Diagram
Data Flow Diagram adalah perangkat-perangkat analisis & perancangan yang terstruktur, sehingga memudahkan penganalis sistem dalam memahami sistem & sub sistem secara visual sebagai suatu rangkaian aliran data yang saling berkaitan.
Beberapa unsur yang ada pada DFD :
- Entitas
Dibagi menjadi 2 jenis, antara lain :
1. Entitas Eksternal
- Entitas eksternal (bagian lain, perusahaan, seseorang atau mesin) yang dapat mengirim data atau menerima data dari sistem.
- Sumber atau tujuan data yang dianggap eksternal terhadap sistem yang sedang digambarkan.
- Entitas-entitas harus diberi nama dengan suatu kata benda.
- Entitas yang sama dapat digunakan lebih dari 1 kali atas suatu DFD tententu untuk menghindari persilangan antara jalur-jalur aliran data.
2. Entitas Internal
- Merupakan pemilik sistem, jadi tidak digambarkan dalam diagram.
- Aliran data
• Perpindahan data dari satu titik ke titik yang lain, dengan kepala tanda panah mengarah ke tujuan data
• Digambarkan dengan kata benda.
- Proses
• Menunjukkan adanya proses transformasi
• Proses-proses selalu menunjukkan suatu perubahan data, jadi aliran data yang meninggalkan proses selalu diberi label yang berbeda.
• Diberi nama dengan kata kerja.
- Data Store
• Diberi nama dengan kata benda yang sesuai data apa yang simpan di data store, misalnya Data Konsumen, Transaksi Penjualan, dan lain sebagainya.
• Penyimpanan data sementara, seperti kertas catatan atau sebuah file komputer sementara tidak dimasukkan ke dalam DFD.
Membuat context diagram :
- Harus berupa suatu pandangan.
- Tingkatan tertinggi & hanya memuat satu proses. (menunjukkan sistem secara keseluruhan)
- Context diagram diberi nomor 0.
- Tidak memuat data store.
Diagram level 0:
- Masukan dan keluaran yang ditetapkan dalam diagram yang pertama tetap konstan.
- Mencakup maksimal 9 proses yang digambarkan.
- Menampilkan seluruh data store yang digunakan dalam sistem, karena setelah di decompose tidak boleh menambah data store yang belum ditampilkan.
Perbedaan Context Diagram dengan Level 0 :
Context Diagram : merupakan semesta.
Level 0 : berada atau merupakan bagian di dalam semesta.
Pertemuan 4
Lines of Code
Pengukuran sederhana : menghitung jumlah baris kode dalam program dan menggunakan perhitungan ini untuk mengukur kompleksitas.
Halsteads Metric
- Pengukuran yang berdasarkan pada penggunaan operator-operator & operan-operan yang ada dalam suatu program.
Panjang Program :
H = n1 log2 n1 + n2 log2 n2
n1 : jumlah operator yang unik (distinct) dalam program.
n2 : jumlah operan yang unik (distinct) dalam program.
Prediksi Bug :
B = (N1 + N2) log2 (n1 + n2) / 3000
N1 : perhitungan jumlah keseluruhan operator program.
N2 : perhitungan jumlah keseluruhan operan program.
Black Box Testing
Black box testing dilakukan tanpa pengetahuan detil struktur internal dari sistem atau komponen yang ditest. Juga disebut sebagai behavioral testing, specification based testing, I/O testing atau functional testing.
Berfokus pada kebutuhab fungsional pada software, berdasarkan pada spesifikasi pada software.
Kategori Error yang akan diketahui melalui Black Box Testing :
- Fungsi yang hilang atau tidak benar.
- Error dari antar muka.
- Error dari struktur data atau akses eksternal database.
- Error dari kinerja atau tingkah laku.
- Error dari inisialisasi dan terminasi.
Jenis teknik test yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan :
- Equivalence Class Partitioning
- Boundary Value Analysis
- State Transition Testing
- Cause Effect Graphing
Pertemuan 3
Test Case
Test Case adalah suatu test yang dilakukan berdasarkan suatu inisialisasi masukan, kondisi, ataupun hasil yang telah ditentukan sebelumnya.
Pendekatan test untuk rekayasa produk :
• Produk rekayasa ditest dalam 2 cara :
- Dengan berdasarkan pada fungsi yang dispesifikasikan dari produk.
- Operasi internal dari produk.
White Box Testing
- Metode ini digunakan untuk memecah struktur program sehingga mengetahui desain prosedural program.
- Diasosiasikan dengan pengukuran cakupan test yang mengukur prosentase jalur-jalur tipe yang dipilih untuk dieksekusi oleh test case.
- Menguji semua struktur debug program.
Alur logika yang akan menunjukkan bagaimana jalur program tersebut.
Suatu flow graph terdiri dari :
- Node
- Edges
- Branch
- Branch edge
Desain cakupan test :
- Menganalisa source code untuk membuat flow graph.
- Mengidentifikasikan jalur test untuk mencapai pemenuhan test berdasarkan pada flow graph.
- Mengevaluasi kondisi test yang akan dicapai dalam tiap test.
- Memberikan nilai masukan dan keluaran berdasarkan pada kondisi.
Pertemuan 2
Obyektifitas Testing :
- Meningkatkan kepercayaan bahwa sistem dapat digunakan dengan tingkat resiko yang dapat diterima.
- Menyediakan informasi yang dapat mencegah terulangnya error yang pernah terjadi.
- Menyediakan informasi yang dapat membantu untuk mendeteksi error secara dini.
- Mencari error dan kelemahan atau keterbatasan sistem.
- Mencari sejauh mana kemampuan dari sebuah sistem (benchmark).
- Menyediakan informasi untuk kualitas dari produk software.
Misi dari tim testing :
- Misi dari tim testing tidak hanya untuk melakukan testing, tetapi juga untuk membantu meminimalkan resiko kegagalan proyek.
- Tester tidak melakukan pembenahan atau pembedahan kode, tidak mempermalukan atau melakukan komplain pada suatu individu atau tim. Tetapi hanya memberikan informasi tentang apa yang terjadi dengan sistem yang ditesting.
- Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk.
Tester harus memahami beberapa hal, yaitu :
- Software Quality
- Cara komunikasi (dengan template tertentu).
RAD = Rapid Application Development
Psikologi Testing :
Pengembangan dilakukan secara konstruktif, tapi testing adalah bersifat destruktif. Dapat dikatakan bahwa pengembang bertugas untuk membangun, sedangkan tester justru berusaha untuk menghancurkan.
Prinsip Testing :
- Testing yang komplit adalah tidak mungkin.
- Testing merupakan pekerjaan yang kreatif dan sulit.
- Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya error.
- Testing berbasis pada resiko.
- Tesing adalah hal yang harus direncanakan.
- Testing membutuhkan independensi.
Kunci yang mempengaruhi kinerja dari testing :
- Wawasan tiap individu dan kreatifitas.
- Pengalaman dalam melakukan testing.
- Usaha dan SDM yang dipakai dalam melakukan testing.
- Pengetahuan terhadap aplikasi yang ditesting.
- Metodologi testing.
Pertemuan 1
Error / kesalahan => ketidaksesuaian yang terjadi terhadap spesifikasi. Atau apa yang terjadi tidak sesuai dengan apa yang sudah diharapkan.
Catatan :
• Dalam requirement specification kita juga perlu melakukan cek apakah sudah sesuai dengan kebutuhan konsumen.
• Pada saat menentukan desain program, kita juga melakukan pengecekan. Apakah desain yang kita buat sudah sesuai dengan requirement specification.
• Pada saat implementasi, kita juga melakukan testing. Apakah program yang kita buat sudah sesuai dengan desain dan requirement specification.
Tujuan Testing :
- Membuat kualitas dapat dilihat secara obyektif, karena testing merupakan pengukuran dari kualitas software.
- 2V 1D : Verifikasi, Validasi, Deteksi.
Fungsionalitas :
- Kebenaran
- Reliabilitas
- Kegunaan
- Integritas
Rekayasa :
- Efisiensi
- Testabilitas
- Dokumentasi
- Struktur
Adaptabilitas :
- Fleksibilitas
- Reusabilitas
- Maintainbilitas
Biasanya dalam melakukan testing itu diterapkan best practice, atau metode yang paling sering digunakan kalangan tester dalam melakukan testing.
Pertemuan 1
Desain Sistem dibagi menjadi dua bagian :
1. Desain Sistem Scr. Umum / General Systems Design, atau disebut conceptual design.
2. Desain Sistem Terinci, atau disebut physical design.
Arti Desain :
Tahap setelah analisis dari siklus pengembangan sistem
Pendefinisian dari kebutuhan fungsional.
Persiapan untuk rancang bangun implementasi
Menggambarkan bagaimana suatu sistem dibentuk.
Dapat berupa penggambaran, perencanaan & pembuatan sketsa/pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh & berfungsi.
Termasuk menyangkut mengkonfirmasi komponen-komponen perangkat lunak & perangkat keras dari suatu sistem.
Tujuan Desain :
1. Untuk memenuhi kebutuhan pemakai sistem
2. Untuk memberikan gambaran yang jelas & rancang bangun yang lengkap kepada pemrogram komputer & ahli-ahli teknik yg lain, yang terlibat.
Agar tujuan tercapai, maka seorang sistem analis harus mencapai beberapa sasaran berikut :
1. Desain Sistem harus berguna, mudah dipahami & nantinya mudah digunakan.
2. Desain Sistem harus dapat mendukung tujuan utama perusahaan, sesuai dengan yg telah didefinisikan pd tahap perencanaan sistem.
3. Desain Sistem harus efisien & efektif utk dapat mendukung pengolahan transaksi, pelaporan manajemen & mendukung keputusan yg dilakukan manajemen.
4. Desain Sistem harus dpt mempersiapkan rancang bangun yg terinci, yg terdiri antara lain: data, informasi, file, metode-metode, prosedur, SDM, H/W, S/W.
Personil yang terlibat :
Pekerjaan desain sistem dilakukan oleh analis sistem, & personil teknik lain, seperti: spesialis pengendalian, personil penjamin kualitas, spesialis komunikasi data, dan lain-lain.
Pentingnya peranan user :
User harus dilibatkan dalam tahap desain, karena dapat mengkaji ulang komponen sistem yg didesain. Contohnya: laporan & bentuk tampilan dari sistem.
Pertemuan 2
Tujuan Testing:
Secara Umum untuk melakukan verifikasi, validasi, deteksi error dan di gunakan untuk menemukan masalah yang muncul pada saat melakukan testing sistem.
Misi dari tim Tester:
· Meminimalkan kegagalan proyek
· Tidak melakukan pembenahan hanya memberikan informasi tentang kesalahan yang terjadi pada sistem tersebut
· Memberikan pengukuran dari kualitas software
Menjadi seorang tester yang baik hendaknya harus paham tentang kualitas dari software yang akan dilakukan dalam pembuatan sistem, serta memahi arti dari komunikasi yang dilakukan dengan client
Psikologi Testing :
· Seorang pengembang bertugas untuk membanagun
· Tester mengahancurkan program
Prinsip –prinsip testing:
· Testing tidak mungkin Komplit
· Testing merupakan Pekerjaankreatif dan sulit
· Testing harus di rencanakan
· Testing membutuhkan independence
Pertemuan 1
Pernakah anda mengalami error dalam membuat suatu software, pastilah anda pernah mengalami hal tersebut?
Error merupakan sebuah proses untuk menjadikan sebuah software tersebut menjadi benar , tetapi jika sudah benar software tersebut belum yakin benar di mata orang lain , maka dari itu munculah sebuah tester untuk mengetes kelayakan software tersebut. Dengan adanaya proses testing tersebut diharapakan munculah sebuah kepercayaan dari pada pengguna software tesrsebut bahwa software tersebut sudah melalui lolos uji kelayakan dan siap untuk di gunakan.
Definisi Testing
Beberapa definisi tentang testing:
Testing adalah proses pemantapan kepercayaan akan kinerja program atau sistem sebagaimana yang diharapkan.
Testing adalah proses eksekusi program atau sistem secara intens untuk menemukan error.
Testing adalah tiap aktivitas yang digunakan untuk dapat melakukan evaluasi suatu atribut atau kemampuan dari program atau sistem dan menentukan apakah telah memenuhi kebutuhan atau hasil yang diharapkan.
Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defects / errors / bugs) dan Kesalahan dalam sebuah kegiatan testing bukanlah sebuah error atau pun bug tetapi merupakan sebuah hasil yang tidak diharapakan sesuai dengan spesifikasi dari permintaan customer. Dalam artian hal yang sedang terjadi tidak sama dengan hal yang diharapakan.
Beberapa Praktisi IT mengatakan bahwa testing sebuah sistem adalah:
• Melakukan cek pada program terhadap spesifikasi.
• Menemukan bug pada program.
• Menentukan penerimaan dari pengguna.
• Memastikan suatu sistem siap digunakan.
• Meningkatkan kepercayaan terhadap kinerja program.
• Memperlihatkan bahwa program berkerja dengan benar.
• Membuktikan bahwa error tidak terjadi.
• Mengetahui akan keterbatasan sistem.
• Mempelajari apa yang tak dapat dilakukan oleh sistem.
• Melakukan evaluasi kemampuan sistem.
• Verifikasi dokumen.
• Memastikan bahwa pekerjaan telah diselesaikan.
Ada keterkaitan antara verifikasi dan validasi dalam proses sebuah kegiatan testing sistem :
Verifikasi
Apakah telah berlaku sebagaimana telah di tetapkan menurut spesifikasi di awal pembuatan program? Dalam proses verifikasi dilakukan pengecekan atau pengetesan entitas-entitas , termasuk software untuk pemenuhandan konsistensi dengan melakukan evaluasi terhadap kebutuhan yan g telah di tetapkan
apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya ?Validasi sendiri merupakan prose melihat jebenaran sebuah sistem , apakah sistem tersebut sesuai dengan kebutuhan pengguna atau tidak
Proses pendeteksian sebuah kesalahan maka harus dilakukan pengecekan error yang semaksimal mungkin dengan melakukan dan mencoba kesalahan kesalahan yang mungkin terjadi dalam sebuah sistem tersebut.
Jadi dengan melakukan testing dapat menigkatkan kualitas dari software tersebut. Ditinjau dari sisi tersebut testing dan kualitas sebuah software memiliki sebuah hubungan di dalamnya. Software yang berkualitas harus memenuhi dari bebearapa aspek berikut:
• Bebas error dan bug melalui sebuah proses pembuktian yang terstruktur, terencana dan terdokumentasi
• Tepat waktu dan Dana
• Sesuai dengan kebutuhan atau keinginan dan dapat dirawat
Dalam sebuah proses pembuatan sebuah program pastinya akan melewati beberapa tahapan yaitu : Requirment,
analysis, desain ,implementation, testing and deploy.
Dalam tahap requirment diperlukan sebuah standart umum sedangkan untuk memenuhi sebuah kualitas yang baik hendaknya QA (Quality Assurance).
QA senfiri digunakan untuk mengukur kualitas dari proses yang di gunakan untuk membuat sebbuah produk tersebut.
Berikut contoh yang mengilustrasikan beberapa faktor-faktor komponen yang sering
digunakan:
Fungsionalitas (Kualitas Luar)
Rekayasa (Kualitas Dalam)
Adaptabilitas (Kualitas ke Depan)
(Romeo S.T, 2003)
BEBERAPA FAKTOR PENTING DALAM TUNING DATABASE ORACLE
Ada beberapa hal yang harus diperhatikan apabila kita akan melakukan performance tuning terhadap suatu database, hal-hal tersebut antara lain:
- Buat kesepakatan dengan user, sampai sejauh mana user akan menerima hasil dari proses tuning yang kita lakukan terhadap suatu database. Hal ini perlu untuk kita, sebagai executor, dalam pelaksaan proses tuning dalam database. Mengapa demikian? Apabila kita melaksanakan proses tuning pada database, tentunya harapannya adalah adanya peningkatan performance dari database tersebut. Untuk itulah maka perlu adanya satu batasan berupa kesepakatan dengan user database, jangan sampai suatu proses tuning database tidak di accept oleh user karena user merasa performance database yang telah kita lakukan tuning tidak significant perubahannya.
- Identifikasi terlebih dahulu area-area mana saja pada database yang paling critical, apabila kita tidak segera melakukan tuning terhadap database tersebut, atau dengan kata lain prioritaskan proses tuning pada area-area yang dianggap paling critical.
- Identifikasi bottleneck yang ada dalam sebuah atau beberapa query. Biasanya hanya karena sebuah query yang jelek menyebabkan performance menjadi turun secara keseluruhan.
- Jika memungkinkan, review terlebih dahulu design dari database yang akan kita tuning, apakah sudah bagus, sebelum kita melakukan tuning pada query-query terhadap database tersebut, karena apabila kita melakukan query tuning tetapi dari sisi design database kurang bagus, maka tuning pada query akan tidak optimal, bahkan mungkin tidak ada impact sama sekali.
- Pelajari strategi index yang sudah berjalan pada database yang akan kita tuning, dan lakukan improvement terlebih dulu pada area index ini.
- Jika kita rasakan index yang ada sudah optimal, lakukan identifikasi fragmentation level dari index yang ada, dan pastikan index statistic selalu up-to-date.
- Pelajari bagaimana cara kerja query optimizer, pelajari dan test beberapa bentuk tipe JOIN.
- Hindari penggunaan sub-query (select in select).
- Selalu gunakan UNION ALL daripada UNION, apabila memang ada operasi yang membutuhkan UNION
- Evaluasi penggunaan trigger yang berdampak pada performance.
- Hindari penggunaan SELECT ...... INTO sampai dengan kita yakin bahwa user yang terhubung ke database hanya kita sendiri atau proses yang kita lakukan hanya memerlukan waktu yang tidak lama. Jika sangat terpaksa gunakan INSERT .......SELECT.
- Gunakan SET NOCOUNT ON dalam semua modular code kita (Stored Procedure), untuk mengurangi informasi yang diberikan server ke client dan untuk mengurangi beban network.
- Jika memungkinkan, gantu semua query yang merupakan inline query menjadi stored procedure yang berparameter
- Jika memungkinkan, gunakan temporary table untuk mengurangi jumlah record pada saat query. Jika temporary table tersebut di join dengan permanent table, buat index di dalam temporary table tersebut.
- Optimalkan penggunaan loop, pindahkan semua proses yang tidak memerlukan pengulangan keluar loop.
- Jangan gunakan cursor jika memang tidak sangat terpaksa, TSQL tidak dioptimalkan untuk memproses 1 record dalam satu waktu
DATA CONECTIVITY
- ODBC API : Sekumpulan panggilan fungsi kode – kode kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah DBMS diakses.
- Driver basis data ODBC : driver yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu.
- ODBC Driver Manager : yang bertugas untuk memuat driver basis data ODBC yang dibutuhkan oleh aplikasi
- Load & Upload [difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri alias isi dari database tersebut]
- Export & Import [memindahkan data secara lengkap, mulai dari grand, schema, dan seluruhnya]
- Limit [membatasi beberapa record]
- Sample [mencari sample yang telah ditentukan]
- When [berdasarkan kondisi]
- ETL [Extrat Transform Load], software yang focus terhadap data warehouse
- Replication and Propagation, software yang memonitoring source database dan target, dan yang dihasilkan oleh software ini adalah pencatatatn log.
- Autonomi [idependent], untuk tabel umum akses yang diberikan berbeda dari setiap user.
- Isolation [stand alone], untuk tabel khusus (privacy) itu terpisah dari user.
- Transparancy [all user], akses tabel terpisah dari user tetapi user masih dapat mengaksesnya.
- Bencana alam disebabkan oleh kondisi geografis dan geologis dari lokasi
- Kebakaran disebabkan oleh faktor lingkungan dan pengaturan sistem elektrik yang dapat menyebabkan korsleting
- Kerusakan pada jaringan listrik disebabkan oleh sistem elektrik
- Serangan teroris disebabkan oleh lemahnya keamanan fisik dan non fisik data center
- Sistem atau perangkat yang rusak terkait dengan kesalahan manajemen pengawasan perangkat
- Kesalahan operasional akibat ulah manusia
- Virus misalkan disebabkan oleh kesalahan pemilihan anti virus yang digunakan
- Mendefinisikan kebutuhan (Requirement definition)
- Jenis informasi yang harus diperhatikan (Informasi yang menjelaskan struktur data dan menggambarkan aturan atau batasan yang dapat menjaga integritasi data)
- Mendefinisikan lingkup database
- Memilih metodelogi
- Mengidentifikasi pandangan user
- Model data struktur
- Model data constraints
- Mengidentifikasi kebutuhan operasional
- Memperbaiki system proteksi terhadapat setiap aset – aset penting yang dimiliki oleh perusahan tersebut.
- Membuat system proteksi infomasi atau data – data perusahaan lebih efektif.
- Mengurangi resiko bencana akibat kesalahan manusia
- Memperbaiki manajemen perusahaan
Postingan Lebih Baru Postingan Lama Beranda