LISTING PROGRAM

> data=c(65,98,76,78,88,50,75,77,56,65,76,97,56,67,89,89,66,78,97,78)
> data
 [1] 65 98 76 78 88 50 75 77 56 65 76 97 56 67 89 89 66 78 97 78
> length(data)
[1] 20
> sort(data)
 [1] 50 56 56 65 65 66 67 75 76 76 77 78 78 78 88 89 89 97 97 98
> max(data)
[1] 98
> min(data)
[1] 50
> jangkauan=max(data)-min(data)
> jangkauan
[1] 48
> length(data)
[1] 20
> jumlahkelas=(1+3.322*log10(length(data)))
> jumlahkelas
[1] 5.322022
> round(jumlahkelas)
[1] 5
> jangkauan
[1] 48
> jumlahkelas
[1] 5.322022
> interval=jangkauan/jumlahkelas
> jangkauan/jumlahkelas
[1] 9.019129
> round(interval)
[1] 9
> x11=mean(50:59)
> x12=mean(60:69)
> x13=mean(70:79)
> x14=mean(80:89)
> x15=mean(90:99)
> x11
[1] 54.5
> x12
[1] 64.5
> x13
[1] 74.5
> x14
[1] 84.5
> x15
[1] 94.5
> frekuensi=function(x,y,z){
+ a=0
+ for(i in 1:length(data)){
+ if(x[i]>=y&&x[i]<=z){
+ a=a+1
+ }
+ }
+ print(a)
+ }
> frekuensi(data,50,59)
[1] 3
> frekuensi(data,60,69)
[1] 4
> frekuensi(data,70,79)
[1] 7
> frekuensi(data,80,89)
[1] 3
> frekuensi(data,90,99)
[1] 3
> 54.5*3
[1] 163.5
> 64.5*4
[1] 258
> 74.5*7
[1] 521.5
> 84.5*3
[1] 253.5
> 94.5*3
[1] 283.5
> tabel=edit(data.frame())
> tabel
  Kelas   X1 F1 X1.F1
1 50-59 54.5  3 163.4
2 60-69 64.5  4 258.0
3 70-79 74.5  7 521.5
4 80-89 84.5  3 253.5
5 90-99 94.5  3 283.5
> rata2=sum(tabel$X1*tabel$F1)/length(data)
> rata2
[1] 74
> tb=69.5
> d1=3
> d2=4
> interval=10
> modus=tb+(d1/(d1+d2))*interval
> modus
[1] 73.78571
> hist(data,main="Histogram",col="gray",border="black")


LOGIKA PROGRAM
Tugas I

Pada pemrograman ini akan membahas tentang menentukan interval kelas, rata-rata, Frekuensi, modus, dan membuat grafik pada data kelompok dengan menggunakan R Programming.

> data=c(65,98,76,78,88,50,75,77,56,65,76,97,56,67,89,89,66,78,97,78)

Maksud dari listing diatas adalah untuk menyimpan deretan angka / data ke suatu variabel yaitu variabel “data” untuk menentukan interval kelas, rata-rata, Frekuensi, modus, dan membuat grafik pada data kelompok dengan menggunakan R Programming.

> sort(data)
 [1] 50 56 56 65 65 66 67 75 76 76 77 78 78 78 88 89 89 97 97 98

     Maksud dari listing diatas adalah untuk mengurutkan data yang sudah dimasukkan kedalam variabel data agar mudah dalam menentukan nilai minimum dan nilai maksimal yang digunakan untuk menentukan jangkauan.

>max(data)
[1] 98

     Penjelasan Listing diatas adalah untuk mengambil nilai tertinggi dari suatu data yang telah disimpan kedalam variabel “data” sebelumnya yang akan digunakan untuk mendapatkan jangkauan.

> min(data)
[1] 50

Penjelasan Listing diatas adalah untuk mengambil nilai terendah dari suatu data yang telah disimpan kedalam variabel “data” sebelumnya yang akan digunakan untuk mendapatkan jangkauan.

> jangkauan=max(data)-min(data)
> jangkauan
[1] 48

Maksud dari listing diatas adalah untuk mendapatkan jangkauan atau range yang nantinya akan digunakan untuk mendapatkan interval dari suatu data. Rumus jangkauan atau range=Nilai maksimal suatu data-Nilai minimal suatu data. Sedangkan “jangkauan” pada listing diatas digunakan untuk memanggil atau menampilkan nilai / isi dari variabel tersebut.

> length(data)

Maksud dari listing diatas adalah untuk menentukan panjang data yang diperlukan untuk mencari interval kelas.


> jumlahkelas=(1+3.322*log10(length(data)))
> jumlahkelas
[1] 5.322022

Maksud dari listing diatas adalah untuk mencari banyak kelas interval dengan rumus jumlah kelas=1+3,22log n, dimana n banyaknya data atau length(data). Hasil ini digunakan untuk menentukan jumlah kelas dari suatu data. Sedangkan “jumlahkelas” pada listing diatas digunakan untuk memanggil atau menampilkan nilai / isi dari variabel tersebut.
> round(jumlahkelas)

Penjelasan listing diatas adalah untuk membulatkan nilai dari variabel “jumlahkelas”.

> jangkauan
[1] 48
> jumlahkelas
[1] 5.322022

Maksud dari perintah “jangkauan” diatas digunakan untuk memanggil atau menampilkan nilai / isi dari variabel “jangkauan” . sedangkan “jumlahkelas” digunakan untuk memanggil atau menampilkan nilai / isi dari variabel “jumlahkelas”.

> interval=jangkauan/jumlahkelas

Penjelasan listing diatas adalah untuk mendapatkan nilai interval dari suatu data. Dengan rumus=jangkauan/jumlahkelas. Jadi nilai dari variabel “jangkauan” dibagi dengan nilai variabel “jumlah kelas”.

> round(interval)
[1] 9

Maksud dari listing diatas adalah untuk membulatkan nilai dari variabel “interval” yang digunakan untuk menentukan kelas kelas dari suatu data.

> x11=mean(50:59)
> x12=mean(60:69)
> x13=mean(70:79)
> x14=mean(80:89)
> x15=mean(90:99)

Sebelum membahas listing diatas terlebih dahulu tentukan kelas kelas dan range datanya dengan cara.
Kelas Pertama:
Ambil data terkecil sebagai batas bawah kelas pertama.
Jumlahkan data terkecil dengan panjang interval kelas kemudian kurangi satu (1)
Panjang interval kelas pertama = (50 + 10) – 1 = 59
Jadi interval kelas pertama adalah (50 - 59)
Kelas Kedua:
Batas bawah kelas kedua kita mulai dari 60 (melanjutkan batas atas kelas pertama)
Panjang interval kelas kedua = (60 + 10) – 1 = 69
Jadi, interval kelas kedua adalah (60 - 69)
Kelas ke-3 sampai kelas ke-5 dapat ditentukan dengan cara yang sama seperti diatas.
Bila sudah selesai, maka akan diperoleh kelas kelas seperti berikut ini:
1 50-59
2 60-69
3 70-79
4 80-89
5 90-99
Disini saya menggunakan interval=10 karena jika menggunakan nilai 9 maka batas atas kelas terakhir hanya 94 sedangkan nilai tertinggi data ini 98.
Maksud dari listing diatas adalah untuk mendapatkan titik tengah dari setiap kelas yang digunakan untuk perhitungan rata rata nantinya dan nilainya akan disimpan kedalam variabel x11 untuk kelas pertama, x12 untuk kelas kedua, x13 untuk kelas ketiga, x14 untuk kelas keempat, dan x15 untuk kelas kelima.

> frekuensi=function(x,y,z){
+ a=0
+ for(i in 1:length(data)){
+ if(x[i]>=y&&x[i]<=z){
+ a=a+1
+ }
+ }
+ print(a)
+ }

Listing diatas digunakan untuk mencari frekuensi (banyaknya nilai anggota suatu kelas) dengan menggunakan metode fungsi x,y,z.
a=0 ( variable a, sebagai nilai awal frekuensi dimulai dari 0 atau pemberian harga awal)

for(i in 1:length(data)) (untuk variable i yang terdapat diantara nilai 1 sampai dengan panjang variable “data.

if(x[i]>=y&&x[i]<=z) (jika x[i] lebih besar sama dengan dari y, dimana y adalah nilai pertama pada masing-masing kelas, dan x[i] lebih kecil sama dengan dari z, dimana z adalah nilai akhir pada masing-masing kelas.)

a=a+1 (maka a sebagai frekuensi akan bertambah 1 atau biasa disebut dengan increament)

Print(a) (Akan menampilkan frekuensi (a) dengan bertambah 1 sejumlah banyaknya nilai anggota masing-masing kelas yang dimulai dari nilai pertama suatu kelas (y) sampai nilai akhir suatu kelas (z). nilai anggota masing-masing kelas sesuai dengan nilai pada variable data di awal.)

> frekuensi(data,50,59)
[1] 3
> frekuensi(data,60,69)
[1] 4
> frekuensi(data,70,79)
[1] 7
> frekuensi(data,80,89)
[1] 3
> frekuensi(data,90,99)
[1] 3


Maksud dari listing diatas untuk menentukan frekuensi dari setiap kelas dengan cara fungsi yg sebelumnya telah dibuat dibandingkan dengan parameter data setiap kelasnya.

> 54.5*3
[1] 163.5
> 64.5*4
[1] 258
> 74.5*7
[1] 521.5
> 84.5*3
[1] 253.5
> 94.5*3
[1] 283.5

Penjelasan listing diatas adalah x1 dikali dengan f1 yaitu digunakan untuk mencari nilai rata rata data tersebut .

> tabel=edit(data.frame())
  Kelas   X1 F1 X1.F1
1 50-59 54.5  3 163.4
2 60-69 64.5  4 258.0
3 70-79 74.5  7 521.5
4 80-89 84.5  3 253.5
5 90-99 94.5  3 283.5


Maksud dari listing diatas adalah untuk membuat tabel dengan data seperti diatas. Hasil dari x1 dikali dengan f1 dimasukkan juga kedalam tabel sama seperti dengan x1 dan f1.

> rata2=sum(tabel$X1*tabel$F1)/length(data)

Penjelasan diatas adalah untuk mencari rata rata dengan cara menjumlahkan nilai dari tabel X1.F1 yang telah dibuat tadi dan dibagi dengan panjang data. Maka akan dihasilkan nilai rata rata data tersebut.

> tb=69.5
> d1=3
> d2=4
> interval=10

Maksud dari listing diatas adalah pendeklarasian variabel-variabel. Variabel “tb”= 69,5 karena batas bawah interval dengan frekuensi terbanyak yaitu 7. Variabel d1=3 karena frekuensi terbanyak dikurangi frekuensi kelas sebelumnya yaitu 7 dikurang dengan 4. Variabel d2=4 karena  frekuensi terbanyak dikurangi frekuensi kelas sesudahnya yaitu 7 dikurang dengan 3 dan variabel interval=10.

> modus=tb+(d1/(d1+d2))*interval
modus                             

Penjelasan Listing diatas adalah untuk mencari modus dari data kelompok yaitu dengan rumus. sedangkan “modus” digunakan untuk memanggil atau menampilkan nilai / isi dari variabel “modus”

> hist(data,main="Histogram",col="gray",border="black")


Maksud dari listing diatas adalah untuk membuat grafik histogram  dari nilai variabel data. Dengan menggunakan menggunakan Header nama Histogram, dengan warna batang coklat dan garis hitam. 

> plot(titiktengah,freq,main="Data Statistik")
> polygon(titiktengah,freq,col="gray")

Maksud dari listing diatas adalah untuk membuat grafik Polygon dengan menggunakan titik tengan dan frekuensi dari variabel sebelumnya dengan warna Abu Abu dan dengan Header nama "Data Statistik".


OUTPUT PROGRAM









LISTING PROGRAM

import java.util.Scanner;

public class Lingkaran{
     float jari;
     double v=3.14;
     Scanner input=new Scanner(System.in);
    
     public double Lingkaran(){
     System.out.println("Masukkan jari-jari: ");
     jari=input.nextFloat();
     return jari*jari*v;
     }
     public double Keliling(){
     return (2*jari*v);
     }
     }
public class Tabung extends Lingkaran{
     double t=10;
     Lingkaran ling=new Lingkaran();
     public void Input(){
     System.out.println("Jari-jari Lingkaran: "+jari);
     System.out.println("V Lingkaran: "+v);
     }
     public void LKLingkaran(){
     System.out.println("Luas Lingkaran: "+ling.Lingkaran());
     System.out.println("Keliling Lingkaran: "+ling.Keliling());
}
     public double Tabung(){
     return Lingkaran()*t;
     }
     public double LuasTabung(){
     return(2*Lingkaran()+Keliling()*t);
     }
     }
public class Main{
     public static void main(String[] args){
     Tabung gelas=new Tabung();
     System.out.println("----Lingkaran----");
     gelas.Input();
     gelas.LKLingkaran();
     System.out.println("----Tabung----");
     System.out.println("Volume Tabung: "+gelas.Tabung());
     System.out.println("Luas Tabung: "+gelas.LuasTabung());
     }
     }


  
LOGIKA PROGRAM
Tugas I

Pada pemrograman ini akan membahas tentang implementasi dari salah satu konsep dasar OOP (object-oriented programming) yaitu Inheritanche. Perngertian dari inheritance adalah dimana sebuah objek dapat mempunyai objek turunan. Dalam hal pemrogramman makan dapat diimpelementasikan dengan sebuah class yang mempunyai class turunan. Class yang mempunyai class turunan disebut sebagai Parent Class atau Base Class, sedangkan class yang menjadi turunan dari Parent Class disebut sebagai Subclass atau Child Class. Perngertian dari inheritance adalah dimana sebuah objek dapat mempunyai objek turunan. Dalam hal pemrogramman makan dapat diimpelementasikan dengan sebuah class yang mempunyai class turunan. Class yang mempunyai class turunan disebut sebagai Parent Class atau Base Class, sedangkan class yang menjadi turunan dari Parent Class disebut sebagai Subclass atau Child Class.

import java.util.Scanner;

Penjelasan Listing ini adalah untuk menggunakan paket IO atau mengimport fungsi scanner. Java Application Programming Interface  (API) berisi ratusan class yang sudah didefinisikan sebelumnya yang dapat digunakan untuk  program Anda.  Class-class tersebut dikumpulkan di dalam packages. Packages berisi class yang  mempunyai fungsi yang saling berhubungan. Penjelasan singkatnya adalah untuk mengimport scanner yang digunakan untuk input dari keyboard.

public class Lingkaran{

Kelas / class merupakan bagian dari bahasa java. Setiap aplikasi atau program harus terdiri satu kelas/class atau lebih. Pada listing diatas saya memberikan nama “Lingkaran” yang harus sama pada saat kita menyimpannya yaitu Lingkaran.java. Public digunakan untuk menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain dimanapun. Public digunakan apabila kita menginginkan semua variable dalam Class tersebut dapat di akses dari Class manapun.
  
float jari;
double v=3.14;

Maksud dari listing diatas adalah untuk mendeklarasikan variabel jari jari bertipe data float dan variabel v bertipe data double bernilai 3,14.
Scanner input=new Scanner(System.in);

Listing di atas adalah pembuatan sebuah objek baru bernama input untuk menggantikan fungsi Scanner.
     public double Lingkaran(){

Maksud dari listing diatas adalah untuk membuat method lingkaran bermetode akses specifier public. Akses specifiers berfungsi untuk menentukan siapa yang memiliki hak untuk mengakses data tersebut. Akses specifiers berfungsi untuk menentukan siapa yang memiliki hak untuk mengakses data tersebut.

System.out.println("Masukkan jari-jari: ");
     jari=input.nextFloat();
     return jari*jari*v;
     }

Maksud dari listing diatas adalah untuk meminta user memasukkan inputannya sebagai jari-jari yang disimpan kedalam variabel “jari” bertipe data float. Kemudian system akan memproses jari*jari*v sebagai nilai dari lingkaran.

public double Keliling(){
     return (2*jari*v);
     }
     }
Maksud dari listing diatas adalah untuk membuat method Keliling bermetode akses specifier public. Akses specifiers berfungsi untuk menentukan siapa yang memiliki hak untuk mengakses data tersebut. Akses specifiers berfungsi untuk menentukan siapa yang memiliki hak untuk mengakses data tersebut. Kemudian system akan memproses 2*jari*v sebagai nilai dari Keliling.

public class Tabung extends Lingkaran{

Maksud dari listing diatas adalah untuk mendeklarasikan inheritance adalah dengan memberikan keyword extends setelah nama class diikuti denga nama parent class.Kata kunci extends memberikan informasi pada kompiler Java bahwa kita ingin melakukan perluasan class. Parrent Class yaitu Lingkaran dan Child Class yaitu tabung

     double t=10;

Maksud dari listing diatas adalah mendeklarasikan variabel t bertipe data double dengan nilai 10.

     Lingkaran ling=new Lingkaran();

Penjelasan listing diatas adalah untuk membuat object ling dari class Lingkaran sebelumnya. Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class yang akan dibuat sebagai instance dari class tertentu. ling object reference dari class Lingkaran yang akan digunakan untuk mengakses class Lingkaran. Sedangkan operator new adalah operator yang akan menghasilkan ling sebagai reference ke instance dari class Lingkaran().

public void Input(){
     System.out.println("Jari-jari Lingkaran: "+jari);
     System.out.println("V Lingkaran: "+v);
     }
Maksud dari listing diatas adalah sebagai procedure yang bertipe data Void karena tidak mengembalikan suatu nilai apapun pada fungsi pemanggilnya.Maksud dari listing diatas adalah untuk menampilkan “Jari-jari Lingkaran” ditambah dengan isi dari variabel jari. Menampilkan “V lingkaran” ditambah dengan nilai variabel v.

public void LKLingkaran(){
     System.out.println("Luas Lingkaran: "+ling.Lingkaran());
     System.out.println("Keliling Lingkaran: "+ling.Keliling());
}
Maksud dari listing diatas adalah sebagai procedure yang bertipe data Void karena tidak mengembalikan suatu nilai apapun pada fungsi pemanggilnya. Maksud dari listing diatas adalah untuk menampilkan “Luas Lingkaran:” ditambah dengan isi dari variabel ling.Lingkaran. Menampilkan “Keliling Lingkaran” ditambah dengan nilai variabel ling.Keliling.

public double Tabung(){
     return Lingkaran()*t;
     }

Maksud dari listing diatas adalah untuk memberikan hak akses public pada variabel tabung dan mengembalikan nilai dari lingkaran*t untuk memperoleh nilai dari tabung.

public double LuasTabung(){
     return(2*Lingkaran()+Keliling()*t);
     }
     }

Maksud dari listing diatas adalah untuk memberikan hak akses public pada variabel LuasTabung dan mengembalikan nilai dari 2*lingkaran+keliling*t untuk memperoleh nilai dari LuasTabung.


public class Main{

Dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program.

public static void main(String[]args){

Dalam bahasa java, setiap aplikasi atau program harus memiliki metode main seperti pada listing diatas, fungsi dari metode main ini adalah sebagai pintu gerbang atau awal suatu program. mendeklrasikan suatu method dengan nama main . Nama main disini merupakan keharusan dalam java karena java akan mencari method yang bernama main ini sebagai awal eksekusi program . Keyword public merupakan access specifier yang menentukan visibility level dari method ini . Public berarti method ini dapat di access dari manapun dari luar class .

     Tabung gelas=new Tabung();

Penjelasan listing diatas adalah untuk membuat object gelas dari class Tabung sebelumnya. Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class yang akan dibuat sebagai instance dari class tertentu. gelas object reference dari class Tabung yang akan digunakan untuk mengakses class Tabung. Sedangkan operator new adalah operator yang akan menghasilkan gelas sebagai reference ke instance dari class Tabung().

     System.out.println("----Lingkaran----");

Maksud dari listing diatas adalah untuk menampilkan “-----Lingkaran----“

     gelas.Input();
     gelas.LKLingkaran();

Maksud dari listing diatas adalah untuk memanggil memanggil methode Input dan LKlingkaran dari object gelas sebelumnya.

     System.out.println("----Tabung----");
     System.out.println("Volume Tabung: "+gelas.Tabung());
     System.out.println("Luas Tabung: "+gelas.LuasTabung());
     }
     }

Maksud dari listing diatas adalah untuk menampilkan “----Tabung----“, Menampilkan “Volume Tabung :” ditambah dengan nilai gelas.Tabung(), Menampilkan “Luas tabung” ditambah dengan gelas.LuasTabung()).



OUTPUT PROGRAM