Object Oriented Programming vs Structure Design Programming


Nama : Alif Jafar Fatkhurrohman / 1202164058

Kelas : SI-40-02

1. Definisi Konsep pemrograman, OOP, dan Structure

a. Pemrograman

Pemrograman adalah suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti oleh komputer atau dikenal dengan bahasa pemrograman. Pada umumnya konsep pemrograman yaitu IPO (Input – Process – Output).

b. Konsep OOP (Object Oriented Programing)

Object Oriented Programming atau Pemrograman Berorientasi Objek merupakan sebuah paradigma pemrograman yang berorientasikan kepada objek. Jadi semua data dan fungsi di sini dibungkus dalam kelas-kelas atau objek-objek. Dasar Object Oriented Programing (OOP) meliputi Class, Object, Attribute, Method.

c. Konsep Structure (Pemrograman terstruktur)

Merupakan pemrograman yang memperhatikan urutan langkah – langkah secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.

2. Kelebihan Kekurangan

a. OOP (Object Oriented Programming)

Kelebihan :

  • Menggunakan Reuse sehingga mempercepat proses pengembangan
  • Membutuhkan biaya pengembangan yang rendah

  • Software yang sudah jadi Berkualitas tinggi

Kekurangan :

  • Membutuhkan memory yang besar
  • Program yang lambat (Akses program lambat)

  • b. Program Structure

    Kelebihan :

    • Mudah dipahami
  • Programnya Simple

  • Kekurangan :

    • Sering menggunakan kode yang diulang – ulang (non Reusable)

    3. Contoh Kasus OOP dan Structure

    · Contoh Program OOP (Program Bank Sederhana)

    Diagram Class UML

    Class : Banku
    Object : menu
    Attribute :

    – pilihmenu

    – tambah

    – ambil

    – saldo

    – nominal

    – no

    – validasi

    – transaksi

    Method :

    – tambahuang

    – ceksaldo

    – ambiluang

    – transfer

    mainmenu.java

    package pbo;

    import java.util.Scanner;

    public class mainmenu {

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    banku menu = new banku();

    int pilihmenu;

    do {

    System.out.println("SELAMAT DATANG DI BANKU\n");

    System.out.println("MAIN MENU");

    System.out.println("1.Tambah Saldo");

    System.out.println("2.Cek Saldo");

    System.out.println("3.Ambil Uang");

    System.out.println("4.Transfer Uang/Saldo");

    System.out.println("5.Exit");

    System.out.print("Masukkan Pilihan : ");

    pilihmenu = input.nextInt();

    System.out.println();

    switch (pilihmenu) {

    case 1:

    System.out.print("Masukkan Uang yang Anda Tambah: Rp. ");

    double tambah = input.nextDouble();

    menu.tambahuang(tambah);

    break;

    case 2:

    menu.ceksaldo();

    break;

    case 3:

    System.out.print("Masukkan Uang yang Anda Ambil: Rp. ");

    double ambil = input.nextDouble();

    menu.ambiluang(ambil);

    break;

    case 4:

    menu.transfer();

    break;

    case 5:

    System.out.println("Terimakasih");

    break;

    default:

    System.out.println("Pilihan tidak Tersedia 🙂 ");

    }

    } while (pilihmenu != 5);

    }

    }

    banku.java

    package pbo;

    import java.util.Scanner;

    public class banku {

    Scanner input = new Scanner(System.in);

    double saldo = 0;

    void tambahuang(double tambah) {

    System.out.println("Anda Menambah Uang Sejumlah :Rp." + tambah );

    this.saldo += tambah;

    }

    void ceksaldo() {

    System.out.println("Saldo Anda Saat ini adalah sebesar :Rp." + saldo );

    }

    void ambiluang(double ambil) {

    System.out.println("Anda Akan Mengambil Sejumlah :Rp." + ambil );

    transaksi(ambil);

    }

    void transfer(){

    System.out.print("Masukan Rekening Tujuan : ");

    String no=input.nextLine();

    System.out.print("Masukkan Jumlah Uang : ");

    int nominal=input.nextInt();

    System.out.println("Anda akan Mentransfer Sejumlah "+nominal+ " ke rekening "+no);

    System.out.print("Apakah benar data tsb? (y/n)");

    char validasi=input.next().charAt(0);

    if(validasi==’y’){

    System.out.println("Transaksi sedang diproses");

    transaksi(nominal);

    }else{

    System.out.println("Transaksi Dibatalkan");

    }

    }

    public double transaksi(double transaksi) {

    if (this.saldo < transaksi) {

    System.out.println("Transaksi Tidak Dapat dilanjutkan \nUang anda Tidak Mencukupi untuk Transaksi ini\nSisa Saldo anda sebesar Rp. " + this.saldo);

    } else {

    System.out.println("Transaksi Berhasil");

    return this.saldo -= transaksi;

    }

    return this.saldo;

    }

    }

    Outputnya :


    · Contoh Program Structure (Permainan tebak angka)

    package kondisi;

    import java.util.Random;

    import java.util.Scanner;

    public class Kondisi {

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    Random rand = new Random();

    boolean loop;

    do {

    int a = rand.nextInt(50) + 1;

    System.out.print("Tentukan Nilai anda = ");

    int x = input.nextInt();

    if (x==a)

    {

    System.out.println("Selamat Anda Benar!");

    loop = false;

    }

    else

    {

    System.out.println("Jawaban anda Salah, Jawabannya adalah = " + a);

    loop = true;

    }

    } while (loop == true);

    }

    }

    Output :



    4. Bagaimana Cara Menggambarkan Diagram OOP

    Penggambaran Diagram pada Object Oriented Programming bisa menggunakan UML : Class diagram, class diagram itu sendiri menggambarkan struktur sistem dari segi pendefinisian kelas – kelas yang akan dibuat. Contoh Diagram Class :

    Referensi :

    https://www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2-AdvantagesDisadvantagesOfOOP-FINAL.pdf

    cleardot.gif

    http://labkom.stikom.edu/blog/wp-content/uploads/2015/07/SI-03.-Praktikum-Pemrograman-Berorientasi-Objek.pdf

    http://flylib.com/books/en/2.254.1.221/1/

    http://fatimahumi.blogspot.co.id/2014/03/uml-class-diagram.html


    Leave a Reply