Jumat, 13 Desember 2013

laporan pemrograman dasar tipe array java



LAPORAN PRAKTIKUM PEMROGRAMAN DASAR
PROGRAM DENGAN TIPE DATA ARRAY


Disusun oleh :

Nama                           : Andrianto Setiawan
NIM                             : 135150201111153
Asisten 1                      : Fadel Trivandi Dipantara
Asisten 2                      : Karid Nurvenus
Asisten 3                      : Apiladosi Priambodo
Dosen Pengampu         : Sutrisno, Ir., MT


LABORATORIUM KOMPUTER DASAR
PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
2013

Pengesahan
Tanggal:   
Asisten






A.    Definisi Masalah

1.       (Soal di Modul) Buat sebuah program yang memiliki menu sebagai berikut :
Menu Utama :
1.Input Data
2.Tampilkan Data
3.Distribusi Frekuensi
4.Statistik
5.Keluar
Dimana input data adalah memasukan data nilai(antara 0 sampai 100) ke dalam suatu array. Menampilkan data adalah menampilkan semua isi array. Distribusi frekuensi adalah mencari nilai frekuensiuntuk masing-masing range nilai(dengan interval 20). Statistik adalah mencari nilai mean, minimum dan maksimum dari data.

B.     Source Code


1
2
3
4
5
6
7
8
9
10
11
12

13

14
15
16
17

18
19
20
21
22
23
24

25

26
27
28
29
30
31
32
33

34
35
36
37

38
39
40
41
42
43
44

45
46

47
48
49
50
51
52
53
54

55
56

57
58

59

60

61

62

63
64
65

66

67

68

69

70
71
72
73
74

75
76
77
78
79
80
81
82

83

84
85
86

87
88
89
90
91
import java.util.Scanner;
public clas laporanArray {
    static int []bil=null;
    static int jmlhBilangan;
    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
        int pilih;
     do {
         System.out.println("MENU UTAMA");
         System.out.println("==============");
         System.out.println("1. input data");
         System.out.println("2. tampilkan
         data");
         System.out.println("3. distribusi
         frekuensi");
         System.out.println("4. statistik");
         System.out.println("5. keluar");
         System.out.println();
         System.out.println("Masukan pilihan :
         ");
         pilih = in.nextInt();
         switch (pilih){
       case 1 : inputData();break;
       case 2 : tampilkanData();break;
       case 3 : distribusiFrekuensi();break;
       case 4 : statistik();break;
       case 5 : System.out.println("SELESAI");
                break;
       default : System.out.println("pilihan
                 tidak ada");
       System.out.println();
   }
  } while (pilih!=5);
 }
 private static void inputData(){
       Scanner in = new Scanner(System.in);
       System.out.println("INPUTAN DATA");
       System.out.println("Masukan jumlah
       bilangan = ");
       jmlhBilangan = in.nextInt();
       bil = new int[jmlhBilangan];
       for (int i=0;i<jmlhBilangan;i++){
        System.out.println("Masukan bilangan ke-
        "+(i+1)+" dari 1-100: ");
         bil[i]=in.nextInt();
        }
        System.out.println();
    }
  private static void tampilkanData(){
      if(bil==null){
      System.out.println("-Lakukan inputan
      dahulu-");
      System.out.println();return;}
      System.out.println("Data yang anda input :
      ");
      for(int i=0;i<jmlhBilangan;i++){
         System.out.println("| "+bil[i]+" | ");
        }
        System.out.println();
    }
  private static void distribusiFrekuensi(){
      if(bil==null){
      System.out.println("-Lakukan inputan
      dahulu-");
      System.out.println();return;}
      int range1=0,range2=0, range3=0,range4=0,
      range5=0;
      for(int i=0;i<jmlhBilangan;i++){
        if(bil[i]>=1&&bil[i]<=20)
                range1++;
            else if(bil[i]>=21&&bil[i]<=40)
                range2++;
            else if(bil[i]>=41&&bil[i]<=60)
                range3++;
            else if(bil[i]>=61&&bil[i]<=80)
                range4++;
            else if(bil[i]>=81&&bil[i]<=100)
                range5++;
        }
System.out.println("DISTRIBUSI FREKUENSI");
System.out.println("Distribusi frekuensi dari 1-20 : "+range1);
System.out.println("Distribusi frekuensi dari 21-40 : "+range2);
System.out.println("Distribusi frekuensi dari 41-60 : "+range3);
System.out.println("Distribusi frekuensi dari 61-80 : "+range4);
System.out.println("Distribusi frekuensi dari 81-100 : "+range5);
        System.out.println();
    }
  private  static void statistik(){
      if(bil==null){
      System.out.println("-Lakukan inputan
      dahulu-");
      System.out.println();return;}
      double total=0;
      for(int i=0;i<jmlhBilangan;i++)
            total+=bil[i];
        double rerata=total/jmlhBilangan;
        int min=bil[0],maks=bil[0];
        for(int i=0;i<jmlhBilangan;i++){
            if(bil[i]<=min)
                min=bil[i];
            if(bil[i]>=maks)
                maks=bil[i];
   }
   System.out.println("STATISTIK");
   System.out.printf("Nilai rata-rata :
   %.0f\n",rerata);
   System.out.println("Nilai minimum : "+min);
   System.out.println("Nilai maksimum : "+maks);
   System.out.println();
    }
}

C.    Pembahaasan

1
2-5

6
7
8

9-15

17-18


19

20

21

22

23

24

25

30
31
32
33-34


35

36


37


42
43-45




46
47-48



52
53-55




56

57


58


59



60



61



62



64
65
66
67
68
69
72
73-75



76
77-78



79


80


81


82


83



85
86
87
88
Melakukan import dari package Scanner
Dekalarasi kelas, global static variabel int dengan nama bil[] dan jmlhBilangan, dan method main
Deklarasi variabel Scanner dengan nama variabel in
Deklarasi variabel integer dengan nama pilih
Perintah untuk melakukan perulangan secara terus menerus untuk pilihan menu dan ketika yang diinputkan bukan 5
Perintah untuk menampilkan menu program yakni input data, tampilkan data, distribusi frekuensi, statistik, dan keluar
Perintah untuk mencetak masukan pilihan pada menu yang diinginkan dan perintah untuk memasukkan inputan dengan scanner pada variabel pilihan
Pernyataan switch dengan kondisi sesuai dengan inputan pada variabel pilihan
Pada inputan pilihan=1, maka akan memanggil fungsi/method dari inputData dan perintah break
Pada inputan pilihan=2, maka akan memanggil fungsi/method dari tampilkanData dan perintah break
Pada inputan pilihan=3, maka akan memanggil fungsi/method dari frekuensi dan perintah break
Pada inputan pilihan=4, maka akan memanggil fungsi/method dari statistik dan perintah break
Pada inputan pilihan =5, maka akan muncul perintah untuk menampilkan “SELESAI” dan perintah break
Dan pada inputan pilihan selain 1,2, 3, 4 atau 5 maka akan muncul perintah untuk menampilkan “Pilihan tidak ada”
Deklarasi fungsi atau method inputData
Deklarasi variabel Scanner dengan nama variabel in
Perintah untuk menampilkan “INPUTAN DATA”
Perintah untuk mencetak masukan jumlah bilangan yang diinginkan dan perintah untuk memasukkan inputan dengan scanner pada variabel jmlhBilangan
Inisialisasi variabel array bil dengan jumlah elemen sesuai dengan variabel jmlhBilangan yang diinputkan
Perintah untuk melakukan perulangan pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan
Perintah untuk menampilkan maemasukkan bilangan sebanyak variabel jmlhBilangan yang diinputkan dengan Scanner pada variabel array bil
Deklarasi fungsi atau method tampilkanData
Pernyataan if dengan kondisi jika variabel bil berinisialisasi null atau tidak punya nilai maka akan menampilkan “-Lakukan Inputan  Dahulu-”, enter satu baris dan kembali ke class utama tanpa melanjutkan proses selanjutnya pada method tampilkanData
Perintah untuk menampilkan “Data yang anda input : ”
Perintah untuk melakukan perulangan pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan lalu akan menampilkan array bil yang diinputkan pada variabel bil
Deklarasi fungsi atau method distribusiFrekuensi
Pernyataan if dengan kondisi jika variabel bil berinisialisasi null atau tidak punya nilai maka akan menampilkan “-Lakukan Inputan Dahulu-”, enter satu baris dan kembali ke class utama tanpa melanjutkan proses selanjutnya pada method distribusiFrekuensi
Deklarasi variabel int dengan nama range1, range2, range3, range4,  dan range5 serta diinisialisasi 0
Perintah untuk melakukan perulangan pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan
Pernyataan if dengan kondisi jika variabel bil yang diinputkan sama atau lebih dari 1 dan sama atau kurang dari 20 maka variabel range1 ditambah 1
Pernyataan else if dengan kondisi jika pernyataan sebelumnya bernilai salah dan variabel bil yang diinputkan sama atau lebih dari 21 dan sama atau kurang dari 40 maka variabel range2 ditambah 1
Pernyataan else if dengan kondisi jika pernyataan sebelumnya juga bernilai salah dan variabel bil yang diinputkan sama atau lebih dari 41 dan sama atau kurang dari 60 maka variabel range3 ditambah 1
Pernyataan else if dengan kondisi jika pernyataan sebelumnya juga bernilai salah dan variabel bil yang diinputkan sama atau lebih dari 61 dan sama atau kurang dari 80 maka variabel range4 ditambah 1
Pernyataan else if dengan kondisi jika pernyataan sebelumnya juga bernilai salah dan variabel bil yang diinputkan sama atau lebih dari 81 dan sama atau kurang dari 100 maka variabel range5 ditambah 1
Perintah untuk menampilkan “DISTRIBUSI FREKUENSI”
Mencetak distribusi frekuensi dari 1-20, variabel range1
Mencetak distribusi frekuensi dari 21-40, variabel range2
Mencetak distribusi frekuensi dari 41-60, variabel range3
Mencetak distribusi frekuensi dari 61-80, variabel range4
Mencetak distribusi frekuensi dari 81-100, variabel range5
Deklarasi fungsi atau method statistik
Pernyataan if dengan kondisi jika variabel bil berinisialisasi null atau tidak punya nilai maka akan menampilkan “-Lakukan Inputan Dahulu-”, enter satu baris dan kembali ke class utama tanpa melanjutkan proses selanjutnya pada method statistik
Deklarasi variabel double dengan nama total dan diinisialisasi 0
Perintah untuk melakukan perulangan pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan dan operasi matematika penjumlahan variabel bil yang diinputkan
Deklarasi variabel double dengan  nama rerata dan diinisialisasi dengan operasi matematika pembagian variabel total dengan variabel jmlhBilangan
Deklarasi variabel int dengan nama min dan maks serta diinisalisasi dengan variabel bil pada elemen 0 sesuai dengan yang telah diinputkan
Perintah untuk melakukan perulangan pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan
Pernyataan if dengan kondisi jika variabel bil pada elemen variabel i sama atau lebih kecil dari variabel min maka variabel min diinisialisasi nilai variabel bil pada elemen tersebut
Pernyataan if dengan kondisi jika variabel bil pada elemen variabel i sama atau lebih besar dari variabel maks maka variabel maks diinisialisasi nilai variabel bil pada elemen tersebut
Perintah untuk menampilkan “STATISTIK”
Mencetak nilai rata-rata, variabel rerata
Mencetak nilai minimum, variabel min
Mencetak nilai maksimum, variabel maks



D.    Screenshoot Program

array1.png
array2.png
array3.png
array4.png
arraynot.png
array5.png

E.     Kesimpulan

    Array terdapat dua macam, yakni satu dimensi dan dua dimensi. Array satu dimensi digunakan saat data hanya satu baris. Array dua dimensi digunakan saat data meliputi baris dan kolom. Array bersifat homogen atau semua data pada array bertipe sama, oleh karena itu array memiliki fungsi dapat mengolah elemen-elemen di dalam strukturnya secara kelompok maupun individu. Elemen array selalu dimulai dari 0.
Program ini menggunakan global static di luar method main dan juga menggunakan fungsi array yang digunakan untuk menginputkan data nilai pada suatu array. Selanjutnya menampilkan semua isi array kemudian mencari distribusi frekuensinya yang nilai frekuensinya untuk masing-masing range nilai dengan interval 20, kemudian dicari statistik untuk menampilkan rata-rata datanya dan juga mencari nilai maksimum serta minimumnya.