Error java pointer null

saya ingin mencetak array dari fungsi, dan menampilkan hasil errorException in thread "main" java.lang.NullPointerException

kodenya seperti ini

package tugas.oop.hewan1;

import tugas.oop.hewan1.Unggas;
import tugas.oop.hewan1.Reptil;
import tugas.oop.hewan1.Mamalia;
import tugas.oop.hewan1.Bebek;
import tugas.oop.hewan1.Ayam;
import tugas.oop.hewan.Hewan;
import tugas.oop.hewan1.Anjing;
import tugas.oop.hewan1.Kucing;
import tugas.oop.hewan1.Biawak;
import tugas.oop.hewan1.Ular;

public class MainApp {

public static void main(String[] args) {

		Hewan[] kumpulanHewan = new Hewan[600];
		Unggas[] kumpulanUnggas = new Unggas[200];
		Mamalia[] kumpulanMamalia = new Mamalia[200];
		Reptil[] kumpulanReptil = new Reptil[200];

		for (int i = 0; i < kumpulanHewan.length; i++) {

			if(i < 100) {
				Mamalia anjing = new Anjing("Bleki " + (i+1));
				kumpulanMamalia[i] = anjing;

			} else if (i >= 100 && i<200) {
				Mamalia kucing = new Kucing("Kepo " + ((i+1)-100));
				kumpulanMamalia[i] = kucing;

			} else if (i >= 200 && i<300) {
				Unggas ayam = new Ayam("Bangkok " + ((i+1)-200));
				kumpulanUnggas[i-200] = ayam;

			} else if (i >= 300 && i<400) {
				Unggas bebek = new Bebek("Gober " + ((i+1)-300));
				kumpulanUnggas[i-300] = bebek;

			} else if (i >= 400 && i<500) {
				Reptil biawak = new Biawak("Varanus " + ((i+1)-400));
				kumpulanReptil[i-400] = biawak;

			} else {
				Reptil ular = new Ular("Kobra " + ((i+1)-500));
				kumpulanReptil[i-500] = ular;
			}




		}
		printHewan(kumpulanMamalia);
		printHewan(kumpulanReptil);
		printHewan(kumpulanUnggas);


	}


	//Overloading -> nama functionnya boleh sama, tapi parameternya beda
	private static void printHewan(Mamalia[] kumpulanMamalia) {
		for(int i = 0; i < kumpulanMamalia.length; i++) {
			printHewan(kumpulanMamalia[i]);
		}
	}

	private static void printHewan(Mamalia kumpulanMamalia) {
		System.out.println("============");

		System.out.print(String.format("%s bersuara ", kumpulanMamalia.nama));
		kumpulanMamalia.bersuara();
		System.out.println(String.format("berjalan dengan %s",kumpulanMamalia.alatBerjalan));
		System.out.print(String.format("%s berordo ", kumpulanMamalia.nama));
		kumpulanMamalia.ordo();
	}

	//Overloading -> nama functionnya boleh sama, tapi parameternya beda
		private static void printHewan(Reptil[] kumpulanReptil) {
			for(int i = 0; i < kumpulanReptil.length; i++) {
				printHewan(kumpulanReptil[i]);
			}
		}

		private static void printHewan(Reptil kumpulanReptil) {
			System.out.println("============");

			System.out.print(String.format("%s bersuara ", kumpulanReptil.nama));
			kumpulanReptil.bersuara();
			System.out.println(String.format("berjalan dengan %s",kumpulanReptil.alatBerjalan));
			System.out.print(String.format("%s berordo ", kumpulanReptil.nama));
			kumpulanReptil.ordo();
		}

		//Overloading -> nama functionnya boleh sama, tapi parameternya beda
				private static void printHewan(Unggas[] kumpulanUnggas) {
					for(int i = 0; i < kumpulanUnggas.length; i++) {
						printHewan(kumpulanUnggas[i]);
					}
				}

				private static void printHewan(Unggas kumpulanUnggas) {
					System.out.println("============");

					System.out.print(String.format("%s bersuara ", kumpulanUnggas.nama));
					kumpulanUnggas.bersuara();
					System.out.println(String.format("berjalan dengan %s",kumpulanUnggas.alatBerjalan));
					System.out.print(String.format("%s berordo ", kumpulanUnggas.nama));
					kumpulanUnggas.ordo();
				}



}

pesan errornya Exception in thread "main" java.lang.NullPointerException at tugas.oop.hewan1.MainApp.printHewan(MainApp.java:90) at tugas.oop.hewan1.MainApp.printHewan(MainApp.java:83) at tugas.oop.hewan1.MainApp.main(MainApp.java:56)

avatar dhanis
@dhanis

9 Kontribusi 1 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

yang baris 90 yang mana? disitu ada tulisan error di baris MainApp.java:90

1 Jawaban:

Parameter nya belum di kasih nilai gan.

avatar ywai
@ywai

5 Kontribusi 1 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban