Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Mahasiswa { String nama, nim; public Mahasiswa(String nama, String nim) { this.nama = nama; this.nim = nim; } void tugas() { System.out.println("Mahasiswa " + nama + " sedang belajar mandiri."); } } // Mahasiswa S1 dengan tambahan nilai skripsi dan nama kelas class MahasiswaS1 extends Mahasiswa { int semester; double nilaiSkripsi; String namaKelas; public MahasiswaS1(String nama, String nim, int semester, double nilaiSkripsi, String namaKelas) { super(nama, nim); this.semester = semester; this.nilaiSkripsi = nilaiSkripsi; this.namaKelas = namaKelas; } @Override void tugas() { System.out.println("Mhs S1 " + nama + ", semester " + semester + " dari kelas " + namaKelas + " sedang mengerjakan skripsi dengan nilai " + nilaiSkripsi); } } class MahasiswaS2 extends Mahasiswa { String bidangStudi; public MahasiswaS2(String nama, String nim, String bidangStudi) { super(nama, nim); this.bidangStudi = bidangStudi; } @Override void tugas() { System.out.println(nama + " sedang mengerjakan tesis pada bidang " + bidangStudi); } } class MahasiswaS3 extends Mahasiswa { String promotor; public MahasiswaS3(String nama, String nim, String promotor) { super(nama, nim); this.promotor = promotor; } @Override void tugas() { System.out.println(nama + ", promotor " + promotor + ", sedang mengerjakan disertasi."); } } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List
daftarMahasiswa = new ArrayList<>(); System.out.print("Berapa jumlah mahasiswa yang ingin diinput? "); int jumlah = sc.nextInt(); sc.nextLine(); // bersihkan buffer for (int i = 1; i <= jumlah; i++) { System.out.println("\nData Mahasiswa ke-" + i); System.out.print("Nama: "); String nama = sc.nextLine(); System.out.print("NIM: "); String nim = sc.nextLine(); System.out.print("Jenjang (1=S1, 2=S2, 3=S3, lainnya=umum): "); int jenjang = sc.nextInt(); sc.nextLine(); // bersihkan buffer switch (jenjang) { case 1: System.out.print("Semester: "); int semester = sc.nextInt(); sc.nextLine(); System.out.print("Nama Kelas: "); String kelas = sc.nextLine(); System.out.print("Nilai Skripsi: "); double nilai = sc.nextDouble(); sc.nextLine(); daftarMahasiswa.add(new MahasiswaS1(nama, nim, semester, nilai, kelas)); break; case 2: System.out.print("Bidang Studi: "); String bidang = sc.nextLine(); daftarMahasiswa.add(new MahasiswaS2(nama, nim, bidang)); break; case 3: System.out.print("Nama Promotor: "); String promotor = sc.nextLine(); daftarMahasiswa.add(new MahasiswaS3(nama, nim, promotor)); break; default: daftarMahasiswa.add(new Mahasiswa(nama, nim)); } } // Cetak Report System.out.println("\n=== REPORT MAHASISWA ==="); for (Mahasiswa mhs : daftarMahasiswa) { mhs.tugas(); // polymorphism: method sesuai tipe objek } sc.close(); } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)