TUGAS 1 : PROGRAM BIODATA, KONVERSI UANG, DAN CLASSES AND OBJECT(8.1-8.6) MENGGUNAKAN BAHASA PEMOGRAMAN JAVA.

 1. BIODATA

Pada pertemuan pertama Mata Kuliah PBO, pertama kalinya disuruh untuk mencoba membuat program biodata sederhana dengan bahasa pemograman Java menggunakan software BlueJ.

Berikut Source code dari program biodata saya:

/**
* Program biodata sederhana.
*
* @author (Nadia Tiara)
* @version (0.1 - 06 Oktober 2020)
*/
public class Biodata
{
public Biodata () {
System.out.println("===========Biodata============");
System.out.println("\n");
System.out.println("Nama : Nadia Tiara Febriana");
System.out.println("NRP : 05111940000217");
System.out.println("TTL : Yogyakarta, 21 Februari 2001");
System.out.println("Umur : 19 tahun");
System.out.println("Alamat : Vila Anggrek, Bekasi");
}
}

 Berikut hasil outputnya:


2. KONVERSI MATA UANG

Disini saya membuat program mengenai konversi uang dari rupiah ke beberapa mata uang asing. Yaitu mata uang dollar, euro, dan won. 

Berikut Source code dari program konversi uang:

/**
* Program konversi mata uang sederhana.
*
* @author (Nadia Tiara Febriana)
* @version (09-10-2020)
*/
import java.util.Scanner;
public class konversi_uang
{
public static void main(String[] args)
{
Scanner masukan = new Scanner(System.in);
float rupiah, dollar, won, euro;
System.out.println("=======Konversi Uang=======");
System.out.println("\n");
System.out.print("Masukan Rupiah : ");
rupiah = masukan.nextFloat();
dollar = (float) (rupiah*0.000068);
euro = (float) (rupiah*0.000058);
won = (float) (rupiah*0.078000);
System.out.println();
System.out.println("Hasil Kurs : ");
System.out.println("Dollar = "+ dollar + " Dollar");
System.out.println("Euro = "+ euro + " Euro");
System.out.println("Won = "+ won + " Won");
}
}

Berikut hasil outputnya:



3. CLASSES AND OBJECT(8.1-8.6)

A. Time Class Case Study

Pada class Time1 ini tujuannya untuk menguraikan waktu dalam sehari.

Berikut Source codenya:


/**
* Time1.
*
* @author (Nadia Tiara Febriana)
* @version (09-10-2020)
*/
public class Time1{
private int hour, minute, second;
//menetapkan nilai waktu baru menggunakan waktu universal
public void setTime( int h, int m, int s ){
if ( ( h >= 0 && h < 24 ) && ( m >= 0 && m < 60 ) && ( s >= 0 && s < 60 ) ){
hour = h;
minute = m;
second = s;
}
else
throw new IllegalArgumentException(
"hour, minute and/or second was out of range");
}
// konversi ke String dalam format waktu universal (HH: MM: SS))
public String toUniversalString(){
return String.format("%02d:%02d:%02d", hour, minute, second);
}
// mengkonversi ke String dalam format waktu standar (H: MM: SS, AM atau PM)
public String toString(){
return String.format("%d:%02d:%02d %s",
((hour == 0 || hour == 12) ? 12 : hour %12),
minute, second, (hour < 12 ? "AM" : "PM"));
}
}
view raw Time1.java hosted with ❤ by GitHub


Pada class Time1test merupakan sebuah object yang dibuat oleh class aplikasi dimana main method-nya dari class Time1, lalu dipanggil methodnya.

Berikut Source codenya:


/**
* Time1test.
*
* @author (Nadia Tiara Febriana)
* @version (09 Oktober 2020)
*/
public class Time1Test{
public static void main( String[] args )
{
// create and initialize a Time1 object
Time1 time = new Time1();
// representasi output string waktu
System.out.print( "The initial universal time is: " );
System.out.println( time.toUniversalString() );
System.out.print( "The initial standard time is: " );
System.out.println( time.toString() );
System.out.println();
// mengubah waktu dan output waktu diperbarui
time.setTime( 13, 27, 6);
System.out.print( "Universal time after setTime is: " );
System.out.println( time.toUniversalString());
System.out.print( "Standard time after setTime is: " );
System.out.println( time.toString());
System.out.println();
// mencoba nilai waktu yang tidak valid
try{
time.setTime(99, 99, 99);
}
catch ( IllegalArgumentException e ){
System.out.printf( "Exception: %s\n\n", e.getMessage() );
}
System.out.println( "After attempting invalid settings:" );
System.out.print( "Universal time: " );
System.out.println( time.toUniversalString());
System.out.print( "Standard time: " );
System.out.println( time.toString());
}
}
view raw Time1test.java hosted with ❤ by GitHub

Outputnya sebagai berikut:


B. Controlling Access to Members
Pada bagian Controlling Access to members, dijelaskan bahwa anggota class dalam keadaan private tidak dapat diakses di luar kelas. Terdapat 3 error, saat program berikut di compile

/**
* MemberAccessTest.
*
* @author (Nadia Tiara Febriana)
* @version (09-10-2020)
*/
public class MemberAccessTest{
public static void main( String[] args ){
Time1 time = new Time1();
time.hour = 7;
time.minute = 15;
time.second = 30;
}
}

Berikut adalah tampilan source code bila dijalankan:







C. Reffering to the Current Object's Members with the "this" Reference
Setiap objek dapat mengakses referensi ke dirinya sendiri dengan kata kunci this. Ketika metode non-statis dipanggil untuk objek tertentu, isi metode secara implisit menggunakan kata kunci this untuk merujuk ke variabel instance objek dan metode lainnya. Ini memungkinkan kode kelas untuk mengetahui objek mana yang harus dimanipulasi.
Berikut source code-nya:

Berikut Source code-nya:

/**
* ThisTest.
*
* @author (Nadia Tiara Febriana)
* @version (09-10-2020)
*/
public class ThisTest{
public static void main( String[] args )
{
SimpleTime time = new SimpleTime( 15, 30, 19 );
System.out.println( time.buildString() );
}
}
class SimpleTime
{
private int hour, minute, second;
public SimpleTime( int hour, int minute, int second ){
this.hour = hour; //jam
this.minute = minute; //menit
this.second = second; //detik
}
public String buildString(){
return String.format( "%24s: %s\n%24s: %s",
"this.toUniversalString()", this.toUniversalString(),
"toUniversalString()", toUniversalString() );
}
// konversi ke String dalam format waktu universal (HH: MM: SS)
public String toUniversalString()
{
return String.format( "%02d:%02d:%02d",
this.hour, this.minute, this.second );
}
}
view raw ThisTest hosted with ❤ by GitHub

Berikut hasil outputnya:




D. Time Class Case Study: Overloaded Constructors
mendeklarasikan konstruktor sendiri untuk menentukan bagaimana objek kelas seharusnya
diinisialisasi. Selanjutnya, class dengan beberapa konstruktor kelebihan beban yang memungkinkan objek class tersebut diinisialisasi dengan cara berbeda.

/**
* Time2.
*
* @author (Nadia Tiara Febriana)
* @version (09-10-2020)
*/
public class Time2{
private int hour,minute, second; //deklarasi variabel private waktu seperti jam, menit, detik
//inisialisasi setiap variabel ke nol
public Time2(){
this( 0, 0, 0 );
}
// jam disediakan, menit dan detik default ke 0
public Time2( int h ){
this( h, 0, 0 );
}
// jam dan menit disediakan, detik default ke 0
public Time2( int h, int m ){
this( h, m, 0 );
}
// jam, menit dan detik disediakan
public Time2( int h, int m, int s ){
setTime( h, m, s );
}
// objek dari Time2 lain ditambahkan
public Time2( Time2 time ){
this( time.getHour(), time.getMinute(), time.getSecond() );
}
public void setTime( int h, int m, int s ){
setHour( h ); // set jam
setMinute( m ); // set menit
setSecond( s ); // set detik
}
// memvalidasi dan mengatur jam
public void setHour( int h ){
if ( h >= 0 && h < 24 )
hour = h;
else
throw new IllegalArgumentException( "hour must be 0-23" );
}
// memvalidasi dan mengatur menit
public void setMinute( int m ){
if ( m >= 0 && m < 60 )
minute = m;
else
throw new IllegalArgumentException( "minute must be 0-59" );
}
// memvalidasi dan mengatur detik
public void setSecond( int s ){
if ( s >= 0 && s < 60 )
second = ( ( s >= 0 && s < 60 )?s: 0 );
else
throw new IllegalArgumentException( "second must be 0-59" );
}
public int getHour(){
return hour;
}
public int getMinute(){
return minute;
}
public int getSecond(){
return second;
}
// konversi ke String dalam format waktu universal HH: MM: SS
public String toUniversalString(){
return String.format(
"%02d:%02d:%02d", getHour(), getMinute(), getSecond() );
}
// konversi ke String dalam format waktu standar H: MM: SS AM atau PM
public String toString(){
return String.format( "%d:%02d:%02d %s",
( (getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12 ),
getMinute(), getSecond(), ( getHour() < 12 ? "AM" : "PM" ) );
}
}
view raw Time2.java hosted with ❤ by GitHub



E. Default and No-Argument Constructor
Berikut source code main-nya:

/**
* Time2test.
*
* @author (Nadia Tiara Febriana)
* @version (09-10-2020)
*/
public class Time2Test
{
public static void main( String[] args )
{
Time2 t1 = new Time2();
Time2 t2 = new Time2(2);
Time2 t3 = new Time2(21,34);
Time2 t4 = new Time2(12, 35, 42);
Time2 t5 = new Time2(t4);
System.out.println( "Constructed with:" );
System.out.println( "t1: all arguments defaulted" );
System.out.printf( " %s\n", t1.toUniversalString() );
System.out.printf( " %s\n", t1.toString() );
System.out.println(
"t2: hour specified; minute and second defaulted" );
System.out.printf( " %s\n", t2.toUniversalString() );
System.out.printf( " %s\n", t2.toString() );
System.out.println(
"t3: hour and minute specified; second defaulted" );
System.out.printf( " %s\n", t3.toUniversalString() );
System.out.printf( " %s\n", t3.toString() );
System.out.println( "t4: hour, minute and second specified" );
System.out.printf( " %s\n", t4.toUniversalString() );
System.out.printf( " %s\n", t4.toString() );
System.out.println( "t5: Time2 object t4 specified" );
System.out.printf( " %s\n", t5.toUniversalString() );
System.out.printf( " %s\n", t5.toString() );
try
{
Time2 t6 = new Time2(27, 74, 99);
}
catch ( IllegalArgumentException e )
{
System.out.printf( "\nException while initializing t6: %s\n",
e.getMessage() );
}
}
}
view raw Time2test hosted with ❤ by GitHub

Berikut Hasil output setelah kedua class bagian e dantersebut di compile sebagai berikut:







Komentar

Postingan Populer