Makalah Array dan Contoh Programnya menggunakan C++

makalah array dan contoh programnya

Makalah array - struktur data

Assalamualaikum warahmatullahi wabarakatuh

hai sobat vandedjoel. kali ini saya akan membagikan sebuah makalah tentang array beserta contoh programnya menggunakan Dev C++. semoga bisa membantu teman - teman dan juga semoga bermanfaat. okelah langsung saja kita kepembahasan tentang makalahnya.

KATA PENGANTAR



Puji  syukur  kepada Tuhan yang  Maha Esa kiranya  telah diberikan  kesehatan dan pembelajaran  sehingga penyusunan makalah ini telah selesai berkat pertolongan Tuhan dan kerja keras.Dan kepada Bapak Dosen Algoritma saya mengucap syukur sebesar besarnya kiranya telah diberikan pelajaran algoritma hingga kami dapat berpikir dengan matang karena penyusunan makalah ini kami bias bekerja sama antara sesama mahasiswa hingga kami dapat berbagi ilmu.
            Semoga makalah  ini dapat berguna pada teman-teman  mahasiswa tanpa doa teman-teman mungkin makalah ini belum selesai.Saya berterima kasih atas bantuannya tanpa kalian mungkin makalah ini tidak selesai.
            Mungkin makalah ini jauh diatas sempurna, jadi kami mohon maaf  jika ada  kesalahan penulisan atau kurang berkenan dihati saudara kami mohon maaf atas kesalahan tersebut. Dan semoga makalah  ini membuat ilmu kita bertambah, kami berterimakasih kepada Bapak dosen  struktur data beserta teman-teman mahasiswa.









DAFTAR ISI



KATA PENGANTAR------------------------------------------------- 1

DAFTAR ISI------------------------------------------------------------- 2

 PENDAHULUAN

A.    Latar Belakang--------------------------------------------------- 3
B.     Maksud dan Tujuan------------------------------------------- 3
C.    Rumusan Masalah--------------------------------------------- 3
D.    Metode Penulisan---------------------------------------------- 3

PEMBAHASAN

1.      Pengertian-------------------------------------------------------- 4
2.      Karakteristik Array--------------------------------------------- 4
3.      Mengurutkan Elemen Array------------------------------- 8
4.      Keunggulan dan Kelemahan Array-------------------- 9

PENUTUP
1.      Kesimpulan----------------------------------------------------- 10
2.      Kritik  Dan Saran--------------------------------------------- 10

Contoh Program Array------------------------------------------- 11

DAFTAR PUSTAKA----------------------------------------------- 12









BAB I PENDAHULUAN


a.    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.

b.    Maksud dan Tujuan
     Maksud dan tujuan penulis dalam penyusunan  makalah ini sebagi penambah informasi bagi penulis yang di outputkan lewat tulisan 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.
c. Rumusan Masalah
Sesuai dengan mata kuliah ini “ Struktur Data ” untuk menambah ilmu pengetahuan  mahasiswa. Rumusan masalah dari materi Array ini sebagai berikut :
1.      Apa saja yang termasuk Materi dalam mata kuliah Array?
2.      Bagaimana penjelasan tentang materi Array ?

d.    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
ARRAY


1. PENGERTIAN
            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. KARAKTERISTIK ARRAY
   Mepunyai batasan dari pemesanan alokasi memori (bersifat statis)
   Mempunyai tipe data sama (bersifat homogen)
   Dapat diakses secara acak.

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. JENIS ARRAY

1.   ARRAY DIMENSI SATU
Deklarasi   : Type_Data Nama_Variabel [index]
Rumus untuk menentukan jumlah elemen dalam array adalah :
n
p(Index Array)
i = 1
ket:
p = 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




2.   ARRAY DIMENSI DUA
Deklarasi       : Type_Data Nama_Variabel [index1] [index2]
Menentukan jumlah elemen dalam array dimensi dua :
n
p(Index Array)
i = 1
ket:
p = 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.
3. 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.

CROSS SECTION (Penampang Array Berdimensi-2)
Adalah pengambilan salah satu subskrip.
Misal :            Baris   =          tetap/konstan
                        Kolom =         berubah-ubah (*)
Contoh :        B(*,4) =          semua elemen pada kolom ke-4.
                        B(2,*) =          semua elemen pada baris ke-2.
Pengertian cross-section pada array dimensi banyak, adalah sama seperti pada array dimensi dua.

Misal :
                           MHS(4,*,17) =  jumlah mahasiswa tingkat 4 dari perguruan tinggi 17 (masing-masing untuk ria dan wanita).
MHS(*,*, 3) =    jumlah mahasiswa untuk masing-masing tingkat, pria dan wanita, dari perguruan tinggi 3.

2.3. OPERASI DASAR PADA ARRAY
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung. Nilai
di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati
posisi-posisi lain.

Terdapat dua tipe operasi, yaitu :
   Operasi terhadap satu elemen / posisi dari array
   Operasi terhadap array sebagai keseluruhan

Dua operasi paling dasar terhadap satu elemen / posisi adalah
   Penyimpanan nilai elemen ke posisi tertentu di array
   Pengambilan nilai elemen dari posisi tertentu di array

Operasi-operasi dasar terhadap array secara keseluruhan adalah :
  Operasi penciptaan
  Operasi penghancuran
  Operasi pemrosesan traversal
  Operasi pencarian (table look-up)
  Operasi sorting


2.3.1. PENCIPTAAN DAN PENGHANCURAN
Operasi penciptaan biasa disebut inisialisasi. Operasi ini untuk mempersiapkan struktur data untuk operasi-operasi berikutnya. Operasi penghancuran menyatakan ketidak berlakuan struktur data atau membebaskan memory, menyerahkan memory ke manajemen memory agar dapat di pergunakan keperluan lain. Operasi penghancuran penting terutama bila struktur data di implementasikan secara dinamis menggunakan pointer.

2.3.2. PENYIMPANAN DAN PENGAMBILAN NILAI
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan pengambilan nilai elemen pada posisi tertentu di array.
Contoh :
A[10] = 78, berarti penyimpanan nilai 78 ke posisi ke-10 dari array A
C = A[10], berarti pengambilan nilai elemen posisi ke-10 dari array A

2.3.3. PEMROSESAN TRANSVERSAL
Operasi pemrosesan transversal adalah pemrosesan mengolah seluruh elemen secara sistematik.


2.3.4. PENCARIAN DI ARRAY (table look-up)
Pencarian di array (table look-up) adalah proses pencarian suatu nilai di array. Klasifikasi pencarian di array adalah :
1.      Pencarian sekuen (sequential searching),yaitu:
  Tanpa Boolean, terbagi:
a.       Tanpa sentinen
b.      Dengan sentinen
  Menggunakan boolean
2.      Pencarian secara biner / dikotom (binary = dichotomy searching).

2.4. 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.












3.  MENGURUTKAN ELEMEN ARRAY
Ada banyak sekali metode untuk mengurutkan data, antara lain Exchange Sort, Insertion Sort, Bubble Sort, dan masih banyak lagi.

3.1. Untuk metode Selection Sort langkah-langkahnya adalah sebagai berikut :
·         Proses 1: variabel indek diberi nilai 1 (data ke-1) kemudian data indek dibandingkan dengan data ke-2. Jika data indek lebih besar maka nilai indeknya diganti dengan 2 (data ke-2), jika tidak nilai indeknya tetap. Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar! Demikian s eterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek.
·          Pada proses 2: variabel indek diberi nilai 2 (data ke-2) kemudian data indek dibandingkan dengan data ke-3. Jika data indek lebih besar maka nilai indeknya diganti dengan 3 (data ke-3). Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar! Demikian s eterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek.
·          Demikian untuk proses selanjutnya dimana banyak prosesnya adalah jumlah elemen array dikurangi satu.

3.2. Metode Bubble Sort mempunyai langkah-langkah sebagai berikut :
·         Membandingkan data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data ditukar.
·         Kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar lagi.
·         Demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergeser-geser.
·         Untuk proses 2, pembandingan (pergeseran data) hanya sampai pada data terakhir dikurangi satu.


3.3.  Metode Insertion Sort mirip dengan cara orang mengurutkan kartu selembar demi selembar, kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Adapun langkah-langkahnya adalah sebagai berikut :
·         Pengurutan dimulai dari data ke-2 sampai dengan data terakhir.
·         Jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan (diinsert) diposisi yang seharusnya











4. KEUNGGULAN DAN KELEMAHAN ARRAY
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
3.    Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,
maka penggunaan penyimpanannya sangat efisien.
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
Bila penambahan dan pengurangan terjadi terus menerus, maka representasi statis (array):
1.      Tidak efisien dalam penggunaan memory
2.      Menyiakan banyak waktu komputasi
3.      Pada suatu aplikasi, representasi statis tidak di mungkinkan.












PENUTUP
    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).
Array (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data yang sama).  Bila akan didefinisikan sebagai tipe bentukan, maka array juga akan dideklarasikan di bagian definisi tipe (dibawah kata kunci tipe). Dalam bahasa pascal, pendeklaraasian array dilakukan dengan menggunakan kata kunci array dan tipe data yang akan disimpan di dalamnya, selain itu juga harus disertai dengan batas-batas indeksnya yang diapit oleh tanda bracket([]).
Array digunakan untuk mempermudah dalam penulisan syntax program pascal, array dapat menyimpan data sehingga bisa menyederhanakan dan mengefektifkan syntax pascal. Array dibedakan menjadi dua yaitu, Array Satu Dimensi dan Array Dua Dimensi. Setiap jenis array mempunyai kegunaannya masing-masing.

     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.










Contoh Program Array


makalah array dan contoh programnya

#include <iostream>
#include<conio.h>

using namespace std;


int main(int argc, char** argv) {

 int pilih;
 int arrayyy[10];


 cout << "\n\t\            created by irfan zulkarnaen siregar";
  cout << "\n\t\                     NIM : 15210033";
  cout << "\n\t\                   please visit my blog"; 
  cout << "\n\t\                 vandedjoel.blogspot.com";

 for(int a=0; a < 10; a++)
 {

  cout << "\nMasukkan index ke " << a << " : ";
   cin >> arrayyy[a];
  cout << "\nKeluaran Index ke "<< a <<" : " <<arrayyy[a] << "\n";
  
  
 }


 cout << "\n\n\kesimpulan : dari program diatas menurut saya mungkin array adalah jumlah ";
 cout << "\n\t\     total pengindeksan pada sebuah program yang dibuat.";
 cout << "\n\t\     contohnya di program ini saya membuat total arraynya 1o";
 cout << "\n\t\     (int array[10];) makanya total indeksnya ada 10 yakni dari indeks 0";
 cout << "\t\     sampai indeks 9. kalau saya buat arraynya 100 maka total indeksya";
 cout << "\n\t\     100 dan seterusnya.";
 cout << "\n\n\t\                            terima kasih";
 cout << "\n\t\                       mohon kritik dan sarannya"; 

getch () ;


Daftar Pustaka

Comments