SKA#2 Method | Java

This entry is part 4 of 12 in the series SK A Grade Mahasiswa

Contoh kasus A artikel ke-2 untuk bahasa pemrograman Java

Untuk memahami kode pada tahap ini, pastikan ada terlebih dahulu membaca artikel tentang method pada bahasa pemrograman java.

Kode sederhana pada contoh sebelumnya (artikel #1), tidak efisien jika kita harus menghitung lebih dari satu orang mahasiswa. Akan terjadi penulisan kode yang sama berulang-ulang untuk mengakomodasi lebih dari satu orang mahasiswa, baik untuk kalkulasi nilai akhir, maupun untuk konversi nilai akhir ke dalam grade nilai yang sesuai.

Selain itu, jika jumlah mahasiswa bertambah, struktur kode juga akan semakin terlihat rumit oleh banyaknya baris kode dalam satu method (main).

Contoh kode berikut menunjukkan cara yang lebih efisien, dengan memisahkan kode program yang khusus berfungsi untuk kalkulasi nilai akhir dan konversi nilai tersebut menjadi grade, dalam method yang terpisah.

Kalkulasi nilai akhir ditangani oleh method hitungNilaiAkhir dengan return type double (berisi nilai akhir), sedangkan konversi nilai akhir ke bentuk grade ditangani oleh method nilaiKeGrade dengan return type String (berisi grade)

package ska.gradecalc;

public class HitungGrade {
	public static void main(String[] args) {
		double nilaiAgus = hitungNilaiAkhir(80, 75, 30, 70);
		double nilaiRina = hitungNilaiAkhir(90, 95, 80, 80);
		
		System.out.println("Nilai akhir Agus adalah: "+nilaiAgus);
		System.out.println("Nilai akhir Rina adalah: "+nilaiRina);
		
		String gradeAgus = nilaiKeGrade(nilaiAgus);
		String gradeRina = nilaiKeGrade(nilaiRina);
		
		System.out.println("Grade yang didapat Agus: "+gradeAgus);
		System.out.println("Grade yang didapat Rina: "+gradeRina);
	}
	
	static double hitungNilaiAkhir(double nilaiHadir, double nilaiTugas, double nilaiUTS, double nilaiUAS) {
		double bobotHadir = 0.15;
		double bobotTugas = 0.25;
		double bobotUTS = 0.30;
		double bobotUAS = 0.30;
		
		double nilaiAkhir = bobotHadir * nilaiHadir 
				+ bobotTugas * nilaiTugas 
				+ bobotUTS * nilaiUTS
				+ bobotUAS * nilaiUAS;		
		return nilaiAkhir;
	}
	
	static String nilaiKeGrade(double nilaiAkhir) {
		String grade;
		if (nilaiAkhir >= 85) {
			grade = "A";
		}
		else if (nilaiAkhir >= 70) {
			grade = "B";
		}
		else if (nilaiAkhir >= 50) {
			grade = "C";
		}
		else if (nilaiAkhir >= 40) {
			grade = "D";
		}
		else {
			grade = "E";
		}
		return grade;
	}

}
Series Navigation<< SKA#1 Dasar | PythonSKA#2 Function | Python >>

You may also like...

7 Responses

  1. Raodatul Aini says:

    Maaf pak, masih kurang paham dengan return itu seperti apa?

    • Alza says:

      Return value adalah nilai yang dikembalikan sebuah method kepada kode yang memanggilnya. Coba baca dulu artikel di https://koding.alza.web.id/method-java/, kebetulan baru selesai saya buat.

      • Alza says:

        Insya Allah tidak sendirian, apalagi memang belum terbiasa belajar mandiri. Coba cek materi minggu sebelumnya yang sempat dibahas di kelas (SKA#1). Pastikan sudah paham semua baris kode. Jika ada baris yg tidak dipahami, langsung tanyakan di artikelnya.

  2. M. Arya Susilo says:

    Maaf sebelumnya pak,apa cuma saya aja ya sulit ngerti kalau lewat online gini..
    Gimana solusinya pak.

    Ini pembahasan yang kemarin kan pak.

    • Alza says:

      Insya Allah tidak sendirian, apalagi memang belum terbiasa belajar mandiri. Coba cek materi minggu sebelumnya yang sempat dibahas di kelas (SKA#1 https://koding.alza.web.id/ska1-java-satu-mahasiswa/). Pastikan sudah paham semua baris kode. Jika ada baris yg tidak dipahami, langsung tanyakan di artikelnya.

      • AYUBINSYAH ARG says:

        Pak apakah nama method nya bisa diganti dengan method yang lain?apakah hanya main saja methodnya?

        • Alza says:

          Nama method bisa apa saja. Method main() pada java adalah method khusus yang dieksekusi pertama kali saat program dijalankan. Kalau dikaitkan dengan contoh kode di atas, eksekusi program dimulai pada baris ke 4 (method main), kemudian di dalam method main sendiri ada dua method yang dipanggil, yakni hitungNilaiAkhir(pada baris 5 dan 6), dan nilaiKeGrade (pada baris 11 dan 12).

Berikan komentar