Dikarenakan keperluan tugas dan untuk memenuhi nilai, postingan kali ini adalah tentang bagaimana cara membuat buku alamat yang menampung 100 record. Dalam class yang kita buat, kadangkala kita menginginkan untuk membuat method dengan nama yang sama namun mempunyai fungsi yang berbeda menurut parameter yang digunakan. Kemampuan ini dimungkinkan dalam pemrograman Java, dan dikenal sebagai overloading method. Overloading method mengijinkan sebuah method dengan nama yang sama namun memiliki parameter yang berbeda sehingga mempunyai implementasi dan return value yang berbeda pula. Daripada memberikan nama yang berbeda pada setiap pembuatan method, overloading method dapat digunakan pada operasi yang sama namun berbeda dalam implementasinya. Sebagai contoh, pada class StudentRecord kita menginginkan sebuah method yang akan menampilkan informasi tentang siswa. Namun kita juga menginginkan operasi penampilan data tersebut menghasilkan output yang berbeda menurut parameter yang digunakan. Jika pada saat kita memberikan sebuah parameter berupa string, hasil yang ditampilkan adalah nama, alamat dan umur dari siswa, sedang pada saat kita memberikan 3 nilai dengan tipe double, kita menginginkan method tersebut untuk menampilkan nama dan nilai dari siswa. Untuk mendapatkan hasil yang sesuai, kita gunakan overloading method di dalam deklarasi class StudentRecord. Sebagai contohnya berikut ini terdapat sebuah soal pembuatan program dimana,
Diharuskan membuat sebuah class buku alamat yang dapat menampung 100 data. Gunakan class yang telah dibuat pada nomor pertama. Anda harus diimplementasikan method berikut pada buku alamat :
1. Memasukkan data
2. Menghapus data
3. Menampilkan seluruh data
4. Update data
Berikut adalah kodingan dari buku menu yang akan kita buat :
1. Pertama-tama kita akan membuat menu pilihan yang dapat dipilih oleh user.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class StudentMenu
{
public static void main( String[] args ){
StudentRecord namaRecord = new StudentRecord();
BufferedReader dataIn=new BufferedReader(new InputStreamReader(System.in));
String [] nama =new String[100];
String [] alamat =new String[100];
String [] telp =new String[100];
String [] email =new String[100];
String PIL="";
String n="";
String yatidak="";
int no;
int jumlah=0;
do {
try {
System.out.println("************* MENU ************");
System.out.println("** 1. MEMASUKAN DATA **");
System.out.println("** 2. MENGHAPUS DATA **");
System.out.println("** 3. MENAMPILKAN DATA **");
System.out.println("** 4. MENGUBAH DATA **");
System.out.println("** 5. KELUAR **");
System.out.println("*******************************");
System.out.print("\nMASUKAN PILIHAN [1..5]:");
try{
PIL=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
//Menampilkan nama siswa
switch(Integer.parseInt(PIL)){
//awal prosedur memasukan
case 1:
System.out.print("Input Jumlah Siswa Baru:");
try{
n=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
jumlah=Integer.parseInt(n);
for(int i=0; i<jumlah; i++ ){
System.out.println("Data ke: "+(i+1));
System.out.print("Input Nama: ");
try{
nama[i]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
System.out.print("Input Alamat: ");
try{
alamat[i]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
System.out.print("Input telpon: ");
try{
telp[i]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
System.out.print("Input Email: ");
try{
email[i]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
}
for(int i=0; i<jumlah; i++ ){
namaRecord.setName(nama[i],i,alamat[i],telp[i],email[i]);
System.out.println("===========================================");
System.out.println("Nama :"+namaRecord.getName(i) );
System.out.println("Alamat :"+namaRecord.getAlamat(i) );
System.out.println("Telepon :"+namaRecord.getTelpon(i) );
System.out.println("Email :"+namaRecord.getEmail(i) );
System.out.println("===========================================");
}
System.out.println("Data Telah Berhasil dimasukan");
break;
//AKHIR prosedur memasukan
case 2:
System.out.println("Menghapus Data");
System.out.print("Input No Siswa yang Akan Dihapus: Input [1-"+jumlah+"]: ");
try{
n=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
no=Integer.parseInt(n);
System.out.println("Ditemukan Data ke- "+no);
no=no-1;
namaRecord.setName(nama[no],no,alamat[no],telp[no],email[no]);
System.out.println("===========================================");
System.out.println("Nama :"+namaRecord.getName(no) );
System.out.println("Alamat :"+namaRecord.getAlamat(no) );
System.out.println("Telepon :"+namaRecord.getTelpon(no) );
System.out.println("Email :"+namaRecord.getEmail(no) );
System.out.println("===========================================");
System.out.print("Yakin akan dihapus? [y]/[t] :");
try{
yatidak=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
if ((yatidak=="tidak")||(yatidak=="t")||(yatidak=="T")){
System.out.println("Data Tidak Jadi di hapus");
}else{
nama[no]="";
alamat[no]="";
telp[no]="";
email[no]="";
namaRecord.setName(nama[no],no,alamat[no],telp[no],email[no]);
System.out.println("===========================================");
System.out.println("Nama :"+namaRecord.getName(no) );
System.out.println("Alamat :"+namaRecord.getAlamat(no) );
System.out.println("Telepon :"+namaRecord.getTelpon(no) );
System.out.println("Email :"+namaRecord.getEmail(no) );
System.out.println("===========================================");
System.out.println("Data Berhasil Dihapus");
}
break;
case 3:
System.out.println("DAFTAR SEMUA DATA SISWA");
System.out.println("===========================================");
for(int i=0; i<jumlah; i++ ){
namaRecord.setName(nama[i],i,alamat[i],telp[i],email[i]);
System.out.println("Nama :"+namaRecord.getName(i) );
System.out.println("Alamat :"+namaRecord.getAlamat(i) );
System.out.println("Telepon :"+namaRecord.getTelpon(i) );
System.out.println("Email :"+namaRecord.getEmail(i) );
System.out.println("===========================================");
}
break;
case 4:
System.out.println("Mengubah Data");
System.out.print("Input No Siswa yang Akan Diubah datanya: Input [1-"+jumlah+"]: ");
try{
n=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
no=Integer.parseInt(n);
System.out.println("Ditemukan Data ke- "+no);
no=no-1;
namaRecord.setName(nama[no],no,alamat[no],telp[no],email[no]);
System.out.println("===========================================");
System.out.println("Nama :"+namaRecord.getName(no) );
System.out.println("Alamat :"+namaRecord.getAlamat(no) );
System.out.println("Telepon :"+namaRecord.getTelpon(no) );
System.out.println("Email :"+namaRecord.getEmail(no) );
System.out.println("===========================================");
System.out.print("Lanjutkan Proses Ubah Data? [y]/[t] :");
try{
yatidak=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
if ((yatidak=="tidak")||(yatidak=="t")||(yatidak=="T")){
System.out.println("Data Tidak Jadi di ubah");
}else{
System.out.println("Proses Ubah Data ke: "+(no+1));
System.out.print("Input Nama: ");
try{
nama[no]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
System.out.print("Input Alamat: ");
try{
alamat[no]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
System.out.print("Input telpon: ");
try{
telp[no]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
System.out.print("Input Email: ");
try{
email[no]=dataIn.readLine();
}catch(IOException e){
System.out.println("Erorr!");
}
namaRecord.setName(nama[no],no,alamat[no],telp[no],email[no]);
System.out.println("===========================================");
System.out.println("Nama :"+namaRecord.getName(no) );
System.out.println("Alamat :"+namaRecord.getAlamat(no) );
System.out.println("Telepon :"+namaRecord.getTelpon(no) );
System.out.println("Email :"+namaRecord.getEmail(no) );
System.out.println("===========================================");
System.out.println("Data Berhasil Diubah");
}
break;
default:
System.out.println("Terima Kasih");
}
} catch (Exception e) {
System.out.println("inputTidakValid");
}
} while (Integer.parseInt(PIL) != 5);
}
}
2. Setelah kita membuat pilihan menu diatas selanjutnya kita akan membuat class baru dengan nama StudentRecord media penyimpanan data yang telah dimasukkan dari menu pilihan diatas. Berikut adalah kodingan nya :
public class StudentRecord
{
private String[] name=new String [100];
private String[] alamate=new String [100];
private String[] telpone=new String [100];
private String[] emaile=new String [100];
private static int studentCount;
private static int indek;
public StudentRecord(){
studentCount=0;
}
public String getName(int indek){
return name[indek];
}
public String getAlamat(int indek){
return alamate[indek];
}
public String getTelpon(int indek){
return telpone[indek];
}
public String getEmail(int indek){
return emaile[indek];
}
public void setName( String nama, int indek,String alamat,String telpon,String email){
name[indek] = nama;
alamate[indek] = alamat;
telpone[indek] = telpon;
emaile[indek] = email;
studentCount++;
}
public static int getStudentCount(){
return studentCount;
}
}
Berikut adalah tampilan output dari class yang kita buat :
Tampilan saat memilh Menu :
Tampilan saat user memilih menu menampilkan data :
Tampilan saat memilih menu menghapus data :
Tampilan saat memilih menu mengubah data :
Berikut adalah cara bagaimana membuat buku menu yang dapat menampung 100 record. Postingan kali ini sampai sini saja, sampai ketemu lagi di postingan berikut nya.. see ya
ini sangat membantu terima kasih
ReplyDeletemakasih bnget min sangat membantu
ReplyDeletekeren banget kak infonya
ReplyDeleteabu nawas
thank you bro
ReplyDelete