Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Python profiler results by Umbu ( 6 years ago )
package tugasbuatdibagi2;

import java.util.Scanner;

public class tugas_strukdat_jigrade {
	/// DIBUAT OLEH : ALBERT SALOMO :)
    public static void main(String[] args) {
        int i,j;
        
        /// jadi bedanya java ama C ato python , dia tuh harus kita bikin dulu scannernya biar bisa kita input - input di program	  
        
        Scanner n = new Scanner(System.in);	///n nya itu buat scanner yang mo kita bikin jadi kalo mo scan apapun harus bikin n.	
        
        /// VARIABEL ///
        /// Kenapa pake [] ? , kalo bingung soalnya tiap mahasiswa punya nilai rata-rata sendiri , grade sendiri, nilai sendiri , dan nama sendiri
        /// gw bikin [9999] itu buat maksimal penampungan mahasiswa , tapi ga mungkin kan ada orang gblk yang input lebih dari 9999 mahasiswa wkwk
        
        
        String nama[] = new String[9999];      // nama tentu memakai string 
        int nilai [][] = new int[9999][9999];  // nilai pakai integer
        String grade[] = new String[9999];     // grade pake string karena berupa huruf
        int pembagi[] = new int [9999];		   // pembagi juga pasti pakai integer karena berupa angka
        float total[] = new float[9999];	   // total gw bikin float, pake int jg bisa sih kalo mau total gw buat sebagai penampungan kosong buat rata rata
        float rata_rata[] = new float[9999];   // inisialisasi variabel rata-rata menggunakan float karena rata-rata bisa saja koma
        
        /// Pembates loop
        int jumlah_mhs=0;						  // jumlah mahasisa , sebagai pembates loop mahasiswa
        int jumlah_matkul=0;					  // jumlah matakuliah, sebagai pembates loop matakuliah
        
        /// INI MENU YA TAULAH YA 
        while(true)
        {
        System.out.println("Menu");
        System.out.println("1. Input");
        System.out.println("2. Delete");
        System.out.println("3. Search (Binary Search");
        System.out.println("4. Tampilkan");;
        System.out.println("Pilihan Anda : ");
        
        //// PILIHAN DI MENU
        int choice = n.nextInt();	        
        switch (choice){        
        /// PILIHAN PERTAMA (INPUT)
            case 1 : 
                System.out.println("1.Input");
                
                System.out.println("Berapa Mahasiswa yang ingin diinput? : ");
                
                /// LOOP PEMBATES JUMLAH YANG INGIN DI INPUT
                jumlah_mhs = n.nextInt();
/// kalo mo input integer pake nextInt() , inget ya n. itu harus pake sebagai scanner baca lagi penjelasan scanner diatas kalo bingung di atas
                
                System.out.println("Berapa mata kuliah yang diambil? : ");
                jumlah_matkul = n.nextInt();
                
                /// INPUTAN NAMA
                for (i=0;i< jumlah_mhs;i++){ /// loop inputan mahasiswa pakai for pembates nya jumlah mahasiswa, kita buat ginian ya buat input nama mahasiswa
                    System.out.println("Nama mahasiswa ke-"+ (i+1) +" : "); /// gw bikin i+1 biar kebacanya mahasiswa ke-1 bukan ke -0
                    nama[i] = n.next(); /// string itu pake .next()
                }	 
                
                /// INPUTAN NILAI
                for (i=0;i< jumlah_mhs; i++){
                    System.out.println("Masukkan nilai untuk " + nama[i]); /// nama[i] ngebaca nama yang barusan elu input diatas
                    for (j=0; j< jumlah_matkul;j++){	                    
                        System.out.println("Nilai ke-"+ (j+1)+" : "); /// masukin nilai                        
                        nilai[i][j] = n.nextInt();    /// kalo array pun dia scannernya ttp ngebaca variabel yang di deklarasi ini kan pake int ya... pake nextInt()   	                       
                        
                        if(nilai[i][j] == -1) ///kita buat syarat kalo andai nilai yang di input -1 dia itu ngeputusin loop nilai sampe akhir
                        {
                        	for(int k = j; k< jumlah_matkul; k++) /// k disini itu nunjukin posisi ke berapa -1 di input,
                        	///batesnya tto jumlah matkul jadi kalo misal nih lu input -1 di posisi ke 3 dan total matkul nya itu ada 5 jadi k nya tuh sebagai 3 akan loop sampe matakuliah ke 5
                        	{
                        		nilai[i][k] = -1;
                        		pembagi[i] = 1; /// gw bikin pembaginya 1 biar ga error juga pas outputnya
                        	}
                        	break; 
//nah... gw bikin break tuh ya biar dia g nambahin pembagi nya pas gw input -1 makanya di line sebelumnya gw bikin pembagi nya 1 kalo kagak dia ngebacanya pembaginya jadi null atau kosong sehingga error di outputannya
                        }
                        while(nilai[i][j]<1 || nilai[i][j]>100) /// ya ini ketentuan biasa lah kalo nilai tuh harus diantara 1 sampe 100, kalo nilai lu mines auto ga naik kelas njerr..
                        {
                        	System.out.println("Masukan angka antara 1 - 100 !");
                        	nilai[i][j] = n.nextInt();
                        }
                        pembagi[i]+=1; /// pembagi+=1 tuh artinya pembagi nya nambah terus seiring jalannya loop tiap lu input nilai
	                    total[i] += nilai[i][j]; /// total ya artinya kan nampung nilai jadi +=nilai[i][j] artinya ya dia masukin jumlah dari total nilai mahasiswa[i] yang lu input
                    }
                    rata_rata[i] = total[i] / pembagi[i]; /// rumus rata - rata pasti lu tau lah, yang kea tadi gw bilang di atas gw bikin rata-rata[i] ya biar tiap mahasiswa punya rata rata sendiri
                    
                }
                
                //// GRADE ////	 grade dibikin bebas aja sih batesnya asal make sense aja grade diukur dari rata - rata              
                for(i = 0;i <jumlah_mhs; i++)
                {
                	if(rata_rata[i] < 30 && rata_rata[i]>=0)
                	{
                		grade[i] = "D";
                	}
                	else if(rata_rata[i] <50 && rata_rata[i]>=31)
                	{
                		grade[i] = "C";
                	}
                	else if(rata_rata[i] <80 && rata_rata[i]>=51)
                	{
                		grade[i] = "B";
                	}
                	else if(rata_rata[i] <100 && rata_rata[i]>=81)
                	{
                		grade[i] = "A";
                	}
                	
                }
                
                /// ini output nya , kalo masi jelek outputnya ya atur sendiri lah ya wkwk
                
                System.out.print("\t\t\tNama\t\t");
                for(j=0; j<jumlah_matkul ; j++)
                {
                	System.out.print("Nilai ke - " + (j+1) + "\t");
                }
                System.out.println("Rata - rata\tGrade");
                System.out.println("\n");
                for(i = 0; i <jumlah_mhs; i++)
                {
                	System.out.print("Mahasiswa ke - "+ (i+1) + ":\t"+ nama[i]+ "\t\t     ");
                	for(j=0; j<jumlah_matkul; j++)	                		
                	{
                		if (nilai[i][j] == -1) /// gw bikin syarat gini biar kalo nilainya berisi -1 ya ke print none jadinya 
                		{
                			System.out.print("None\t\t   ");
                		}
                		else
                		{
	                		System.out.print(+ nilai[i][j] + "\t\t   ");	
                		}
                	}
                	System.out.print(rata_rata[i]);
                	System.out.println("\t\t  " + grade[i]);
                	System.out.println("\n");	                
                }
                break;
           /// PILIHAN KEDUA DI MENU
            case 2:
                System.out.println("Data telah dihapus!");
                jumlah_mhs= 0;jumlah_matkul=0;
                for(i=0;i<jumlah_mhs;i++) /// Kita buat for kea biasa buat baca seluruh mahasiswa nya
                {
                    nama[i] = "";
                    rata_rata[i] = 0;
                    grade[i] = "";
                    for(j=0;i<jumlah_matkul;j++)
                    {
                        nilai[i][j] = 0; /// dibikin kosong lah datanya intinya 
                    }
                }
                break;
            case 3:
                System.out.println("Mahasiswa ke berapa yang ingin dicari?");
                int search_idx = n.nextInt();
                if(search_idx > 0 && search_idx <=jumlah_mhs) ///kasih pembates jumlah mahasiswa nya
                {
                    System.out.print("Nama\t\t");
                    for(j=0; j<jumlah_matkul ; j++)
                    {
                	System.out.print("Nilai ke - " + (j+1) + "\t");
                    }
                    System.out.println("Rata - rata\tGrade");
                    System.out.print(nama[search_idx-1]+"\t\t");
                    for(j=0; j<jumlah_matkul; j++)	                		
                    {
                        if (nilai[search_idx-1][j] == -1) /// gw bikin syarat gini biar kalo nilainya berisi -1 ya ke print none jadinya 
                	{
                            System.out.print("None\t   ");
                	}
                	else
                	{
                            System.out.print(+ nilai[search_idx-1][j] + "\t\t");	
                	}
                    }
                    System.out.print(rata_rata[search_idx-1]);
                    System.out.println("\t\t"+grade[search_idx-1]);
                    System.out.println("\n");
                }
                else
                {
                    System.out.println("Data tidak ditemukan!");
                }
                break;
            case 4:
                if(jumlah_mhs == 0 && jumlah_matkul == 0)
                {
                    System.out.println("Data tidak ada!");
                }
                else
                {
                System.out.print("\t\t\tNama\t\t");
                for(j=0; j<jumlah_matkul ; j++)
                {
                	System.out.print("Nilai ke - " + (j+1) + "\t");
                }
                System.out.println("Rata - rata\tGrade");
                System.out.println("\n");
                for(i = 0; i <jumlah_mhs; i++)
                {
                	System.out.print("Mahasiswa ke - "+ (i+1) + ":\t"+ nama[i]+ "\t\t     ");
                	for(j=0; j<jumlah_matkul; j++)	                		
                	{
                		if (nilai[i][j] == -1) /// gw bikin syarat gini biar kalo nilainya berisi -1 ya ke print none jadinya 
                		{
                			System.out.print("None\t   ");
                		}
                		else
                		{
	                		System.out.print(+ nilai[i][j] + "\t\t   ");	
                		}
                	}
                	System.out.print(rata_rata[i]);
                	System.out.println("\t\t  " + grade[i]);
                	System.out.println("\n");
                }
                }
                break;
            default:
                System.out.println("Invalid input!");
                break;
        }
        }
    }
    /// tolong dicari bug nya ya bisa aja masih ada bug
    
}

 

Revise this Paste

Parent: 104911
Your Name: Code Language: