PESAN


counters

Minggu, 16 Juni 2013

Makalah Struktur Data Array

BAB I
PENDAHULUAN
1.1       LATAR BELAKANG
Dengan adanya kemajuan Tekhnologi di dunia ini akal pikiran manusia semakin mahir dalam menciptakan sesuatu yang bermanfaat bagi kehidupan mereka, salah satunya dalam pembuatan program – program yang sangat membantu mereka dalam menyelesaikan pekerjaan mereka dengan cepat, baik dan memuaskan.
Maka dari itu penulis menyusun makalah mengenai array, queue, record dan stack merupakan salah satu bagian dari kemajuan zaman yang betul betul terlihat manfaatnya.
Array bisa juga disebut sebagai salah satu program yang terlahir dari dunia tekhnologi lewat pola pikir manusia yang bermanfaat untuk menyelesaikan suatu penghitungan.

1.2       MAKSUD DAN TUJUAN
Maksud dan tujuan penulis dalam penyusunan  makalah ini sebagi penambah informasi bagi penulis yang di outputkan lewat tulisan yang terdapat pada makalah ini dan berharap penulis memberikan informasi dipenyusunan  makalah  ini yang isinya tentang array yang sangat jelas  bagi pembaca. Dengan  mengetahui tentang array  maka penulis maupun pembaca dapat menambah pengetahuan ilmu yang menyangkut dalam dunia tekhnologi pemograman.

1.3       RUMUSAN MASALAH
Sesuai dengan mata kuliah ini “ Struktur Data ” untuk menambah ilmu pengetahuan  mahasiswa. Rumusan masalah dari materi Array ini sebagai berikut :
·         Apa saja yang termasuk Materi dalam mata kuliah Array?
·         Bagaimana penjelasan tentang materi Array ?

1.4       METODE PENULISAN
Metode penulisan untuk pembuatan makalah ini penulis menggunakan metode informasi yang diambil atau didapat dari internet dan sedikit metode pengetahuan penulis yang didapat dari pembelajaran penulis dalam ruang lingkup perkuliahan.




BAB II
PEMBAHASAN

2.1       PENGERTIAN ARRAY
Array atau larik di definisikan sebagai pemesanan alokasi memory berurutan.definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya. Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu demikian.
Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.
2.2       KARAKTERISTIK ARRAY
·         Mempunyai batasan dari pemesanan alokasi memori (bersifat statis).
·         Mempunyai tipe data sama (bersifat homogen).
·         Dapat diakses secara acak.
2.2.1    DEKLARASI ARRAY
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :
·         Type data array
·         Nama variable array
·         Subkrip / index array.
Contoh deklarasi dari array adalah sebagai berikut :
int A[5] ; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.
2.2.2    JENIS ARRAY
A.      ARRAY DIMENSI SATU
Deklarasi     : Type_Data Nama_Variabel [index]
Rumus untuk menentukan jumlah elemen dalam array adalah :
n
(Index Array)
i = 1


Ket:
·         = Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga).
Pemetaan (mapping) array dimensi satu ke storage
Rumus             :  @A[i] = B + (i – 1) * L
Dimana            :           @A[i]              :  Posisi array yang dicari
B                     :  Posisi awal index di memori computer
i                       :  Subkrip atau index array yang di cari
L                      :  Ukuran atau besar memori suatu tipe data
B.     ARRAY DIMENSI DUA
Deklarasi     : Type_Data Nama_Variabel [index1] [index2]
Menentukan jumlah elemen dalam array dimensi dua :
n
(Index Array)
i = 1
Ket:
·         = Perkalian dari statemen sebelumnya
Pemetaan (mapping) array dimensi dua ke storage terbagi dua cara pandang (representasi) yang berbeda yaitu :
1)      Secara kolom per kolom (coloumn major order / CMO)
@M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L
2)      Secara baris per baris (row major order / RMO)
@M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L
Keterangan      :
@M[i][j] = Posisi array yang di cari, M[0][0 = Posisi alamat awal index array, i = Baris, j = Kolom, L = Ukuran memory type data, K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris.
C.      ARRAY DIMENSI TIGA
Adalah suatu array yang setiap elemennya merupakan tipe data array juga yang merupakan array dimensi dua.
Contoh :
Penyajian data mengenai banyaknya mahasiswa dari 20 perguruan tinggi di Jakarta, berdasarkan tingkat (1 sampai 5), dan jenis kelamin (pria atau wanita). Misalkan array tersebut dinamakan MHS. Ambil subskrip pertama, tingkat = 1, 2, ..., 5; subskrip kedua, jenis kelamin (pria = 1, wanita = 2), dan subskrip ketiga, perguruan tinggi adalah K = 1, 2, ..., 20. Jadi MHS(4,2,17) menyatakan jumlah mahasiswa tingkat 4, wanita, dari perguruan tinggi 17.
2.3       PENGURUTAN ARRAY
Pengurutan atau sorting adalah proses yang paling sering di lakukan dalam pengolahan data.pengurutan di bedakan menjadi dua, yaitu :
a.       Pengurutan internal
Pengurutan dilakukan terhadap sekumpulan data di media memory internal komputer dimana data dapat di akses elemennya secara langsung.
b.      Pengurutan eksternal
Pengurutan data di memory sekunder. Biasanya data bervolume besar sehingga tidak mampu dimuat semuanya di memori utama.
2.4       KEUNGGULAN DAN KELEMAHAN ARRAY
A. Keunggulan array adalah sebagai berikut :
1.      Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
2.      Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-
elemen tetangga, baik elemen pendahulu atau elemen penerus 3.
  1. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan penyimpanannya sangat efisien.
B. Kelemahan array adalah sebagai berikut :
Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi  karena array mempunyai batasan sebagai berikut :
1.      Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen
adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain.
2.      Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit
diubah ukurannya di waktu eksekusi.
Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis :
·         Tidak efisien dalam penggunaan memori.
·         Menyiakan banyak waktu komputasi.
·         Pada suatu aplikasi, representasi statis tidak dimungkinkan.


2.5              CONTOH ARRAY PENJUMLAHAN DAN PENGURANGAN DALAM PROGRAM C++
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
//deklarasi
    int matrixa[3][3],matrixb[3][3],matrixc[3][3];
   int i,j;
   char opr;
//input nilai matriks ke-1 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(1) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixa[i][j];
   }
   cout<<endl;
   }
//output matriks ke-1
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixa[i][j]<<"\t";
   }
   cout<<endl;
   }
//input nilai matriks ke-2 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(2) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixb[i][j];
   }
   cout<<endl;
   }
//output matriks ke-2
   cout<<endl;
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixb[i][j]<<"\t";
   }
   cout<<endl;
   }
//Input Operator
   cout<<"Pilih Operator +,- :";cin>>opr;
//switching operator
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   switch(opr){
       case '+' : matrixc[i][j] = matrixa[i][j] + matrixb[i][j];
      break;
      case '-' : matrixc[i][j] = matrixa[i][j] - matrixb[i][j];
      break;
      default:
      cout<<"keyword yang anda masukkan salah/tidak terdaftar";
   }
//Output Hasil matriks dari Operator
   cout<<matrixc[i][j]<<"\t";
   }
   cout<<endl;
   }
getch();
return 0;
}
BAB III
PENUTUP
3.1       KESIMPULAN
Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian struktur data yang tepat di dalam proses pemrograman, akan menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana.
Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara pada komputer. Apabila kita membuat program dengan data yang sudah kita ketahui batasnyamaka kita menggunakan Array (type data statis), namun apabila datanya belum kita ketahui batasnya maka gunakan pointer (type data dinamis).

3.2       KRITIK DAN SARAN
Penulis menyadari tentang penyusunan makalah, tentu masih banyak kesalahan dan kekurangannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini.
Penulis banyak berharap para pembaca yang budiman memberikan kritik dan saran yang membangun kepada penulis demi sempurnanya makalah ini dan dan penulisan makalah di kesempatan-kesempatan berikutnya. Semoga makalah ini berguna bagi penulis pada khususnya juga para pembaca yang budiman pada umumnya.



DAFTAR PUSTAKA

2.      www.wikipedia.org
3.      www.ilmukomputer.com



3 komentar: