Rabu, 30 September 2015

Ciri-ciri, Perbedaan, Kelebihan dan Kekurangan Interpreter dan Compiler


Ciri-ciri, Perbedaan, Kelebihan dan Kekurangan Interpreter dan Compiler

Interpreter adalah sejenis program komputer yang dapat mengeksekusi source code (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin dapat melakukan instruksi yang diinginkan sang programmer. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti alur logika yang ada pada kode tersebut. Proses ini berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penerjemahan itu dilakukan sebelum program tersebut dieksekusi oleh komputer.

Sedangkan Compiler sendiri adalah sistem program yang digunakan sebagai alat bantu dalam pemrograman . Software yang melakukan proses penerjemahan source code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda.
*Ciri-ciri Interpreter :
   - Relatif membutuhkan sedikit waktu untuk menganalisa dan memproses program.
   - Kode yang dihasilkan berupa beberapa jenis kode lanjutan.
  - Kode yang dihasilkan diterjemahkan oleh program lain.
  -  Pengeksekusian program relatif lambat.
*Ciri-ciri Compiler :
    - Membutuhkan banyak waktu untuk menganalisa dan memproses program.
   -  Hasil yang dapat dieksekusi berupa beberapa bentuk kode biner mesin yang spesifik.
  -   Perangkat keras computer menerjemahkan (mengeksekusi) kode yang dihasilkan.
   -  Pengeksekusian program cepat.
    Bila akan menjalankan program hasil dari Compiler dapat dilakukan tanpa membutuhkan source code. Sedangkan Interpreter sebaliknya.
    Saat menggunakan Compiler, pembuatan kode dilakukan dalam 2 tahap, yaitu parsing ( pembuatan object code ) dan linking ( penggabungan object code dengan library ) . Sedangkan saat menggunakan interpreter pembuatan kodenya dalam satu tahap saja.
    Jika Compiler membutuhkan linker untuk menggabungkan object code dengan berbagai macam library untuk menghasilkan suatu kode. Maka Interpreter tidak butuh linker.
    Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka Compiler agak merepotkan sebab untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
    Pada Compiler bisa dilakukan optimalisasi kode. Sedangkan Interpreter sukar atau bahkan tidak bisa dioptimalisasikan.

Interpreter

Kelebihan:
  • Memerlukan waktu yang sebentar untuk menganalisa dan memproses program.
  •  Pembuatan kode hanya dalam satu tahap saja.
  •  Tidak membutuhkan linker, sehingga tidak repot dalam pengeksekusian program.
  •  Cocok untuk membuat / menguji  program-program kecil.
  •  Hasil yang didapatkan berupa satu kesatuan perintah dalm bentuk bahasa mesin.

Kekurangan
  •  Pengeksekusian program relatif lambat, karena kode yang dihasilkan berupa kode lanjutan. Harus diterjemahkan oleh program lain.
  • Tidak bisa dioptimalisasikan.
  • Harus mengikuti alur logika yang dibuat oleh programmer. Sekali programmer salah membuat   logika maka pembutan kode akan gagal.
  • Hanya dapat bekerja pada satu jenis komputer yang sama.
Compiler

Kelebihan:
  •    Pengeksekusian program cepat, karena kode yang dihasilkan berupa kode biner.
  •    Dapat langsung diterjemahkan sendiri.
  •    Bisa dioptimalisasikan.
  •    Dapat bekerja di berbagai jenis komputer.
Kekurangan:
  •   Memerlukan waktu yang lama untuk menganalisa dan memproses program.
  •   Pembuatan kode di bagi menjadi 2 tahap, sehingga prosesnya lebih lama.
  •   Bergantung pada linker, jika linker hilang program yang dihasilkan tidak dapat berjalan.
  •   Tidak cocok untuk membuat program-program kecil.

Selasa, 29 September 2015

PEMROGRAMAN TERSTRUKTUR
 
Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur merupakan suatu proses untuk mengimplementasikan urutan langkah penyelesaian suatu masalah dalam bentuk program dan merupakan suatu aktifitas pemrograman yang dilakukan dengan memperhatikan setiap urutan dari setiap langkah perintah yang dikerjakan secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan dapat dengan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik ataupun langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada langkah – langkah untuk proses pengulangan atau berulang (Loop).
Selain itu, pemrograman terstruktur memiliki sifat-sifat seperti berikut ini :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri.

Bahasa pemrograman yang mendukung pemrograman terstruktur:
1. Cobol Turbo Prolog
2. C
3. Pascal
4. Delphi
5. Borland Delphi

Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek.

Pengertian Pemrograman Berorientasi Objek
Pemrograman berorientasi objek atau yang lebih dikenal oleh telinga kita dalam dunia pemograman adalah OOP ( Object Oriented Programming) merupakan sebuah paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalamnya dibungkus dalam suatu kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Konsep utama dari OOP terletak pada kondisi kode atau line pemogramannya, dimana merupakan sebuah modular.

Kelebihan bahasa pemrograman berbasis obyek :
1.Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database.
3.Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.


– Encapsulation (pembungkusan)

Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.

– Inheritance (pewarisan)

Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.

– Polymorphism (polimorfisme –perbedaan bentuk)

Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda.
Bahasa pemrograman yang mendukung OOP antara lain:
1. Visual Foxpro
2. Java
3. C++
4. Pascal (bahasa pemrograman)
5. Visual Basic.NET
6. SIMULA
7. Smalltalk
8. Ruby
9. Python
10. PHP
11. C#
12. Delphi
13. Eiffel
14. Perl
15. Adobe Flash AS 3.0

Kelebihan
• Lebih mudah digunakan dalam pembangunan sistem dibandingkan dengan SSAD.
• Waktu pengembangan OOAD , level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi Dibandingkan dengan SSAD.
• Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
• Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
• Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem.
• Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
• Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
• Memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
• Dekomposisi obyek, memungkinkan seorang analis untuk memecahkan masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah.

KESIMPULAN :
pemrograman berorientasi objek cocok digunakan untuk pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas. OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
  • Terstruktur : Fokus pada bagaimana cara komputer menangani masalah
  • OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.

Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur.


Sumber :
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
http://id.wikipedia.org/wiki/Pemrograman_terstruktur
http://www.facebook.com/note.php?note_id=206003366087101
http://darkdevil4bloodyvenus.wordpress.com/
http://hikaru92.blogspot.com/
luvne.com resepkuekeringku.com desainrumahnya.com yayasanbabysitterku.com