State Transition Testing

State transition testing menggunakan model sistem, yang terdiri dari :

  • Status yang terdapat di dalam program.
  • Transisi antar status-status tersebut.
  • Kejadian yang merupakan sebab dari transisi-transisi tersebut.
  • Aksi-aksi yang akan dihasilkan.

Model umumnya dipresentasikan dalam bentuk state transition diagram.

Test case desain untuk memerikasa validitas transisi antar kasus. Test cases tambahan juga akan didesain untuk testing terhadap transisi-transisi yang tidak termasuk dan tidak dispesifikasikan.

Contoh ilustrasi :

Misal terdapat suatu state transition diagram yang menangani masukan permintaan untuk mode tampilan terhadap waktu tampilan dari suatu device, sebagai berikut :

State Transition di atas terdiri dari :

  • Status, seperti displaying time (S1)
  • Transisi, seperti antara S1 dan S3
  • Kejadian yang menyebabkan transisi, seperti “reset” selama status S1 akan menyebabkan transisi ke S3.
  • Aksi yang merupakan hasil dari transisi, seperti selama transisi dari S1 ke S3 sebagai hasil dari kejadian “reset”, aksi “display time” akan terjadi.

Test cases untuk transisi yang valid.

Test cases didesain untuk memeriksa transisi-transisi yang valid.
Untuk setiap test case, terdapat spesifikasi sebagai berikut :

  • Status mulai.
  • Masukan.
  • Keluaran yang diharapkan.
  • Status akhir yang diharapkan.

Berdasarkan contoh diatas, terdapat 6 test cases :

 

 

 

 

Kumpulan test case diatas di atas menghasilkan cakupan switch 0-switch

Tingkatan lain cakupan perubahan (switch) yang merupakan hasil dari penggabungan sekuensial yang lebih panjang dari transisi :

  • Cakupan 1-switch didapatkan dengan melihat hasil penampilan sekuensial dari dua transisi yang valid untuk tiap tes.
  • Cakupan N-switch didapatkan dengan maelhat hasil penampilan sekuensial dari N+1 transisi-transisi yang valid untuk tiap tes.

 

(Sumber : Testing dan Implementasi Sistem, Romeo, ST, 2003. Stikom Surabaya)

 

Black Box Testing

Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software.
Dengan adanya white box testing, perekayasa software dapat menggunakan sekumpulan kondisi masukan yang dapat secara penuh memeriksa keseluruhan kebutuhan funsional suatu program.

Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.

Kategori error yang akan diketahui melalui black box testing :

  • Fungsi yang hilang atau tak benar.
  • Error dari antar-muka.
  • Error dari struktur data atau akses eksternal database.
  • Error dari kinerja atau tingkah laku.
  • Error dari inialisasi dan terminasi.

Tidak seperti white bos testing, yang dipakai pada awal proses testing. Black box testing digunakan pada tahap akhir dan berfokus pada doTesmain informasi. Tes didesain untuk menjawab pertanyaan berikut :

  • Bagaimana validasi fungsi yang akan dites ?
  • Bagaimana tingkah laku dan kinerja sistem dites ?
  • Kategori masukan apa saja yang bagus digunakan untuk test cases ?
  • Apakah sebagian sistem sensitif terhadap suatu nilai masukan tertentu ?
  • Bagaimana batasan suatu kategori masukan ditetapkan ?
  • Sistem mempunyai toleransi jenjang dan volume data apa saja ?
  • Apa saja dari kombinasi data tertentu yang akan terjadi pada operasi sistem ?

 

Dengan menerapkan teknik black box, dapat dibuat sekumpulan test cases yang memuaskan kriteria-kriteria sebagai berikut :

  • Test case yang mengurangi jumlah test cases (lebih dari satu) yang didesain untuk mencapai testing yang masuk akal.
  • Test cases yang dapat memberikan informasi tentang kehadiran kelas-kelas dari error.

 

Dekomposisi obyektifitas tes.

Terdapat banyak jenis teknik desain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yaitu :

  • Equivalence Class Partitioning.
  • Boundary Value Analysis.
  • State Transitions Testing.
  • Cause-Effect Graphing.
Equivalance Clas Partitioning
Back box testing yang membagi domain masukan dari suatu program ke dalam kelas-kelas data, dimana test cases dapat diturunkan. Lebih kepada representasi dari semua nilai dalam partisi. Mengambil sampel dari rentang nilai yang ada serta (nilai cukup mewakili semuanya).
Boundary Value Analysis
Suatu teknik disain test cases yang berguna untuk melakukan pengujian terhadap nilai sekitar dari pusat domain masukan. Lebih mudahnya dikatakan sebagai suatu teknik yang hampir sama dengan Equivalance tetapi lebih spesifik karena yang diperiksa adalah nilai setiap batas dalam setiap pastisi.
(Sumber : Testing dan Implementasi Sistem, Romeo, ST, 2003. Stikom Surabaya)

Desain Test Case

Definisi Test Case

Test case  merupakan  suatu tes yang  dilakukan berdasarkan pada  suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan sebelumnya.

Adapun kegunaan dari test case ini, adalah sebagai berikut :

  • Untuk melakukan testing kesesuaian suatu komponen terhadap spesifikasi – Black Box Testing
  • Untuk melakukan testing, kesesuaian suatu komponen terhadap desain – White Box Testing

White Box Testing

Kadang disebut juga glass box testing atau clear box testing, adalah suatu metode desain test case yang menggunakan struktur kendali dari desain prosedural.

Metode desain test case dapat menjamin :

  • Semua jalur (path) yang independen / terpisah dapat dites setidaknya sekali tes.
  • Semua logika keputusan dapat dites dengan jalur yang salah dan atau jalur yang benar.
  • Semua loop dapat dites terhadap batasannya dan ikatan operasionalnya.
  • Semua struktur internal dapat dites untuk memastikan validitasnya.

Mengapa melakukan white box bilamana black box testing berfungsi untuk testing pemenuhan terhadap kebutuhan / spesifikasi ?

  • Kesalahan logika dan asumsi yang tidak benar kebanyakan dilakukan ketika coding untuk “kasus tertentu” . Dibutuhkan kepastian bahwa eksekusi jalur ini telah dites.
  • Asumsi bahwa adanya kemungkinan terhadap eksekusi jalur yang tidak benar. Dengan white box testing dapat ditemukan kesalah ini.
  • Kesalahan penulisan acak. Seperti berada pada jalur logika yang membingungkan pada jalur normal.

Cakupan pernyataan, cabang, dan jalur.

Cakupan pernyataan, cabang dan jalur adalah suatu teknik white box testing yang menggunakan alur logika dari program untuk membuat test cases. Yang dimaksud dengan alur logika adalah cara dimana suatu bagian dari program tertentu dieksekusi saat menjalankan program.

Alur logika suatu program dapat dipresentasikan dengan flow graph, yang akan dibahas lebih lanjut pada sub bab berikutnya (basis path testing). Sebagai contoh dapat dilihat pada gambar di bawah ini.

Suatu Flow Graph terbentuk dari :

  • Nodes (titik), mewakili pernyataan (atau sub program) yang akan ditinjau saat eksekusi  program.
  • Edges (anak panah), mewakili jalur logika program untuk menghubungkan satu pernyataan (atau sub program) dengan yang lainnya.
  • Branch nodes (titik cabang), titik titik yang mempunyai lebih dari satu anak panah keluaran.
  • Branch edges (anak panah cabang), anak panah yang keluar dari suatu cabang.
  • Paths (jalur), jalur yang mungkin untuk bergerak dari satu titik ke titik lainnya sejalan dengan keberadaan arah anak panah.

Eksekusi suatu test case menyebabkan program untuk mengeksekusi pernyataan-pernyataan tertentu, yang berkaitan dengan jalur tertentu, sebagaimana tergambar pada flow graph.

Basis Path Testing

Basis path hadir dalam 2 bentuk :

  • Zero Path : Jalur penghubung yang tidak penting atau jalur pintas yang ada pada satu sistem.
  • One Path : Jalur penghubung yang penting atau berupa proses pada suatu sistem.

 

(Sumber : Testing dan Implementasi Sistem, Romeo, ST, 2003. Stikom Surabaya)

 

Prinsip prinsip testing dan Implementasi Sistem

Tujuan Melakukan Testing.
Secara umum dari proses testing adalah melakukan verifikasi, validasi, dan mendeteksi terjadinya error pada aplikasi tersebut. Dari ketiga hal tersebut diharapkan dapat menemukan masalah – masalah atau kesalahan dan dari hasil penemuan tersebut dapat dilakukan suatu pembenahan.
Verifikasi, validasi, dan deteksi adalah bagian dari proses testing yang tidak dapat dipandang sebelah mata. Memiliki pengertian seperti berikut :
  • Verifikasi, bagaimana suatu sistem tersebut benar atau tidak. Yang pertama dilihat adalah bagaimana struktur, hingga susunan yang ada. Kemudian jika semua telah baik maka harus kembali dikaji dan dicocokan dengan rancangan awal yang telah dibuat.
  • Validasi, bagaimana sebuah sistem yang telah dibuat telah sesuai dengan tujuan yang diharapkan.
  • Deteksi, mendeteksi error atau kesalahan pada sistem, atau dengan kata lain yaitu proses pengembangan dari satu program ke program lainnya yang lebih rumit.

Testing memiliki tujuan – tujuan lainnya, mengapa testing perlu dilakukan, yaitu ;

  • Menyediakan informasi – informasi pokok maupun penunjang untuk kualitas dari produk software tersebut.
  • Meningkatkan kepercayaan akan sistem itu sendiri, bahwa sistem tersebut dapat digunakan sesuai dengan resiko yang digunakan.
  • Menyediakan informasi – informasi yang penting, dengan adanya informasi tersebut dapat membantu mengurangi terjadinya error yang sebelumnya pernah terjadi.
  • Selain informasi untuk mengurangi terjadinya error, juga informasi yang membantu mendeteksi error secara lebih dini, hingga mampu ditanggulangi lebih dini pula.
  • Mencari error dan kelemahan dari sistem tersebut, kadang juga dapat mendeteksi keterbatasan kinerja dari sistem tersebut.
  • Mencari tahu informasi, sejauh mana kemampuan sistem tersebut.
PRINSIP – PRINSIP TESTING
  1. Tidak dapat terpenuhi (komplit).
    Karena banyaknya kombinasi test yang amat besar dan luas.

    • Domain Masukan
    • Kompleksitas
    • Jalur program
  2. Testing merupakan pekerjaan yang memiliki tingkat kesulitan tinggi dan dibutuhkan kreatifitas.
    • Agar mampu melakukan testing dengan baik dibutuhkan pengenalan dan pemahaman terhadap sistem itu sendiri.
    • Sistem yang ditesting tidak mudah dan sederhana, jadi dibutuhkan kreatifitas, pengetahuan bisnis, pengetahuan testing, dan metodologi testing agar mampu melakukan testing dengan baik.
  3. Mencegah terjadinya kesalahan.
    • Dalam proses testing, tidak hanya dilakukan proses pengembangan semata.
    • Hasil – hasil testing yang telah dihasilkan diasosiasikan pada tiap fase pengembangannya.
  4. Penanganan resiko.
    • Sumber daya yang dibutuhkan untuk melakukan proses testing dapat diukur dari skala prioritas, kompleksitas, dan kesulitan testing yang ada.
    • Biaya keterlambatan pengiriman produk.
    • Kemungkinan munculnya atau terdapatnya cacat.
    • Biaya yang disebabkan oleh cacat.
  5. Perencanaan yang baik.
    • Untuk menjaga alur dari proses testing agar nantinya tidak menyimpang dari apa tujuan awal yang telah ditetapkan.
    • Untuk menjaga kesesuaian penggunaan sumber daya yang ada dan jadwal proyek yang telah ditetapkan.
    • Untuk membuat test case yang baik, sehingga dengan menetapkan apa hasil yang akan diharapkan tester yang nantinya akan melakukan test tersebut.
  6. Membutuhkan Independensi.
    • Jika membutuhkan pengukuran yang berbeda atau tidak biasa dibutuhkan penunjang yang berbeda pula yaitu tester yang tidak biasa.
    • Tester independen juga dikatakan sebagai pengamat yang tidak biasa dan mengukur kualitas software secara akurat.
    • Testing harus dilakukan oleh pihak ke – 3.

    (Sumber : Testing dan Implementasi Sistem, Romeo, ST, 2003. Stikom Surabaya)


Data Flow Diagram

 

 

 

 

 

 

 

 

 

DFD adalah perangkat-perangkat analisis dan perencanaan yang terstruktur sehingga memungkinkan peng-analis sistem memahami sistem dan subsistem secara visual sebagai suatu rangkaian aliran data yang saling berkaitan.

 

Entitas

  • Entitas eksternal (bagian lain, perusahaan, seseorang atau mesin) yang dapat mengirim data atau menerima data dari sistem.
  • Sumber atau tujuan data dianggap eksternal terhadap sistem yang sedang digambarkan.
  • Entitas – entitas harus diberi nama dengan suatu kata benda.
  • Entitas yang sama dapat digunakan lebih dari satu kali atas suatu DFD tertentu untuk menghindari persilangan antara jalur-jalur aliran data.

 

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.

 

Penyimpanan Data

  • Diberi nama dengan kata benda yang sesuai dengan data apa yang disimpan di data store, misalnya Data Konsumen, Transaksi Penjualan, dll.
  • Penyimpanan data sementara, seperti kertas catatan atau sebuah file komputer sementara tidak dimasukkan ke dalam DFD.

 

Membuat Diagram Konteks

  • Harus berupa suatu pandangan, yang mencakup masukan-masukan dasar, sistem umum dan keluaran.
  • Adalah tingakatan tertinggi dalam DFD dan hanya memuat satu proses, menunjukkan sistem secara keseluruhan.
  • Diagram konteks diberi nomor 0 (nol).
  • Tidak memuat penyimpanan data.

 

Diagram Level 0

  • Masukan da keluaran yang ditetapkan dalam diagram yang pertama tetap konstan dalam semua diagram sub urutannya.
  • Diagram 0 adalah pengembangan diagram konteks dan dapat mencakup sampai 9 proses. Setiap proses diberi nomor bilangan bulat, umumnya diberi sudut kiri atas diagram dan mengarah ke sudut sebelah kanan bawah.
  • Penyimpanan data utama dari sistem dan semua entitas eksternal dimasukkan ke dalam diagram 0.

Dasar Dasar Testing


 

 

 

 

 

 

 

Testing merupakan tugas yang tak dapat dihindari di tiap bagian dari tanggung jawab usaha
pengembangan suatu sistem software
William Howden

Obyektifitas Testing

Secara umum obyektifitas dari testing adalah untuk melakukan verifikasi, validasi dan deteksi error untuk menemukan masalah dan tujuan dari penemuan ini adalah untuk membenahinya. Namun terdapat pula beberapa pendapat dari praktisi yang dapat pula dipandang sebagai bagian dari obyektifitas testing, antara lain:

  • 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 membantu untuk deteksi error secara dini.
  • Mencari error dan kelemahan atau keterbatasan sistem.
  • Mencari sejauh apa kemampuan dari sistem.
  • Menyediakan informasi untuk kualitas dari produk software.

Misi dari Tim Testing

Misi dari tim testing tidak hanya untuk melakukan testing, tapi juga untuk membantu meminimalkan resiko kegagalan proyek. Tester mencari manifestasi masalah dari produk, masalah yang potensial, dan kehadiran dari masalah. Mereka mengeksplorasi, mengevaluasi, melacak, dan melaporkan kualitas produk, sehingga tim lainnya dari proyek dapat membuat keputusan terhadap pengembangan produk. Penting diingat bahwa tester tidak melakukan pembenahan atau pembedahan kode, tidak mempermalukan atau melakukan komplain pada suatu individu atau tim, hanya menginformasikan. Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk.

Psikologi Testing

Testing merupakan suatu psikologi yang menarik. Dimana bila pengembangan dilakukan secara konstruktif, maka testing adalah destruktif. Seorang pengembang bertugas membangun, sedangkan seorang tester justru berusaha untuk menghancurkan. Mental yang seperti inilah yang penting bagi seorang tester. Apabila seorang disainer harus menanamkan pada benaknya dalam-dalam akan testabilitas, programer harus berorientasi pada “zero defect minded”, maka tester harus mempunyai keinginan yang mendasar untuk “membuktikan kode gagal (fail), dan akan melakukan apa saja untuk membuatnya gagal.” Jadi bila seorang tester hanya ingin membuktikan bahwa kode beraksi sesuai dengan fungsi bisnisnya, maka tester tersebut telah gagal dalam menjalankan tugasnya sebagai tester.

Hal ini tidak merupakan pernyataan bahwa melakukan testing dari sudut pandang bisnis adalah salah, namun pada kenyataannya adalah sangat penting diungkapkan, karena kebanyakan testing yang ada pada organisasi hanya memandang dari titik “pembuktian bahwa kode bekerja sesuai dengan yang dispesifikasikan.”

Prinsip – Prinsip Testing

Terdapat 6 kunci prinsip-prinsip testing, yaitu :

  • Testing yang komplit tidak mungkin.
  • Testing merupakan pekerjaan yang kreatif dan sulit.
  • Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya errors.
  • Testing berbasis pada resiko.
  • Testing harus direncanakan.
  • Testing membutuhkan independensi.

Tugas – I Perencanaan Strategis SI/TI – Analisa Fast Five Movie

Skenario Perencanaan di Film Fast Five

Dalam Suatu misi hendaknya dilakukan perencanaan .Selama melakukan perancanaan tersebut terdapat tujuan dari perencanaan tersebut yang di tentukan di awal.Tujuan dari Tim Torretto Adalah mengambil uang milik tuan Reyes yang ada di Brankas yang di simpan di suatu tempat yang di rahasiakan.

Perencanaan awal dari Toretto selaku ketua tim ialah membentuk tim yang memiliki kemampuan spesifikasi di bidang masing-masing, maka dari itu Toretto memanggil orang-orang yang menurut dia ahli dan ia ketahui untuk melaksanakan tugas tesebut. Setelah berkumpul tim tersebut menjabarkan tujuan dari operasi pekerjaan tersebut , yaitu mengambil uang tuan reyes sebesar $100 million . dengan tujuan tersebut semua anggota tim setuju dan akan mendapatkan $11 million per orang.

Rencana 1:

  • Membakar uang di tempat penghitungan uang yang di simpan dalam rumah dengan tujuan agar uang di kumpulkan menjadi satu oleh tuan reyes dan menebarkan rasa ketakutan.

  • Memata-matai petugas yang sedang memindahkan uang ke tempat penyimpanan uang agar mengetahui pusat dari penyimpanan uang tersebut.

Setelah mengetahui pusat tempat penyimpanan uang yang ternyata di simpan di kantor kepolisian maka tim toretto membuat rencana ke dua.

Rencana 2:

  • Torreto menyuruh anak buahnya untuk mengirimkan barang berupa box yang berisi mobil mainan yang dilengkapi dengan kamera pengintai dengan tujuan agar mengetahui posisi brankas tersebut.

  • Anak buah Torreto menyamar sebagai cleaning service kemudian membersihkan kamar mandi dengan tujuan mengetahui tempat kabel yang di buat untuk kamera cctv di kepolisian untuk di sadap.

Setelah mengetahui posisi kamera pengintai tim berlatih untuk mengendarai mobil dengan kecepatan tinggi agar tidak terekam oleh kamera pengintai.

Rencana 3 :

  • Membuat brankas palsu yang sama untuk di pelajari agar mengetahui cara kerja dari brankas tersebut.

  • Setelah mempelajari dengan detail brankas tersebut tim melakukan penyamaran untuk mengambil sidik telapak tangan dari tuan reyes dengan cara mengambil sidik jari reyes yang menempel di bik*ni.

 

Rencana 4

  • Merampok mobil kepolisian guna melakukan penyamaran saat mengambil brankas.

  • Menempatkan Mia sebagai coordinator lapangan agar pada saat pelarian brankas mudah mengetahui jalan yang kosong

  • Membawa brankas yang kosong dalam truk kemudian terjadi menukarkan pada saat masuk di terowongan

  • Menyuruh Polisi dari FBI untuk masuk terlebih dahulu ke kantor Kepolisian brasil dengan mobil anti peluru.

  • Membawa brankas tersebut kedalam markas dan membongkarnya

 

Perancangan Sistem Informasi Berbasis Objek – Pert. 1

 

 

 

 

 

 

 

 

Sofware Engineering

  1. Modelling Activity -> Diagram / Notasi , Algoritma.
  2. Problem Solving Activity (Karena ada suatu masalah maka dirancang) -> dibuat dalam rangka mencari solusi.
  3. Knowledge Aquitiation.
  4. Rationale Driven. -> Harus memperhatikan konteks (lokasi, kebutuhan, stakeholder, dsb).

Model dibangun untuk menyelesaikan suatu masalah dan model membutuhkan suatu knowledge.

 

 

 

 

 

Konsep Object Oriented

Object adalah Definisi Informal  : Sebuah object adalah representasi dari sebuah entitas, baik fisik, konseptual maupun software.

  • Entitas fisik misalnya : orang, mobil, dan lain-lain.
  • Entitas konseptual misalnya : proses kimia atau algoritma.
  • Entitas software misalnya : linked list

Definisi Formal : Sebuah entitas dengan boundary yang terdefinisi dengan baik dan identitas yang mengekapsulasi state dan behaviour.

  • State : direpresentasikan oleh atribut dan relationship.
  • Behaviour : direpresentasikan oleh operasi, method dan state machine.

State

  • State dari sebuah object adalah kondisi yang mungkin dialami oleh object.
  • Secara normal, state object berubah setiap waktu.

Behaviour

  • Behaviour menentukan bagaimana sebuah object beraksi dan bereaksi.
  • Behaviour yang tampak dari sebuah object dimodelkan oleh sekumpulan pesan (message) yang bisa direspon oleh operasi operasi yang bisa dijalankan oleh sebuah object.

ABSTRACTION

adalah karakteristik dasar dari sebuah entitas yang membedakan entitas tersebut dari entitas lain.
Abstraction membedakan batasan dalam pandangan viewer.
Abstraction bukanlah pembuktian nyata, hanya menunjukkan intisari / pokok dari sesuatu.

Paradigma Berorientasi Objek

  • Proses menentukan atribut dan operasi yang benar benar diperlukan oleh suatu objek.
  • Tidak menyertakan atribut dan operasi yang tidak diperlukan untuk konteks masalah yang dihadapi.
  • Misal : Objek Sepeda Motor.
    Apakah nomor mesin merupakan atribut dari objek sepeda motor ?
    Jika masalahnya berkaitan dengan sistem parkir, maka data yang perlu dicatat adalah nopol kendaraan. Nomor mesin tidak diperlukan.
    Jika masalahnya berkaitan dengan pembuatan STNK, maka nomer mesin diperlukan.

ENCAPSULATION

adalah menyembunyikan implementasi dari client, sehingga client hanya tergantung pada interface.

Paradigma Berorientasi Objek

  • Suatu sistem memiliki kompleksitas yang tidak perlu diketahui oleh pengguna.
  • Yang dibutuhkan pengguna hanyalah bagaimana bisa berinteraksi dengan sistem tersebut secara mudah.
  • Encapsulation -> menyembunyikan kompleksitas dari luar dan membuka operasi-operasi yang diperlukan.
  • Misal : Sistem Televisi.
    Pengguna tidak peduli dengan cara kerja rangkaian elektronika di dalamnya. Mereka hanya memperhatikan tombol apa saja untuk mengoperasikannya.

MODULARITY

adalah pemecahan sesuatu yang kompleks menjadi bagian-bagian yang sudah diatur.
Modularity membantu orang dalam memahami sesuatu yang kompleks.

Class

  • Sekumpulan object yang berbagi atribut umum dan behaviour secara umum.
  • Sekumpulan object yang memiliki struktur data dan behaviour yang sama.
  • Blue print atau definisi sebuah object.

Instance adalah sebuah object yang dibuat oleh sebuah class.
Instantiation adalah pembuatan instance.
Specialization adalah pendefinisian sebuah class sebagai pendetilan class yang lain.
Subclass adalah sebuah yang didefinisikan dalam rangka specialization superclass menggunakan inheritance.
Superclass adalah sebuah class yang bertugas menurunkan sifat (inheritance) dalam sebuah hirarki class.
Inheritance adalah penduplikasian atribut dan behaviour superclass ke subclassnya.

Pengiriman Pesan
Objek-objek dalam sistem bekerja sama dengan cara mengirimkan pesan dari satu objek ke objek lainnya.

Assosiasi
Assosiasi hanya mengakses sifat, tidak menurunkan sifat.

Agregasi
Bentuk yang lebih kuat dari assosiasi. 

Data Warehouse – First Week

 

 

 

 

 

 

 

 

 

OLTP (On-Line Transaction Processing System)

  • Transaksi proses (kegiatan bisnis – penjualan, pemesanan, pembayaran dll).
  • Umumnya digunakan di ‘bagian depan’ bisnis oleh orang yang berinteraksi langsung dengan para pelanggan, supplier, pegawai dll.
  • Dikarakterisasikan dengan data entry, update dan deletion.
  • Biasanya terfokus pada satu area bisnis (seperti POS – Point of Sales, inventory, purchasing, human-resources).

Mengapa kita membutuhkan Data Warehouse ?

Kasus 1
Sebuah toko swalayan merekam setiap penjualan barang dengan memakai alat POS (Point of Sales). Database data penjualan tersebut bisa mencapai beberapa GB setiap harinya untuk sebuah jaringan di toko swalayan berskala nasional.
Tetapi pertumbuhan yang pesat dari akumulasi data itu telah menciptakan kondisi yang sering disebut sebagai “rich of data but poor of information”. Tidak jarang kumpulan data itu dibiarkan begitu saja seakan akan “kuburan data” (data tombs).

Problem

  • Kita punya banyak data!
  • Kita mempunyai sedikit informasi!
  • Kita tidak mempunyai pengetahuan!

History dibangunnya Data Warehouse

  • Pada tahun 1990 bisnis semakin komplek, perusahaan tersebar secara global dan kompetisi yang berat.
  • Usaha bisnis eksekutif menjadi tersebar dalam persaingan informasi.
  • Sistem operasional menyediakan informasi untuk menjalankan operasi sehari-hari, tetapi eksekutif memerlukan berbagai macam jenis informasi yang dapat mendukung dalam pengambilan keputusan yang strategis.
  • Sistem operasional sangat penting untuk perusahaan, namun tidak dapat menyediakan informasi yang strategis. Oleh karena itu, perusahaan perlu mengarah kepada cara yang baru dalam memperoleh informasi yang strategis.

Pada tahun 1990 Organisasi mulai mendapatkan keuntungan kompetitif. Contoh area yang strategis dalam penggunaan Data Warehouse :

Retail

  • Kesetiaan pelanggan.
  • Perencanaan penjualan.

Pabrik

  • Pengurangan harga.
  • Manajemen Logistik.

Keuangan

  • Manajemen Resiko.
  • Pendeteksian Penipuan.

Perusahaan Penerbangan

  • Mengarahkan Profitabilitas.
  • Menghasilkan Manajemen.

Peralatan

  • Asset Manajemen.
  • Sumber Daya Manajemen.

Pemerintah

  • Perencanaan tenaga kerja.
  • Pengendalian Harga.

Informasi strategis digunakan untuk mencapai tujuan bisnis. Contoh – contoh tujuan bisnis :

  1. Mempertahankan pelanggan saat ini.
  2. Meningkatkan pelanggan sebesar 15% lebih dalam 5 tahun kedepan.
  3. Penguasaan keuntungan pasar sebesar 10% dalam 3 tahun kedepan.
  4. Meningkatkan mutu produk.
  5. Meningkatkan layanan pelanggan dalam hal pengiriman.
  6. Membawa 3 produk baru kepasar dalam 3 tahun.

Membedakan antara Sistem Operasional dan Sistem Informasi

  • Sistem Operasional : adalah OLTP, adalah sistem yang digunakan untuk menjalankan inti bisnis sehari-hari dalam perusahaan. Mereka disebut bread-and butter sistem. Sistem operasional membuat bisnis berjalan dengan baik. Sistem secara khusus mendapatkan data dalam database, masing-masing informasi informasi proses transaksi tentang entity tunggal seperti pesanan tunggal, atau konsumen tunggal.
  • Sistem Informasi : Strukturisasi informasi yang utuh dan terintegrasi dalam sebuah organisasi. Yang digunakan dalam pembuatan keputusan strategis.

Data Warehouse menjadi Solusi yang sehat.

  • Database dirancang untuk tugas-tugas analitik.
  • Data berasal dari beberapa aplikasi.
  • Mudah digunakan oleh pengguna.
  • Baca intensif data penggunaan langsung berinteraksi dengan sistem.
  • Konten diperbarui secara berkala dan stabil.
  • Konten untuk memasukkan data saat ini dan history.
  • Kemampuan bagi pengguna untuk menjalankan query dan mendapatkan hasil yang online.
  • Kemampuan pengguna untuk membuat laporan.

Manfaat Data Warehouse

  1. Kemampuan mengakses data yang berskala perusahaan.
  2. Kemampuan memiliki data yang konsisten.
  3. Dapat melakukan analisis secara cepat.
  4. Dapat digunakan untuk mencari redudansi usaha di perusahaan.
  5. Menemukan gap antara pengetahuan bisnis dengan proses bisnis.
  6. Meminimalkan biaya administrasi.
  7. Meningkatkan kinerja pegawai perusahaan untuk dapat melakukan tugasnya dengan lebih efektif.

Kesimpulan

Data Warehouse adalah sebuah lingkungan informasi yang :

  • Menyediakan pandangan terpadu dan total dari seluruh perusahaan-perusahaan.
  • Membuat pengambilan keputusan menjadi mudah dan tanpa menghalangi sistem operasional transaksi.
  • Organisasi informasi yang konsisten.
  • Menyajikan fleksibel dan interaktif sumber informasi strategis.

OLAP (OnLine Analytical Processing)

Suatu jenis pemrosesan yang memanipulasi dan menganalisa data bervolume besar dari berbagai perspektif (multidimensi). OLAP seringkali disebut analisis data multidimensi.

Data multidimensi adalah data yang dapat dimodelkan sebagai atribut dimensi dan atribut ukuran.
Contoh atribut dimensi adalah nama barang dan warna barang, sedangkan contoh atribut ukuran adalah jumlah barang.

Software OLAP

  • Express Server (Oracle).
  • PowerPlay (Cognos Software).
  • Metacube (Informix / Stanford Technology Group).
  • HighGate Project (Sybase).

Perbedaan Data Warehouse dan OLTP

OLTP Data Warehouse
  • Menangani data saat ini
  • Data bisa saja disimpan pada beberapa platform
  • Data diorganisasikan berdasarkan fungsi atau operasi
    seperti penjualan
  • Pemrosesan bersifat berulang
  • Melayani banyak pemakai operasional
  • Berorientasi pada transaksi.

 

  • Lebih cenderung menangani data masa lalu
  • Data disimpan dalam satu platform
  • Data diorganisasikan menurut subyek seperti pelanggan
    atau produk
  • Pemrosesan sewaktu waktu, tak terstruktur dan bersifat
    heuristik
  • Untuk mendukung keputusan yang strategis
  • Untuk mendukung pemakai menejerial yang berjumlah
    relatif sedikit
  • Berorientasi pada analisis.

OLTP vs OLAP

  • Database OLTP dirancang untuk kemudahan data entry dan bukan untuk keperluan report. Membuat report dari database OLTP dengan struktur yang kompleks akan sangat sulit. Selain itu proses pengambilan data pada saat report ditampilkan akan mempengaruhi performance database OLTP karena untuk analisis data yang diambil merupakan agregasi yang akan menghabiskan resource server.
  • Dengan database OLAP, data yang disimpan sudah berupa hasil agregasi yang akan mempercepat waktu dan performance database. Selain itu struktur data pada database OLAP juga akan memudahkan proses pembuatan report dan analisa data.

Definisi Testing

Beberapa definisi Testing :

  • Menurut Hetzel 1973
    Testing adalah proses pemantapan kepercayaan akan kinerja program atau sistem sebagaimana yang diharapkan.
  • Menurut Myers 1979
    Testing adalah proses eksekusi program atau sistem secara intens untuk menemukan error.
  • Menurut Hetzel 1983 (Revisi)
    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.
  • Menurut standar ANSI/IEEE 1059
    Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defects / error / bugs) dan mengevaluasi fitur-fitur dari entitas software.

Beberapa pandangan praktisi tentang testing, adalah sebagai berikut :

  • 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 bekerja dengan benar.
  • Membuktikan bahwa error tidak terjadi.
  • Mengetahui akan keterbatasan sistem.
  • Mempelajari apa yang tidak dapat dilakukan oleh sistem.
  • Melakukan evaluasi kemampuan sistem.
  • Verifikasi dokumen.
  • Memastikan bahwa pekerjaan telah terselesaikan.

Berikut ini adalah pengertian Testing yang dihubungkan dengan proses verifikasi dan validasi software :
Testing software adalah proses mengoperasikan software dalam suatu kondisi yang dikendalikan, untuk (1) verifikasi apakah telah berlaku sebagaimana telah ditetapkan (menurut spesifikasi), (2) mendeteksi error , dan (3) validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya.

Verifikasi adalah pengecekan atau pengetesan entitas-entitas, termasuk software, untuk pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah ditetapkan. (Are we building the system right?)

Validasi melihat kebenaran sistem, apakah proses yang ditulis dalam spesifikasi  adalah apa yang sebenarnya diinginkan atau dibutuhkan oleh pengguna. (Are we building the right system?)

Deteksi error. Testing seharusnya berorientasi untuk membuat kesalahan secara intensif, untuk menentukan apakah suatu hal tersebut terjadi bilamana tidak seharusnya terjadi atau suatu hal tersebut terjadi dimana seharusnya mereka ada.

Dari beberapa definisi di atas, dapat kita lihat akan adanya banyak perbedaan pandangan dari praktisi terhadap definisi testing. Namun secara garis besar didapatkan bahwa testing harus dilihat sebagai suatu aktifitas yang menyeluruh dan terus-menerus sepanjang proses pengembangan. Testing merupakan aktifitas pengumpulan informasi yang dibutuhkan untuk melakukan evaluasi efektifitas kerja.

Jadi tiap efektifitas yang digunakan dengan obyektifitas untuk menolong kita dalam mengevaluasi atau mengukur suatu atribut software dapat disebut sebagai suatu aktifitas testing. Termasuk di dalamnya review, walk-through, inspeksi dan penilaian serta analisa yang ada selama proses pengembangan. Dimana tujuan akhirnya adalah untuk mendapatkan informasi yang dapat diulang secara konsisten (realible) tentang hal yang mungkin sekitar software dengan cara termudah dan paling efektif, antara lain :

  • Apakah software telah siap digunakan ?
  • Apa saja resikonya ?
  • Apa saja kemampuannya ?
  • Apa saja keterbatasannya ?
  • Apa saja masalahnya ?
  • Apakah telah berlaku seperti yang diharapkan ?

(Sumber : Testing dan Implementasi Sistem, Romeo, ST, 2003. Stikom Surabaya)