• Pembahasan Soal UTS Alpro dan Strukdat II

    by  • October 27, 2011 • Lain-lain • 0 Comments

    saatnya kita membahas soal UTS Algoritma Pemrograman dan Struktur Data II , yuk yuk ..

    #1

    public class ResponsiAlpro {
    
    	public static void main(String[] args)
    	{
    		int i = 0;
    		i = test(i);
    		System.out.println(i);
    		test2(i);
    		System.out.println(i);
    		i = test3(i);
    		System.out.println(i);
    
    		String a = "expelliarmus";
    		String b = "eXpelliarmus";
    		String c = new String(a);
    
    		System.out.println(a.equals(b));
    		System.out.println(a.equalsIgnoreCase(b));
    		System.out.println(a==c);
    
    	}
    
    	public static int test(int i)
    	{
    		i = 30;
    		return i;
    	}
    
    	public static void test2(int i)
    	{
    		i = 10;
    	}
    
    	public static int test3(int i)
    	{
    		return i = 10;
    	}
    
    }

    Nah dari source code diatas hasilnya bakalan berupa berikut :

    30
    30
    10
    false
    true
    false

    yang pertama mengeluarkan 30, karena methodnya mengeluarkan nilai 30 dan i menampung nilai tersebut
    yang kedua mengeluarkan 30 juga, karena method test2 ga ngapa-ngapain, alias cuma ada nilai i = 10, namun nilai tersebut hanya ada di method itu saja
    yang ketiga mengeluarkan nilai 10, karena…seperti nomor 1
    yang keempat mengeluarkan false,  karena di string kedua ada huruf X yang besar
    yang kelima mengeluarkan true, karena huruf besar dan huruf kecil diabaikan
    yang keenam mengeluarkan false, karena dia membandingkan a dengan c adalah objek yang sama atau tidak

    boolean ex1 = “Texas” instanceof String;
    System.out.println(ex1);

    yang diatas ini mengeluarkan true karena “Texas” yang diapit oleh tanda ” kutip adalah String

    Object pt = new Point(10, 10);
    boolean ex2 = pt instanceof String;
    System.out.println(ex2);

    yang diatas jelas false karena udah jelas jelas itu pt adalah point bukan String..

    ——————————————————————————–

    #2

    public class UTS_No2 {
    		public static void main (String[] args)
    		{
    			BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
    			String input = "";
    			System.out.println("Masukin nilai gih : ");
    			try {
    				input = dataIn.readLine();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    
    			int nilai = Integer.parseInt(input);
    			if(nilai>=50)
    			{
    				System.out.println"Marvelous");
    			}
    			else if(nilai			{
    				System.out.println("Ouch.. :( kampret");
    			}
    		}
    }
    
    }

    yang pengen ditonjolin sih cara pengambilan input, sama pemakaian if dan else if

    ————————————————————————————-

    #3

    yang ini kelas segitiga nya..

    public class Segitiga {
    
    	private int a;
    	private int t;
    	private double luas;
    	private int keliling;
    
    	public Segitiga(int a, int t)
    	{
    		this.a = a;
    		this.t = t;
    		luas = hitungLuas();
    		keliling = hitungKelilng();
    	}
    
    	public int getA() {
    		return a;
    	}
    
    	public void setA(int a) {
    		this.a = a;
    	}
    
    	public int getT() {
    		return t;
    	}
    
    	public void setT(int t) {
    		this.t = t;
    	}
    
    	public double getLuas() {
    		return luas;
    	}
    
    	public int getKeliling() {
    		return keliling;
    	}
    
    	public double hitungLuas(){
    		luas = a * t / 2;
    		return luas;
    	}
    
    	public int hitungKelilng(){
    		keliling  = a*3;
    		return keliling;
    	}
    }

    yang ini cara penggunaannya…

    public class SegitigaExample {
    	public static void main (String[] args)
    	{
    		Segitiga a = new Segitiga(100, 50);
    		System.out.println(a.getLuas() + " " + a.getKeliling());
    	}
    }

    —————————————————————————

    #4

    ini dia listing program lengkapnya, perhatikan method isPalindrome

    public class Palindrome {
    	public static void main (String[] args)
    	{
    		BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
    		String kata = "";
    		System.out.println("Masukin kata gih : ");
    		try {
    			kata = dataIn.readLine();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    
    		System.out.println(isPalindrome(kata));
    	}
    
    	public static boolean isPalindrome(String kata)
    	{
    		boolean isPalindrome = true;
    		int j = kata.length() - 1;
    		for(int i = 0; i < j; i++)
    		{
    			if(kata.charAt(i)!=kata.charAt(j))
    			{
    				isPalindrome = false;
    				break;
    			}
    			j--;
    		}
    		return isPalindrome;
    	}
    }

    —————————————————————————

    #5

    nah sekarang kita ke soal bonus, method buat ngecek bilangan prima !
    kalo gampangnya sih begini :

    boolean isPrime(int n) {
        for(int i=2;2*i<n;i++) {
            if(n%i==0)
                return false;
        }
        return true;
    }

    tapi bayangin kalo n nya itu 112312983719287419 mau ngecek sampe kapan?

    boolean isPrime(int n) {
        if (n%2==0) return false;
        for(int i=3;i*i<=n;i+=2) {
            if(n%i==0)
                return false;
        }
        return true;
    }

    nah kalo yang diatas bakal lebih cepat, kenapa? karena kita ngecek apakah dia bilangan genap atau tidak,
    jika ya maka false
    jika tidak, maka kita cukup mengecek dengan bilangan-bilangan ganjil saja

    jika ada pertanyaan lebih lanjut, bisa hubungi saya via e-mail
    yahoo messenger
    facebook
    twitter
    google plus
    ketemu langsung sambil traktir :P

    About

    He is currently working as Mobile Application Developer, familiarly work based on android and blackberry platform (native), and HTML5+CSS+JavaScript (Cordova Based). Archery, reading manga-novels, and watching anime-japan dorama is his hobby. cheers !

    Leave a Reply

    Your email address will not be published. Required fields are marked *


    *