Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang berisi instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan sistematis supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi.
Pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam program dan dapat mengunakan parameter yang berbeda-beda untuk setiap pemanggilan. Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur. Sedangkan Prosedur adalah bagian dari program untuk melakukan operasi-operasi yang sudah ditentukan dengan menggunakan parameter tertentu.
Sejarah Metodologi Pemrograman
Ide pemrograman terstruktur pertama kali diungkapkan oleh Prof Edsger Djikstra dari Universitas Eindhoven sekitar tahun 1965. Dalam papernya, Djikstra mengusulkan peniadaan perintah GOTO pada pemrograman terstruktur. Berbeda dengan pendapat HD Millis yang mengungkapkan bahwa pemrograman terstruktur tidak tergantung pada ada tidaknya GOTO tetapi lebih pada struktur program itu sendiri. Dari pernyataan keduanya, memberikan gambaran tidak adanya definisi yang jelas untuk pemrograman terstruktur. Tetapi dapat digaris bawahi bahwa pemrograman terstruktur merupakan suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Alasan Pemrograman Terstruktur ialah
– Krisis metode pengembangan
– Kemampuan tenaga programmer tertinggal
– Sulitnya modifikasi program jika ada kesalahan atau perubahan
– Sulitnya modifikasi kode program karena tidak terstruktur dengan baik
Manfaat Pemrograman Terstruktur
– Dapat menangani program yang besar dan komplek
– Dapat menghindari konflik internal team
– Membagi kerja team berdasarkan modul-modul program yang sudah dirancang
– kemajuan pengerjaan sistem dapat dimonitor dan dikaji
Ciri – ciri Program Terstruktur (Good Program)
– Run correctly (Program handal)
– Run efficiently (Program menjadi sederhana / tidak rumit)
– Be easy to read and understand (Mudah dibaca dan ditelusuri)
– Be easy to debug (Program mudah ditelusuri kesalahannya)
– Be easy to modify (Program mudah dimodifikasi)
Tujuan dari pemrograman terstruktur adalah
1. Meningkatkan kehandalan suatu progam,
2. Program mudah dibaca dan ditelusuri,
3. Menyederhanakan kerumitan program,
4. Pemeliharaan program, dan
5. Meningkatkan produktivitas pemrograman.
Pemrograman terstruktur bercirikan:
1. Mengandung teknik pemecahan yang tepat dan benar,
2. Memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif,
3. Memiliki struktur logika yang benar dan mudah dipahami,
4. Terdiri dari 3 struktur dasar yaitu urutan, seleksi dan perulangan,
5. Menghindari penggunaan GOTO,
6. Biaya pengujian rendah, Source Program penterjemah Machine Languages Komputer dan Pemrograman
7. Memiliki dokumentasi yang baik,
8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
Langkah-langkah untuk membuat program yang baik dan terstruktur adalah:
1. Mendefinisikan Masalah
2. Menentukan Solusi
3. Memilih Algoritma
4. Menulis Program
5. Menguji Program
6. Menulis Dokumentasi
7. Merawat Program
8. Pengenalan Komputer
Langkah – Langkah Pengembangan Program
- Definisikan masalah (Batasan masalah)
- Rancang outline pemecahan masalah (Pengembangan model)
- Buat algoritma berdasarkan outline pemecahan masalah
- Test algoritma (Perbaikan algoritma)
- Coding (Pemrograman dan pengujian program)
- Execute (Running)
- Dokumentasi dan pemeliharaan
1. Definisi Masalah
a. Keluaran (Output)
b. Masukan (Input)
c. Proses (Proces)
2. Outline Pemecahan Masalah (Pengembangan model)
a. Buat langkah – langkah proses (modul/proses apa saja yang terjadi pada menu utama dan sub menu)
b. Buat rincian/detail Proses (masing-masing submenu akan mengerjakan berapa modul/proses, setiap modul/proses yang terjadi berinteraksi dengan berapa file dan file apa saja )
c. Tentukan Variable dan record (dalam setiap proses (modul), baik variabel lokal maupun variabel global)
d. Tentukan struktur kontrol (urut, pengulangan, kondisi), berapa bentuk struktur kontrol yang terlibat dalam satu proses, dan jenis strukturnya apa saja dan berapa banyak
Metode Pemrograman Terstruktur
Pemrograman terstruktur memakai metode pengembangan Top-Down. Perancangan program dilakukan secara Modular.
Pengembangan yang dimulai dari langkah yang global lebih dahulu, yang kemudian diperluas lagi sehingga didapat langkah rinci
Perancangan program dilakukan dalam bentuk modul-modul
Teorema Pada Pemrograman Terstruktur
1. Sequence
Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya
Contoh :
Perintah A
Perintah B
Perintah C
2. Selection
Instruksi akan dikerjakan jika kondisi tertentu dipenuhi
Contoh :
Penggunaan IF-THEN-ELSE
Penggunaas CASE
3. Repetition
Instruksi dikerjakan berulang – ulang sampai suatu kondisi dicapai.
Contoh :
Penggunaan DO WHILE
Penggunaan REPEAT – UNTIL
a. Modular Programming
b. Membuat Modul :
Membuat Modul dalam bahasa C++ adalah dengan fungsi.
Fungsi ada 2 macam :
- Fungsi yang tidak bernilai
- Fungsi yang bernilai
- Fungsi yang tidak bernilai
Format :
Nama_fungsi([tipe par1, ….])
{
pernyataan / instruksi;
}
Format :
tipe hasil Nama_fungsi([tipe par1, ….])
{
pernyataan / instruksi;
}
Cara memanggil modul dari program utama :
void main()
{
Nama_fungsi([par1, ….])
}
Contoh :
1. Fungsi yang tidak bernilai
#include <iostream.h>
// modul membuat garis
void garis() {
for (i=0; i<49; i++) cout << ‘-‘;
cout << endl;
}
// modul membuat judul
void judul() {
int i;
cout << “\t\tDAFTAR BUKU”<< endl; // \t = tabulasi
garis();
cout <<”Judul Buku”<<”\t\tPengarang”<< endl;
garis();
}
// program utama (main)
void main() {
judul(); // memanggil modul judul
}
Contoh :
2. Fungsi yang bernilai
Modul menghitung Luas_segitiga
Cara I :
// modul menghitung luas segita
float Luas_sgt(float alas, float tinggi)
{
return (alas * tinggi / 2); //pengembalian nilai dgn
// return
}
// program utama (main)
void main() {
float A, T;
cout <<”Data Alas : “; cin >> A;
cout <<”Data Tinggi : “; cin >> T;
cout <<”Luas segi tiga : “ << Luas_sgt(A,T)<<endl;
}
– Variable A dengan alas à 2 variabel yang berbeda
– Variable T dengan tinggi à 2 variabel yang berbeda
– Luas_sgt(A,T) cara pemanggilan fungsi, yang akan menghasilkan nilai dari fungsi Luas_sgt
Contoh :
Fungsi yang bernilai
Modul menghitung Luas_segitiga
Cara II :
// modul menghitung luas segita
Luas_sgt(float &alas, float &tinggi, float &luas)
{
luas = alas * tinggi / 2;
}
// program utama (main)
void main() {
float alas, tinggi,luas;
cout <<”Data Alas : “; cin >> alas;
cout <<”Data Tinggi : “; cin >> tinggi;
Luas_sgt(alas, tinggi, luas);
cout <<”Luas segi tiga : “ << luas<<endl;
}
– Variable &alas à berisi alamat dari variabel alas
– Variable &tinggi à berisi alamat dari variabel tinggi
– Luas_sgt(alas,tinggi,luas) cara pemanggilan fungsi, yang akan menghasilkan nilai dari variable luas melalui alamat (passing parameter by location)
Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek
OOP (Object-Oriented Programming)
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.
Bahasa pemrograman yang mendukung OOP antara lain:
A. Java OOP (Object Oriented Progaming-program berorientasi object)
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++.
B. Pascal (bahasa Pemrograman)
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.
C. C++
1. Sejarah
Bahasa C++ diciptakan oleh Bjarne Stroustrup tahun 1983 di Lab Bell. C++ merupakan bahasa pemrograman berorientasi objek menggunakan kaidah bahasa.
2. Aplikasi bahasa C++
- Sebagai bahasa pemrograman di Windows, UNIX, Linux.
- Visual C++ dapat dibuat aplikasi apa saja seperti database.
- Bahasa untuk pembuatan system operasi, game, system kendali,pembuatan aplikasi
- Untuk membuat bahasa baru atau membuat compiler bahasa baru
- Untuk menulis komponen dan file-file pustaka bahasa lain
3. Kelebihan dan Kekurangan
Kelebihan :
- Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#.
- Compiler bahasa C++ terdapat di semua platform.
- Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll.
- Merupakan pemrograman berorientasi objek.
Kekurangan :
- Bahasa ini cukup sulit untuk dipel;ajari dan dipahami.
- Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
- Bagi pemula pada umumnya akan kesulitan menggunakan pointer
D. Microssoft Visual Basic.Net
1. Sejarah
BASIC adalah beginner all-purpose symbolic instruction code dikembangkan tahun 1965 di Darmouth College oleh John Kemeny dan Thomas Kurtz. Awalnya ditujukan untuk pengajaran dasar pemrogaman computer.
2. Aplikasi bahasa Basic
- Landasan pemrograman Visual Basic dan visual basic for application.
- Bahasa pemrograman pada banyak produk Microsoft seperti untuk administrasi dan otomatisasi batch skrip, windowskrip house.
- Untuk pembuatan program kid Basic, FreeBasic, dan Gambas.
3. Kelebihan dan Kekurangan
Kelebihan :
- Bahasa Basic tergolong bahasa serbaguna dan dapat digunakan di aplikasi apa saja.
Kekurangan :
- Bahasanya kurang terstruktur.
- Tidak cocok untuk membuat aplikasi besar.
- Sintaksnya penuh dengan GOTO yang menyesatkan.
- Bahasa ini merupakan bahasa yang primitif di era DOS.
E. 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.
F. 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.
G. Delphi
Delphi adalah sebuah IDE compiler untuk bahasa pemrograman Pascal. Borland Delphi merupakan salah satu bahasa pemrograman yang semenjak diluncurkan pertama kali langsung dilirik dan diminati oleh para programmer komputer. Hal ini disebabakan karena Delphi menyediakan fasilitas untuk pembuatan aplikasi dengan antarmuka visual secara mudah dan dapat memberikan hasil yang memuaskan.
tapi yang namanya suatu produk mesti ada saja kekurangan nya. Berikut adalah kekurangan dan kelebihan delphi..
Kelebihan :
1. freeware
2. Mempunyai desain yang user friendly terhadap para programmer beginer
3. Mempnyai kecepatan kompilasi yang cepat
4. Mempunyai komponen yang sangat komplek untuk pembuatan software aplikasi sampai database
5. Mempunyai aplikasi plugin database bawaan (BDE)
6. Versi selalu diupdate, sampai saat ini sudah mencapai Delphi versi 2009
7. Aplikasi yang dihasilkan bisa merupakan File Executable portable dan Executable installer
8. Sangat mudah untuk membuat koneksi ke berbagai aplikasi database, misalnya BDE, Access, MySql, SQL Server, Oracle, Dan database lainnya
Kekurangan :
1. Salah satu kekurangan Delpi adalah hasil kompilnya yaitu file *.exe pasti bakal gede memorinya
H. 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.
I. Phyton
1. Sejarah
Bahasa pemrograman ini dibuat oleh Guido van Rossum dari Amsterdam, Belanda. Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa perusahaan menggunakan python sebagai pembuat perangkat lunak komersial.
Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya. Lengkap dengan source codenya, debugger dan profiler, antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan basis datanya. Python dapat digunakan dalam beberapa sistem operasi, seperti kebanyakan sistem UNIX, PCs (DOS, Windows, OS/2), Macintosh, dan lainnya. Pada kebanyakan sistem operasi linux, bahasa pemrograman ini menjadi standarisasi untuk disertakan dalam paket distribusinya.
2. Aplikasi bahasa Phyton
- Perangkat bantu shell. Tugas-tugas sistem administrator, program baris perintah.
- Kerja bahasa ekstensi. Antarmuka untuk pustaka C/C++, kustomisasi.
- Pembuatan prototipe secara cepat/pembuatan sistem aplikasi. Prototipe yang dapat dibuang atau sesuai dengan permintaan.
- Modul berdasarkan bahasa pemrograman. Pengganti dari penulisan parser khusus.
- Antarmuka pengguna grafis. Penggunaan GUI API sederhana dan canggih.
- Pengaksesan basisdata. Penyimpanan objek tetap, antarmuka sistem SQL.
- Pemrograman terdistribusi. Penggunaan API mekanisme client/server terintegrasi.
- Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.
3. Kelebihan dan Kekurangan
Kelebihan :
- Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
- Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
- Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode.
- Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada.
- Pemrograman berorientasi objek.
- Pelekatan dan perluasan dalam C.
- Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular.
- Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
- Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya.
- Model objek universal kelas Satu.
- Konstruksi pada saat aplikasi berjalan.
- Interaktif, dinamis dan alamiah.
- Akses hingga informasi interpreter.
- Portabilitas secara luas seperti pemrograman antar platform tanpa ports.
- Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber.
- Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll.
Kekurangan :
- Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
- Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
- Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
- Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.
Bahasa pemrograman yang mendukung pemrograman terstruktur:
A. C#, seperti yang dijelaskan sebelumnya
B. Pascal, seperti yang dijelaskan sebelumnya
C. Delphi, seperti yang dijelaskan sebelumnya
D. Bahasa Prolog
1. Sejarah
Prolog (Programmation en logique) adalah bahasa pemrograman logika atau bahasa non-prosedural. Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman untuk aplikasi kecerdasan buatan. Bahasa ini menjadi popular semenjak Jepang mengumumkan pada tahun 1981 bahwa jepang akan menggunakannya sebagai basis computer “generasi kelima”.
2. Aplikasi bahasa Prolog
- Bahasa pemrograman Artificial Intellegence dan robot.
- Bahasa pemrograman computer generasi kelima.
- PROLOG banyak digunakan dalam aplikasi pembuatan bahasa alami, penulisan compiler, penambahan ilmu pada sistem pakar dan purwarupa (prototype) perangkat lunak.
- Bagus untuk menulis sistem pakar dan knowledge based system.
3. Kelebihan dan Kekurangan
Kelebihan :
- Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
- Melakukan komputasi rumit pada data yang kompleks.
- Mengekpresikan algoritma dengan baik.
- Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
- Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
- PROLOG mempunyai Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.
Kekurangan :
- Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi lambat
E. Bahasa Cobol
1. Sejarah
COBOL diciptakan pada tahun 1959. Bahasa COBOL pertama kali diperkenalkan secara resmi atau formal pada bulan Januari 1960. Versi dari bahasa COBOL ini disebut dengan COBOL-60. Dan diperbaharui pada tahun 1965. Bila suatu bahasa komputer tidak standar, dalam arti banyak versinya, maka menyulitkan pemakai untuk menerapkannya, pemakai harus menyesuaikan versi dari COBOL yang dipakai oleh komputer tertentu. Untuk mengatasi masalah hal ini, pada tahun 1968 dan 1974 bahasa COBOL dikembangkan dan disempurnakan lebih lanjut dan distandardisasikan dengan nama ANSI COBOL (American National Standards Institute ). ANSI COBOL ini yang sekarang banyak diterapkan oleh sejumlah pabrik-pabrik komputer. Dengan adanya standardisasi, pemakai tidak terlalu sulit menggunakan bahasa COBOL versi yang berbeda, karena inti dari bahsa ini sama.
2. Aplikasi bahasa COBOL
- Untuk membuat aplikasi bisnis
- Untuk pengolahan data dan database
3. Kelebihan dan Kekurangan
Kelebihan :
- Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat.
- Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan .
- Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan.
- Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit.
- COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer.
- Mudah didokumentasikan dan dikembangkan bilamana perlu.
- Problem Orientad Language.
Kekurangan :
- Operasi masukan dan keluaran yang masih kaku.
- Struktur penulisan program yang sangat kaku dan bertele-tele.
Sifat-sifat pemrograman terstruktur
- Memuat teknik pemecahan masalah yang logis dan sistematis
- Memuat algoritma yang efisien, efektif dan sederhana
- Program disusun dengan logika yang mudah dipahami
- Tidak menggunakan perintah GOTO
- Biaya pengujian program relatif rendah
- Memiliki dokumentasi yang baik
- Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
Perbedaannya
Dari pengertian pemrograman terstruktur dan pemrograman berorientasi objek itu sendiri kita dapat menyimpulkan, apa perbedaan dari pemrograman terstruktur dan pemrograman berorientasi objek itu. Pemrograman berorientasi objek (Object-Oriented Programming atau 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, Sedangkan untuk pemrograman terstruktur adalah kebalikan dari pemrograman berorientasi objek yaitu sebuah cara pemrosesan data yang terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan harus terstruktur sehingga dalam pembuatannya antara satu line pemrograman dengan yang lainnya berhubungan.
Konsep utama dari Pemrograman Berbasis Objek terletak pada kondisi kode/line pemrogramanannya dimana merupakan sebuah kesatuan modular. 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.
Berdasarkan penjelasan diatas, sangat jelas bahwa 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 (contohnya ketika dlakukan tracing program).
Keuntungan pemrograman berorientasi objek
- Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
- Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
- 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.
Jadi, sangat jelas bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.
Permodelan yang mana yang lebih bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.
Perbedaan mendasar antara OOP dan pemrograman terstruktur
Sistem pemrograman berorientasi objek, bentuk pemodelan programnya diorientasikan dalam bentuk objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya diuraikan dan diorganisasikan secara lebih detail.
Konsep dasar pemrograman berorientasi objek dikelompokkan kedalam kelas, objek, abstraksi, enkapulasi dan Polimorfisme melalui pengiriman pesan, sedangkan konsep dasar pemrograman terstruktur harus mengandung teknik pemecahan masalah yang tepat dan benar, memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif, penulisan program memiliki struktur logika yang benar dan mudah dipahami, program hanya memiliki 3 struktur dasar, yaitu : Struktur berurutan, struktur seleksi, dan struktur pengulangan, Menghindari penggunaan pernyataan GOTO, Memiliki dokumentasi yang baik.
UML adalah contoh salah satu bahasa pemrograman yang berkonsepkan OOP, sedangkan DFD dan ERD adalah contoh bahasa pemrograman yang berkonsepkan pemrograman secara terstruktur.
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. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
Object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Kelebihan dan Kekurangan Pemograman Berorientasi Objek dengan Pemograman Terstruktur
METODE TERSTRUKTUR
Perancangan Terstruktur (Structured Analisys and Design / SSAD)
Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata. Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis terstruktur.
Kelebihan
- Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
- SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
- Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
- SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
- SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
- SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
- SSAD relatif simpel dan mudah dimengerti.
Kekurangan
- SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
- Sedikit sekali manajemen langsung terkait dengan SSAD
- Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
- Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
- Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk melakukan evaluasi.
- Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
- SSAD tidak selalu memenuhi kebutuhan pengguna.
- SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
METODE BERORIENTASI OBYEK
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)
Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis
Kelebihan
- Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
- Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
- 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. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
- 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.
- OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
- Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
- Pada awal desain OOAD, sistem mungkin akan sangat simple.
- Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
- Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
- Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
- Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
- OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
- Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).