Modul Praktikum SQA Pages 10 16

September 18, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Modul Praktikum SQA Pages 10 16...

Description

 

 

MODUL 2 PENGUJIAN ALIRAN KENDALI (CONTROL FLOW TESTING)

CAPAIANPEMBELAJARAN

1.  Mahasiswa memahami mekanisme pengujian aliran kendali 2.  Mahasiswa memahami berbagai macam aliran kendali 3.  Mahasiswa dapat menguji aliran kendali suatu prosedur program 4.  Mahasiswa mampu membuat kasus uji untuk aliran kendali 5.  Mahasiswa mampu menganalisis hasil pengujian

KEBUTUHAN ALAT/BAHAN/SOFTWARE

1.  Alat yang dibutuhkan : Seperangkat komputer 2.  Perangkat Lunak yang dibutuhkan : Microsoft Office Visio /Dia, Java, Notepad

DASAR TEORI Terdapat dua jenis pernyataan dasar dalam unit program yaitu pernyataan penugasan (assignment statement ) dan pernyataan kondisional (conditional statement )).. Pernyataan penugasan secara eksplisit dinyatakan dengan menggunakan symbol “=”,

misalnya x = 2*y; dimana x dan y merupakan variable. Kondisi program merupakan inti dari pernyataan kondisional, seperti if(), for() loop, while() loop, dan go to. Misalnya, if( x ! = y), kita uji uji untuk ketidaksamaan dari dari x dan y. Dengan tidak adanya pernyataan pernyataan bersyarat, instruksi program dijalankan sesuai dengan urutannya.



 

 

Pemanggilan fungsi merupakan mekanisme untuk mengabstraksikan suatu perancangan program. program.

Panggilan ke fungsi program tertentu dimaksudkan dimaksudkan untuk

mengontrol kedalam suatu fungsi. Setiap alur program dapat dicirikan dengan suatu input dan output yang diharapkan. Nilai input tertentu menyebabkan suatu alur program tertentu dilaksanakan; diharapkan suatu alur program melakukan perhitungan yang diinginkan, dengan demikian menghasilkan nilai output yang diharapkan. Uji aliran kontrol (control flow testing) adalah suatu jenis pengujian struktural, yang dilakukan oleh pemrogram terhadap program yang telah mereka tulis. Konsep ini diterapkan pada unit-unit kecil dari suatu program seperti fungsi atau method. Control flow graph (CFG) adalah representasi grafis dari suatu unit program. Ada

3 simbol yang digunakan untuk membangun suatu CFG, seperti gambar-2.1 berikut.

True

True

atci computation

Sequential computation

False

decision decision

Decision Point

False

Merge Point

Gambar-2.1 Simbol CFG

PRAKTIK 

Pada gambar 2.2 berikut diketahui suatu method Java dengan nama returnAverage(). Method tersebut memiliki 4 parameter, yaitu: value, AS, MIN, dan MAX, dimana value memiliki tipe integer arry dan AS adalah ukuran maksimum dari array. Array dapat menyimpan elemen lebih sedikit dari AS. Pada praktik ini diasumsikan akhir dari array ditandai dengan value = -999. Sebagai contoh, AS = 15 dimana 10 elemen dari array -999, berarti bahwa ada 10 elemen 0  – 9 didalam array. MIN dan MAX adalah dua nilai integer yang digunakan untuk melakukan perhitungan tertentu didalam



 

 

method. Method menjumlahkan nilai dari semua elemen dari array yang berada didalam rentang [MIN, MAX], menghitung jumlahnya, dan mengembalikan nilai reratanya. public static double ReturnAverage(int value[], int AS, int MIN, int MAX){ /* Fungsi: ReturnAverage menghitung rerata dari nilai positif antara MIN-MAX yang diinputkan kedalam larik. Ukuran maksimum dari larik adalah AS. Tetapi, ukuran larik dapat lebih kecil dari AS, dalam kasus ini akhir dari input ditandai dengan nilai -999. */ int i, ti, tv, sum; double av; i = 0; ti = 0; tv = 0; sum = 0; while (ti < AS && value[i] != -999) { ti++; if (value[i] >= MIN && value[i] 0) av = (double)sum/tv; else av = (double) -999; return (av); }

Gambar-2.2 Fungsi menghitung rerata dari bilangan integer yang dipilih di dalam array Selanjutnya dari method menghitung rerata tersebut bila di buat dalam bentuk CFG dapat dilihat pada gambar 1.3. Nilai-nilai yang dibaca adalah value[i], AS, MIN, dan MAX. Value[i] adalah variable yang akan diinputkan nilainya, misalnya data ujinya: 60, 80, 70, 75, 65, 75, 85, 80, 90,70 dan -999. AS adalah jumlah array, TV adalah cacah data misalnya 10, MIN nilai minimal dari data yang akan dicari reratanya dan MAX nilai maksimumnya. Dari hasil perhitungan manual untuk menghitung rerata dari data uji tersebut adalah: sum = (60+80+70+75+65+75+85+80+90+70) = 750. Av = sum/tv = 750/10 Sehingga nilai rerata, bila dihitung secara manual(av) = 75. Selanjutnya data tes tersebut, bila diujicobakan kedalam FG, adalah sebagai berikut. 1.  Inisialisasi nilai variabel value[], AS, MIN, dan MAX, 2.  Pemberian nilai awal untuk variabel i=0, ti=0, tv=1 dan sum=0.



 

 

3.  Apakah ti < AS bila jawabannya T lanjutkan langkah 4, bila F ke langkah 10 4.  Apakah value[0] !=-999, bila jawabannya T ke langkah 5, bila F ke langkah 10 5.  ti = 0+1=1 6.  Apakah value[0] >= MIN, bila jawabannya T, ke langkah 7, bila F ke langkah 9 7.  Apakah value[0] 0, bila jawabannya T ke langkah 12, bila F ke langkah 11 11.  av = -999 12.  Hitung av = sum/tv 13.  Return av

10 

 

 

Gambar-2.3 CFG dari ReturnAverage() Jumlah nodenya 1 –13. Dari CFG gambar-2.3 maka independent path dari flow graph adalah sebagai berikut. Path 1 1-2-3(F)-10(T)-12-13 Path 2 1-2-3(F)-10(F)-11-13 Path 3 1-2-3(T)-4(T)-5-6(T)-7(T)-8-9-3(F)-10(T)-12-13 Path 4 1-2-3(T)-4(T)-5-6(T)-7(T)-8-9-3(T)-4(T)-5-6(T)-7(T)-8-9-3(F)-10(T)-12-13  1-2-3(T)-4(T)-5-6(T)-7(T)-8-9-3(T)-4(T)-5-6(T)-7(T)-8-9-3(F)-10(T)-12-13  Untuk unit program sederhana sejumlah  path  dapat dilewati dan diuji menggunakan kasus uji tertentu sehingga seluruh path dapat terlewati.

11 

 

 

Di sisi lain, untuk unit program dengan sejumlah besar  path (jalur), melaksanakan setiap  jalur yang berbeda mungkin tidak praktis. Oleh karena itu, programmer lebih produktif untuk memilih sejumlah kecil jalur program dalam upaya mengungkapkan cacat dalam kode.

LATIHAN

Berikut ini diberikan kode program binary search. Input array V[] diasumsikan disimpan urut naik, n adalah ukuran array, dan anda akan mencari indeks dari elemen X dalam array. Jika X tidak ada dalam array, rutin akan memberikan nilai kembalian (return -1). int binsearch(int X, int V[], int n) { int low, high, mid; low = 0; high = n - 1; while (low V[mid]) low = mid + 1; else return mid; } return -1; }

Dari kode program fungsi binSearch tersebut selesaikan berikut ini. 1.  Buatlah CFG dari binSearch? 2.  Dari CFG tersebut, tersebut, tentukan jalur entry dan dan exit

yang memenuhi kriteria

cakupan tersebut? 3.  Buatlah jalur independen (independent paths) dari CFG tersebut? 4.  Ujilah menggunakan kasus uji, sehingga seluruh jalur terlewati? 5.  Buatlah deskripsi pengujian dari kasus k asus tersebut?

12 

 

 

TUGAS

REFERENSI

13 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF