Senin, 20 April 2015

Kelemahan Dan Kelebihan Bahasa Pemrograman



A. Bahasa C
1. Sejarah
Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang diciptakan oleh Dennis Ricthie & W. Kerninghan tahun 1972 di Bell Telephone Laboratories Inc. (Sekarang adalah AT & T Bell Laboratories).
2. Aplikasi bahasa C
Bahasa C pertama kali digunakan di Computer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX.
Bahasa C juga digunakan untuk menyusun operasi Linux.
Banyak bahasa pemrogaman popular seperti PHP dan Java menggunakan sintaks dasar mirip bahasa C.
3. Kelebihan dan Kekurangan Bahasa C
Kelebihan Bahasa C :
Bahasa C tersedia hampir di semua jenis computer
Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer.
Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci.
Proses executable program bahasa C lebih cepat.
Dukungan pustaka yang banyak.
C adalah bahasa yang terstruktur.
Bahasa C termasuk bahasa tingkat menengah.
Kekurangan Bahasa C :
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
B. Bahasa Java
1. 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 dan memperluas pasar Sun. Oak didesain pertama kali untuk personal digital assistance yang disebut *7 yang akan dipasarkan Sun dengan fasilitas Graphical User Interface.
Ternyata *7 tidak pernah dipasarkan dan secara kebetulan Sun membentuk suatu perusahaan yang disebut Firstperson untuk mengembangkan *7 dalam bentuk TV set-top boxes untuk televisi interaktif. Karena persaingan begitu ketat akhirnya prospek TV interaktif menurun dan akhirnya Oak tidak laku di pasaran. Akan tetapi FirstPerson dan Oak mengalami kegagalan. bermunculan para perintis internet khususnya World Wide Web seperti Netscape membuat software yang memungkinkan terjadinya koneksi antara internet dengan www. Sun akhirnya menyadari bahwa Oak memiliki kemungkinan besar untuk membuat jalur akses ke dunia web. Tidak lamam kemudian Oak diluncurkan di Internet dengan nama baru yaitu, Java.
Sekarang, java masih dalam taraf pengembangan dan sudah mempengaruhi arah pemrogaman computer dan internet. Bahasa pemrogaman 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 pemrogaman web.
2. Aplikasi Bahasa Java
Pemrograman jaringan
Pembuatan aplikasi berbasis windows
Program untuk membuat web
3. Kelebihan dan Kekurangan
Kelebihan Bahasa Java :
Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
Aman, java dirancang dengan konsep keamanan internet.
Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan.
Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program.
Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll.
Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine.
Mudah dipelajari karena bersifat sederhana.
Mendukung koneksi ke database.
Kekurangan bahasa Java :
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 disbanding program yang dibuat dengan bahasa lain seperti C atau C++.
C. Bahasa Pascal
1. Sejarah
Pascal dibuat pertama kali oleh Prof. Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. pascal berasal dari nama matematikawan yaitu Blaise Pascal. Pascal digunakan untuk mengenalkan pemrograman terstruktur.
2. Aplikasi Bahasa Pascal
Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Delphi (berbasis windows).
Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix (berbasis Linux).
3. Kelebihan dan kekurangan
Kelebihan bahasa Pascal :
Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, 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 variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur 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 bahasa Pascal :
Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
Sintaks Pascal terlalu bertele-tele.
Tidak mendukung pemrograman berorientasi objek.
Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.
D. Bahasa PHP
1. Sejarah
PHP adalah bahasa pemrogaman web atau scripting language yang didesain untuk web. PHP dibuat pertama kali oleh Rasmus Lerdford untuk menghitung jumlah pengunjung pada homepagenya pada akhir tahun 1994. PHP terus berkembang dari PHP 1 yang ditulis ulang Rasmus dalam bahasa C pada tahun 1995 sampai PHP 4 yang diluncurkan tanggal 22 Mei 2000.
2. Aplikasi Bahasa PHP
PHP digunakan sebagai landasan operasi pada pemrogaman jaringan berbasis web.
PHP digunakan juga untuk pemrogaman database.
PHP digunakan untuk membuat aplikasi web.
3. Kelebihan dan Kekurangan
Kelebihan :
PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll.
PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web.
Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux.
Sintaks mirip C dan mudah dipelajari.
Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com, phpbuilder.com, phpindo.com, dll.
Berbagai script atau aplikasi yang gratis telah tersedia.
Kekurangan :
Tidak detail untuk pengembangan skala besar.
Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya.
Tidak bisa memisahkan antara tampilan dengan logic dengan baik.
PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend.
E. Bahasa Ruby
1. Sejarah
Ruby adalah bahasa pemrogaman scripting yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pemrogaman scripting yang ada di dunia. Ruby ditulis dengan bahasa C dengan kemampuan dasar seperti Perl dan Phyton.
Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Penulisan Ruby dimulai pada February 1993 dan pada Desember 1994 dirilis versi alpha dari ruby. Pada awal perkembangan Ruby, Yukihiro meulis Ruby sendiri sampai pada tahun 1996 terbentuk komunitas Ruby yang banyak mengkotribusikan Ruby.
2. Aplikasi bahasa Ruby
Implementasi besar Ruby pada JRuby dan Rubinius.
Ruby dapat diterapkan pada teknologi Asynchronous JavaScript dan XML (AJAX).
Ruby on Rails untuk membuat framework web.
3. Kelebihan dan Kekurangan
Kelebihan :
Sintaks sederhana.
Memiliki Exception Handling yang baik.
OOP.
Single inheritance.
Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
Merupakan bahasa pemrograman scripting yang berorientasi objek.
Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori.
Kelemahan :
Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.

Tingkatan Bahasa Pemrograman



Hingga saat ini sudah banyak jenis-jenis bahasa pemrograman yang berkembang di dunia. Di antaranya adalah bahasa C, C++, JAVA, Delphi, Visual Basic, Pascal dan lain-lain sebagainya. Setiap bahasa pemrograman mempunyai struktur dan karakteristik tersendiri. Namun itu belum akan saya bahas pada postingan kali ini. Karena sebelum itu kita perlu mengetahui dulu 3 tingkatan bahasa pemrograman dan sejarah perkembangannya. Tiga tingakatan tersebut adalah sebagai berikut :
1. low level language        
Yaitu bahasa pemrograman tingkat rendah, merupakan bahasa pemrograman generasi pertama. Bahasa pemrogramana generasi pertama ini merupakan bahasa pemrograman yang sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin, dan hanya dimengerti oleh pembuatnya saja karena programnya berupa kode kode mesin. Bahasa pemrograman level rendah  ini pertama kali muncul atau digunakan mulai sekitar tahun 1945. Ketika itu untuk membuat dan menjalankan suatu program dibutuhkan waktu yang lama dan itu pun sering dijumpai kesalahan-kesalahan. Program sangat sulit dibaca dan dibaca, sehingga pada saat itu sangat sedikit orang yang tertarik untuk menjadi programmer.
2. Midle level languanger
Yaitu bahasa pemrograman tingkat menengah, yang merupakan bahasa pemrograman generasi ke dua. Dalam bahasa ini seorang programmer sudah mulai bisa menggunakan bahasa sehari-hari, walaupun masih banyak susah dimengerti juga. Banyak perintah-perintah yang menggunakan inisial atau singkatan-singkatan seperti “MOV” yang berarti  “MOVE” (pindah), “STO” yang berarti (STORE) dan lain-lain. Bahasa pemrograman yang tergolong dalam midle level ini adalah assembler.
3. High level Language

        Yaitu bahasa pemrograman tingkat tinggi, yang merupakan bahasa pemrograman generasi ke tiga dan selanjutnya. Ciri-cirinya yaitu bahasa pemrograman ini sudah terstruktur dengan baik, mudah dimengerti karena sudah menggunakan bahasa sehari-hari(–bahasa inggris tapi ya–), Bahasa pemrograman inilah bahasa pemrograman yang sekarang ini kita kenal, seperti C, C++, JAVA, PHP, Visual Basic, Pascal, ORACLE, MS-SQL, Phyton, XML dan lain-lain sebagainya. Sudah begitu beragam dan bermacam-macam jenis sesuai karakter struktur dan kegunaannya.
Jadi, semakin tinggi tingkat bahasa pemrograman maka akan semakin mudah untuk dipelajari, karena bahasanya yang manusiawi/mudah dimengerti. sebaliknya, semakin rendah tingkatan bahasa pemrograman, maka akan semakin sulit untuk dipelajari, karena bahasanya yang mendekati cara mesin bekerja (bahasa mesin)
Sejarah perkembangan Bahasa Pemrograman berdasarkan generasi-generasinya.

        Untuk sejarah perkembangan bahasa pemrograman ini terbagi dalam 5 generasi, yaitu generasi bahasa mesin, generasi bahsa assembler, bahasa pemrograman tingkat tinggi, generasi problem oriented language, dan artivicial intelgence.
1. The first Generation : Bahasa Mesin atau level instruksi dan data
Yaitu bahsa pemrogrman generasi pertama. Pada generasi ini bahasa mesin atau level instruksi diberikan ke prosesor agar dapat bekerja. Ditemukan oleh Mauchly dan Eckert yaitu ENIAC (Electronik Numerical Integrator and Calculator), pada tahun 1945.
Ciri-cirinya :
= > Menggunakan kode-kode binner dengan basis dasar transistor. “On”=1, “OF”=0.
= > Sangat Rumi, sukar dihafal, lama.
= > Dikembangkan dengan bilangan oktal dan desimal.
2. The second Generation : Bahasa pemrograman assembler
Bahasa pemograman assembler sering juga disebut  orang sebagai bahasa assembly. Pada generasi ini assembler mengubah atau menterjemahkan pernyataan bahasa pemrograman ke bahasa mesin. (Bahasa yang dimengerti manusia ke bahasa mesin). Penulian bahasa assembly sudah sangat jauh lebih mudah jika dibandingkan dengan bahasa mesin, namun masih juga tampak terlalu sulit untuk orang awwam yang belum mengerti tentang Perangkat keras komputer karena beberapa variabel masih mengacu pada alamat port I/O atau register.
Ciri-cirinya :
= > Penyempurnaan dari bahasa mesin.
= > Sudah mulai memasukkan unsur bahasa inggris, walaupun sering berupa singkatan.
= > Bersifat Machine depent. 
3. The third Generation : High level languange
Pada tahun 1950, bahasa pemrograman FORTRAN (Formula TRANslator) muncul dan sudah bersifat Machine independent. Ini adalah awal dikembangkannya bahasa pemrograman tingkat tinggi. Setelah itu mulai diikuti bahasa pemrograman tingkat tinggi yaitu seperti BASIC, COBOL, PL/1, PASCAL, PROLOG, C, JAVA, ALGOL, dan lain-lain.
Ciri-cirinya :
Pemrosesan program oleh komputer sudah meliputi
= > Compilation
= > Link
= > Execution
4. The Fourt Generation : Problem orientend Language
Bahasa pemrograman generasi ke empat atau lebih dikenal dengan sebutan 4GL, yaitu bahasa pemrograman yang sudah menggunakan pendekatan nonprosedural. Artinya, seorang pemakai tidak perlu memberitahukan secara mendetail tentang bagaiamana mendapatkannya. Bahasa pemrograman di generasi ini dirancang untuk meminimalisir waktu dalam pembuatan program sehingga dapat lebih meningkatkan produktivitas.
Istimewanya, bahasa pemrograman di generasi ini dapat juga digunakan oleh seorang programmer newbie yang belum sepenuhnya mengetahui hal-hal tekhnis tentang pemrograman tanpa bantuan programmer professional. Contohnya yaitu pemrogrammer dapat membuat program dengan Microsoft Accessdi linkungan PC dengan mudah.
5. The Fifth Generation : Artifial Intelegence
Bahasa pemrograman generasi ke lima atau sering dikenal dengan sebuat 5GL, merupakan bahasa-bahasa pemrograman yang diciptakan untuk menangani kecerdasan buatan (artfial intelegence). Kecerdasan buatan yang dimaksud adalah disiplin cabang ilmu komputer yang khusus berkonsentrasi pada pembelajaran mengenai cara komputer meniru kecerdasan manusia. Hal ini dilakukan dengan cara pengembangan “Natural language processing” atau pemrosesan bahasa alami, yaitu bagaimana caranya mengatur komputer agar bisa berkomunikasi dengan manusia menggunakan bahasa manusia dan bukan bahasa komputer. Misalnya bahasa Inggris, jepang, Arab, Indonesia, Jerman dan lain-lain sebagainya.
Contoh pengaplikasian bahasa pemrograman generasi ke 5 yaitu :
= > Pengendalian robotika dan sensor mata.
= > Aplikasi sisten pakar (Expert System), rekayasa meniru seorang pakar di bidang tertentu sehingga bisa
menghasilkan pemikiran yang setara dengan pakar yang ditiru. Itu sudah mulai dikembangkan sekarang.
Contoh bahasa pemrograman generasi ke 5 yang ditujukan untuk menangani kecerdasan buatan adalah :
= > PROLOG
= > LISP

ANTLR



Definisi ANother Tool for Language Recognition (ANTLR)
ANTLR, ANother Tool for Language Recognition, berdasarkan artikel “An Introduction   to   ANTLR”,   adalah   sebuah   alat   bantu   yang   menerima   deskripsi grammatical dari sebuah language dan membentuk program yang mengenali sentence dalam language tersebut. Sebagai bagian dari translator, kita dapat menambah grammar dengan operator dan action untuk memberi pedoman pada ANTLR bagaimana membentuk AST (Abstract Syntax Tree) dan output. ANTLR mengimplementasikan strategi parsing LL(k) dan sanggup melakukan sejumlah lookahead dalam menangani grammar yang ambigu.
ANTLR dapat membentuk recognizer dengan grammar yang sesuai untuk 3 jenis input, yaitu character streams, token streams, dan two dimensional tree. Dengan 3 input tersebut ANTLR akan menghasilkan program lexer untuk menangani input berupa character streams, parser untuk menangani token streams yang dihasilkan oleh lexer, dan treeparser untuk menangani two dimensional tree jika dibutuhkan.
ANTLR dikembangkan oleh Terence Parr seorang Profesor dari Universitas San Francisco pada tahun 1989. Bersama dengan beberapa temannya Terrence Parr telah  memberikan sejumlah kontribusi dasar pada teori parsing dan alat bantu untuk pengenalan language. Hal ini berdampak pada pengembangan penggunaan alat bantu pengenalan bahasa berdasarkan metode parsing LL(k).
ANTLR Tree
Berdasarkan artikel “ANTRL Tree Construction”, ANTLR dapat membentuk intermediate form tree, atau abstract syntax tree, dengan menambahkan simbol-simbol tertentu pada grammar untuk mengindikasikan token yang menjadi root dari subtree, token yang menjadi leaves, dan token yang harus diabaikan pada saat pembentukan tree. Root node untuk pembentukan AST pada ANTLR, ditentukan dengan menambahkan tanda “^” pada akhir dari sebuah token (sufix). Sedangkan untuk leaf node, setiap referensinya ke nonsuffixed token atau token-range dianggap sebagai leaf node untuk rule tersebut.

Sekilas Tentang ORACLE



Database Oracle adalah Database relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen Database RDBMS. Perusahaan Software Oracle memasarkan jenis Database ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).
Database Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang. (wikipedia indonesia)
Database Oracle terdiri dari beberapa komponen berikut ini :
Software Oracle
Database, yang tersimpan dalam bentuk file pada satu disk atau lebih.
Instance Oracle, terdiri dari background process dan shared memory area
Server process, yang meng-handle user dan aplikasi yang telah terhubung dengan Database, dan juga mengatur memori dan temporary storage yang digunakan process tersebut.
Oracle Net, yang memungkinkan komunikasi antara client application dengan Database oracle pada sebuah jaringan.
Kerjaan DBA pada umumnya sebagai berikut :
Menginstal Software oracle
Meng-create database oracle
Upgrade database dan software oracle
Menyalakan dan mematikan Database oracle
Me-manage storage database
Me-manage user dan security database
Mengelola object Database seperti table, index, views, dll
Backup dan recovery
Monitoring dan tuning database
Diagnosis dan reporting error-error yang kritikal
Tools yang biasa digunakan pada Database oracle
Oracle Universal Installer : Digunakan untuk instalasi software oracle, dan dapat juga digunakan untuk menjalankan Oracle database configuration assistant untuk menginstal sebuah database
Oracle Database Configuration Assistant : Digunakan untuk meng-create database dari template yang dibuat oleh oracle, atau kita dapat membuat database sendiri sesuai keinginan kita
Database Upgrade Assistant : Tools yang membantu kita dalam melakukan upgrade database.
Net Configuration Assistant : Digunakan untuk konfigurasi listener dan naming methods, yang merupakan komponen penting dalam oracle database network
Oracle Enterprise Manager Database Control : Tools yang digunakan untuk me­-manage oracle database interface yang berbasis web.