Minggu, 17 Februari 2019

Analisis tentang Array dan Penyimpanan Memori

ARRAY

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.
Array juga merupakan suatu grup (entitas) yang beranggotakan elemen-elemen (variabel) yang bertipe data sama dan dapat diakses dengan memanggil nama array beserta indeks elemennya. Indeks merupakan bilangan integer yang menunjukkan letak urutan elemen dalam array.
int number1 = 1; //variabel biasa
int number2 = 2;
int number3 = 3;
int [] number = {1, 2, 3}; //array

· Mendeklarasikan Variabel Array
Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer, dapat dilakukan dengan cara :

int[ ] bilangan; atau int bilangan[ ];

Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah adanya tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada tahap pendeklarasian variabel array ini belum ada alokasi memori untuk menyimpan data.

§ Variabel array dapat dideklarasikan dengan dua cara :

Pada bentuk pertama, berarti memberitahu kompiler untuk mengalokasikan sejumlah lokasi memori dengan tipe tipedata dan kumpulan variabel ini selanjutnya dianggap sebagai suatu grup bernama nama Array.
Pada bentuk kedua, berarti memesan sejumlah lokasi memory dengan tipe tipe data dan masing masing bernama namaArray, tanpa ada kesan bahwa variabelvariabel ini dapat dianggap sebagai suatu kumpulan yang bernama namaArray.
Contoh deklarasi array :
int [ ] umur;
int umur [ ];
Setelah mendeklarasikannya, kita perlu membentuk objek array dan menentukan panjangnya dengan menggunakan statement konstruktor. Dalam Java, proses ini dikenal dengan instantiation.
§ Cara menginisialisasi Array
Pertama, bersamaan dengan deklarasi variabel :
Contoh :
int [] deretBilangan = {1,2,3,4,5,6,7,8,9,10};
Kedua, dengan mengakses dan memberi nilai elemen satu persatu.
Caranya dengan menyebutkan nama array beserta indeksnya :
deretBilangan[0]; // menunjuk pada elemen pada array deretBilangan yang berindeks 0
Inisialisasi elemen satu persatu:
deretBilangan[0] = 1;
deretBilangan[1] = 2;
deretBilangan[9] = 10;
Ketiga, dengan bentuk perulangan agar lebih praktis
for(i = 0; i <>
{
deretBilangan[i] = i + 1;
}
§ Untuk dapat mengambil panjang array / jumlah elemen array yaitu dengan menggunakan properti length.
PanjangArray.java
Catatan : setiap array akan selalu dimulai dari indeks ke 0 sampai indeks ke n1, dimana n merupakan jumlah elemen array.
· Mendefinisikan Array
Setelah mendeklarasikan array, kita perlu mendefinisikan array, dalam arti menentukan besar array yang diinginkan. Misalnya dengan cara :
Bilangan = new int[5];
Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefinisikan. Setelah didefinisikan, maka variabel dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai indeks 4. Setelah pendefinisian array, maka memori akan dialokasikan untuk menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array yang didefinisikan.
· Pengaksesan sebuah elemen array
Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda harus menggunakan sebuah angka atau yang disebut sebagai indeks atau subscript. Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap nilai pada array apabila dibutuhkan.
Nilai indeks selalu dalam tipe integerdimulai dari angka nol dan dilanjutkan ke angka berikutnya sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulai dari 0 sampai dengan (ukuranArray-1). Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,
//memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
//mencetak elemen array yang terakhir
System.out.print(ages[99]);
Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu, apabila Anda menggunakan tipe data seperti String, array tidak akan diinisalisasi menjadi string kosong “”. Untuk itu Anda tetap harus membuat String array secara eksplisit. Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih pendek.
public class ArraySample{
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<100;>
System.out.print( ages[i] );
}
}
· Inisialisasi Variabel Array
Sintaks:
[] ;
Contoh:
int[] x;
int[] x = new int[10];
int[] x = new int[3];
x[0] = 1; [ ]
x[1] = 2;
x[2] = 3;
int[] x = {1, 2, 3};
Contoh Program :
import java.util.Arrays;
public class ContohArray
{
public static void main(String[] args)
{
int[] w = new int[10];
Arrays.fill(w, 1);
System.out.println("Banyak Elemen dalam Array w : "
+ w.length + " buah");
System.out.println("Elemen : ");
for(int i = 0; i <>
System.out.printf("%5d", w[i]);
System.out.println();
System.out.println();
int[] x = new int[3];
[0] 2 x[= 2;
x[1] = 3;
x[2] = 1;
System.out.println("Banyak Elemen dalam Array x : + x.length + " buah");
System.out.println("Elemen : ");
for(int 0; x length; i = i <>
System.out.printf("%5d", x[i]);
System.out.println();
System out println();
System.out.Arrays.sort(x);
System.out.println("Elemen setelah terurut : ");
for(int 0; x length; i = i <>
System.out.printf("%5d", x[i]);
System.out.println();
System out println();
System.out.
int[] y = new int[] {1, 2, 3, 4, 5};
System.out.println("Banyak Elemen dalam Array y : "
+ y.length + " buah");
System.out.println("Elemen : ");
for(int i : y)
System.out.printf("%5d", i);
System.out.println();
System.out.println(); y p ();
int[] z = {1, 2, 3, 4, 5, 6, 7};
System.out.println("Banyak Elemen dalam Array z : "
+ z.length + " buah");
System.out.println("Elemen : ");
for(int i : z)
System.out.printf("%5d", i);
System out println();
System.out.System.out.println();
}
}
· Array dan string ke Array String
Untuk melakukan konversi string ke array karakter, dapat menggunakan method to Char Array yang didefinisikan di kelas String String.
Sintaks: h[]Kstit ChA()char[] varKar = varString.toCharArray();
Untuk melakukan konversi string ke array string, dapat menggunakan method split.
sintaks: String[] varString = varString.split();
Contoh Program :
public class ContohKonversiString
{
public static void main(String[] args)
{
String teks = new String("Saya Sedang Belajar Bahasa
Pemrograman Java "); Java. );
char[] kar = teks.toCharArray();
for(char c : kar) System.out.printf("%2c", c);
System.out.println();
System.out.println();
String[] str = teks.split("[ .]");
for(String s : str) System.out.printf("%2s\n", s);
System.out.println();
System.out.println();
}
}

                      Array Dua Dimensi
      Pada java juga menyediakan fasilitas untuk membuat array dua dimensi yang dapat membantu dalam pemrograman apabila array datu dimensi tidak mencukupi dalam menghasilkan suatu solusi. Array dua dimensi sebenarnya adalah array yang berisi array.

·         Array Multidimensi
        Selain array satu dimensi dan array dua dimensi, dapat juga membuat array multi dimensi pada java. Array multidimensi merupakan array yang terdiri dari array yang tidak terbatas hanya dua dimensi saja. Kita dapat menggunakan kode berikut untuk mendapatkan array 3 dimensi :
Int [ ] [ ] array dimensi = new int [ 5 ] [ 10 ] [ 5 ] ;
  Dan pada array multidimensi , kita dapat menetukan ukuran array yang berbeda pada tiap array. Misalnya :
Int [ ] [ ] [ ] mdimensi = new int [ 5 ] [ ] [ ] ;
   Dari kode diatas, kita mendapatkan array pertama dengan 5 elemen, tetapi kita belum mendefinisikan ukuran array dimensi kedua dan ketiga.
Contoh ;
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
            Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi. Misalnya saja, untuk mengakses element pertama dari baris pertama didalam array dogs, kita akan menulis,

System.out.print( dogs[0][0] );

Kode diatas akan mencetak String “terry” di layar.

Contoh Program :
Buatlah flowchart dan program array satu dimensi dengan menggunakan inputan user ( min 6).
      Contoh :       1. nilai [0 ] = 12 ;
                              2. nilai [ 1] = 36 ;
                              3. nilai [ 2] = 45 ;
                                4. nilai [3] = 58 ;
                                5. nilai [ 4] = 93 ;
                                6. nilai [ 5] = 87 ;

Coding :
package tupen;
import javax.swing.JOptionPane;
public class Array3 {
public static void main(String []args){
         int n=Integer.parseInt(JOptionPane.showInputDialog("Berapa Jumlah data"));
         int[]angka=new int[n];
    // menggunakan perulangan for
        for (int i=0;i<angka.length;i++){</angka.length;i++){
        angka [i]=Integer.parseInt(JOptionPane.showInputDialog("Data ke - " + i+"?" ) );
        }
                //menggunakan perulangan while
        int a=0;
        while(a<angka.length){</angka.length){
       System.out.println("Nilai Index ke -"+ a +" Adalah = " +angka [a]);
        a++ ;
                                 }
                        }
}

Penyimpanan Memori

Memori adalah bagian dari komputer yang digunakan sebagai tempat menyimpan program dan data, sehingga merupakan salah satu komponen yang krusial dalam sebuah komputer. Memori seringkali disebut dengan istilah storage [1], namun berdasarkan pertimbangan fungsi dan sifat penyimpanannya, dalam modul ini storage akan lebih banyak ditujukan untuk memori eksternal (external memory). Sedangkan untuk memori internal—dengan pertimbangan banyaknya jenis dan fungsi yang kompleks, akan digunakan istilah aslinya seperti register (memori internal CPU), cache, dan sebagainya.
Sebelum mendalami tipe-tipe media penyimpanan dan teknologinya, terlebih dahulu kita harus mengetahui karakteristik dari sistem memori (tabel 1).
Tabel 1 Karakteristik Sistem Memori [1]
Dilihat dari lokasinya, memori dibedakan menjadi tiga, yaitu register, memori internal dan memori eksternal. Register berada di dalam chip prosesor, memori ini diakses langsung oleh prosesor untuk menjalankan operasinya. Register digunakan sebagai memori sementara dalam perhitungan maupun pengolahan data dalam prosesor.
Memori internal adalah memori yang berada di luar chip prosesor namun pengaksesannya dilakukan langsung oleh prosesor. Memori internal dibedakan menjadi memori utama dan cache memori. Memori eksternal dapat diakses oleh prosesor melalui piranti I/O, memori ini dapat berupa disk maupun pita.
Selain lokasi, modul pembelajaran ini juga memfokuskan pembagian memori berdasarkan tipe fisiknya, yaitu semikonduktor dan magnetik yang masing-masing akan dibahas pada subbab B dan C.
Perlu diketahui juga hirarki dari sistem memori komputer, dapat dilihat pada gambar berikut :
Gambar 1 Hirarki Memori [1]

Dari hirarki memori tersebut (gambar 1), dapat diperoleh sebuah analisis yang berkaitan dengan harga, kapasitas dan waktu akses dari masing-masing jenis memori. Hubungan antara ketiga aspek tersebut adalah:
·         Semakin kecil waktu akses, semakin besar harga per bitnya
·         Semakin besar kapasitas, semakin kecil harga per bitnya
·         Semakin besar kapasitas, semakin besar waktu aksesnya

Jika analisis ini dikaitkan dengan hirarki, maka semakin menurun harga per bit untuk satu jenis memori akan semakin menurun pula (misal bisa dibandingkan harga sebuah RAM dengan CD/DVD-ROM). Demikian halnya dengan frekuensi akses oleh CPU. Semakin lambat memori, maka keperluan CPU untuk mengaksesnya semakin sedikit karena waktu pengaksesannya semakin meningkat (akses ke cache lebih cepat dibandingkan dengan akses ke storage). Namun demikian, media penyimpanan pada tingkat terbawah memliki kapasitas yang paling besar.


Sumber :


Tidak ada komentar:

Posting Komentar

ACTIONSCRIPT

     ActionScript adalah bahasa pemrograman yang dibuat berdasarkan ECMA SCRIPT, yang digunakan dalam pengembangan situs web dan perangkat l...