Tuesday, September 17, 2019

Contoh Program BlueJ (Test Waktu & Biodata)

Berikut contoh program dengan menggunakan aplikasi Bluej memakai bahasa java. Program yang pertama adalah Membuat Biodata dengan meng-output Nama, NRP dan Kelas saya.




Bisa dilihat pada gambar diatas, class yang saya buat dengan nama "Biodata" yang berisi tentang biodata saya. Selanjutnya kita meng-printoutnya hasil dari program teesebut.

Lalu klik new Biodata().



Dan munculah printout program biodata yang kita inginkan.

Contoh class program selanjutnya adalah membuat program yang mengatur dan meralat waktu.

lalu class selanjutnya untuk menginput waktu yang kita inginkan/coba ke class yang sudah dibuat.


Wednesday, September 4, 2019

Pemrograman Berbasis Objek dan Pemrograman Terstruktur


PBO

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Pemrograman Terstruktur

Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).



Pemrograman Terstruktur
Pemrograman Berbasis Objek
Memecah program dalam fungsi dan data
Menggabungkan fungsi dan data dalam kelas – kelas atau objek – objek
Memiliki ciri Sequence (berurutan), Selection (pemilihan) dan Repetition (perulangan)  
Memiliki ciri Encapsulation (pengemasan), Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)
Struktur program rumit karena berupa urutan proses dan fungsi-fungsi 
Struktur program ringkas, cukup dengan membuat Objek dan class lalu bekerja berdasarkan object dan class tersebut.
Re-use kode program kurang
Kode program sangat re-usable. object dan class dapat digunakan berkali-kali, sehingga dapat menghemat space memori.
Efektif digunakan untuk menyelesaikan masalah kecil dan tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya akan kesulitan menemukan solusi permasalahan ketika terjadi error
Efektif digunakan untuk menyelesaikan masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap kode program menjadi kelompok – kelompok kecil, sesuai dengan fungsinya
Mudah di awal, namun kompleks diproses selanjutnya
Sulit di awal (karena harus membuat class) namun selanjutnya akan terasa mudah dan cepat
Eksekusi lebih lambat karena setiap perintah dikerjakan berurutan
Eksekusi lebih cepat karena dieksekusi bersamaan, program hanya mengatur Objek, properties dan method-nya saja





























Perbedaan PBO dan PS
Pada pemrograman terstruktur, program yang dibuat biasanya berbentuk fungsi fungsi yang bekerja secara berurutan dan berulang untuk menyelesaikan masalah, bedanya dengan PBO, PBO dibuat dengan membuat class yang diisi dengan objek objek di dalamnya, dan objek yang di dalam class ini yang akan mainkan dalam berjalannya program.

Berikut contoh dari program PBO, dengan class Player dan class Game

Player.java 
package dasar;

public class Player {
   
    // definisi atribut
    String name;
    int speed;
    int healthPoin;

    // definisi method run
    void run(){
        System.out.println(name +" is running...");
        System.out.println("Speed: "+ speed);
    }

    // definisi method isDead untuk mengecek nilai kesehatan (healthPoin)
    boolean isDead(){
        if(healthPoin <= 0) return true;
        return false;
    }
   
}

Game.java
package dasar;

public class Game {
    public static void main(String[] args){

        // membuat objek player
        Player petani = new Player();

        // mengisi atribut player
        petani.name = "Petani Kode";
        petani.speed = 78;
        petani.healthPoin = 100;

        // menjalankan method
        petani.run();

        if(petani.isDead()){
            System.out.println("Game Over!");
        }

    }
}


Coba eksekusi Game.java dengan klik kanan pada Game.java lalu pilih Run File. Maka hasilnya:


Coba ganti nilai healthPoin menjadi 0.
petani.healthPoin = 0;
Setelah itu, coba eksekusi lagi:


Bisa dilihat bahwa yang di dalam PBO yang di ubah dan di input dalam program adalah objek dari dalam class, seperti "petani.healthPoin" yang di input 100 lalu diganti menjadi 0 agar program selesai.

Resume Kuliah Tamu "Fit for The Future"

Kuliah tamu hari Selasa, 27 Agusutus 2019 bertema “Fit for The Future”.  Pembicara dari kuliah tamu ini adalah Bapak Ahmadsyah Alghozi. Bapak Ahmadsyah memiliki segudang pengalaman dalam segala bidang. Bapak ini sudah memiliki karir yang bagus baik di Indonesia, maupun di kancah internasional. Dalam kesempatan ini, Bapak Ahmadsyah membagikan berbagai pengalaman yang ia dapat selama hidupnya.
Beliau pernah bekerja di landmark Indonesia, lalu melanjutkan ke landmark Belanda, dan mengimplementasikan software di sana. Pada tahun 2011, ia bergabung di perusahaan petroleum, kemudian pindah ke Shell menjabat sebagai technical data consultant. Setelah merasakan menjadi user akhirnya kembali lagi kedalam dunia IT dimana pengalaman disaat beliau menjadi user membantu dalam membuka perspektif yang baru lagi.
Terdapat dua tipe orang dalam suatu pekerjaan, yaitu engineer dan scientist. Keduanya memiliki cara bekerja yang berbeda. Seorang engineer membuat sesuatu untuk belajar, sedangkan seorang scientist belajar untuk membuat sesuatu.
Didalam melangkah maju di dalam hidup ini adanya interest akan membuat kita lebih mudah memutuskan sesuatu pilihan yang diberikan kehidupan ke kita. Dengan interest tersebut kita harus memiliki tujuan dan visi yang jelas untuk berjalan ke depan. Ketika kita tidak tahu visi dan misi kita, berarti interest kita masih belum jelas. Kita harus melihat kembali niat awal kita, cita-cita kita, dan kemauan kita.
Bagaimana cara seseorang agar mempunyai niat dan motivasi sehari-harinya? Buatlah vision board yang ditaruh di depan cermin, jadi saat kita akan memulai hari, kita akan teringat akan tujuan/goals dalam hidup kita yang ingin kita capai. Selain itu, kita juga harus mengambil kesempatan selagi ada peluang untuk melakukannya, karena bisa saja peluang itu tidak akan datang kembali.
Pada saat kita mendapatkan atau bertemu dengan peluang, personal branding yang bagus akan membuat kita lebih mudah dalam memaksimalkan peluang tersebut. Bagaimana personal branding itu ? Seperti yang dicontohkan oleh mas Ahmad, kita harus pintar-pintar mencari apa yang sedang dibutuhkan di pasar pada saat itu, dimana mas Ahmad menuliskan pada Curriculum Vitae/resume tentang dirinya bahwa dia memiliki kemampuan dalam “Oracle”. Lalu bagaimana jika kita mendapatkan tugas dimana memerlukan kemampuan “Oracle” tersebut? Jawabanya adalah mempelajari dan mencari tahu melalui internet, karena yang terpenting pada saat ada peluang adalah mengambil peluang tersebut. Dan ketika peluang tersebut telah kita dapatkan dan terdapat challenge/tantangan di dalamnya, maka itu lah tugas kita untuk menyelesaikanya dengan baik.
Saat kita mempelajari sesuatu, kita harus mencari domain skill kita, domain skill dibutuhkan untuk memfokuskan skill kita pada satu bidang yang spesifik, bila kita tidak mempunyai skill tersebut biasanya akan kerja dengan bidang yang tidak spesifik (bekerja dalam banyak bidang).
Kemampuan berkomunikasi adalah suatu hal yang harus dikuasai untuk bisa bersaing dalam dunia pekerjaan, salah satu website yang disarankan oleh mas Ahmad untuk melatih kemampuan berkomunikasi adalah “toastmaster.org”. Disana kita dapat melatih kemampuan berbicara didepan banyak orang dan berlatih menyalurkan ide yang kita miliki ke orang lain dengan menggunakan bahasa inggris tentunya.
Selain kemampuan berkomunikasi kita juga memerlukan leadership skill yang baik. Leadership skill bukan hanya menjadi manager, bos, superviser, atau yang sejenisnya. Tetapi leadership skill yang dimaksud disini adalah keberanian kita untuk menjadi diri sendiri, bukan mengenai memanajemen orang tetapi lebih difokuskan ke grows. Grows yang dimaksud adalah kemampuan kita untuk mengembangkan diri kita sendiri dan juga membimbing orang-orang yang lagi belajar dari kita untuk mengembangkan dirinya sendiri. Hal yang juga penting di dalam leadership skill adalah collaboration/kolaborasi dimana kita harus memiliki kemampuan dalam bekerja sama dengan orang lain. Dengan semua hal yang terdapat diatas bisa kita simpulkan prinsip dari leadership skill adalah deliver to others.
Kemampuan selanjutnya yang harus dikembangkan adalah networking skill atau mentorship yaitu kemampuan untuk memilih orang orang yang tepat untuk diajak bekerja bersama. Hal ini penting dilakukan karena apabila kita bekerja bersama dengan orang orang yang tepat dengan kita maka hasil pekerjaan yang dihasilkan juga akan maksimal. Selain ketiga skill diatas masih banyak skill yang lain yang dapat dikembangkan sesuai dengan apa yang akan kita lakukan.
Other skill  atau bisa kita anggap hobi kita di luar pekerjaan dapat membantu kita di dalam mendapatkan koneksi yang dapat membantu kita dalam pekerjaan. Seperti yang mas Ahmad ceritakan hobi beliau dalam fotografi membuat beliau kenal dengan vice president perusahaan beliau. Yang dimana jika mas Ahmad tidak memiliki kemampuan fotografi tersebut maka tingkat vice president dari suatu perusahaan tidak mudah untuk dihubungi dari posisi mas Ahmad.