Minggu, 15 Desember 2019

UAS PBO

Final Project Pemrograman Berbasis Objek


Code

https://pastebin.com/fHZGBPDL






berikut adalah hasil dari kode diatas










Video Kami :




Rabu, 04 Desember 2019

Tugas - 7 - Pemrograman Applet dan JavaFx

  1.  Source Code Program
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import java.util.Random;
 
public class Main extends Application
{
    int luck = 0;
    String[] fortunes = {"You're so lucky", 
        "You're bit lucky", 
        "You're lucky", 
        "Try Again later...", 
        "i'm Sorry, you're not lucky today, please try again tomorrow",
        "Today is your day", 
        "Almost to get a full-of-luck! try again tomorrow", 
        "Things will get better..."};
    String[] mode = {"Luck Meter: Lucky", "Luck Type: Un-Lucky"};
    Text fortune = new Text();
    Text lucktype = new Text("Luck Meter:");
    Text luckmeter = new Text("Speed-o-Lucky = " + luck + "/100");
    @Override
    public void start(Stage stage) throws Exception
    {
       VBox virtualbox=new VBox();
       virtualbox.setPadding(new Insets(20));
       virtualbox.setSpacing(20);
       virtualbox.setAlignment(Pos.CENTER);
       Text title = new Text("Lucky Gacha patch 0.00.01");
       title.setFont(Font.font("TImes New Roman",36));
       fortune.setFont(Font.font("Times New Roman",15));
       luckmeter.setFont(Font.font("Times New Roman",15));
       lucktype.setFont(Font.font("Times New Roman",15));
       virtualbox.getChildren().add(title);
       virtualbox.getChildren().add(luckmeter);
       virtualbox.getChildren().add(lucktype);
       virtualbox.getChildren().add(fortune);
       Button button = new Button("Test your luck");
       virtualbox.getChildren().add(button);
       button.setOnAction(this::buttonClick);
       Scene scene=new Scene(virtualbox,500,250);
       stage.setTitle("OOP Assignment");
       stage.setScene(scene);
       stage.show();
    }
    
    private void buttonClick(ActionEvent event)
    {
       Random rand = new Random();
       luck = rand.nextInt(101);
       String type = mode[rand.nextInt(mode.length)];
       luckmeter.setText("Speed-o-Lucky = " + luck + "/100");
       lucktype.setText(type);
       
       if(type == "Luck Meter: Lucky"){
           if(luck<25){
               fortune.setText(fortunes[3]);
           }
           else if(luck >= 25 && luck < 60){
               fortune.setText(fortunes[2]);
           }
           else if(luck >= 60 && luck < 90){
               fortune.setText(fortunes[1]);
           }
           else if(luck >= 90){
               fortune.setText(fortunes[0]);
           }
       }
       else if(type == "Luck Meter: Un-Lucky"){
           if(luck<25){
               fortune.setText(fortunes[7]);
           }
           else if(luck >= 25 && luck < 60){
               fortune.setText(fortunes[6]);
           }
           else if(luck >= 60 && luck < 90){
               fortune.setText(fortunes[5]);
           }
           else if(luck >= 90){
               fortune.setText(fortunes[4]);
           }
       }
    }
    public static void main(String[] args) {
        Application.launch(args);
    }
}

2. ScreenShoot hasil codingan program

Tugas - 6 - Implement Gui

IMAGE VIEWER


1. Class JImg ( untuk mengubah Image )


2. Class ImgPanel ( untuk memuat gambar dalam panel frame )


3. Class ImgFM ( untuk menangani file gambar dari disk )


4. Class ImgViewer ( untuk menggabungkan semua kelas dalam eksekusi )

Tugas - 5 - Library

Implementasi LIBRARY



/**
 * 
 * @author RyanR
 */
//Implementasi Library

import java.util.Scanner;
public class Library
{
    public static void main(String[] args)
    {
        int alas, tinggi;
        double hasil,garis,a;
        int alas2;
        String karakter;
        hasil = 0;
        Scanner sc = new Scanner(System.in);
        System.out.println
            ("Program Penghitung Luas dan Keliling Segitiga");
        System.out.print("Masukan Panjang Alas Segitiga: ");
        alas = sc.nextInt();
     
        System.out.print("Masukan Panjang Tinggi segitiga: ");
        tinggi = sc.nextInt();
     
        System.out.println("Tekan (L) untuk melihat Luas Segitiga");
        System.out.print("Tekan (K) untuk melihat keliling Segitiga: ");
        karakter = sc.next();
        switch(karakter)
        {
            case "L":
            case "l":
                hasil = (alas * tinggi) / 2;
                break;
             
            case "K":
            case "k":
                alas2 = (alas / 2);
                a = (alas2 * alas2) + (tinggi * tinggi);
                garis = Math.sqrt(a);
                hasil = alas + (garis * 2);
                break;
             
            default:
                System.out.print("Anda salah memasukan inputan");
                break;
        }
        sc.close();
        System.out.print("Hasilnya adalah: " + hasil);
        System.out.println();
    }
}

Rabu, 27 November 2019

Kuis - Simple POS

1. Codingan (Source Code)
/**
 * Simple Point of Sales 
 *
 * @Ryan Rasyid
 * @version 28/11/2019
 */
import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.control.*; 
import javafx.scene.layout.*; 
import javafx.event.ActionEvent; 
import javafx.event.EventHandler; 
import javafx.scene.control.Label; 
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage; 
import javafx.scene.Group;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import java.lang.Integer;
import java.lang.String;

public class Menu extends Application {

    String kodeKasir;
    String kodeBarang;
    String namaBarang;
    int hargaBarang;
    int jumlahBarang;
    int totalHarga;
    
    
    public void start(Stage primaryStart) {
       
        primaryStart.setTitle("Input Barang");
            
        Text tKasir = new Text("Kasir: ");
        Text tKode = new Text("Kode Barang: ");
        Text tNama = new Text("Nama Barang: ");
        Text tHarga = new Text("Harga Satuan: ");
        Text tJumlah = new Text("Jumlah Barang: ");
        
        TextField kasir = new TextField();
        TextField kode = new TextField();
        TextField nama = new TextField();
        TextField harga = new TextField();
        TextField jumlah = new TextField();
        
        Button confirm = new Button("Konfirmasi");
        
        GridPane grid = new GridPane();
        grid.setVgap(10);
        grid.setHgap(10);
        grid.setPadding(new Insets(10,10,10,10));
        grid.add(tKasir,0,0);
        grid.add(kasir,1,0);
        grid.add(tKode,0,1);
        grid.add(kode,1,1);
        grid.add(tNama,0,2);
        grid.add(nama,1,2);
        grid.add(tHarga,0,3);
        grid.add(harga,1,3);
        grid.add(tJumlah,0,4);
        grid.add(jumlah,1,4);
        grid.add(confirm,1,5);
        grid.setAlignment(Pos.CENTER);
       
        Scene menu = new Scene(grid);
        
        primaryStart.setTitle("simple POS");
        
        primaryStart.setScene(menu);
        primaryStart.show();

        EventHandler<ActionEvent> eventconfirm =  new EventHandler<ActionEvent>()
        {
         
            public void handle(ActionEvent e){
                kodeKasir = kasir.getText();
                kodeBarang = kode.getText();
                namaBarang = nama.getText();
                hargaBarang = Integer.parseInt(harga.getText());
                jumlahBarang = Integer.parseInt(jumlah.getText());
                totalHarga = hargaBarang * jumlahBarang;
                confirm();
                primaryStart.close();
            }
        }; 
        
        confirm.setOnAction(eventconfirm);
        
    }
    
    public static void main(String[] args){
        launch(args);
    }
    
    public void confirm(){
        Stage next = new Stage();
        
        next.setTitle("Konfirmasi Pembelian");
                
        Button bConfirm = new Button("Ya");
        Button bDeny = new Button("Tidak");
        
        GridPane grid = new GridPane();
        grid.setVgap(10);
        grid.setHgap(10);
        grid.setPadding(new Insets(10,10,10,10));
        grid.add(new Text("Kode Barang\t: " + kodeBarang),0,0);
        grid.add(new Text("Nama Barang\t: " + namaBarang),0,1);
        grid.add(new Text("Harga Satuan\t: " + hargaBarang),0,2);
        grid.add(new Text("Jumlah Barang\t: " + jumlahBarang),0,3);
        grid.add(new Text("Total Harga\t: " + totalHarga),0,4);
        grid.add(new Text("Apakah Anda yakin ingin membeli barang?"),1,5);
        grid.add(bConfirm,2,5);
        grid.add(bDeny,3,5);
        grid.setAlignment(Pos.CENTER);
        
        EventHandler<ActionEvent> yes =  new EventHandler<ActionEvent>()
        {
            public void handle(ActionEvent e){
                confirmBuy();
                next.close();
            }
        };
        
        EventHandler<ActionEvent> no =  new EventHandler<ActionEvent>()
        {
            public void handle(ActionEvent e){
                denyBuy();
                next.close();
            }
        };
        
        bConfirm.setOnAction(yes);
        bDeny.setOnAction(no);
        
        Scene scene = new Scene(grid);
        next.setScene(scene);
        next.show();
    }
    
    public void confirmBuy(){
        Stage stageNext = new Stage();
        
        stageNext.setTitle("Nota Pembelian");
        
        Button reset1 = new Button("Ya");
        Button reset0 = new Button("Tidak");
        
        GridPane grid = new GridPane();
        grid.setVgap(10);
        grid.setHgap(10);
        grid.setPadding(new Insets(10,10,10,10));
        grid.add(new Text("Payment Successfull"),0,0);
        grid.add(new Text("Kode Barang\t: " + kodeBarang),0,1);
        grid.add(new Text("Nama Barang\t: " + namaBarang),0,2);
        grid.add(new Text("Harga Satuan\t: " + hargaBarang),0,3);
        grid.add(new Text("Jumlah Barang\t: " + jumlahBarang),0,4);
        grid.add(new Text("Total Harga\t: " + totalHarga),0,5);
        grid.add(new Text("====== Thank you ====="),0,6);
        grid.add(new Text("Apakah anda ingin melakukan pembelian lain?"),0,7);
        grid.add(reset1,1,7);
        grid.add(reset0,2,7);
        grid.setAlignment(Pos.CENTER);
        
        EventHandler<ActionEvent> yes =  new EventHandler<ActionEvent>()
        {
            public void handle(ActionEvent e){
                resetBuy1();
                stageNext.close();
            }
        };
        
        EventHandler<ActionEvent> no =  new EventHandler<ActionEvent>()
        {
            public void handle(ActionEvent e){
                stageNext.close();
            }
        };
        
        reset1.setOnAction(yes);
        reset0.setOnAction(no);
        
        Scene scene = new Scene(grid);
        stageNext.setScene(scene);
        stageNext.show();
    }
    
    public void denyBuy(){
        Stage stageFinal = new Stage();
        
        stageFinal.setTitle("Pembelian dibatalkan");
        Button reset1 = new Button("Ya");
        Button reset0 = new Button("Tidak");
        
        GridPane grid = new GridPane();
        grid.setVgap(10);
        grid.setHgap(10);
        grid.setPadding(new Insets(10,10,10,10));
        grid.add(new Text("Pembelian Dibatalkan"),0,0);
        grid.add(new Text("Terima Kasih telah menggunakan layanan Simple POS"),0,1);
        grid.add(new Text("Apakah anda ingin melakukan pembelian lain?"),0,2);
        grid.add(reset1,1,2);
        grid.add(reset0,2,2);
        grid.setAlignment(Pos.CENTER);
        
        EventHandler<ActionEvent> yes =  new EventHandler<ActionEvent>()
        {
            public void handle(ActionEvent e){
                resetBuy1();
                stageFinal.close();
            }
        };
        
        EventHandler<ActionEvent> no =  new EventHandler<ActionEvent>()
        {
            public void handle(ActionEvent e){
                stageFinal.close();
            }
        };
        
        reset1.setOnAction(yes);
        reset0.setOnAction(no);
        
        Scene sceneFinal = new Scene(grid);
        stageFinal.setScene(sceneFinal);
        stageFinal.show();
    }
    public void resetBuy1(){
        start(new Stage());
    }
}
2. Screenshoot
  • First Page

















  • Konfirmasi pembeliansssssss










  • Nota Pembelian















  • Jika tidak ingin melakukan pembelian lain










  • Jika ingin melakukan pembelian lain


Kamis, 24 Oktober 2019

Rabu, 02 Oktober 2019

Tugas-3-TIcketMachine

Ticket Machine
Ticket Machine adalah sebuah mesin yang berfungsi melayani penjualan tiket kereta api dari asal tujuan ke tujuan lainnya. Di dalam Ticket Machine ada sebuah program atau perangkat lunak yang mengatur harga tiket di tiap tujuan, mengatur kembalian uang, dan juga mencetak receipt sebagai bukti pembelian tiket.

Berikut ini adalah coding java dari ticket machine.

untuk class TicketMachine:


untuk int main




Minggu, 22 September 2019

Tugas-2-Time Machine

Berikut ini adalah latihan pemrograman java saya:

  • Time1

Deklarasikan objek-objek Time1 dan ubah kedalam format 24-jam
Pemakaian objek dalam aplikasi Output yang diberikan dari hasil koding diatas:
Untuk mengetes kodingan diatas menggunakan kodingan berikut:
hasil outputnya:


  • Time2

Deklarasikan objek-objek Time2
menginisialisasikan objek Time2
Output dari koding Time2 diatas:

Rabu, 04 September 2019

Tugas 1-PBO-Koleksi Kode

Pemrograman Terstruktur
Memecah program dalam fungsi dan data
Memiliki ciri Sequence (berurutan), Selection (pemilihan) dan Repetition (perulangan)  
Struktur program rumit karena berupa urutan proses dan fungsi-fungsi 
Re-use kode program kurang
Efektif digunakan untuk menyelesaikan masalah kecil dan tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya akan kesulitan menemukan solusi permasalahan ketika terjadi error
Mudah diawal, namun kompleks diproses selanjutnya
Eksekusi lebih lambat karena setiap perintah dikerjakan berurutan


























Pemrograman Berorientasi Objek
Menggabungkan fungsi dan data dalam kelas – kelas atau objek - objek
Memiliki ciri Encapsulation (pengemasan), Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)
Struktur program ringkas, cukup dengan membuat Objek dan class lalu bekerja berdasarkan object dan class tersebut.
Kode program sangat re-usable. object dan class dapat digunakan berkali-kali, sehingga dapat menghemat space memori.
Efektif digunakan untuk menyelesaikan masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap kode program menjadi kelompok - kelompok kecil, sesuai dengan fungsinya
Sulit diawal (karena harus membuat class) namun selanjutnya akan terasa mudah dan cepat
Eksekusi lebih cepat karena dieksekusi bersamaan, program hanya mengatur Objek, properties dan method-nya saja


































Contoh Kode program:

     a.    Pemrograman terstruktur
#include <stdio.h>

int main ()
{
    int HH1, MM1, SS1, HH2, MM2, SS2;
    scanf("%d:%d:%d", &HH1, &MM1, &SS1);
    scanf("%d:%d:%d", &HH2, &MM2, &SS2);
    HH1 = HH1 + HH2;
    MM1 = MM1 + MM2;
    SS1 = SS1 + SS2;
    if (HH1 > 24) HH1 -= 24;
    if (MM1 > 60) {
        HH1++;
        MM1 -= 60;
    }
    if (SS1 > 60){
        MM1++;
        SS1 -= 60;
    }
    if (HH1 < 10) printf("0%d:", HH1);
    else printf("%d:", HH1);
    if (MM1 < 10) printf("0%d:", MM1);
    else printf("%d:", MM1);
    if (SS1 < 10) printf("0%d\n", SS1);
    else printf("%d\n", SS1);
    return 0;
}

b.   Pemrograman berbasis objek


class Karyawan:
jumlah_karyawan = 0

def __init__(self, nama, gaji):
self.nama = nama
self.gaji = gaji
Karyawan.jumlah_karyawan += 1

def tampilkan_jumlah(self):
print("Total karyawan:", Karyawan.jumlah_karyawan)

def tampilkan_profil(self):
print("Nama :", self.nama)
print("Gaji :", self.gaji) print()

# Membuat objek pertama dari kelas Karyawan
karyawan1 = Karyawan("Sarah", 1000000)
# Membuat objek kedua dari kelas Karyawan
karyawan2 = Karyawan("Budi", 2000000)

karyawan1.tampilkan_profil()
karyawan2.tampilkan_profil()
print("Total karyawan :", Karyawan.jumlah_karyawan)