Assalamualaikum Wr. Wb

Kamis, 30 Oktober 2014

Makalah Struktur Data

KATA PENGANTAR

Puji Syukur kehadirat Tuhan Yang Maha Esa, karena atas berkat dan Rahmat-Nya. Kami dapat menyelesaikan Karya tulis ilmiah ini yang ditulis dalam bentuk makalah. Kami sangat berharap makalah ini dapat berguna dalam rangka menambah wawasan serta pengetahuan kita mengenai Array Dimensi Satu dan Array Dimensi Dua.
Pada kesempatan ini juga, penulis tidak lupa mengucapkan terimakasih yang sebesar-besarnya Kepada Yth:
1.   Ibu Rabiatul Adwiya, S.Kom, selaku Dosen mata kuliah Sturktur Data.
2.        Teman – teman kelas 2A.30 Amik Pontianak
Penulis menyadari bahwa dalam menyusun makalah ini masih banyak kekurangannya. Oleh karena itu kritik dan Saran yang bersifat membangun senantiasa penulis harapkan. Semoga makalah sederhana ini dapat dipahami bagi siapapun yang membacanya.






                                                                                                            Pontianak,      Juni 2014
           
                                                                                                              Penulis








DAFTAR ISI


Kata Pengantar …………………………………………………………………............1
Daftar Isi …………………………………………………………………………….....2
Bab I PENDAHULUAN
a.       Latar Belakang ……………………………………………………………….........3
b.      Rumusan Masalah ………………………………………………………………... 3
c.       Tujuan …………………………………………………………………….……… 3
d.      Manfaat ………………………………………………………………................... 3
e.       Metode Penulisan ………………………………………………….…………….. 3
Bab II PEMBAHASAN
a.       Pengertian Array ……………………………………………….………………4
b.      Karakteristik Array …………………………………………….………………….4
c.       Deklarasi Array …………………………………………….....…………………..4
d.      Array …………...………………………………………….....……………………5
e.       Contoh Program C++ …………………………………….....…………………… 9
Bab III KESIMPULAN DAN SARAN
a.       Kesimpulan ………………………………………….........……………………...11
b.      Saran …………………………………………………......……………………….11
Daftar Pustaka ………………………………………....……………………………..12
           








BAB I
PENDAHULUAN
A.                Latar Belakang
         Pemograman dalam struktur data ada beberapa macam. Salah satunya adalah pemograman C++. Dalam pemograman ini biasanya menggunakan variable Array, Struktur dan Linked List. Namun makalah  ini hanya membahas tentang Array dimensi satu dan array dimensi dua. Dimana Array ini sangat berbeda dengan struktur yang menggunakan tingkatan prosedur. Pemograman ini merupakan pemograman yang berbeda dari pemograman lainnya misalnya VB, Delphi atau Pascal namun perbedaan juga tidak begitu signifikan pada pemograman pascal.

B.                 Rumusan Masalah

  1.   Pengertian Array dan contoh-contoh programnya pada penggunaan program C++
  2.    Pengertian Struktur dan contoh-contoh programnya pada penggunaan program C++.

C.                 Tujuan

  1.  Untuk memenuhi nilai tugas dari dosen pada pada kuliah Struktur Data.
  2. Bisa menggunakan/menjalankan program C++ terutama pada Array dimensi satu dan array dimensi dua.

D.                Manfaat

  1.  Supaya kita mengerti atau mengetahui apa yang di maksud dengan Array dan beberapa contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan benar.
  2.  Mengetahui program C++ Array dimensi satu dan Array dimensi dua.

E.                 METODE PENULISAN
            Metode penulisan makalah ini adalah kajian yang berhubungan dengan browsing google yang sesuai topik yakni Array Dimensi Satu dan Array Dimensi Dua.


BAB II
PEMBAHASAN

A.    Pengertian Array
Array atau larik didefinisikan 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.

B.     Karakteristik Array
Ada tiga hal yang harus di ketahui untuk mengenal karakteristik Array, yaitu:

  1. Mepunyai batasan dari pemesanan alokasi memori (bersifat statis)
  2. Mempunyai tipe data sama (bersifat homogen)
  3. Dapat diakses secara acak.

C.     Deklarasi Array
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :

  1. Type data array
  2. Nama variable array
  3. Subkrip / index array.
Jenis-jenis Array:
·         Array Dimensi Satu (One Dimensional Array)
·         Array Dimensi Dua (Two Dimensional Array)
·         Array Dimensi Tiga (Thee Dimensional Array)

Contoh deklarasi dari array adalah sebagai berikut :
int A[5] : artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.




D.    Array
1.      Array Dimensi Satu
Dapat disebut juga dengan dengan istilah vektor yang menggambarkan data dalam suatu urusan.
Deklarasi : Type_Data Nama_Variabel [index]
Misalnya: int A[5];
  N
i = 1

Penggambaran secara logika:
  Elemen array

A[1]
A[2]
A[3]
A[4]
A[5]
0          1          2          3          4
 



Rumus untuk menentukan jumlah elemen dalam array adalah :
 = 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

Contoh soal:
Suatu array A dideklarasikan sebagai berikut:
Int A[5]; dengan alamat awal index berada di 0011(H) dan ukuran memory type data integer=2
Tentukan berapa alamat array A[3]?
Jawabannya:
Diket:@A[i]= A[3]                             Penyelesaian:
                 B= 0011(H)                        A[3] = 0011(H)+(3-1)*2
                 i = 3                                            = 0011(H)+4(D)
                 L = 2                                           = 0011(H)+4(H)
                                                                     = 0015(H)                          4 Desimal= 4 Hexa
0          1          2          3          4
A[1]
A[2]
A[3]
A[4]
A[5]
0011    0013    0015    0017    0019

2.      Array Dimensi Dua
Sering di gunakan dalam menterjemahkan matriks pada pemograman.
Deklarasi         : Type_Data Nama_Variabel [index1] [index2];
Contoh:
int A[3][2];

n
i = 1




Menentukan jumlah elemen dalam array dimensi dua :
 = Perkalian dari statemen sebelumnya(untuk array dimensi dua & tiga)
Contoh:
Suatu array x dideklarasikan sbb:
Int x[4][3]:
Maka jumlah elemen array dimensi dua tersebut adalah(4)*(3)=12



Pemetaan (Mapping) Array Dimensi Dua Ke Storage
Terbagi dua cara pandang (representasi) yang berbeda :
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.      
                                                                                                0            1






 Penggambaran secara logika                                             0
 Contoh : int M[3][2]: (array dengan 3 baris & 2 kolom)      1
                                                                                           2

Berdasarkan Cara pandang :
1.      Kolom Per Baris (Row Major Order / RMO)
M[0,0]
M[0,1]
M[1,0]
M[1,1]
M[2,0]
M[2,1]
    Jumlah elemen per baris = 2

2.      Baris Per Kolom (Coloumn Major Order / CMO)
M[0,0]
M[1,0]
M[2,0]
M[0,1]
M[1,1]
M[2,1]
    Jumlah elemen per kolom = 3

Contoh soal pementaan:
Suatu array x dideklarasikan sebagai berikut:
Float x[4][3],dengan alamat index x[0][0] berada di 0011(H) dengan ukuran type data float = 4,tentukan berapa array x[3][2].                                                  

Penyelesaian :
Secara Baris Per Baris (Row Major Oder / RMO)
          @M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L
            X[3][2] = 0011(H)  + {(3 – 1) * 3 + (2 – 1)} * 4
                       = 0011 (H)+ 28(D)                       1C(H)
                       = 0011(H)+ 1C (H)
                       = 002D(H)
Lanjutan Contoh Pemetaan :
Penyelesaian :
Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
          @M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
           X[3][2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} * 4
                     = 0011(H) + 24 (D)                   18 (H)
                     = 0011(H) + 18 (H)
                     = 0029(H)

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 pertama, elemen kedua,dan elemen ke-n.
  3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan penyimpanannya sangat efisien.
  4. Sebuah array dapat mempunyai elemen yang seluruhnya berupa integer atau character atau string bahkan dapat pula terjadi suatu array mempunyai elemen berupa array.

Kelemahan array adalah sebagai berikut :


  1. Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut :
  2. Array harus bertipe homogen mempunyai type data yang sama. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
  3. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis.
  4. Tidak efisien dalam penggunaan memori
  5. Menyiakan banyak waktu komputasi
  6. Pada suatu aplikasi, representasi statis tidak dimungkinkan


Contoh Program C++

1.         Array Dimensi Satu

#include<iostream.h>
#include<conio.h>
  main()
  {
       int data[5]; // array dengan 5 elemen bertipe integer
       int i;
       clrscr();
       cout<<"Input Data"<<endl; //entri 5 data
       for(i=0;i<=4;i++){
       cout<<"Data ke - "<<i<<": ";
       cin>>data[i];
       }
       cout<<"Cetak Data"<<endl; //tampilkan data setelah entri
       for(i=0;i <= 4;i++){
       cout<<"Data ke - "<<i<<":"<<data[i];
       }
   getch();
   return 0;
   }

Hasil Keluaran :





2.         Array Dimensi Dua
#include<iostream.h>
#include<conio.h>
main()
{
     int matrix[3][3];
     int i,j;
     for(i=0;i<=2;i++)
     {
         for(j=0;j<=2;j++)
     {
         cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : ";
         cin>>matrix[i][j];
      }
          cout<<endl;
      }
          for(i=0;i<=2;i++)
      {
          for(j=0;j<=2;j++)
      {
          cout<<matrix[i][j]<<" ";
       }
          cout<<endl;
       }
getch();
}

Hasil Keluaran :



BAB III
KESIMPULAN & SARAN

A.       Kesimpulan
        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 batasnya maka kita menggunakan Array (type data statis), namun apabila datanya belum kita ketahui batasnya maka gunakan pointer (type data dinamis).

B.        Saran  
        Bagi pembaca di harapkan mengamalkan ilmu yang di dapat setelah membaca makalah ini. Dan jika dalam makalah Kami ini terdapat kata – kata yang tidak berkenan di hati para pembaca Kami mohon maaf, kiranya kritik dan saran yang bersifat membangun sangat penulis butuhkan untuk kesempurnaan makalah ini ke depannya. Semoga makalah ini bermanfaat bagi pembaca sekalian, khususnya bagi diri penulis. Amin.
.

















DAFTAR PUSTAKA

Site www.interdoctor.com ©2003 Pediatric Cardiology Medical Group - East Bay, Inc. All Rights Reserved.http://heartcenter.seattlechildrens.org/what_to_expect/echocardiogram.aspEchocardiography
http://asecho.org/The American Society of Echocardiography
http://strukturdata18.blogspot.com.es/2013/05/makalah-struktur-dar.html
http://www.scribd.com/doc/24308575/Makalah
google.com_array_dimensi_satu_dan_dua

0 komentar: