Thursday, August 27, 2015

Laporan praktikum algoritma dan pemrograman java Pertemuan ke-12

PERTEMUAN-12
METHOD DENGAN PARAMETER

1. TUJUAN
Dapat memahami tentang pengertian sub program dan dapat membuat sub program sederhana dengan parameter.

2. TEORI SINGKAT
Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau prosedur) adalah sub program yang membiarkan seorang programer untuk membagi program dengan membagi masalah ke dalam beberapa sub masalah yang bisa diselesaikan secara modular. Dengan cara demikian, maka pembuatan program bisa lebih dimanajemen.


Contoh :

Hasil Output



Parameter pada baris kedua disebut sebagai parameter formal, dan pada baris ke 8 disebut parameter aktual.




Ada 2 buah parameter yaitu
parameter formal adalah parameter yang tertulis dalam definisi method
Parameter  aktual parameter yang berada pada inputan langsung pada saat penggunaan method tersebut.
Parameter bisa lebih dari satu dengan dipisahkan tanda koma,. Yang perlu diperhatikan pada saat pemanggilan method adalah jumlah, urutan dan tipe parameter aktual harus sesuai dengan jumlah urutan dan tipe parameter formal.
Pemberian Variabel Dalam Method
Ada dua tipe data variable passing pada method, yaitu pass-by-value dan pass-by-reference.
Pass-by-value
Ketika pass-by-value terjadi, method membuat sebuah salinan dari nilai variable yang dikirimkan ke mthod. Walaupun demikian method tidak dapat secara langsung memodifikasi nilai variable pengirimnya meskipun parameter salinannya sudah dimodifikasi nilainya di dalam method.
Pass-by-reference
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variable dilewatkan pada saat pemanggilan method. Ini tidak seperti pada pass-by-value, method dapat memodifikasi variable asli dengan menggunakan alamat memori tersebut, meskipun berbeda nama variable yang digunakan dalam method dengan variable aslinya, kedua variable ini menunjukkan lokasi dari data yang sama.


3. PELAKSANAAN PRAKTIKUM



Outpunya adalah sebagai berikut



Listing terlampir

Penjelasan

Public class Fungsi4a merupakan nama kelas dari program tersebut, jika disimpang nama file harus sama dengan nama kelasnya.
public static int jumlah(int a); adalah sifat yang bertipe integer dan nama method, yakni method jumlah dengan sifat static yang parameter formalnya adalah int a.
return(a+b); merupakan rumus penjumlahan variabel a dan b, return digunakan untuk menghentikan perintah agar tidak dilanjutkan keperintah lannya.
public static void main(String args[]) mengindikasikan nama suatu method dalam class yang bertindak sebagai method utama.
System.out.print("Paanggil method jumlah dengan parameter 5 = "); merupakan perintah untuk menampilkan "Paanggil method jumlah dengan parameter 5 = “
System.out.println(jumlah (5)); merupakan perintah untuk menampilkan hasil dari method jumlah yang telah didefinikan dalam dalam return (a+a) sehingga akan menampilkan 5+5 yaitu 10
System.out.print("Paanggil method jumlah dengan parameter 15 = "); merupakan perintah untuk menampilkan "Paanggil method jumlah dengan parameter 15 = “
System.out.println(jumlah (15)); merupakan perintah untuk menampilkan hasil dari method jumlah yang telah didefinikan dalam dalam return (a+a) sehingga akan menampilkan1 5+15 yaitu 30

Outputnya :



Listing terlampir


Pada program diatas kita memanggil method tes dan melewatkan nilai variable i sebagai parameter. Nilai pada i disalinkan ke variable j pada method. Pada kondisi ini variable j merupakan variable pengganti pada method test, jika nilai j  berubah maka nilai pada variable i yang terletak pada main tidak akan ikut berubah walaupun awalnya variable j merupakan salinan dari variable i.


class TestPassByReference
{
public static void main(String args [])
{
    //membuat array integer
    int [] ages = {10,11,12};

    //mencetak nilai array
    for (int i=0;i<ages.length;i++)
    {
      System.out.println(ages[i]);
    }
    test (ages);
    for (int i=0;i<ages.length;i++)
    {
    System.out.println(ages [i]);
    }
    }
    public static void test (int [] arr)
    {
    //merubah nilai array
    for (int i=0;i<arr.length;i++)
    {
    arr[i] = i+50;
    }
}
}

Outputnya sebagai berikut:


Listing terlampir

Penjelasan
class TestPassByReference merupakan nama kelas dari program diatas yang nama file-nya juga harus sama dengan nama kelasnya. Program diatas hanya dapat di akses oleh kelas itu sendiri karena tidak mengandung public.
public static void main(String args[]) mengindikasikan nama suatu method dalam class yang bertindak sebagai method utama.
//membuat array integer merupakan kometan dari program
int [] ages = {10,11,12};adalah nilai integer yang diberikan kepada array ages
for (int i=0;i<ages.length;i++)merupakan perulangan for dari nilai i dengan bertipe integer. i=0 artinya indeks i dimulai dari 0 dan i lebih kecil dari panjang array yaitu 3, i++ artinya i akan bertambah hingga panjang array yang diberikan.
System.out.println(ages[i]);merupakan perintah untuk manampilkan array ages pada varibel i.
test (ages);adalah perintah untuk memanggil array ages supaya bisa ditampilkan pada perintah selanjutnya.
public static void test (int [] arr) adalah sifat yang bertipe integer dan nama method, yakni method test dengan sifat static dan array bertipe integer.
arr[i] = i+50;merupakan indeks array dari i yang akan ditambahkan dengan 50.


Outputnya:



Penjelasan sama dengan Fungsi3a pada program diatas, yang perbedaannya pada program ini mengunakan nilai atau value.

4. TUGAS
Buatlah sebuah method yang digunakan untuk menghasilkan nilai paling kecil dari tiga bilangan yang dimasukkan sebagai parameter.



Outputnya sebagai berikut:





KESIMPULAN

        Pada program-program diatas dapat disimpulkan bahwa pada Method Tanpa Parameter, method hanya diberi tanda kurung buka dan tutup atau parameternya tidak diketahui dalam methodnya. Tetapi diberikan pada varibelnya. Dan pada Method dengan parameter  methodnya didefinisikan dalam parameter-parameternya tetapi programnya agak lebih panjang dari method tanpa parameter karena mempunyai parameter formal dan parameter aktual.

No comments:

Post a Comment