Anda di halaman 1dari 30

Aplikasi Kalkulator Statistika Berbasis PBO

Ditujukan untuk memenuhi salah satu syarat kelulusan Mata Kuliah Pemrograman
Berorientasi Objek

Kelompok 5 – Kelas SK-41-03


1103170005 – Windi Restimonika
1103170225 – Luthfi Lathifuddin
1103174048 – Elvin Nur Furqon
1103174055 – M. Randi Prawira Irawan
1103174081 – Adita Sukma Wardani
1103174181 – Bunga Arrafa Risnadya
1103174185 – Raihan Elsar Kusuma
1103174284 – Dimas Rachmandika Suryawan

PROGRAM STUDI SISTEM KOMPUTER


FAKULTAS TEKNIK ELEKTRO
UNIVERSITAS TELKOM
2018
KATA PENGANTAR
Segala puji kami berikan kepada Tuhan Yang Maha Esa berkat karunia-
Nya kami dapat menyelesaikan Tugas Besar mata kuliah Pemrograman Berbasis
Objek yang berjudul “Aplikasi Kalkulator Statistika Berbasis PBO”. Tujuan
dibuatnya Tugas Besar kami adalah sebagai salah satu persyaratan lulus pada
Mata Kuliah Pemrograman Berbasis Objek.
Kami berterimakasih sebesar-besarnya kepada dosen kami yaitu Bapak
Budhi Irawan, S.Si, S.T, M.T, IPP yang telah memberikan ilmu kepada kami
sehingga kami dapat menyelesaikan Tugas Besar kami. Dan kepada rekan –
rekan kami yang telah berbagi ilmu dan yang saling menyemangati kami selama
kami mengerjakan Tugas Besar kami.
Dalam pembuatan Tugas Besar kami, kami menyadari masih banyak
kekurangan yang ada dalam Tugas Besar kami ini dikarenakan masih kurangnya
ilmu yang kami miliki. Kami meminta maaf untuk kekurangan kami.
Akhir kata, semoga Tugas Besar kami bukan hanya sekedar untuk tugas
memenuhi pesyaratan lulus mata kuliah, namun juga sebagai sesuatu yang dapat
dimanfaatkan bagi orang banyak yang sekiranya membutuhkan.

Bandung, 18 November 2018

ii
DAFTAR ISI

KATA PENGANTAR ......................................Error! Bookmark not defined.i


DAFTAR ISI ...................................................Error! Bookmark not defined.ii
BAB I PENDAHULUAN ................................... Error! Bookmark not defined.
1.1. Latar Belakang Pembuatan Tugas..................................................... 1
1.2. Tujuan Pembuatan Tugas .................................................................. 1
1.3. Rumusan Pembuatan Tugas .............................................................. 1
1.4. Batasan Pembuatan Tugas ............................................................... 2
BAB II TEORI DASAR ................................................................................... 3
2.1. Dasar Teori.......................................................................................... 3
2.2. Teori Penunjang .................................................................................. 3
BAB III PERANCANGAN .............................................................................. 4
3.1 Diagram Flow Chart ............................................................................ 4
3.2 Deskripsi Rancngan ............................................................................ 5
3.3 Source code Program .......................................................................... 5
BAB IV PENGUJIAN ...................................................................................... 8
4.1 Screenshoot Tampilan Aplikasi .......................................................... 8
4.2 Pengujian Alpha ................................................................................ 10
BAB V KESIMPULAN .................................................................................. 13
5.1 Kesimpulan ............................................................................................... 13
5.2 Saran ......................................................................................................... 13
DAFTAR PUSTAKA ...................................................................................... 14
LAMPIRAN .................................................................................................... 15

iii
iv
BAB I
PENDAHULUAN

1.1 Latar Belakang Pembuatan Tugas

Statistika adalah ilmu yang mempelajari bagaimana merencanakan,


mengumpulkan, menganalisis, menginterpretasi dan mempresentasikan data.
Dengan adanya statistika, dapat memudahkan pekerjaan manusia, seperti
mahasiswa yang dapat melakukan perhitungan indeks prestasi.
Namun, pada kalkulator biasa dan kalkulator ilmiah tidak terdapat perhitungan
yang bisa menghasilkan selisih antara harga minimun dan maksimum atau
mencari simpangan baku pada suatu data.
Oleh karena itu, diperlukan sebuah aplikasi kalkulator statistika berbasis
pemrograman berorientasi objek, yang dapat menghitung sebuah data berupa
angka. Dengan adanya aplikasi kalkulator statistika berbasis pemrograman
berorientasi objek, mahasiswa atau penjual dapat menghitung sebuah data
dengan mudah dan akurat.

1.2 Tujuan Pembuatan Tugas

Adapun tujuan dari pembuatan tugas ini sebagai berikut :

1) Mempermudah pencarian, pengolahan, dan perhitungan data berupa angka.


2) Menciptakan sebuah aplikasi mempermudah pencarian pengelolaan data
statistika.

1.3 Rumusan Pembuatan Tugas

Adapun rumusan dari pembuatan tugas ini sebagai berikut:


1) Apa yang digunakan untuk mempermudah pencarian, pengolahan, dan
perhitungan data berupa angka ?

1
2) Bagaimana cara menciptakan sebuah aplikasi mempermudah pencarian
pengelolaan data statistika ?

1.4 Batasan Pembuatan Tugas

Adapun batasan dari pembuatan tugas ini sebagai berikut :


1) Aplikasi kalkulator statistika berbasis pemrograman berorientasi objek
tidak bisa dijalankan pada aplikasi Dev-C++.
2) Tidak dapat menampilkan grafik karena masih berbasis konsol
3) Tidak dapat menambah data yang telah dimasukan, hanya dapat
mengganti data yang ada.
4) Data maksimal yang dapat ditampung hanya sampai 100.
5) Untuk mencari data pencilan masih belum dapat dilakukan karena
membutuhkan visualisasi gambar diagram.

2
BAB II
TEORI DASAR

2.1 Dasar Teori


OOP (Object Oriented Programming) adalah suatu metode
pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan
adalah untuk mempermudah pengembangan program dengan cara mengikuti
model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu
permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari
beberapa objek yang lebih kecil lagi. Pesawat sebagai objek yang terbentuk dari
objek-objek yang saling berhubungan, berinteraksi, berkomunikasi dan saling
mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program.

2.2 Teori Penunjang


Konsep OOP
a. Abstrak Class
Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari
sekumpulan data. Kelas merupakan tipe data bagi objek yang mengenkapsulasi
data dan operasi pada data dalam suatu unit tunggal.

b. Encapsulation
Istilah enkapsulasi sebenarnya adalah kombinasi data dan
fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk
menyembunyikan detail informasi. Proses enkapsulasi memudahkan kita untuk
menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui
segala hal secara rinci.

c. Inheritance
Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga
semakin ke bawah kelas tersebut menjadi semakin spesifik.

d. Polymorphism
Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas
namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu
pesan yang sama.

3
BAB 3

PERANCANGAN

3.1 Diagram Flow Chart

Mulai

Input Menu

Menu == 1 Menu == 2
Menu

Input
Data Mode == ‘e’
Konfirmasi != ‘y’
Data Processing

Input Mode & Mode == ‘q’


Mode Konfirma
si

0 ≤ Mode ≤ 4 5 ≤ Mode ≤ 9

Central Variation
Tendency

Input Output
Konfirmasi Data

Selesai
4
3.2 Deskripsi Rancangan

Saat program mulai user akan disajikan menu pilihan yang terdiri dari
pemasukan data dan pengeluaran data, user menginputkan berdasarkan kode
menu antara satu dan dua dimana satu adalah kode dari input data dan untuk
kode dua untuk keluar. Saat user menginput kode satu maka akan muncul output
“masukan jumlah data”. Setelah itu, user menginputkan data-data yang ingin
diolah. Setelah user menginputkan semua data yang ada maka akan muncul
tampilan mode dimana terdapat sepuluh mode statistika antara (0~9) yakni
mean, median, modus, midringe, midhinge, range, IQR, variance, simpangan
baku, dan CV. Disamping itu, user juga dapat keluar ataupun mengganti data
dengan memasukkan kode “q” untuk keluar dan “e”untuk ganti data. Setelah
user memilih kode yang diinginkan maka akan muncul output nilai hasil proses
perhitungan algoritma yang ada dan disamping itu akan muncul output “apakah
anda ingin mengubah mode (y/t) ?” ketika user memilih “y” maka akan masuk
kedalam mode kembali tetapi bila user memilih “t” maka user akan kembali ke
menu utama.

3.3 Source Code Program


#include <iostream>
#include "Central_Tendency.h"
#include "Variation.h"
#include <Windows.h>

using namespace std;

Central_Tendency CT;
Variation V;

int x = 0;
void exit(char jawab_2) {
exit_switch:
5
cout << "Apak anda ingin Merubah Mode (y/t) :"; cin >> jawab_2;
if (jawab_2 == 'y') {
x = 2;
}
else if (jawab_2 == 't') {
x = 1;
}
else goto exit_switch;

void Menu(int n) {
char jawab_1;
char jawab_2;
int index;
double nilai;

Menu:
system("cls");
cout << "Masukan kode Mode yang ingin dipilih :" << endl;
cout << "(0).Mean\n(1).Median\n(2).Modus\n(3).Midrange\n(4).MidHinge\n";
cout << "(5).Range\n(6).IQR\n(7).Variance\n(8).Simpangan Baku\n";
cout << "(9).CV\n(q).Keluar\n(e).Ganti Data" << endl;
cout << "Masukan pilihan :"; cin >> jawab_1;
int extra = 0;

2
switch (jawab_1) {
case '0': cout << "Nilai Mean : " << CT.Mean(n) << endl;
cout << "Apakah anda ingin Merubah Mode (y/t) : "; cin >> jawab_2;
if ((jawab_2 == 'y')||(jawab_2 == 'Y')) {
goto Menu;
break;
}
else if ((jawab_2 == 't') || (jawab_2 == 'T')) {
x = 1; break;
}
else cout << "Maaf Inputan anda salah !" << endl; exit(jawab_2); break;

case '1': cout << "Nilai Median : " << CT.Median(n) << endl;
cout << "Apakah anda ingin Merubah Mode (y/t) : "; cin >> jawab_2;
if ((jawab_2 == 'y') || (jawab_2 == 'Y')) {
goto Menu;
break;
}
else if ((jawab_2 == 't') || (jawab_2 == 'T')) {
x = 1; break;
}
else cout << "Maaf Inputan anda salah !" << endl; exit(jawab_2); break;

3
BAB IV
PENGUJIAN

4.1 Implementasi Aplikasi

4
5
4.2 Pengujian Alpha

A.Menu Utama Program Kalkulator Statistika


No Data Output yang Pengamatan Kesimpulan
Masukan diharapkan
1 1 Tampilan Tampilan Diterima
Penginputan Penginputan
Data Data
2 2 Tampilan Tampilan Diterima
Keluar / Keluar /
selesai selesai
3 a Tidak Tidak Diterima
Memasuki Memasuki
Manapun Manapun
4 02 Tampilan Tidak Diterima
Keluar / Memasuki
selesai Manapun
5 test Tidak Tidak Diterima
Memasuki Memasuki
Manapun Manapun
6 03 Tidak Tidak Diterima
Memasuki Memasuki
Manapun Manapun
7 01 Tampilan Tampilan Diterima
Penginputan Penginputan
Data Data

6
B. Penginputan Program Kalkulator Statistika
N Jum Data Masukan Pengamatan Kesi
o lah mpul
Dat an
a
Ma
suk
an
1 5 4,5,6,8,3 3,4,5,6,8 Diter
ima
2 7 0.02,1.23,4,70,3.2,50, 0.02,1.23,3.2,4,20,50, Diter
20 70 ima
3 5 1,5,2,4,2 1,2,2,4,5 Diter
ima
4 12 121,332,111,332,43,1 10,43,111,111,121,12 Diter
11,121,332,10,121,22 1,121,223,332,332,33 ima
3,332 2,332

C. Menu Mode Program Bagian Fungsi Central Tendeny

N Data Masukan Mea Medi Modu MidR Mid kesimpulan


o n an s ange Hing
e
1 304.5 , 283. 304.5 304.5 288.6 174. Diterima
231.23 , 45 , 508 55 75
304.5 , 532.31
2 11 , 22 , 32, 39 26 27 Tidak 25 25.5 Diterima
Ada
3 5 , 5 , 5 , 3, 4 4.4 5 5 4 4 Diterima

7
D.Menu Mode Program Bagian Fungsi Variation

N Data Masukan Rang IQR Varia Simp. CV kesimpulan


o e nce Baku
1 304.5 , 231.23 , 487.3 259.5 30600 174.9 61.70 Diterima
45 , 304.5 , 1 .7 31 22
532.31
2 11 , 22 , 32, 39 28 23.5 148.6 12.19 46.89 Diterima
67 29 57
3 5 , 5 , 5 , 3, 4 2 2 0.8 0.894 20.32 Diterima
427 79

8
BAB V
KESIMPULAN
5.1 Kesimpulan
Aplikasi kalkulator statistika berbasi PBO ini dapat berjalan dengan
baik. Tetapi pada aplikasi ini masih mempunyai kelemahan yaitu tidak dapat
menampilkan grafik karena masih berbasis konsole. Sehingga untuk
mencari data pencilan masih belum dapat dilakukan karena membutuhkan
visualisasi gambar diagram. Selain itu program juga tidak dapat menambah
jumlah data yang telah dimasukkan dan hanya dapat mengganti data yang
ada. Dan data maksimal yang dapat ditampung hanya sampai 100 data.

5.3 Saran
Dapat menambah data baru setelah pemasukan data.

9
DAFTAR PUSTAKA

1. Ridhoni (2018). Statistika. [Online]. Tersedia:


https://id.m.wikipedia.org/wiki/Statistika. [2018, November 17].
2. Anonymous (2017). Mengenal Pengertian dan Konsep OOP.
[Online]. Tersedia: https://idcloudhost.com/panduan/mengenal-
pengertian-dan-konsep-oop/. [2018, November 17].

10
LAMPIRAN

Keterangan: Lanjutan source code main.


case '2': CT.Modus(n); break;
cout << "Apakah anda }
ingin Merubah Mode (y/t) : "; cin
>> jawab_2; else if ((jawab_2 == 't') ||
(jawab_2 == 'T')) {
if ((jawab_2 ==
'y') || (jawab_2 == 'Y')) { x = 1; break;

goto Menu; }

break; else cout << "Maaf


Inputan anda salah !" << endl;
} exit(jawab_2); break;
else if ((jawab_2 == 't') ||
(jawab_2 == 'T')) {
case '4': cout << "Nilai Midhinge :
x = 1; break; " << CT.Midhinge(n, extra) <<
endl;
}
cout << "Apakah anda
else cout << "Maaf ingin Merubah Mode (y/t) : "; cin
Inputan anda salah !" << endl; >> jawab_2;
exit(jawab_2); break;
if ((jawab_2 ==
'y') || (jawab_2 == 'Y')) {
case '3': cout << "Nilai Midrange : goto Menu;
" << CT.Midrange(n) << endl;
break;
cout << "Apakah anda
ingin Merubah Mode (y/t) : "; cin }
>> jawab_2;
else if ((jawab_2 == 't') ||
if ((jawab_2 == (jawab_2 == 'T')) {
'y') || (jawab_2 == 'Y')) {
x = 1; break;
goto Menu;
}
11
else cout << "Maaf goto
Inputan anda salah !" << endl; Menu;
exit(jawab_2); break;
break;
}
case '5':cout << "Nilai Range : " <<
V.Range(n) << endl; else if ((jawab_2
== 't') || (jawab_2 == 'T')) {
cout << "Apakah anda
ingin Merubah Mode (y/t) : "; cin x = 1;
>> jawab_2; break;

if ((jawab_2 == }
'y') || (jawab_2 == 'Y')) { else cout <<
goto Menu; "Maaf Inputan anda salah !" <<
endl; exit(jawab_2); break;
break;
}
case '7': cout << "Nilai Variance : "
else if ((jawab_2 == 't') || << V.Variance(n) << endl;
(jawab_2 == 'T')) {
cout << "Apakah anda
x = 1; break; ingin Merubah Mode (y/t) : "; cin
>> jawab_2;
}
if ((jawab_2 ==
else cout << "Maaf 'y') || (jawab_2 == 'Y')) {
Inputan anda salah !" << endl;
exit(jawab_2); break; goto Menu;
break;
case '6': extra = 1; }
cout << "Nilai IQR else if ((jawab_2 == 't') ||
(InterQuartil Range) : " << (jawab_2 == 'T')) {
V.Midhinge(n, extra) << endl;
x = 1; break;
cout << "Apakah
anda ingin Merubah Mode (y/t) : "; }
cin >> jawab_2; else cout << "Maaf
if ((jawab_2 == Inputan anda salah !" << endl;
'y') || (jawab_2 == 'Y')) { exit(jawab_2); break;

2
}
case '8': cout << "Nilai Simpangan else if ((jawab_2
Baku : " << V.Simpangan_Baku(n) == 't') || (jawab_2 == 'T')) {
<< endl;
x = 1;
cout << "Apakah anda break;
ingin Merubah Mode (y/t) : "; cin
>> jawab_2; }

if ((jawab_2 == else cout <<


'y') || (jawab_2 == 'Y')) { "Maaf Inputan anda salah !" <<
endl; exit(jawab_2); break;
goto Menu;
break;
case 'q': break;
}
else if ((jawab_2
== 't') || (jawab_2 == 'T')) { case 'e':cout << "Masukan index
yang ingin diubah :"; cin >> index;
x = 1;
break; cout << "Masukan nilai :
"; cin >> nilai;
}
V.UbahData(n, index,
else cout << nilai);
"Maaf Inputan anda salah !" <<
endl; exit(jawab_2); break; CT.UbahData(n, index,
nilai);
case '9': cout << "Nilai CV
(Coefficient Variance) : " << goto Menu;
V.CV(n) << endl; break;

cout << "Apakah goto Menu;


anda ingin Merubah Mode (y/t) : "; break;
cin >> jawab_2;
if ((jawab_2 ==
'y') || (jawab_2 == 'Y')) { default: system("cls"); cout <<
"Maaf inputan anda salah !!\n";
goto
Menu; system("pause");
break; goto Menu;

3
break; case '1': goto
pemasukan_data; break;
case '2': goto keluar;
} break;
} default: goto back;
break;
int main() }
{
double data[100]; pemasukan_data:
int i = 0, j = 0, n; system("cls");
double Temp = 0; cout << "Masukan jumlah
char pilihan; Data :"; cin >> n;
for (i = 0; i < n; i++) {

back: cout << "Data[" << i + 1


<< "] = ";
system("cls");
cin >> data[i];
cout << "\n\n\t\t\tSelamat
Datang Di program Pengelolaan }
Statistik\n" << endl;
cout << "\t\t\t\tPilih kode for (i = 0; i < n; i++) {
menu yang akan dipilih :" << endl;
for (int j = 0; j < n - 1; j++)
cout << {
"\t\t\t\t\t(1).Masukan Data" <<
endl; if (data[j] > data[j + 1]) {
cout <<
"\t\t\t\t\t(2).Keluar" << endl; Temp = data[j];
cout << "\n\t\t\t\tPilihan :
"; cin >> pilihan; data[j] = data[j + 1];
switch (pilihan) {
data[j + 1] = Temp;

4
} goto back;
} }
} if (x == 2) {
Menu(n);
for (i = 0; i < n; i++) { };
CT.SetData(n,
data[i]);
keluar:
V.SetData(n,
data[i]); system("cls");

} cout << "\n\n\n\n\t\t\t\tTERIMA


KASIH !!\n\n\n\n\n\n\n\n";
x = 0;
system("pause");
Menu(n);
return EXIT_SUCCESS;
if (x == 1) {
}

5
Keterangan: Source code class Central_Tendency.cpp
#include "Central_Tendency.h" Median_hasil =
(data[Temp - 1] + data[Temp]) / 2;
#include <iostream>
}
else {
Median_hasil =
double data[((n + 1) / 2) - 1];
Central_Tendency::Mean(int n) {
}
double Mean_hasil, Temp
= 0; return Median_hasil;
for (i = 0; i < n; i++) { };
Temp = Temp + double
data[i]; Central_Tendency::Midhinge(int n,
int pilihan) {
}
double Temp = 0,
return Mean_hasil = Temp Midhinge, Q1, Q3;
/ n;;
int Q1_x, Q3_x;
};
if (n % 2 == 0) {
double
Central_Tendency::Median(int n) { Q1 = 0.25 *(n +
1);
double Median_hasil;
Q1_x = int(Q1);
int Temp = 0;
Temp =
for (i = 0; i < n; i++) { data[Q1_x - 1] + ((Q1 - Q1_x) *
std::cout << (data[Q1_x] - data[Q1_x - 1]));
data[i] << " "; Q1 = Temp;
}
if (n % 2 == 0) { Q3 = 0.75 * (n +
Temp = (n + 1) / 1);
2; Q3_x = int(Q3);
2
Temp = return Midrange_hasil =
data[Q3_x - 1] + ((Q3 - Q3_x) * (data[0] + data[n - 1]) / 2;
(data[Q3_x] - data[Q3_x - 1]));
};
Q3 = Temp;
void Central_Tendency::Modus(int
} n) {
else { double Temp = 0;
Q1 = 0.25 *(n + int jum = 1,k = 0;
1);
double modus[100];
Q1 =
data[int(Q1) - 1]; double MODUS[100];
for (i = 0; i < n - 1; i++) {

Q3 = 0.75 * (n + for (j = 0; j < (n -


1); 1) - i; j++) {

Q3 = if
data[int(Q3) - 1]; (data[j] > data[j + 1]) {

}
Temp = data[j];
Temp = Q1 + Q3;
Midhinge = 0.5*Temp; data[j] = data[j + 1];
if (pilihan == 1) {
data[j + 1] = Temp;
Midhinge = Q3 -
Q1; }
} }
}
return Midhinge; for (i = 0; i < n; i++) {
}; if (data[i] ==
data[i + 1]) {
double
Central_Tendency::Midrange(int jum =
n) { jum + 1;
double Midrange_hasil; }
2
else { }

modus[k] = jum;
for (i = 0; i < k; i++) {

MODUS[k] = data[i]; std::cout <<


"Data ke[" << i + 1 << "] = " <<
k++; modus[i] << " adalah " <<
MODUS[i] << std::endl;
jum = 1;
}
}
};
if (modus[0] != modus[1])
{
for (i = 0; i < k - 1; i++) { std::cout <<
for (j = 0; j < (k - "MODUS = " << MODUS[0] <<
1) - i; j++) { std::endl;

if }
(modus[j] < modus[j + 1]) {

if (modus[0] ==
Temp = modus[j]; modus[1]) {
if (modus[1] !=
modus[j] = modus[j + 1]; modus[2]) {

modus[j + 1] = Temp; std::cout << "MODUS = "


<< MODUS[0] << " dan " <<
Temp = MODUS[j]; MODUS[1] << std::endl;
}
MODUS[j] = MODUS[j + }
1];
if (modus[0] ==
modus[1]) {
MODUS[j + 1] = Temp;
if (modus[1] ==
} modus[2]) {
}
3
std::cout << "MODUS
TIDAK ADA" << std::endl;
} }

Keterangan: Source Code


Central_Tendency.h
#include "Statistika.h" double Median(int n);
class Central_Tendency : double Midhinge(int n, int
pilihan);
public Statistika
void Modus(int n);
{
double Midrange(int n);
public:
};
double Mean(int n);

Keterangan: Source Code double Variation::Mean(int n) {


Variation.cpp
double Mean_hasil;
double Temp_Mean = 0;
#include "Variation.h"
for (i = 0; i < n; i++) {
#include <math.h>
Temp_Mean =
Temp_Mean + data[i];
using namespace std; }
return Mean_hasil =
Temp_Mean / n;
double Variation::Range(int n) {
};
return ( data[n - 1] -
data[0]); double Variation::Midhinge(int n,
int pilihan) {
};

4
double Temp = 0, }
Midhinge;
Temp = Q1 + Q3;
double Q1, Q3;
Midhinge = 0.5*Temp;
int Q1_x, Q3_x;
if (pilihan == 1) {
if (n % 2 == 0) {
Midhinge = Q3 -
Q1 = 0.25 *(n + Q1;
1);
}
Q1_x = int(Q1);
Temp =
data[Q1_x - 1] + ((Q1 - Q1_x) * return Midhinge;
(data[Q1_x] - data[Q1_x - 1])); };
Q1 = Temp; double Variation::Variance(int n) {
double Temp1 = 0;
Q3 = 0.75 * (n + double Temp2 = 0;
1);
double hasil_var;
Q3_x = int(Q3);
for (i = 0; i < n; i++) {
Temp =
data[Q3_x - 1] + ((Q3 - Q3_x) * Temp1 = data[i]
(data[Q3_x] - data[Q3_x - 1])); * data[i];
Q3 = Temp; Temp2 = Temp2
+ Temp1;
}
}
else {
Temp1 = 0;
Q1 = 0.25 *(n +
1); for (i = 0; i < n; i++) {
Q1 = Temp1 = Temp1
data[int(Q1) - 1]; + data[i];
Q3 = 0.75 * (n + }
1);
Temp1 = Temp1 *
Q3 = Temp1;
data[int(Q3) - 1];
2
hasil_var = ((n*Temp2) - for (i = 0; i < n; i++) {
Temp1) / (n*(n - 1));
Temp1 = Temp1
return hasil_var; + data[i];
}; }
double Temp1 = Temp1 *
Variation::Simpangan_Baku(int n) Temp1;
{
hasil_var = ((n*Temp2) -
double Temp1 = 0; Temp1) / (n*(n - 1));
double Temp2 = 0; return sqrt(hasil_var);
double hasil_var; };
for (i = 0; i < n; i++) { double Variation::CV(int n) {
Temp1 = data[i] double A = Mean(n);
* data[i];
double B =
Temp2 = Temp2 Simpangan_Baku(n);
+ Temp1;
return (B / A * 100);
}
};
Temp1 = 0;

Keterangan: Source Code


Variation.h
#include "Statistika.h" double Midhinge(int n, int
pilihan);
class Variation :
double Variance(int n);
public Statistika
double
{ Simpangan_Baku(int n);
public: double CV(int n);
double Range(int n); }
double Mean(int n);
3
1

Anda mungkin juga menyukai