Jumat, 28 Februari 2014

Kelebihan dan kekurangan Bahasa Pemrograman


“Kelebihan dan Kekurangan Bahasa Pemrograman”

Kelebihan dan Kekurangan Bahasa Pemrograman :
a.     C++
b.     Java
c.      VB.Net
d.     PHP
e.      Pascal
a.     C++
    Sejarah Bahasa pemrograman C++
Sejarah singkat tentang munculnya bahasa C++ adalah C++ di kembangkan di Bell Labs oleh Bjarne Stroustrup pada tahun 1970-an.Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).

C++  pada dasarnya bahasa C juga yang telah sedikit di kembangkan, kelebihan C yang utama itu adalah seperti :
  • Bahasa Standard-nya ANSI bisa dipakai diberbagai platform.
  • Kecepatan program jika dibanding dengan program yang sama buatan bahasa lain, relatif lebih cepat.
  • Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua jenis komputer.
  • Bahasa C++ tersedia hampir di semua jenis komputer.
  • Kode program bersifat reuseable, sehingga dapat digunakan kembali pada project lain dengan hanya menggunakan library dan file header.
  • Bahasa C++ hanya menyediakan sedikit kata-kata kunci (hanya terdapat 48 kata kunci).
  • Dukungan pustaka fungsi dan kelas yang banyak sehingga memungkinkan pembuatan aplikasi makro.
  • C++ adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP.
  • Bahasa C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa mesin.
  • C++ dapat membuat aplikasi graphic processor berkualitas tinggi.

           Jika dibandingkan dengan VB atau Delphi, C++  memang tidak se-RAD dua bahasa tersebut dan cenderung lebih rumit.Namun dari perbandingan tersebut sudah jelas pasti ada trade-off seperti kecepatan, efisiensi kode, pengstrukturan kode.

          Selain kelebihan, C++ juga memiliki kekurangan seperti layaknya bahasa pemrograman lain, seperti :
  • C++  tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP karena kaidah-kaidah OOP dapat dilanggar. Dan di C++ ada konsep pointer yang sangat membingunkan, ini salah satu alasan mengapa C++ menjadi sesuatu yg paling tidak disukai.
  • C++ walaupun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk developmentnya harus spesific pada salah satu sistem operasi contoh Visual Studio hanya dapat berjalan di Windows. Alasan ini juga nantinya akan dapat menurunkan minat terhadap sistem operasi yang lain contohnya Linux. Apabila dalam praktiknya menggunakan Visual Studio maka otomatis akan menggunakannya juga dan pada akhirnya malas untuk mencoba sistem operasi yang lain.
·      Implementasi C++ dalam teknologi IT pada saat sekarang sudah sangat sedikit sekali.
  • Sulitnya untuk membuat sesuatu dengan C++ sehingga kepeminatannya dalam memperdalam programming akhirnya harus kandas, kecuali dengan inisiatif sendiri mempelajari bahasa/teknologi lain.
b.JAVA
         
Sejarah
      Java mulai dirilis pada tahun 1990 sebagai bahasa program yang disebut Oak, Kemudian Sun MycroSystem mendirikan kelompok kerja yang terdiri atas para programmer handal untuk membuat produk baru dan memperluas pasar Sun.Oak didesain pertama kali untuk personal digital assistance yang disebut *7 yang akan dipasarkan Sun dengan fasilitas Graphical User Interface.
       
        Sekarang ini Java masih dalam taraf pengembangan dan sudah mulai mempengaruhi arah pemrogaman komputer dan internet.Bahasa pemrograman Java dirilis secara gratis di internet dan Sun memberikan lisensi penuh terhadap implementasi Java dan segala komponennya untuk digunakan di berbagai vendor software Internet dengan harapan supaya dapat menciptakan standard bagi pemrograman web.

       Java adalah bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuan-kemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

                                                Kelebihan dan Kekurangan
 Kelebihan:
-Sederhana dan Ampuh
             Kita dapat belajar membuat program dengan Java secara cepat jika telah memahami konsep dasar pemrograman berorientasi objek yaitu hanya perlu mengerti beberapa konsep untuk dapat menulis program yang memuaskan. Java tidak memiliki hal-hal yang mengejutkan dan aneh. Tidak seperti bahasa pemrograman lain yang menawarkan puluhan cara untuk melakukan satu pekerjan, tetapi semua itu dibutuhkan ketelitian dan tingkat kerumitan yang tinggi.

-Aman
           Kebanyakan masalah keamanan terutama aplikasi jaringan internet yang dihasilkan dari sistem lama terjadi karena sistem tidak dirancang dengan konsep keamanan Internet. Salah satu prinsip kunci perancangan Java adalah keselamatan dan keamanan. Java tidak pernah memiliki fasilitas dan keamanan yang tidak aman sampai perlu ditangani secara khusus untuk pengamanannya. Oleh karena itu, program Java tidak dapat memanggil fungsi-fungsi global dan memperoleh akses ke berbagai sumber dalam sistem karena terdapat sejumlah pengawasan yang dilakukan oleh program Java yang tidak dapat dilakukan oleh sistem lain.

-Berorientasi Objek
           Java tidak diturunkan bahasa pemrograman manapun, juga sama sekali tidak kompatibel dengan semuanya. Hal ini dikarenakan adanya kebebasan dalam rancangan maka dipilih pendekatan yang jelas berguna, dan pragmatis. Modul objek Java adalah sederhana dan mudah dikembangkan namun sejalan dengan itu, bilangan dan tipe data sederhana lain dianggap sebagai non objek berkinerja tinggi. Kebanyakan sistem berorientasi objek lain memilih hirarki objek yang kaku dan susah diatur atau memilih menggunakan model objek dinamik yang tidak memiliki kinerja tinggi dan kelengkapan . Java sekali lagi memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan. Memahami gaya pemrograman berorientasi objek sangat penting dan membantu mempelajari bagaimana membuat program dengan Java.

      Kekurangan:
Ø  Java memiliki kecepatan yang kurang dari bahasa C ++
Ø  Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
Ø   Java memakan banyak memori computer
Ø   Java merupakan bahasa yang kompleks dan susah dipelajari
Ø  Program yang dibuat oleh bahasa ini lebih lambat dibanding program yang dibuat dengan bahasa lain seperti C atau C++.

  Aplikasi bahasa Java

Ø Pemrograman jaringan

Ø Pembuatan aplikasi berbasis windows

Ø Program untuk membuat web

C.Visual Basic.Net
Sejarah
       Bill Gates,pendiri Microsoft,memulai bisnis softwarenya dengan mengembangkan interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia ubah agar dapat berjalan di atas IBM PC dengan sistem operasi DOS. Perkembangan berikutnya ialah diluncurkannya BASICA (basic-advanced) untuk DOS. Setelah BASICA, Microsoft meluncurkan Microsoft QuickBasic dan Microsoft Basic (dikenal juga sebagai Basic Compiler). Sejarah BASIC di tangan Microsoft sebagai bahasa yang diinterpretasi (BASICA) dan juga bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan sebagai gabungan keduanya.
       Programmer yang menggunakan Visual Basic bisa memilih kode terkompilasi atau kode yang harus diinterpretasi sebagai hasil executable dari kode VB. Sayangnya, meskipun sudah terkompilasi jadi bahasa mesin, DLL bernama MSVBVMxx.DLL tetap dibutuhkan. Namun karakteristik bahasa terkompilasi tetap muncul (ia lebih cepat dari kalau kita pakai mode terinterpretasi).
       Visual Basic merupakan bahasa yang mendukung OOP, namun tidak sepenuhnya. Beberapa karakteristik obyek tidak dapat dilakukan pada Visual Basic, seperti Inheritance tidak dapat dilakukan pada class module. Polymorphism secara terbatas bisa dilakukan dengan mendeklarasikan class module yang memiliki Interface tertentu. Visual Basic (VB) tidak bersifat case sensitif. Selain itu Visual Basic juga mendukung Visual Programming

Kelebihan dan Kekurangan:

 Kelebihan:

*      Perintah-perintah dalam bahasa VB juga sangat komplit dan di VB kita bisa dengan mudah membuat sebuah program tanpa harus mengetik bahasa program lagi, tetapi cukup mendesign interface/tampilan program dengan VB Editor yang terlah tersedia. Yang paling menarik dari VB terutama adalah tersedianya fasilitas ActiveX. ActiveX merupakan program/fasilitas tambahan yang bisa kita masukan/load ke dalam VB sehingga fasilitas dan kemampuan VB bisa terus meningkat. Selai itu bila kita ingin membuat tombol, lainnya Anda harus membuat code yang panjang hanya untuk membuat tombol saja. Selain itu source code, ocx VB dapat diperoleh di internet sangat banyak.
      Kekurangan:
*      Didalam kelebihan pastinya sebuah software memiliki kelemahan, VB memiliki kelemahan yaitu VB tidak memiliki database sendiri dan biasanya VB mengunakan database seperti : mysql,sql server, microsoft access. Selain tidak memiliki database sendiri VB tidak punya pendukung untuk membuat report dari bawaan VB sendiri, tetapi vb menggandeng sebuah software lain contohnya crystal report ataupun Microsoft access untuk membangun sebuah laporan.

Aplikasi dalam Visual Basic
·         Pemrograman jaringan  
·         Pembuatan aplikasi berbasis windows
·         Program untuk membuat web

d.PHP
Definis PHP
PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML.PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
 
Keunggulan PHP :
  1. Bahasa Pemrograman PHP mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 bahkan HTTP.
  2. Securiry: Tingkat keamanan yang cukup tinggi dan Stabil.
  3. Access: Akses ke sistem Database yang lebih fleksibel, seperti MySQL.
  4. Easy & Faster: Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak dan berkecepatan tinggi.
  5. Cross platform yaitu PHP dapat berjalan lintas platform, yaitu dapat berjalan dalam sistem operasi  seperti Windows, Linuz, MacOS dan OS lainnya dan web server apapun.
  6. Free: Dapat digunakan secara gratis.
  7. Termasuk bahasa yang embedded, yakni dapat diletakkan dalam tag HTML.
  8. Termasuk Jenis server side programming, sehingga kode asli/source code PHP tidak dapat dlihat di browser pengguna, yang terlihat hanya kode dalam format HTML.
  9. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server  misalnya untuk keperluan Database connection.
  10. PHP dapat melakukan semua aplikasi program CGI, seperti mengambil nilai form, menghasilkan halaman web yang dinamis, mengirimkan dan menerima cookies.
  11. On The Fly: PHP sudah mendukung on the fly, artinya dengan php anda dapat membuat document text, Word, Excel, PDF, menciptakan image dan flash, juga menciptakan file-file seperti zip, XML, dan banyak lagi.
  12. 'Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.'
Kekurangan  PHP:
  1. Tidak detail untuk pengembangan skala besar
  2. Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya.
  3. Tidak bisa memisahkan antara tampilan dengan logic dengan baik.
  4. PHP  memiliki  kelemahan  security  tertentu apabila  programmer tidak  jeli  dalam  melakukan  pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
  5. Kode PHP dapat dibaca  orang, dan kompilasi hanya dapat dilakukan dengan tool  yang  mahal dari  Zend.

e.PASCAL
Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971.Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan philosopi dari Perancis (abad 17). Pengembangan dari bahasa Algol 60 dan Algol W (turunan Algol 60). Memiliki beberapa versi, seperti : Turbo Pascal, Ms Pascal (Microsoft), Apple Pascal,UCSD (University of California at San Diego Pascal), dll. Turbo Pascal yang dibuat oleh Borland Inc. adalah versi yang paling banyak digunakan karena menggunakan Compiler untuk menterjemahkannya dan juga mengikuti standard bahasa Pascal yang dibuat oleh Nicklaus Wirth dan K. Jensen. Pascal merupakan bahasa pemrograman tingkat tinggi (high level language) dan terstruktur (Structured Programming language).

Kelebihan Pascal :
*      Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman.
*      Pascal memiliki tipe data standar: boolean, integer, real, char, string,
*      User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
*      Strongly-typed,programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
*      Terstruktur,memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
*      Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.
 

Kekurangan Pascal: 
*        Tidak fleksibel penggunaannya.
                  Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).

Selasa, 25 Februari 2014

Algoritma dan Struktur Data


Flowchart  (Diagram alir)

Flowchart atau diagram alir adalah sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.
  •  Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
  •  Merupakan cara penyajian dari suatu algoritma
  Ada 2 macam flowchart:
1) System flowchart:
     Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis     
                    penyimpanan dalam proses pengolahan data.
2) Program flowchart:
     Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan                             masalah dalam suatu program.
  Pembuatan Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart adalah gambaran hasil analisa suatu masalah
3. Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4. Secara garis besar ada 3 bagian utama:
·Input
·Proses
·Output
5.Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6.Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.

Tujuan Flowchart

Tujuan utama penggunaan flowchart adalah untuk menyederhanakan rangkaian proses atau prosedur untuk memudahkan pemahaman pengguna terhadap informasi tersebut. Oleh karena itu, design sebuah flowchart harus ringkas, jelas, dan logis.

Simbol-Simbol Flowchart


Contoh kasus
1)      Mnghitung suhu
·         Tanya besarnya derajat celsius yang akan diubah ke fahrenheit, diisikan ke variabel celcius
·          Hitung derajat fahrenheit, diisikan ke variabel F dengan rumus F = celsius * 1.8 + 32
·          Cetak F
·         Program selesai















          2)   Algoritmanya :
1.       Masukkan harga CPU, RAM dan Motherboard
2.       Hitung jumlah keseluruhan harga beli barang tersebut (total_harga)
3.       Bila jumlah keseluruhan harga beli barang tersebut di atas 1.500.000 (>1.500.000) maka anda akan mendapatkan diskon sebesar 10% dari harga tersebut
4.       Hitung diskon yang diperoleh dengan rumus, diskon = total_harga * 0.10
5.       Kemudian hitung total pembayarannya dengan rumus, total_bayar = total_harga – diskon lalu cetak harga tersebut
6.       Bila jumlah keseluruhan harga beli barang tersebut di bawah 1.500.000 atau sama dengan 1.500.000 maka anda tidak mendapatkan diskon dan harus membayar sebesar total harga harga yang telah dijumlahkan, kemudian cetak harga tersebut