Rabu, 27 April 2016

Makalah Array Function, pengertian, cara kerja dan contoh program

Makalah Array Function, pengertian, cara kerja dan contoh program


BAB I
DASAR TEORI
1.1. ARRAY / LARIK
Array merupakan bagian dasar pembentukan suatu struktur data yang lebih kompleks. Hampir setiap jenis struktur data kompleks dapat di sajikan secara logik oleh array.
Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Array digunakan untuk menyimpan data-data yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya banyak namun satu jenis.

Karaktersitik Array :
1. mempunyai batasan dari pemesanan alokasi memory (bersifat statis)
2. mempunyai type data sama (homogen)
3. dapat di akses secara acak.
4. berurutan (terstruktur)
Array Mempunyai Dimensi :
1.1.1.       Array Dimensi satu (vektor)
Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
Array satu dimensi juga disebut array dimensi satu atau biasa juga disebut Vektor karena hanya memiliki satu arah.

Deklarasi array satu dimensi :
tipe_data nama_var [ukuran_array]

Ket :
–type_data : menyatakan type elemen array misal int, char, float
–nama_var : nama variabel array
–ukuran : menyatakan jumlah maksimal elemen arraynya

1.1.2.  Array Dimensi banyak
 -  Dimensi dua (matrix / tabel )
 - Dimensi tiga (kubik)
Array multi dimensi berarti array yang kita deklasaikan dapat dikembangkan ke array dimensi 2 dan seteruanya. Array multi dimensi merupakan topik yang menarik dalam matematika. Setiap dimensi dalam array direpresentasikan sebagai sub bagian dalam array.
Oleh karena itu, array dua dimensi array memiliki dua sub bagian, sebuah array tiga-dimensi memiliki tiga sub bagian dan sebagainya. Sebuah contoh bentuk nyata yang baik dari array dua dimensi adalah sebuah papan catur. Satu dimensinya merupakan delapan baris, sedangkan dimensi lainnya merupakan delapan kolom.
Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah matriks atau bentuk grid. Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.
Array dua dimensi merupakan array yang terdiri dari M buah baris dan N buah kolom. Bentuknya dapat berupa matriks atau tabel.
Bentuk Umum :
Tipe_Data Nama_Variabel [index-1] [index-2]

1.2. FUNGSI/PROSEDURE
Function ( Fungsi ) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus. Pada intinya fungsi berguna untuk :
·         Mengurangi pengulangan penulisan program yang berulangan atau sama.
·         Program menjadi terstruktur, sehingga mudah dipahami dan dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.
Ø  Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut :
nama_fungsi(argumen)
            {
                        … pernyataan / perintah;
                        … pernyataan / perintah;
                        … pernyataan / perintah;
            }
Ø  Prototipe Fungsi
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :
·         Tipe keluaran fungsi.
·         Jumlah parameter.
·         Tipe dari masing-masing parameter.
Salah satu keuntungan pemakai prototipe, kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan menunjukkan kesalahan jika jumlah parameter dalam definisi dan saat pemanggilan berbeda.
Contoh prototipe fungsi :
float total ( float a, float b); (menggunakan titik koma)
Jika dalam penggunaan fungsi yang dideklarasikan dengan menggunakan prototipe, maka bentuk definisi harus diubah. Sebagai contoh pada pendefinisian berikut :
float total(a, b)
float a, y;
Bentuk pendefinisian diatas harus diubah menjadi bentuk modern pendefinisian fungsi :
float total(float a, float b) (Tidak menggunakan titik koma)
Ø  Parameter Fungsi
Terdapat dua macam para parameter fungsi, yaitu :
·         Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
·         Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.
Bentuk penulisan Parameter Formal dan Parameter Aktual.
ü  Pemanggilan dengan nilai ( Call by Value )
Pemanggilan dengan nilai merupakan cara yang dipakai untuk seluruh fungsi buatan yang telah dibahas didepan. Pada pemanggilan dengan nilai, nilai dari parameter aktual akan ditulis keparameter formal. Dengan cara ini nilai parameter aktual tidak bisa berubah, walaupun nilai parameter formal berubah.
ü  Pemanggilan dengan Referensi (Call by Reference)
Pemanggilan dengan reference merupakan upaya untuk melewatkan alamat dari suatu variabel kedalam fungsi. Cara ini dapat dipakai untuk mengubah isi suatu variabel diluar fungsi dengan melaksanakan pengubahan dilakukan didalam fungsi.
ü  Inline Function
Fungsi inline ( inline function ) digunakan untuk mempercepat proses program, terutama program-program yang menggunakan sering menggunakan fungsi, terutama program-program yang menggunakan pernyataan perulangan proses seperti for, while dan do – while. Inline function dideklarasikan dengan menyisipkan kata kunci inline didepan tipe data.
ü  Function Overloading
Function Overloading adalah mendefinisikan beberapa fungsi, sehingga memiliki nama yang sama. Dapat diartikan bahwa fungsi yang overload berarti menyediakan versi lain dari fungsi tersebut. Salah satu kelebihan dari C++ adalah Overloading. Sebagai contoh membentuk fungsi yang sama dengan tipe yang berbeda-beda dan dibuatkan pula nama fungsi yang berbedabeda pula.



BAB II
PRAKTIKUM PROGRAM
A.    PROGRAM ARRAY
1.      PROGRAM 1
#include <iostream>
using namespace std;
int main()   //fungsi utama//
{
    char kar[5];  //mendeklarasikan kar dengan array=5//
    int i;  //mendeklarasikan variabel i//
    kar[0]='A';         //array pertama di hitung mulai dengan 0 dengan nilai A//
    kar[1]='E';         //array kedua angka 1 dengan nilai E//
    kar[2]='I';          //array ketiga angka 2 dengan nilai I//
    kar[3]='U';         //array keempat angka 3 dengan nilai U//
    kar[4]='O';         //array kelima angka 4 dengan nilai O//
    for (i=0;i<5;i++)//perulangan yang mana i adalah array yang akan diulangi
    sebanyak 5 kali//
        cout<<kar[i]<<"\n";       //pemanggilan kar[i] yg merupakan output akhir
                               //yg mana [i] adalah kar[0] sampai kar[4] atau array//
    return 0;             //kembali ke awal//
}

2.      PROGRAM 2
#include <iostream>
using namespace std;
int main()   //fungsi utama//
{
    char kar[5];        //mendeklarasikan kar dengan array=5 //dengan array
yang dideklarasikan dibawah secara terpisah//
    int i;         //mendeklarasikan variabel i//
    kar[0]='A';         //array pertama di hitung mulai dengan 0 dengan nilai A//
    kar[1]='E';         //array kedua angka 1 dengan nilai E//
    kar[2]='I';          //array ketiga angka 2 dengan nilai I//
    kar[3]='U';         //array keempat angka 3 dengan nilai U//
    kar[4]='O';         //array kelima angka 4 dengan nilai O//
    for (i=0;i<5;i++)//perulangan yang mana i adalah array yang akan diulangi
    sebanyak 5 kali//
        cout<<kar[3]<<"\n";   //pemanggilan kar[3]yg merupakan output akhir//
                               //yg mana dalam program ini Cuma 1 dari 5 array yang
   dipilih yaitu array 3 dngan nilai U//
    return 0;             //kembali ke awal//
}

3.      PROGRAM 3
#include <iostream>
using namespace std;
int main()
{
    char kar[]={'A','E','I','U','O'}; //mendeklarasikan kar yang nilai arraynya
langsung di deklarasikan setelah kar[]=//
    int i;       //mendeklarasikan i dalam integer//
    for (i=0;i<5;i++)            //perulangan yang mana i adalah array yang akan
diulangi sebanyak 5 kali//
        cout<<kar[i]<<"\n";    //pemanggilan kar[i] yg merupakan output akhir
                               //yg mana [i] adalah kar[0] sampai kar[4] atau array//
    return 0;
}


4.      PROGRAM 4
#include <iostream>
using namespace std;
int main()
{
    char kar[]={'A','E','I','U','O'}; //mendeklarasikan kar yang nilai arraynya
langsung di deklarasikan setelah kar[]=//
    int i;       //mendeklarasikan i dalam integer//
    for (i=0;i<5;i++)            //perulangan yang mana i adalah array yang akan
diulangi sebanyak 5 kali//
        cout<<kar[4]<<"\n; //pemanggilan kar[4] yg merupakan output akhir
                               //yg mana dalam program ini Cuma 1 dari 5 array yang
dipilih yaitu array 4 dngan nilai O,karna array dimulai     dari 0//
    return 0;
}

5.      PROGRAM 5
#include <iostream>
using namespace std;
int main()   //fungsi utama//
{
    int data [] = {10,4,2,5,3,8,9,2,4,5,3}; //mendeklarasikan data bentuk array
berupa deretan angka//
    int i;  //mendeklarasikan i sebagai integer//
    int terbesar;       //mendeklarasikan variabel terbesar dalam bntuk integer//
    terbesar = data [0];        //mendefinisikan variabel terbesar adalah data
dengan array dimulai dari 0//
    for (i=i;i<10;i++)  //pengulangan(for)mengulangi eksekusi program sesuai
dengan bnyak yang diperintah//
        if (data[i]>terbesar)  //menggunakan struktur pemilihan agar bisa
menentukan bilangan yang terbesar//
            terbesar = data [i]; //mendefinisikan kembali variabel terbesar adalah
data dengan array i, dimana i adalah    deretan angka2 pada deklarasi array diatas//
    cout<<"terbesar = "<<terbesar<<"\n"; //pemanggilan angka terbesar
dengan memanggil variabel terbesar//
    return 0;
}

6.      PROGRAM 6
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
    string negara [5] [2]; //deklarasi negara dengan 2 array maka digunakan
string, array nya 5 dan 2//
    int baris;            //mendeklarasikan variabel baris//
    negara[0][0]= "INDONESIA"; //memasukkan array 0 0 yaitu indonesia//
    negara[0][1]= "JAKARTA";//memasukkan array 0 1 yaitu jakaarta//
    negara[1][0]= "PILIPINA";//memasukkan array 1 0 yaitu pilipina//
    negara[1][1]= "MANILA";//memasukkan array 1 1 yaitu manila//
    negara[2][0]= "AUSTRIA";//memasukkan array 2 0 yaitu austria//
    negara[2][1]= "VIENA";//memasukkan array 2 1 yaitu viena//
    negara[3][0]= "USA";//memasukkan array 3 0 yaitu usa//
    negara[3][1]= "DC";//memasukkan array 3 1 yaitu dc//
    negara[4][0]= "MALAYSIA";//memasukkan array 4 0 yaitu malaysia//
    negara[4][1]= "KUALA";//memasukkan array 4 1 yaitu kuala//
//dimana array pertama untuk nama negara array kedua nama ibukota nya//
    for (baris=0;baris<5;baris++) //perulangan baris yang berisi nama negara
dan ibukotanya//
    cout<<negara [baris][0] <<"   "<<negara [baris][1]<<"\n";
//output dan pemanggilan negara baris [0] yang mana array pertama(negara) dengan pemanggilan negara baris [1] yang merupakan array kedua//
    return 0;
}

7.      PROGRAM 7
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
double keliling (double panjang, double lebar) //deklarasi variabel keliling
yang berisi panjang dan lebar//
{
    double keliling; //deklarasi keliling //
    keliling = 2*(panjang+lebar);    //rumus keliling yang akan di eksekusi//
    return keliling;
}
int main() //fungsi utama//
{
    double k, panjang, lebar; //deklarasi variabel k,panjang dan lebar//
    panjang = 56.4;
    lebar = 2;
    k = keliling(panjang, lebar); //pemanggilan kembali fungsi yang di
definisikan sebagai keliling yang berisi panjang dan lebar//
    cout<<"keliling : "<<k; //pemanggilan hasil akhir//
    return 0;
}

B.     PROGRAM FUNGSI

8.      PROGRAM 8
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
void garis() //mendefinisikan fungsi untuk membentuk garis//
{
    cout<<"==================================="<<endl; //output
yang berupa garis//
}
int main() //fungsi utama//
{
    garis();   //pemanggilan fungsi awal//
    cout<<"MY NAME IS ARY IRFANDI"<<endl;//output yang akan  keluar
    garis();//pemanggilan fungsi awal yang berupa garis //
    getchar();
}

9.      PROGRAM 9
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
void DT() //mendefinisikan fungsi sebagai DT(data mhs)//
{
    string nama[4]; //mendeklarasikan nama dengan array [4]//
    int indeks; //mendeklarasikan indeks dalam integer//
    for (indeks=0;indeks<=3;indeks++) //perulangan, yg mana yg diulang
adalah indeks//
    {
        cout<<"masukkan nama mahasiswa = "; cin>>nama[indeks]; //inputkan
nama mahasiswa dengan banyak sesuai perintah perulangan//
    }
    cout<<"daftar nama mahasiswa \n";
    cout<<"No   | nama mahasiswa \n"<<endl;
    for(indeks=0;indeks<=3;indeks++) //perulangan kembali yaitu
pemanggilan data yang diinput dengan banyak sesuai perulangan dengan output setelah yang diatas//
    {
        cout<<indeks+1<<"   "<<nama[indeks]<<endl;
 //pemanggilan indeks+1 dengan maksud dimulai dari 1 dan tiap diulang ditambah 1, kemudian pemanggilan spasi agar no dengan namany tidak dempet(bisa juga pakai setw) kemudian pemanggilan nama array indeks//
    }
}
int main()
{
    DT(); //pemanggilan kembali fungsi diatas yang mana telah lengkap yang
akan ditampilkan di output//
    return 0;
}

10.  PROGRAM TAMBAHAN (Cari Sendiri)
#include<iostream>
using namespace std;
void volume_limas() //mendefinisikan fungsi sebagai volume_limas//
{
double p, l, t; //deklarasi panjang, lebar,tinggi//
cout<<"Volume limas Segi Empat"<<endl;
cout<<"Masukkan panjang: ";
cin>>p;
cout<<"Masukkan lebar: ";
cin>>l;
cout<<"Masukkan tinggi: ";
cin>>t;
cout<<"Volume limas segi empat: "<<p*l*t/3<<endl; //hasil disertai rumus
volume limas//
}

void volume_kerucut() //mendefinisikan fungsi sebagai volume_kerucut//
{
double r, t; //deklarasi jari2 dengan tinggi dalam bntuk double//
cout<<"Volume kerucut"<<endl;
cout<<"Masukkan jari2: ";
cin>>r;
cout<<"Masukkan t: ";
cin>>t;
cout<<"Volume kerucut: "<<3.14*r*r*t/3<<endl; //hasildan rumus vol
kerucut//
}

void volume_bola()           //mendefinisikan fungsi sebagai volume_bola//
{
double r;    //deklarasi jari2 dalam bntuk double//
cout<<"Volume bola"<<endl;
cout<<"Masukkan nilai r= ";
cin>>r;
cout<<"Volume bola= "<<4*3.14*r*r*r/3<<endl; //hasildan rumus vol bola//
}

int main()   //fungsi utama;
{
volume_limas(); //pemanggilan kembali fungsi yg didefinisikan volume
limas diatas//
volume_kerucut();//pemanggilan kembali fungsi yg didefinisikan volume
kerucut diatas//
volume_bola();//pemanggilan kembali fungsi yg didefinisikan volume
bola diatas//
return 0;
}








BAB III
KESIMPULAN
Berdasarkan materi mata kuliah alpro hari kamis 14 januari 2016 yang dirangkum dalam laporan praktikum ini, dapat disimpulkan :
Ø  Array merupakan bagian dasar pembentukan suatu struktur data yang lebih kompleks. Array juga merupakan suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
Ø  Function ( Fungsi ) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus.
Ø  Pada intinya fungsi berguna untuk :
a.       Mengurangi pengulangan penulisan program yang berulangan atau sama.
b.      Program menjadi terstruktur, sehingga mudah dipahami dan dikembangkan.
Ø  Dapat diketahui dari program awal bahwa array lebih bisa menghemat memori dan meringankan kerja komputer.
Ø  Array bisa berbentuk 1 dimensi maupun multi dimensi.
Ø  Program no 6 adalah salah satu bentuk array 2 dimensi yang menunjukkan negara beserta ibukotanya.
Ø  Pada program no 6 juga bisa menggunakan setw untuk memberi jarak antara negara dan ibukota atau array pertama dan array kedua.



DAFTAR PUSTAKA
Agusta , Andi pengertian prosedur dan fungsi dalam C++, diambil kamis 14 januari 2016 link : http://andiagusta.blogspot.co.id/2014/01/pengertian-prosedur-dan-fungsi-adalah.html.
Mr.Dark Wizard, array pada C++, diambil kamis 14 januari 2016 link : http://darkzone7.blogspot.co.id/2013/04/array-pada-c.html.
Prawisata, angan array pada c++, diambil pada 14 januari 2016 link : https://wistaprawista.wordpress.com/materi/algoritma-dan-struktur-data/array-pada-c/.
Suhardi,ardi, modul ajar teori array pada c++, diambil 14 januari 2016 link : http://dokumen.tips/search/?q=Modul+ajar+teori+Array+pada+C%2B%2B.