<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mahasiswa &#8211; Catatan Kecil</title>
	<atom:link href="/tag/mahasiswa/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Arya Dharmaadi&#039;s Blog</description>
	<lastBuildDate>Wed, 08 Mar 2017 07:11:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.2</generator>

<image>
	<url>/wp-content/uploads/2016/02/cropped-java-65x65.png</url>
	<title>mahasiswa &#8211; Catatan Kecil</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Latihan Soal 2</title>
		<link>/2017/03/08/latihan-soal-2/</link>
					<comments>/2017/03/08/latihan-soal-2/#respond</comments>
		
		<dc:creator><![CDATA[aryadharmaadi]]></dc:creator>
		<pubDate>Wed, 08 Mar 2017 07:08:46 +0000</pubDate>
				<category><![CDATA[Kuliah]]></category>
		<category><![CDATA[Pemrograman Berorientasi Objek (Java)]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[kelas]]></category>
		<category><![CDATA[latihan]]></category>
		<category><![CDATA[mahasiswa]]></category>
		<category><![CDATA[matakuliah]]></category>
		<category><![CDATA[objek]]></category>
		<category><![CDATA[soal]]></category>
		<guid isPermaLink="false">/?p=227</guid>

					<description><![CDATA[Studi Kasus: Buatlah sebuah program untuk menampilkan IPK yang diraih oleh seorang mahasiswa. Input: Nama Mahasiswa NIM Jumlah matakuliah Kode Matkul: CS1423 -&#62; angka terakhir <a class="mh-excerpt-more" href="/2017/03/08/latihan-soal-2/" title="Latihan Soal 2">[...]</a>]]></description>
										<content:encoded><![CDATA[<p><strong>Studi Kasus:</strong></p>
<p>Buatlah sebuah program untuk menampilkan IPK yang diraih oleh seorang mahasiswa.</p>
<p>Input:</p>
<ul>
<li>Nama Mahasiswa</li>
<li>NIM</li>
<li>Jumlah matakuliah</li>
<li>Kode Matkul: CS1423 -&gt; angka terakhir menunjukkan sks</li>
<li>Nama Matkul</li>
<li>Nilai : A,B,C,D,E</li>
</ul>
<p>Output:</p>
<p>Nama, NIM, dan IPK</p>
<p>&nbsp;</p>
<p><strong>Jawaban:</strong></p>
<p>Dari studi kasus di atas, bisa dirancang 2 buah kelas, yaitu Mahasiswa dan MataKuliah.</p>
<p>Berikut adalah hasil coding untuk kelas Mahasiswa.</p>
<pre class="lang:default decode:true " title="Mahasiswa.java">public class Mahasiswa {
	private String nama;
	private String nim;
	private float ipk;
	MataKuliah[] mataKuliah = new MataKuliah[100];
	private int jumlahMatkul = 0;

	public Mahasiswa(String nama, String nim){
		setNama(nama);
		setNim(nim);
	}

	public void tambahMatkul(int index, String kodeMatkul, String namaMatkul, char nilaiMatkul){
		this.mataKuliah[index] = new MataKuliah(kodeMatkul, namaMatkul, nilaiMatkul);
	}

	public void hitungIPK(){
		float jumlahMutu = 0;
		int jumlahTotalSKS = 0;
		for(int i = 0; i &lt; getJumlahMatkul(); i++){
			jumlahMutu += this.mataKuliah[i].getNilai() * this.mataKuliah[i].getJumlahSKS();
			jumlahTotalSKS += this.mataKuliah[i].getJumlahSKS();
		}
		setIpk(jumlahMutu/jumlahTotalSKS);
	}

	public void setNama(String nama){
		this.nama = nama;
	}

	public void setNim(String nim){
		this.nim = nim;
	}

	public void setIpk(float ipk){
		this.ipk = ipk;
	}

	public String getNama(){
		return this.nama;
	}

	public String getNim(){
		return this.nim;
	}

	public float getIpk(){
		return this.ipk;
	}

	public void tambahJumlahMatkul(){
		this.jumlahMatkul++;
	}

	public int getJumlahMatkul(){
		return this.jumlahMatkul;
	}
}</pre>
<p>&nbsp;</p>
<p>Kemudian, berikut ini adalah hasil coding dari kelas MataKuliah.</p>
<pre class="lang:default decode:true " title="MataKuliah.java">public class MataKuliah {

	private String kode;
	private String nama;
	private int jumlahSKS;
	private char nilai;

	public MataKuliah(String kode, String nama, char nilai){
		setKode(kode);
		setNama(nama);
		setJumlahSKS(kode);
		setNilai(nilai);
	}

	public void setKode(String kode){
		this.kode = kode;
	}

	public void setNama(String nama){
		this.nama = nama;
	}

	public void setJumlahSKS(String kode){
		this.jumlahSKS = Character.getNumericValue(kode.charAt(kode.length() - 1));
	}

	public void setNilai(char nilai){
		this.nilai = nilai;
	}

	public String getKode(){
		return this.kode;
	}

	public String getNama(){
		return this.nama;
	}

	public int getJumlahSKS(){
		return this.jumlahSKS;
	}

	public int getNilai(){
		if(this.nilai == 'A')
			return 4;
		else if(this.nilai == 'B')
			return 3;
		else if(this.nilai == 'C')
			return 2;
		else if(this.nilai == 'D')
			return 1;
		else 
			return 0;
	}

}</pre>
<p>&nbsp;</p>
<p>Terakhir, buat kelas Main sebagai kelas utama yang akan memanggil dan memanfaatkan kelas Mahasiswa dan Matakuliah yang telah dibuat tadi.</p>
<pre class="lang:default decode:true  " title="Main.java">import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		//Meminta data mahasiswa
		Scanner userInput = new Scanner(System.in);
		System.out.print("\n\n---- Data Mahasiswa ---\n\n");
		System.out.print("Masukan Nama Anda : ");
		String nama = userInput.nextLine();
		System.out.print("Masukan NIM : ");
		String nim = userInput.nextLine();
		System.out.print("Jumlah Mata Kuliah : ");
		//Meminta data mata kuliah
		Mahasiswa mahasiswa = new Mahasiswa(nama, nim);
		int jumlahMatkul = userInput.nextInt();
		String kodeMatkul;
		String namaMatkul;
		char nilaiMatkul;
		System.out.print("\n---- Data Mata Kuliah ---\n\n");
		for(int i = 0; i &lt; jumlahMatkul; i++){
			Scanner inputData = new Scanner(System.in);
			System.out.print("Nama Matakuliah " + (i + 1) + " : ");
			namaMatkul = inputData.nextLine();
			System.out.print("Kode Matakuliah " + (i + 1) + " : ");
			kodeMatkul = inputData.nextLine();
			System.out.print("Nilai Matakuliah (A/B/C/D/E/F)" + " : ");
			nilaiMatkul = inputData.next().charAt(0);
			mahasiswa.tambahMatkul(i, kodeMatkul, namaMatkul, nilaiMatkul);
			mahasiswa.tambahJumlahMatkul();
			System.out.println("");
		}
		mahasiswa.hitungIPK();
		System.out.print("\n---- Hasil Data ---\n\n");
		System.out.println("Nama : " + mahasiswa.getNama());
		System.out.println("Nim : " + mahasiswa.getNim());
		System.out.println("Jumlah Mata Kuliah : " + jumlahMatkul);
		System.out.println("Nilai IPK : " + mahasiswa.getIpk() + "\n\n");
	}
}</pre>
<p>&nbsp;</p>
<p>Happy coding <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>/2017/03/08/latihan-soal-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Latihan Soal 1</title>
		<link>/2016/03/21/latihan-soal-1/</link>
					<comments>/2016/03/21/latihan-soal-1/#respond</comments>
		
		<dc:creator><![CDATA[aryadharmaadi]]></dc:creator>
		<pubDate>Mon, 21 Mar 2016 05:44:36 +0000</pubDate>
				<category><![CDATA[Kuliah]]></category>
		<category><![CDATA[Pemrograman Berorientasi Objek (Java)]]></category>
		<category><![CDATA[ipk]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[latihan]]></category>
		<category><![CDATA[mahasiswa]]></category>
		<category><![CDATA[matakuliah]]></category>
		<category><![CDATA[pbo]]></category>
		<category><![CDATA[soal]]></category>
		<guid isPermaLink="false">/?p=96</guid>

					<description><![CDATA[SOAL: ?Buatlah sebuah program untuk menampilkan IPK yang diraih oleh seorang mahasiswa. ?Input: ?Jumlah matakuliah ?Kode Matkul: CS1423 -&#62; angka terakhir menunjukkan sks ?Nama Matkul <a class="mh-excerpt-more" href="/2016/03/21/latihan-soal-1/" title="Latihan Soal 1">[...]</a>]]></description>
										<content:encoded><![CDATA[<p><strong>SOAL:</strong></p>
<p>?Buatlah sebuah program untuk menampilkan IPK yang diraih oleh seorang mahasiswa.</p>
<p>?Input:</p>
<ul>
<li>?Jumlah matakuliah</li>
<li>?Kode Matkul: CS1423 -&gt; angka terakhir menunjukkan sks</li>
<li>?Nama Matkul</li>
<li>?Nilai : A,B,C,D,E</li>
</ul>
<p>?Output: (dalam bentuk tabel)</p>
<ul>
<li>?Kode Matkul, Nama Matkul, SKS, Nilai</li>
<li>?IPK</li>
</ul>
<p>&nbsp;</p>
<p><strong>JAWAB:</strong></p>
<p>Dari studi kasus di atas, kita bisa mendesain diagram kelas seperti berikut. Antara kelas Matakuliah dan kelas DaftarMatakuliah memiliki hubungan komposisi karena kelas DaftarMatakuliah terdiri dari kelas Matakuliah.</p>
<figure id="attachment_97" aria-describedby="caption-attachment-97" style="width: 1418px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2016/03/diagram_kelas.png"><img fetchpriority="high" decoding="async" class="size-full wp-image-97" src="/wp-content/uploads/2016/03/diagram_kelas.png" alt="Diagram Kelas Matakuliah" width="1418" height="837" srcset="/wp-content/uploads/2016/03/diagram_kelas.png 1418w, /wp-content/uploads/2016/03/diagram_kelas-300x177.png 300w, /wp-content/uploads/2016/03/diagram_kelas-1024x604.png 1024w, /wp-content/uploads/2016/03/diagram_kelas-593x350.png 593w" sizes="(max-width: 1418px) 100vw, 1418px" /></a><figcaption id="caption-attachment-97" class="wp-caption-text">Diagram Kelas Matakuliah</figcaption></figure>
<p>Dari diagram di atas, kita mulai menulis program (coding) seperti berikut:</p>
<pre class="lang:default decode:true" title="Matakuliah.java">/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package matkul;

/**
 *
 * @author AryaDharmaadi
 */
public class Matakuliah {
    private String kode_matkul;
    private String nama_matkul;
    private char nilai_index;
    private int sks;
    private int nilai_angka;

    public Matakuliah(String kode_matkul, String nama_matkul, char nilai_index) {
        this.kode_matkul = kode_matkul;
        this.nama_matkul = nama_matkul;
        this.nilai_index = nilai_index;
        
        setSKS();
        setNilaiAngka();
    }
    
    public void changeMatkul(String matakuliah){
        matakuliah = matakuliah.concat("HAloo");
        this.nama_matkul = matakuliah;
    }

    public String getKodeMatkul() {
        return kode_matkul;
    }

    public String getNamaMatkul() {
        return nama_matkul;
    }

    public char getNilaiIndex() {
        return nilai_index;
    }

    public int getSks() {
        return sks;
    }

    public int getNilaiAngka() {
        return nilai_angka;
    }
    
    private void setSKS(){
        sks = Integer.parseInt(String.valueOf(kode_matkul.charAt(kode_matkul.length()-1)));
    }
    
    private void setNilaiAngka(){
        switch (nilai_index){
            case 'A' : nilai_angka = 4;
                break;
                
            case 'B' : nilai_angka = 3;
                break;
                
            case 'C' : nilai_angka = 2;
                break;
                
            case 'D' : nilai_angka = 1;
                break;
                
            case 'E' : nilai_angka = 0;
                break;
        }
    }
}
</pre>
<pre class="lang:default decode:true" title="DaftarMatakuliah.java">/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package matkul;

/**
 *
 * @author AryaDharmaadi
 */
public class DaftarMatakuliah {
    private Matakuliah[] list_matakuliah;
    private int currentidx = 0;
    private float ipk;
    
    public DaftarMatakuliah(int jumlah_matakuliah){
        list_matakuliah = new Matakuliah[jumlah_matakuliah];
    }
    
    public void addMatkul(Matakuliah m){
        if (currentidx&lt;list_matakuliah.length){
            list_matakuliah[currentidx] = m;
            currentidx++;            
        }
    }
    
    public void printMatkul(){
        int nilai_mutu=0;
        int total_sks=0;
        System.out.println("-------------------------------------------------");
        System.out.printf( "|KODE\t|MATAKULIAH\t\t |SKS\t|NILAI\t|\n");
        System.out.println("-------------------------------------------------");
        for (int i=0;i&lt;list_matakuliah.length;i++){            
            System.out.printf( "|%s\t|%s\t |%s\t|%c\t|\n",
                    list_matakuliah[i].getKodeMatkul(),
                    list_matakuliah[i].getNamaMatkul(),
                    list_matakuliah[i].getSks(),
                    list_matakuliah[i].getNilaiIndex());
            nilai_mutu = nilai_mutu + list_matakuliah[i].getNilaiAngka()*list_matakuliah[i].getSks();
            total_sks = total_sks + list_matakuliah[i].getSks();
        }
        
        ipk = (float) nilai_mutu / total_sks;
    }
    
    public void printIPK(){
        System.out.printf("Nilai IPK : %.2f\n",ipk);
    }
}</pre>
<pre class="lang:default decode:true" title="ProgramUtama.java">/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package matkul;

import java.util.Scanner;

/**
 *
 * @author AryaDharmaadi
 */
public class ProgramUtama {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        /* pada program ini, jumlah matakuliah diinput secara manual oleh programmer */
        /* jika ingin user yang menginputkan, maka gunakan kelas Scanner */
        /* dan simpan datanya di variabel jumlah_matakuliah */
        int jumlah_matakuliah = 4;
        
        DaftarMatakuliah daftar_matakuliah = new DaftarMatakuliah(jumlah_matakuliah);
        
//        for (int i=0;i&lt;jumlah_matakuliah;i++){
        
            /* data matakuliah diinput oleh programmer. Jika ingin user yang menginputkan */
            /* maka gunakan kelas Scanner dan simpan datanya di variabel */
            Matakuliah m = new Matakuliah("CS2343", "Pemrograman Java", 'C');
            daftar_matakuliah.addMatkul(m);
            daftar_matakuliah.addMatkul(new Matakuliah("CS2331", "Praktikum Java ", 'B'));
            daftar_matakuliah.addMatkul(new Matakuliah("CS2332", "Kewarganegaraan", 'C'));
            daftar_matakuliah.addMatkul(new Matakuliah("CS2334", "Tugas Akhir (Project)", 'A'));
//        }
        
        daftar_matakuliah.printMatkul();
        daftar_matakuliah.printIPK();
    }           
}
</pre>
<p>&nbsp;</p>
<p>Ketika dijalankan, program di atas akan menampilkan hasil sebagai berikut:</p>
<figure id="attachment_99" aria-describedby="caption-attachment-99" style="width: 354px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2016/03/mahasiswa.jpg"><img decoding="async" class="size-full wp-image-99" src="/wp-content/uploads/2016/03/mahasiswa.jpg" alt="Hasil Running" width="354" height="131" srcset="/wp-content/uploads/2016/03/mahasiswa.jpg 354w, /wp-content/uploads/2016/03/mahasiswa-300x111.jpg 300w" sizes="(max-width: 354px) 100vw, 354px" /></a><figcaption id="caption-attachment-99" class="wp-caption-text">Hasil Running</figcaption></figure>
<p>&nbsp;</p>
<p>Happy Coding <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>/2016/03/21/latihan-soal-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
