Array Sebagai Parameter Method
Penggunaan Elemen Array Sebagai Aktual Parameter 1. public class MP2 { 2. public static void main(string[] args) { 3. int nilai=10; 4. int[] listnilai={7,1,5,3}; 5. System.out.println("Sebelum method1 " + nilai); 6. method1(nilai); 7. System.out.println("Setelah method1 " + nilai); 8. System.out.println("=======Contoh Elemen Array Sebagai Parameter Formal======="); 9. System.out.println("Sebelum method1 " + listnilai[3]); 10. method1(listnilai[3]); 11. System.out.println("Setelah method2 " + listnilai[3]); 12. } 13. public static void method1(int nilai) { 14. System.out.println("Method1: sebelum diubah :" + nilai); 15. nilai*=2; 16. System.out.println("Method1: setelah diubah :" + nilai); 17. } 18.} Variabel nilai bertype integer Variabel listnilai bertype array of integer, sudah diinisialisasi dengan 4 elemen Variabel nilai sebagai parameter aktual saat memanggil method1. (Mengapa benar) Parameter actual harus bertype sama dengan parameter formal-nya Saat di-run, bandingkan output yang dihasilkan oleh baris 5,6, dan 7. Apa pengaruhnya baris 15?
Penggunaan Elemen Array Sebagai Aktual Parameter 1. public class MP2 { 2. public static void main(string[] args) { 3. int nilai=10; 4. int[] listnilai={7,1,5,3}; 5. System.out.println("Sebelum method1 " + nilai); 6. method1(nilai); 7. System.out.println("Setelah method1 " + nilai); 8. System.out.println("=======Contoh Elemen Array Sebagai Parameter Formal======="); 9. System.out.println("Sebelum method1 " + listnilai[3]); 10. method1(listnilai[3]); 11. System.out.println("Setelah method2 " + listnilai[3]); 12. } 13. public static void method1(int nilai) { 14. System.out.println("Method1: sebelum diubah :" + nilai); 15. nilai*=2; 16. System.out.println("Method1: setelah diubah :" + nilai); 17. } 18.} Variabel listnilai bertype array of integer, sudah diinisialisasi dengan 4 elemen Elemen listnilai index 3 menjadi parameter aktual saat memanggil method1. (Mengapa benar) Parameter actual harus bertype sama dengan parameter formal-nya. Elemen index 3 ( listnilai[3]) bertype integer, sehingga dapat digunakan sebagai parameter actual method1. Saat di-run, bandingkan output yang dihasilkan oleh baris 9,10, dan 11. Apa pengaruhnya baris 15?
Penggunaan Elemen Array Sebagai Aktual Parameter Kesimpulan: Elemen array pada dasarnya seperti variabel atau nilai yang bertype bukan array. Jadi listnilai[3] adalah bertype integer, bukan array of integer Ketika elemen array di-passing-kan ke suatu method, maka passing nya adalah berupa nilai Perubahan yang ada di dalam method1 tidak mempengaruhi listnilai[3]
Penggunaan Array Sebagai Aktual Parameter 1. public class MP3 { 2. public static void main(string[] args) { 3. int nilai=10; 4. int[] listnilai={7,1,5,3}; 5. System.out.println("=======Contoh Elemen Array Sebagai Parameter Formal======="); 6. System.out.println("Sebelum method1 " + listnilai[3]); 7. method2(listnilai); 8. System.out.println("Setelah method2 " + listnilai[3]); 9. } 10. public static void method2(int[] nilai) { 11. System.out.println("Method1: sebelum diubah :" + nilai[3]); 12. nilai[3]*=2; 13. System.out.println("Method1: setelah diubah :" + nilai[3]); 14. } 15.} Saat di-run, bandingkan output yang dihasilkan oleh baris 6,7, dan 8. Apa pengaruhnya baris 12? Variabel listnilai bertype array of integer, sudah diinisialisasi dengan 4 elemen Variabel listnilai menjadi parameter aktual saat memanggil method2. (Mengapa benar) Parameter actual harus bertype sama dengan parameter formal-nya. listnilai[3] bertype array of integer, sehingga dapat digunakan sebagai parameter actual method2. Bagaimana scoupe of variabel untuk variabel listnilai? Apakah termasuk global atau local variabel?
Penggunaan Array Sebagai Aktual Parameter Kesimpulan: Array menyimpan lebih dari satu nilai. Perhatikan deklarasi : int [] listnilai; Saat menjadi parameter actual untuk method, sedangkan method tersebut parameter formalnya bertype array, maka tanda [] tidak dituliskan. Ketika type array di-passing-kan ke suatu method, maka passing nya berupa nilai refference-nya Perubahan yang ada di dalam method2 berpengaruh terhadap variabel listnilai pada method main
Tugas: Soal Buat sebuah program untuk memasukkan data nama dan nilai sejumlah mahasiswa kemudian menampilkan kembali data tersebut SECARA BERURUTAN DARI NILAI TERTINGGI KE NILAI TERENDAH Contoh keluaran: No Nama Nilai 1 Santo 10 2 Sinta 5 3 Santi 3 Rata-rata 6 Slide berikut ini petunjuk untuk mengerjakan tugas!
Tugas: Isi method yang harus dibuat Tuliskan kode java dengan isi sebagai berikut: method: public static void masukkandata(int [] nilai, String [] nama), untuk memasukkan nilai dan nama mahasiswa method: public static void tampilkandata(int [] nilai, String [] nama), untuk menampilkan nilai dan nama mahasiswa method: public static void urutkandata(int [] nilai, String [] nama), untuk mengurutkan data berdasarkan nilai method main yang harus berisi: Lanjut Slide berikutnya
public static void main(string [] args){ String[] nama; int[] nilai; Scanner input=new Scanner(System.in); int jumlah; print("jumlah data"); jumlah=input.nextint(); nama=new String[jumlah]; nilai=new int[jumlah]; } masukkandata(nilai, nama); println("data Sebelum diurutkan"); tampilkandata(nilai, nama); urutkandata(nilai, nama); println("data Setelah diurutkan"); tampilkandata(nilai, nama);