LEARNING CODE

  1. Bahasa Berorientasi

    Pemrograman Prosedural adalah dilakukan dengan memberikan serangkaian perintah yang berurutan. Paradigma ini didasari oleh konsep mesin Von Newman (stored program concept) sekelompok tempat penyimpanan (memori), yang dibedakan menjadi memori instruksi dan memori data, masing-masing memori tersebut dapat diberi nama dan nilai, selanjutnya instruksi akan dieksekusi satu persatu secara sekuensial oleh sebuah proses tunggal.

    Program dalam paradigma ini berdasarkan pada struktur informasi di dalam memori dan manipulasi dari informasi yang disimpan tersebut. Kata kunci yang sering digunakan dalam paradigma ini adalah:

    Algoritma + Struktur Data = Program

    Contoh bahasa pemrogaman yang menggunakan paradigma prosedural atau imperatif adalah: Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C/C++ mendukung kegiatan pemrograman prosedural, karena itu mereka dinamakan juga bahasa prosedural.

    Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun atau procedural.

  2. Pemrograman Berbasis Objek

    Pemrograman berorientasi objek (Inggrisobject-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,

    Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

    Konsep dasar

    • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
    • Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputerobjek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
    • Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
    • Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
    • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
    • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
  3. Perbedaan Prosedural Dan OOP

     

    No.
    Prosedural
    No.
    OOP
    1
    Fokus utama pada fungsi dan prosedur yang beroperasi pada data 1 Menekankan pada data yang sedang beroperasi dan tidak fungsi atauprosedur
    2
    Program besar terbagi dalam program unit kecil yang disebut fungsi 2 Program dibagi ke dalam apa yang disebut objek
    3
    Data dan fungsi diperlakukan sebagai entitas terpisah 3 Data dan fungsi diperlakukan sebagai entitas terpisah
    4
    Data bebas bergerak di sekitar sistem dari satu fungsi lain 4 Data tersemmbunyi dan tidak dapat diakses oleh fungsi eksternal
    5
    Data bersifat pasif 5 Objek-objek dalam Oop bersifat aktif
    6
    Program desain dengan pendekatan “Top Down” yaitu tugas-tugas kompleks dipecah menjadi bagian yang lebih kecil, sampai sub-tugas tersebut mudah diimplementasikan 6 Program desain pendekatan “Buttom Up” yaitu memuat prosedur-prosedur untuk menyelesaian tugas-tugas yang sederhana, kemudian menggabungkan prosedur-prosedur tersebut dalam prosedur yang lebih  kompleks, sampai fungsionalitas yang ingin tercapai

    Perbedaan dari Cara Pandang :

    • OOP : program adalah serangkaian objek yang bekerja sama untuk menyelesaikan suatu problem.
    • Prosedural : program adalah suatu urutan instruksi.

     

    Beda nyata antara prosedural dan OOP

    • Prosedural fokus pada bagaimana cara komputer menangani masalah.
    • OOP fokus pada masalah yang ditangani dengan menggunakan komputer.

     

    Prosedural biasa digunakan untuk membuat program yang sederhana sementara OOP untuk yang lebih kompleks karena cara berfikirnya bisa seperti manusia(natural).

  4. Konsep OOP

    1.Object

    Sebuah objek adalah sesuatu yang mempunyai keadaan, kelakuan dan identitas. Keadaan dari objek adalah satu dari kondisi yang memungkinkan dimana objek dapat muncul, dan dapat secara normal berubah berdasarkan waktu. Keadaan dari objek biasanya diimplementasikan dengan kelompok propertinya (disebut atribut), berisi nilai dari properti tersebut, ditambah keterhubungan objek yang mungkin dengan objek lainnya. Kelakuan menentukan bagaimana sebuah objek beraksi dan bereaksi terhadap permintaan dari objek lainnya. Direpresentasikan dengan kelompok pesan yang direspon oleh objek (operasi yang dilakukan oleh objek). Kelakuan dari objek mendeskripsikan segala sesuatu yang dapat kita lakukan terhadap objek tersebut dan segala sesuatu yang dapat dilakukan oleh objek untuk kita.

    2.Class

    Class adalah prototype, atau blueprint, atau rancangan yang mendefinisikan variable dan method-methode pada seluruh objek tertentu. Class berfungsi untuk menampung isi dari program yang akan di jalankan, di dalamnya berisi atribut / type data dan method untuk menjalankan suatu program.

    Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari  object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain. Contoh : Class Person, Vehicle, Tree, Fruit dan lain-lain.

    3.Attribute

    Apa saja yang dapat dilakukan / dialami oleh suatu objek, jika bersifat static berarti dilakukan oleh semua objek dalam kelas tersebut.

    4.Intance variabel

    Instance variabel merupakan jenis variabel yang dideklarasikan di dalam class, diluar method baik constructor atau method lainnya.

    Variabel Instance atau Variabel Non-Static memiliki ciri ciri :

    • Variabel instance dideklarasikan didalam kelas, tetapi di luar method, konstructor, atau blok.
    • Saat sebuah objek dibuat, tempat untuk setiap ariabel instance disiapkan dalam memori.
    • Variabel instance dibuat saat sebuat objek dibuat dengan kata kunci ‘new’ dan dihapus saat objek tersebut dihapus.
    • Variabel instance dapat dideklarasikan dalam kelas sebelum atau sesudah penggunaan.
    • Modifier akses dapat digunakan oleh semua method, konstruktor, dan blok di dalam kelas.
    • Variabel instance memiliki nilai default ; untuk tipe numerik 0, untuk Boolean false, dan untuk referensi objek adalah null.

    5.Behavior

    adalah tingkah laku yang dapat dilakukan oleh objek, behavior adalah kelakuan atau sifat dari Object seperti mobil tadi bisa melaju, membelok, membunyikan klakson dan lain sebagainya

    6.Methods

    adalah merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh
    suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.
    Contoh : pada object mangga : terdapat method ambilRasa , kupasKulit dan lain-lain.
    Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta
    berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.
    Metode memiliki 4 (empat) bagian dasar :
    1. Nama metode
    2. Tipe Objek atau tipe primitive yang dikembalikan metode.
    3. Daftar parameter.
    4. Badan atau isi metode.
    Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri.
    Dengan kata lain, nama metode tersebut=metode lain dalam program. Dalam java kita
    dapat memiliki metode-metode berbeda yang memiliki nama sama tetapi berbeda tipe
    kembalian atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadi
    penting. Ini disebut overloading metode.

  5. Contoh

    class Kendaraan{

    int posisi1;
    int kecepatan;
    int posisi2;
    int pergerakan;

    int getPosisi1(){
    return posisi1;
    }

    void setPosisi1(int theposisi1){
    posisi1 = theposisi1;
    }

    int getKecepatan(){
    return kecepatan;
    }

    void setKecepatan(int thekecepatan){
    kecepatan = thekecepatan;
    }

    posisi2 bergerak(){

    int jarak;
    int waktu;

    posisi2 = getKecepatan * waktu;
    }
    }

    class Mobil extends Kendaraan{
    }

    class KendaraanTestDrive{
    Mobil avanza = new Mobil;
    avanza.setPosisi1(30);
    avanza.setKecepatan(45);
    avanza.bergerak();
    }