Jumat, 21 November 2014

CONTOH PROGRAM struct

CONTOH PROGRAM STRUCTUR C++
CONTOH PROGRAM TABLE C++
CONTOH PROGRAM LOOPING C++

/*created By     : PRIHAN FIRMANULLAH
          Program Name   : INPUT DATA KARYAWAN
  TERIMAKASIH SUDAH MAU BELAJAR BERSAMA !!
  KUNJUNGI JUGA blog creator : Programlistcoding.blogspot.com*/


#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>


main()
{
char ulang;
int n=0,i;
//struct
struct datakaryawan
{
char nama[20],status,JK;
long gaji;
   int janak;
};
datakaryawan dk[100];

//output awal
cout<<"-------------------------------------------------------------------------------\n";
cout<<"================================DATA KARYAWAN==================================\n";
cout<<"-------------------------------------------------------------------------------\n";


do

{
n++;//jika iya maka menambah nilai perulangan do
dk[i].janak=0;//nilai awal variable janak pada struct data karayawan
cout<<"Nama Karyawan                  : ";gets(dk[i].nama);//pemangilan variable nama pada struct data karyawan
cout<<"Jenis Kelamin[L/P]             : ";cin>>dk[i].JK;
cout<<"Status(MENIKAH[Y] / BELOM[T])  : ";cin>>dk[i].status;
if (dk[i].status=='Y'||dk[i].status=='y')//syarat kondisi variable status
{
    cout<<"Jumlah Anak                    : ";cin>>dk[i].janak;
   }
cout<<"Gaji /Bulan                    : ";cin>>dk[i].gaji;
clrscr();

   /*TAMPILAN TABLE
   Fungsi gotoxy adalah peletakan posisi pointer dan disini saya  gunakan untuk memebuat table
   Fungsi setiiosflags(ios::right) untuk awal penulisan pointer
   fungsi Setw untuk jumlah Max tampilan yang dioutputkan*/


  gotoxy (1,1);cout<<"|------------------------------------------------------------------------------|\n";
   gotoxy (1,2);cout<<"|================================DATA KARYAWAN=================================|\n";
   gotoxy (1,3);cout<<"|------------------------------------------------------------------------------|\n";
  gotoxy (1,4);cout<<"|  NO  |          NAMA           |    JK    |  STATUS  | JML ANAK |    GAJI    |\n";
   gotoxy (1,5);cout<<"|------------------------------------------------------------------------------|\n";

   for (i=0;i<n;++i)//perulangan untuk menampilkan isi struct
   {
   gotoxy (1,(6+i));cout<<"|   "<<(i+1);
   gotoxy (8,(6+i));cout<<"|   "<<dk[i].nama;
   gotoxy (34,(6+i));cout<<"|    "<<dk[i].JK;
   if (dk[i].status=='Y'||dk[i].status=='y') //kondisi merubah output dari Y menjadi Menikah atau T menjadi BELUM
{
    gotoxy (45,(6+i));cout<<"|  MENIKAH";
   }
   else
   {

   gotoxy (45,(6+i));cout<<"|  BELUM";
   gotoxy (56,(6+i));cout<<"|"<<setiosflags(ios::right)<<setw(6)<<dk[i].janak;
   }
   gotoxy (56,(6+i));cout<<"|"<<setiosflags(ios::right)<<setw(6)<<dk[i].janak;
   gotoxy (67,(6+i));cout<<"|Rp"<<setiosflags(ios::right)<<setw(9)<<dk[i].gaji<<" |";

   }

cout<<"apakah Input data karyawan Lagi??[Y/N]";cin>>ulang;
}
while(ulang=='Y'||ulang=='y');//perulangan ke do jika y

gotoxy (1,(6+i));cout<<"|------------------------------------------------------------------------------|\n";
cout<<"\t\t\t\t TERIMAKASIH";
getch();
}

Sabtu, 15 November 2014

MENGATASI DAN MENGINDARI EROR DALAM MEMBUAT PROGRAM


Dalam pembuatan program atau software tak lepas dengan istilah eror. Dan dari situlah bagaimna cara kita mengatasi permasalahan eror itu. Maka dari itu akan saya bagikan beberapa trick bagaimnaa mengatasi dan menghindari eror dalam pembuatan program.

1.       Kenali eror atau masalah pembuatan program

Masalah dalam pembuatan program sering kali terjadi maka dari itu kita harus mengenali masalah yang timbul dalam pembuatan program dan apa masalah itu?? Saya pernah jelaskan kesalahan dalam pembuatanprogram. Namun disni yang akan saya jelaskan adalah eror saat pengcodingan dan saat compiler. Apak sajakaha masalah itu?

a.       Divided Zero

Divided zero adalah permasalahan yang muncul di karenakan pembagian mencapai nilai 0 dan program akan terhenti.

b.      Infinite Looping

Permasalah ini muncul dikarenakan saat kita melakukan pengcodeaan dalam perulangan(looping) nilai tak pernah berujung.maka perlu diperhatikan dalam pendekalarsiian looping nilai min dan max nya.

c.       Aritchmatica Overlow atau Underlow

Arithmatica overlow adalah permasalah yang timbul karena hasil  perhitungan terlalu besar dari media yang bisa di tampung. Dan sebaliknya nya dengan aritmatica underlow. Dan untuk mengatasi masalah ini ialah gunakan Variable yang tepat saat pengcodeean dalam perhitungan.

d.      Exceeding Array bounds

Array adalah variable yang bernilai Indexs. Maka jika pendeklarasiian atau saat memasukan nilai diluar indexs yang telah di tentukan akanmengakibatkan error.

e.       Memory Leak

Penggunaaan memory memory yang tak diinginkan dan program tidak melapaskan memory yang telah ada. Seperti halnya saat kita lupa dalam pengembaliaan nilai awal dalam proses looping sehinga nilai akan terus meningakat.

f.        Stack Overlow atau Underlow

Stack merupakan struktur data dengan prinsip LIFO (Last In First Out), pada program Anda dapat mengimplementasikan logika stack untuk suatu tujuan. Tetapi jika stack melebihi atau dibawah nilai yang diijinkan oleh program, maka akan timbul kesalahan Stack Overflow/Underflow.

g.       Acces Violiatiion

Hal yang terjadi saat sebuah proses mencoba melewati batas yang diijinkan oleh sistem. Misalnya menulis sebuah nilai pada alamat memory, segmen, atau media yang diproteksi.

h.      Bufffer Offerlow

Buffer merupakan tempat penyimpanan sementa array dalam teknik pemrograman. Buffer Overflow terjadi jika Anda menyimpan terlalu banyak data yang tidak dapat ditampung oleh buffer yang disediakan

i.         Deadlock

Permasalahan dikarenaan program saling menunggu antara satu proses dengan proses yang lainnya namun tidak ada satupun proses yang terselesaikan.

j.        Off by one error

Permasalah ini sedikit berbeda dengan infinite looping . dimana permaslahana ini muncul karena salah dalam penulisan code saat perulanagan sehingga nilai yang akan di outputkan terlalu rendah atau terlalalu tinggi. Sebagai contoh saat kita menginkan perulangan yang menghasilakan 7 output dan kenyataannya  yang dihasilkan  tidak sesuai menjadi  6/8 output.

2.       Deklarasikan Variable

Maka dari itu perlu kita ketahui bagaimana pendeklarasiian yang baik dan benar nanti akan saya lebih jelaskan dalam syarat pendeklarsaian variable. dan saat beri salah satu contoh pendeklarasiian variable seperti saat kita mengunakaan variable string maka pada variable itu kita tambahkan huruf s contoh: sNama_mahasiswa sehingga kita dapat megetahui  bahwa nilai itu bervariable string

3.       Gunakan Variable Local

Kebanyakan kesalahan para pemula programer sering menggunakan variable global dalam pendeklarsaiaan code program. Disini akan sering menimbulkan permasalahan dupplicated variable maka di sarankan dalam penulisan program sebaiknya kita deklarasikan dalam variable local. Pada kasus ini sebenarnya sudah di perbaiki oleh para developmnet compiler dengan adanya sistem OOP sehingga penggunaan variable local akan sering digunakan daripada variable global

4.       Berikan Komentar

Tak ada salah nya program kita terlalu banyak dengan komentar. Sehingga memprmudah kita mengenali proses atau urutan program. baiknya kita dapat mudah mengenali dimana letak permasalahan dalam program kita, dan tak dipungkiri saat kita akan mengup program akan lebih mudah pula.

5.       Validasi

Tidak semua orang mematuhi aturan yang Anda terapkan pada aplikasi, karena itu Anda harus melakukan validasi untuk data yang dimasukkan oleh pengguna. Misalnya pada suatu form pendaftaran, Anda sebaiknya melakukan validasi untuk input yang tidak boleh kosong (mandatory/required fields), melakukan pembatasan karakter, dan validasi huruf/angka yang diperlukan.

6.       Gunakan Log file

Penggunaan log file sangat berguna karena kita dapat mengenali dimana letak permaslahan eror itu terjadi sebelum dan sesudah program dijalankan pada catatan field atau table. Namun dalam peggunaan log file maka akan timbul juga permalahan baru yaitu over memory. Untuk menghindari masalah over memory ini kita perlukan pembersihan berkala pada log file dan pisahkan log file kita pada komponen komponen utama di programyang kita buat.

7.       Mengikut langkah Pembuatan program

Perlu diperhatikan langkah-langkah dalam pembuatan program sehingga kita dapat mengenali permasalah dalam pembuatan program kita. Dan untuk langakah ini sudah saya jelaskan di bab LANGKAH-LANGKAHMEMBUAT PROGRAM.


Semoga bermanfaat  ya sobat J

KESALAHAN DALAM MEMBUAT PROGRAM


Di Dunia Ini tak tak ada sesuatu yang sempurna kecuali sang pencipta. Begitupun dalam pembuatan program atau sotware. Dimana kesalahan itu sering kitu sebut dengan “ERROR”.  Eror ini sendiri  dapat dibagi menjadi beberapa tipe:

1.       Logical eror

Logical eror ialah suatu permasalahan dalam pengcodingan dikarenakan terjadi nya kesalahan dalam alur algoritma kita sehingga compiler tidak bisa mendeklarsaikan kedalam bahasa mesin. Dalam permasalah ini sulit kita cari titik permasalahannya dikarenakan saat program di compile akan tetap running namun menghasilkan output yang tak sesuai dengan alur algoritma kita.contoh Dalam permasalah ini seperti salah dalam pendeklarasiaan variabel, proses looping yang tak berujung dll.

2.       Syntax eror

Syntak eror  sering terjadi dikarenakan salah dalam penulisan code. Dan yang hanya perlu kita lakukan hanyalah membaca ulang dan membenahi listting coding kita.

3.       Run-time eror

Runtime Error, adalah kesalahan yang disebabkan oleh tidak tersedianya sumber daya atau kondisi yang normal bagi program untuk berjalan dengan baik, misalnya kekurangan memori komputer, disk full, atau pintu drive tidak terkunci, dll.

4.       Compilation eror

Kompilasi adalah proses di mana sebuah program yang ditulis dalam bahasa tingkat tinggi di konversi ke bentuk mesin yang dapat dibaca. Banyak jenis kesalahan dapat terjadi selama fase ini, termasuk kesalahan sintaks. Kadang-kadang, sintaks dari kode sumber bisa menjadi sempurna, tetapi kesalahan kompilasi masih mungkin terjadi. Hal ini mungkin karena masalah di compiler itu sendiri. Kesalahan ini dapat diperbaiki dalam tahap development.

5.       Resource eror

Dimana prose eror ini ini dikarenakan pelebaran dari nilai variabel kita sehigga terkadang bisa di sebut juga dengan nama out of memory.

6.       Aritmtic  eror

Sebenarnya aritmatic eror ini bisa kita definisikan kedalam syntac eror namun perbedaan nya dalam kesalahan ini di fokuskan kedalam penulisan dalam proses aritmatatika dalam program kita sehingga membingunkan compiler.

7.       Interfacing eror

Kesalah ini dikarenanaa tidak berkesinambungnya antara program perangkat lunak kita dengan perangkat keras tambahan yang akan digunakan untuk fasilitas program kita.

Dan untuk menyelesaikan permasalahan eror yang kita bahas diatas kita memerlukan beberapa cara penanganan khusus dan akan kita bahas pada bab MENGATASI DAN MEGHINDARI EROR DALAM MEMBUAT PROGRAM.





LANGKAH-LANGKAH MEMBUAT PROGRAM



Banyak metode dalam pembuatan suatu software/program yang di kemukanan oleh para profesional dengan berbagai kekurangan dan kelebihanya antara lain :

1.    1. MetodeWaterfall
2.    2. Metode Prototype
3.    3. Metode RAD(Raid application development)
4.    4. Metode AGIL

namun dari beberapa metode yang telah ada kita dapat ambil kesimpulan dalam pembuatan program / sofware.  akan saya jelaskan di bawah ini :

1.    Menetukan Masalah

Menentukan masalah dimana kita mencari suatu masalah yang akan kita dklarasikan. Masalah dapat kita peroleh dengan  ide yang kita punya dan juga dapat kita peroleh dari client yang memerlukan program.

2.   Perencanaan

Setelah kita memiliki  masalah yang harus diselesaikan disini kita memecahkan masalah dengan tahapan tahapan pemecahan masalah yang disebut dengan algoritma.  Dalam perencanaan program kita harus lebih mengoptimalkan program sehingga mengurangi kesalahan dalam pemrograman untuk tahapan-tahapan selanjutnya. Dan perencanaan ini juga melihat aspek kebutuhan program  yang mencakup hardaware jika dibutuhkan.

3.   Desaign Program

Jika suatu masalah sudah kita pecahkan maka kita akan masuk pada tahapan desaign program. Dsinilah kita menenetukan  tampilan user interface agar program menjadi menarik dan mudah digunakan.

4.   Implementasi/coding

Peranana programer ditahapan inilah yang paling utama dimana setelah menyelesaikan beberapa tahapan diatas kita aplikasikan pada pembuatan masalah menjadi sebuah kode yang dapat dimengerti oleh komputer atau yang disebut dengan coding, dengan compiler yang dibutuhkan.

5.   Testing

Di tahap ini ialah proses pengetesan suatu program apakah program sudah layak digunakan ataukah Program masih memiliki kesalahan.jikapun program memerlukan pembenahan kembali maka kita balikan pada point  3 dan 4. Untuk kesalahan dalam pemrograman akan kita bahas di artikel berikutnya.

6.   Maintenance/perawatan

Jika semua tahapan telah terselesaikan disinilah peranan terakhir yang dilakukan yaitu perawatan agar program bisa terus layak pakai. Namun tak hanya pemiliharan namun juga meliputi perkembangan program.

Setelah kita ketahui langah membuat  suatu program/ softawre.
Maka kita akan lihat mutu program/sofware dengan melihat 3 aspek dibawah ini:

1.    Apakah suatu program/sotware itu dapat menghsilkan kinerja yang tinggi dan optimal pada waktu yang tepat??

2.     Menghasilkan program/software dengan baiaya pembuatan dan perawatan yang murah.

3.    Apakah program dapat bekerja pada berbagai platform yang berbeda??


Senin, 10 November 2014

SEJARAH C++, PERBEDAAN C++ dan C, KOMPILER C++

Oke sobat sobat bloger
Mari kita belajar dasar dari pemrograman mengunakan bahasa Pemrogrmaan C++ namun sebelum itu kita pelajari dulu sejarah keungulan dan Kompiler C++ tersebut.

Sejarah Singkat C++
Bahasa C dikembangkan di Bell lap pada tahun 1972 ditulis pertama kali oleh Brian W.Kernighan dan Denies M. Richie Merupanakan bahasa turunan atau bahasa pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan oleh bahasa sebelumnya, yaitu BCL.
Bahasa C, pada awalnya dirancang sebagai bahasa pemrograman yang di operasikan pada sistem operasi UNIX.  
Bahasa C merupakan bahasa tingkat menengah yaitu diantara bahasa tingkat rendah dan tingkat tinggi . bahasa C sangat kompatible  di berbagai mesin mulai dari PC hingga mainframe, serta saat ini  bahasa C dengan banyaknya developer yang mempelopori dapat digunakan diberbagi sistem operasi tidak hanya UNIX namun DOS,Windows Hingga VMS pun bisa berjalan. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak misalnya dBASE, Word Star dll.
Pada tahun 1980 seorang ahli yang bernama  Bjarne Stroustrup mengembangkan beberapa hal dari bahasa C yang dinamanakan “C with Classes” yang pada mulanya disebut “a better C” dan berganti nama pada tahun 1983 menjadi C++ oleh Rick Masciti , dibuat di laboratorium Bell, AT&T.
Pada C++ ditambahkan konsep konsep baru seperti class dengan sifat sensitifnya yang membedakan antara charakter kecil dan character besar yang disebut dengan Object Orientied Programming(OOP) ,  yang mempunyai tujuan utamanya adalah membantu dan mengelola program yang besar dan kompleks. Sebagai contoh a (kecil) berbeda dengan A (besar) menurut satuan ASCII.

Dan beberapa karakteristik OOP sendiri  dapat dibagi menjadi 3:
1.       Encapsulation
2.       Inhertance
3.       Polimorphysm
Dan untuk keterangan lebih lanjut tentang karakteristik OOP/PBO dapat kita jelaskan di artikel berikutnya
Tiga karakter diatas mendukung relisability yang merupakan faktor  dan kualitas perangkat lunak.Relisability adalah merupakan  suatu sifat yang memperkenalkan kelas yang dibuat dan di uji dapat didistribusikan ke program lain untuk dipakai pada program program mereka.

PERBEDAAN C++ dan C
Maka dari itu tampak dengan jelas dimana perbedaan antara bahasa C dengan C++ ialah :
Bahasa C merupakan bahasa pemrograman  prosedural, dimana penyelesaian atas masalah dilakukan dengan mambagi – bagi masalah tersebut  kedalam sub – sub masalah yang lebih kecil. Sedangkan C++ Untuk menyelesaikan masalah ,C++ melakukan langkah pertama dengan mendefinisikan clas- clas yang merupakan a-class yang sebelumnya disebutkan sebagai abstraktif dan objek –objek fisik. Class tersebut berisi keadaan objek, anggotanya, dan kemampuan dari objeknya, setelah beberapa class dibuat,masalah dipecahkan menggunakan class.

KOMPILER C++
Saat ini banyak Kompiler C++ yang beredar dan  dipasarkan  dengan dialek yang berbeda . dialek dimaksud bukan disebakan oleh si pembuat berasal dari negara mana maupun bahasa apa yang digunakan melainkan karena perbedaan development.beberapa development tekemuka seperti Microsft Corporation dengan Visual C++ dan Borland dengan TURBO C++ dan Borland C++ nya. Namun pada dasarnya kompiler ini sama pengunaanya dengan menerapkan Fungsi standart C++ ANSI dan ISO. Dan perbedaanya terletak pada fungsi nonstandart pada setiap kompiler tersebut. Example fungsi nonstandart pada pengunaaan borland C++ Untuk Pemangilan String mengunakan Variable Char saja namun pada Visual C++ pemngilan String Tidak dapat mengunakan Variable Char, sebab Char di Visual Hanya untuk pemangilan 1 Charakter Saja contoh “A” melainkan mengunakan Cstring.mungkin kalian masih bingung apa itu string dan akan kita bahas nanti di bab Manipulasi String.

Beres juga hehehe... 
Semoga dari penjelasan di atas kalian jadi lebih mengetahui sejarah C++

Thx

Minggu, 09 November 2014

DASAR DASAR BELAJAR PEMROGRAMAN

hallo sobat bloger....

kemaren kita sudah bahas apa itu bahasa pemrograman dan sejarahnya.
sekarang saya akan membahas dasar dasar belajar bahasa pemrograman,mungkin  blog, web lain dan sudah banyak buku juga yang membahas bab ini  namun apa salahnya saya juga ikut berbagi kepada anda :).
jadi disini belajar dasar dasar belajar bahasa pemrograman ala bang firman ya :))))....
mungkin dari beberapa kalian yang baru belajar bahasa pemrograman entah itu yang baru duduk di bangku kuliah maupun yang hanya sekedar ingin belajar pemrograman baik itu bisnis program(desktop programing) maupun web programing.memerlukan beberapa tips dan syarat menjadi seorang programer handal hehehe.
padahal yang ngasih tau juga masih newbie :( hahaha.
ekh malah ngelantur hehehe .. ya udah mari kita bahas syaratnya apa sih belajar pemrograman biar asik dan menyenangkan

1. menjadikan program sebagai hobi
    yah kenapa hobi jadi karena jika belajar dengan menyukai sesuatu maka kita akan mengerjakannya dengan perasaan senang terkadang malah hinga lupa waktu. menjadikan  pekerjaan sebagai hobi disini juga berlaku ke semua hal loh yang ingin kalian lakukan.

2.Rasa penasaran yang tinggi
   bahasa keren nya High curiousty . dimna jika kita mempelajari bahasa pemrograman kita akan sering dihadapkan dengan hal hal yang membingunkan maka dari itu diperlukan rasa penasaran yang tinggi sehinga kita tidak mudah putus asa dalam menyelesaikan  masalah itu.

3.Mau Belajar
   jika anda ingin menjadi seorang programer yang handal maka anda jangan mudah puas dengan apa yang sudah anda seleasaikan saat ini. kita harus tetap terus dan terus belajar karena tidak cuman sebagia mengasah skill kita juga dapat bersaing dengan para profesionalal lainnya dimana dunia teknologi semakin hari semakin melangkah kedepan. jadi intinya dari kita mau belajar tidak kita bakal ketinggalan zaman :)

4.Bisa berbahasa inggris
   why?? ya dimana bahasa pemrograman saat ini masih di apllikasikan dengan penggunaaan bahasa inggris namun anda sebenarnya tidak perlu pintar pintar juga b.inggris pasif pun sudah cukup kok :).

5.suka berimajinasi
   seorang programer yang handal akan selalu berimajinasi. imajinasi disini sendiri harus didasari dengan alurlogika yang matang.
namun jangan berimajinasi hal hal yang lain ya hahaha...
dan sebagia tambahan
6.pandai mengubah source code menjadi kalimat yang mudah dipahami oleh kita. sehinga source kode yang menurut pemula adalah hal yang rumit menjadi familiar bagi kita.

sebenarnya ke 5 hal itu bukanlah syarat mutlak, seorang programer handal biasanya memiliki kriteria diatas.

langkah langkah untuk belajar pemrograman sebagai berikut
1.menetukan bahasa pemrograman yang cocok.
   dimana sekarang sudah banyak bahasa pemrograman yang tersedia baik yang masih berbentuk
CUI(comannd user interface) atau GUI (graphical user interfase). bahkan banyak bahasa pemrograman yang mudah dipelajari. namun itu belum tentu cocok dengan kriteria anda. sebagi contoh orientasi kita adalah desktop aplikasi kita dapat mempelajari C++,pascal,Delphi,VB dan masih banyak lagi sedangkan orientasi kita adalah web programing kita perlu belajar HTML,PHP,JAVA, dll.untuk yang trend saat ini bahasa pemrograman untuk pengembangkan android dan ios. namun apapun bahasa pemrograman yang digunakan kita harus mengikuti langkah-langkah membuat program.

2.  menentukan tools development yang cocok. karena  kita masih terkendala dengan masalah dengan masalah lisensi yang tidak murah, maka carilah development yang open source atau gratis, seperti PHPEdit,PSPade, editplus dll,

3.Belajar mengetik sepuluh jari. hal ini yang agak dan mungkin agak membosankan namun sangatlah penting jika kita sebagai programer. banyak aplikasi gratis kita gunakan untuk belajar mengetiik sepuluh jari seperti SharkTyper,TypeFastter, RapidTyping dll.

4 Mencari Buku Pemrograman
jika kita mempelajari sesutu maka kita memerlukan panduan yah maka dari itu saya rekomendasikan anda senang dengan membca dimana membaca adalah sarana kita menambah wawasan dan sebagai acuan dalam mempelajari pemrograman.

5.mencari mentor yang tepat.
mungkin anda yang sedang kuliah atau sedang sekolah mempunyai guru yang mengajari namun tak semua guru bisa dijadikan mentor karena kenapa karena guru belum tentu bisa kita tanya kapan saja sehinga jika kita ada masalah kita tidak bisa menanyakannya langsung. mentor sendiri dapat kita peroleh dari  kalagan profesional bahkan teman kita sendiri.

6. mencari waktu yang tepat
waktu yang tepat dalam membua program atau aplikasi ialah disaat otak kita sedang nyaman dan tidak tergangu oleh aktifitas lainya. karena jika kita membuat program dalam keadaan capek atau lelah bukan hal tak mungkin program kita tidak bakal jadi malah kita semakin . maka carilah waktu dan kondisi disaat kita merasa nyaman (kecuali kita dalam keadaan di kejar deadline). dan bisa juga waktu itu kita imbuhi dengan hal hal yang membuat otak kita fressh contoh disaat kita membuat program dengan mendengarkan music.

7.mencari proyek
untuk mengsah otak kita dalam membuat program maka diperlukan waktu yang intens. maka dari itu carilah proyek baik kecil maupun besar. sebagi contoh mengerjakan tugas kuliah.

ok mungkin jika kalian menjalankan apa yang saya bahas diatas kalian akan menjadi seorang profesionalisme .karena waktu sudah malam mungkin sedikit tapi semoga bermanfaat. selamat mencoba. :)

Sabtu, 08 November 2014

pengertian bahasa pemrograman dan sejarah pemrograman

PERKENALAN BAHASA PEMROGRAMAN
mungkin bagi beberapa orang akan bertanya tanya apa sih bahasa pemrograman???
apalagi yang sekarang sedang duduk di bangku kuliah dengan jurusan MI,SI, Ti dll yang mengembangkan tetang bahasa pemrograman tak luput juga untuk adek adek SMK dengan jurusan RPL...

tanpa bertele tele mari kita bahas apa sih bahasa pemrograman itu???
bahasa pemrograman adalah  teknik komando/instruksi standar untuk memerintah komputer atau bisa disebut bahasa komputer .Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintax dan sematik yang dipakai untuk mendefinisikan program komputer.
Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.


dari berbagai bahas pemrograman yang ada pada saat ini bahasa pemrograma dapat di golongkan menjadi 4 dari tingkat kedekatannya  pada  mesin komputer.

  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bahasa InggrisAssembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
  3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
  4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.

Untuk melaksanakan tugas maka komputer akan diperintah oleh sebuah sistem, perintah dasar komputer ini disimpan ke dalam sebuah sistem yang disebut sebagai sistem operasi seperti DOS, Unix, Windows, LinuxSolaris dsb. Perintah-perintah tersebut tentunya menggunakan bahasa mesin yang oleh komputer hanya mengenal angka 1 dan 0 (binary) dimana angka 1 dipresentasikan sebagai sebuah wadah yang mimiliki listrik dan angka 0 tidak memiliki listrik (Tegangan).
Untuk membuat sebuah sistem dikomputer maka diperlukan sebuah alat (tools) yang kita sebut sebagai bahasa pemrograman, jadi yang terlintas dibenak kita saat ini adalah “Alat yang dibuat untuk membuat program (sistem) disebut sebagai bahasa pemrograman”, sehingga Program-Program seperti Macro/Turbo Assembly, Turbo C, Microsft Visual C++, C++ Builder, Microsoft Visual Basic, Delphi dsb digunakan untuk membuat aplikasi bukan sebagai aplikasi untuk mengolah data seperti Microsoft Excel, SPPS dsb.
Atau dapat juga dikatakan bahwa bahasa pemrograman adalah bahasa yang digunakan pada komputer untuk melakukan tugas tertentu. Seperti juga bahasa yang digunakan manusia secara umum, bahasa pemrograman banyak sekali jenisnya.
Bahasa pemrograman dapat dikelompokkan berdasarkan tingkatan, seperti bahasa tingkat rendah (low Level), bahasa tingkat sedang (Mid Level Language), bahasa tingkat tinggi .

sejarah singkat bahasa pemrograman
Berikut adalah ringkasan sejarah bahasa pemrorgraman.
Sebelum 1940
Pada jaman ini terdapat bahasa pemrograman yang pertama kali muncul sebelum adanya komputer modern, artinya bahasa pemrograman lebih tua dari komputer itu sendiri. Pada awal kemunculannya, bahasa pemrograman masih dalam bentuk kode-kode bahasa mesin. Bahasa mesin merupakan bahasa yang terdiri atas kode-kode mesin dan hanya dapat diinterpretasikan langsung oleh mesin komputer. Bahasa mesin ini tergolong bahasa tingkat rendah, karena hanya berupa kode 0 dan 1 seperti disampaikan pada bagian atas.
Periode 1940-an
 40
Dengan bahasa mesin ditemukan banyak kesulitan untuk pengembangan dan perbaikan pada program yang dibuat saat itu, Tahun 1940-an komputer bertenaga listrik dibuat, dengan kecepatan yang sangat terbatas dan kapasitas memori yang mencukupi untuk programmer memprogram, kemudian terciptalah bahasa assembly (Assembly language). Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya Move untuk memindahkan isi data, ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Penggunaan bahasa Asembly dirasa belum sempurna karena selain sulit untuk diimplementasikan, ternyata bahasa ini juga sulit jika sang programer ingin mengembangkan program buatannya. Pada tahun 1948, Konrad Zuse mempublikasikan sebuah paper tentang bahasa pemrograman miliknya yakni Plankalkül. Bagaimanapun, bahasa tersebut tidak digunakan pada masanya dan terisolasi terhadap perkembangan bahasa pemrograman yang lain. Beberapa bahasa pemrograman yang berkembang pada masa itu antara lain:
• Plankalkül (Konrad Zuse) – 1943
• ENIAC coding system – 1943
• C-10 – 1949
Periode tahun 1950-an sampai dengan tahun 1960-an
 50
Mulai tahun 1950 dibuatlah bahasa pemrograman modern, yang turun-temurun dan tersebar luas hingga saat ini. Bahasa ini menggunakan istilah atau reserved word yang dekat dengan bahasa manusia seperti READ untuk membaca, WRITE untuk menulis dsb. Dalam perkembangannya Bahasa Tingkat Tinggi juga terdiri dari beberapa metode pemrograman, yaitu Procedural Programing dan Object Oriented Programing. Letak perbedaannya yaitu, jika pada procedural programing program dijalankan dengan menggabungkan variable, procedure-procedure yang saling keterkaitan dan berjalan berurut, sedangkan pada OOP seluruh task dijalankan berdasarkan kedalam object.
• FORTRAN (1955), the “FORmula TRANslator”, ditemukan oleh John W. Backus dll.
• LISP, the “LISt Processor”, ditemukan oleh John McCarthy dll.
• COBOL, the COmmon Bussines Oriented Language, dibuat oleh the Short Range Commitee, dan Grace Hopper berperan sangat besar disini.
Overview:
  • • Regional Assembly Language – 1951
  • • Autocode – 1952
  • • FORTRAN – 1954
  • • FLOW-MATIC – 1955
  • • COMTRAN – 1957
  • • LISP – 1958
  • • ALGOL – 1958
  • • COBOL – 1959
  • • APL – 1962
  • • SIMULA – 1962
  • • BASIC – 1964
  • • PL/I -1964






Periode 1967-1978: Menetapkan Paradigma Fundamental
Periode diantara tahun 60-an sampai dengan 70-an membawa pengaruh yang besar dalam perkembangan bahasa pemrograman.
 Kebanyakan dari pola bahasa pemrograman yang utama yang saat ini banyak digunakan:
• Simula, ditemukan pada akhir 60-an oleh Nygaard dan Dahl sebagai superset dari Algol 60, merupakan bahasa pemrograman pertama yang didesain untuk mendukun pemrograman berorientasi object.
• C, sebuah tahapan awal dari sistem bahsa pemrograman, yang dikembangkan oleh Dennis Ritchie dan Ken Thompson di Bell Labs antara tahun 1969 dan 1973.
• Smalltalk (pertengahan tahun 70-an) menyajikan desain ground-up yang lengkap dari sebuah bahasa yang berorientasi objek.
• Prolog, didesain pada tahun 1977 oleh Colmerauer, Roussel, and Kowalski, merupakan bahasa pemrograman logika yang pertama.
• ML membangun sebuah sistem polimorfis (ditemukan oleh Robin Miller pada tahun 1973) diatas sebuah Lisp, yang merintis bahasa pemrograman fungsional bertipe statis.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:
  • • Pascal – 1970
  • • Forth – 1970
  • • C – 1970
  • • Smaltalk – 1972
  • • Prolog – 1972
  • • ML – 1973
  • • SQL – 1978
Periode 1980-an: konsolidasi, modul, performa
1980s adalah tahun dari konsolidasi relatif. C++ dikombinasikan dengan sistem programming dan berorientasi obyek. Pemerintah Amerika Serikat menstandardisasi Ada, sebuah sistem pemrograman yang bertujuan untuk digunakan para kontraktor untuk bertahan. Di Jepang dan di tempat lain, penjumlahan luas yang telah di selidiki disebut” generasi ke lima” bahasa-bahasa yang menyatukan logika pemrograman konstruksi. Masyarakat bahasa fungsional gerak ke standarisasi ML dan Cedal. Dibandingkan dengan menemukan paradigma-paradigma baru, semua pergerakan ini menekuni gagasan-gagasan yang ditemukan di dalam dekade sebelumnya.
However, one important new trend in language design was an increased focus on programming for large-scale systems through the use of modules, or large-scale organizational units of code. Modula, Ada, and ML all developed notable module systems in the 1980s. Module systems were often wedded to generic programming constructs generics being, in essence, parameterized modules (see also parametric polymorphism).
Bagaimanapun, satu kecenderungan baru di dalam disain bahasa adalah satu fokus yang ditingkatkan di pemrograman untuk sistem besar-besaran melalui penggunaan dari modul, atau kesatuan organisasi besar-besaran dari kode. Modula, Ada, dan ML semua sistem modul terkemuka yang dikembangkan pada 1980-an.




Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:
  • • Ada – 1983
  • • C++ – 1983
  • • Eiffel – 1985
  • • Perl – 1987
  • • FL (Backus) – 1989
Periode 1990-an: Visual
Pada periode ini bahasa selain berorientasi objek juga sudah dikembangkan berbasi Visual sehingga semakin mudah untuk membuat program aplikasi, diawali oleh Python dan Microsoft Visual Basic 1 pada tahun 1991, Delphi yang dikembangkan dari Pascal for windows akhirnya pada tahun 1997 Visual Basic 5 diluncurkan dengan kemudahan koneksi ke database, OO Cobol sudah ditemukan dalam versi windows. Bagi kebanyakan programmer database tidak dapat dipungkiri bahwa era 1990an merupakan era yang paling produktif semenjak bahasa pemrogrammar diciptakan.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk
  • • Haskel – 1990
  • • Python – 1991
  • • Java – 1991
  • • Ruby – 1993
  • • OO Cobol
  • • Lua – 1993
  • • ANSI Common Lisp – 1994
  • • JavaScript – 1995
  • • PHP – 1995
  • • C# – 2000
  • • JavaFX Scrip, Live Script,
  • • Visual Basic
Periode 2000an hingga tulisan ini dibuat
Pada saat ini ada kecenderungan para vendor bahasa pemrograman untuk menggiring programmer hanya dengan mengggunakan produk mereka untuk membuat program meski kita sadari bahwa sulit rasanya untuk membuat program yang tangguh hanya dengan satu bahasa pemrograman, hal ini tentunya dilakukan dengan tujuan kelangsungan usaha mereka, namun terlepas dari semua itu terdapat dua konsepsi besar dalam periode ini dimana kemudahan berbasis visual sudah mulai digiring ke basis internet dan mobile, dengan bermunculan webservice dan berbasis net dan a mobile flatform.



Konsep pertama yang dicermati adalah konsepsi Microsoft dimana dengan Visual Net akan menyediakan berbagai bahasa pemrograman seperti VB Net , VC++ Net, ASP NET yang di compile dengan berbagai bahasa akan tetapi berjalan pada satu sistem operasi yakni windows. (Compile any program run one system)
Konsepsi Kedua, Merupakan konsep yang terbalik dari konsep pertama yakni apa yang ditawarkan Sun Microsystem melalui produknya Java, J2ME, JDK, yakni dicompile dengan satu bahasa pemrograman (java) dan berjalan dibanyak sistem operasi. (Compile one program running any system)
Selain itu periode ini juga merupakan jamannya CMS (Content Manajemen System), lompatan pengembangan PHP Script begitu cepat, dimana untuk membuat website atau portal telah tersedia banyak template, Banyak modul-modul yang siap pakai sehingga programmer atau webmaster tidak perlu lagi mempelajari semua script html dan bahasanya, tinggal merangkai modul yang tersedia sehingga dalam beberapa hari saja sebuah web sudah dapat dibuat. Apa yang ditawarkan Mambo, PhkNuke dan Jomla saat ini sangat memudahkan para desainer web.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk
• Tcl/Tk,
• O’Caml,
• Ruby,
• Phyton 3.1,
• Java 6 JDK, JED, Java Beans, J2ME
• Microsoft Visual Net (VB Net, C++ Net, ASP NET) 2008
• Java Scrip Template oleh Mambo, PhpNuke, Jomla

Sejarah pandangan pertama tiga generasi

Istilah “generasi pertama” dan “generasi kedua” bahasa pemrograman tidak digunakan sebelum coining dari istilah “generasi ketiga.” Bahkan, tak satupun dari ketiga istilah yang disebutkan dalam kompendium awal bahasa pemrograman. Pengenalan generasi ketiga dari teknologi komputer bertepatan dengan penciptaan generasi baru bahasa pemrograman. Pemasaran untuk pergeseran generasi dalam mesin tidak berkorelasi dengan beberapa perubahan penting dalam apa yang disebut tingkat tinggi bahasa pemrograman, dibahas di bawah, memberikan konten teknis untuk perbedaan kedua / ketiga-generasi antara bahasa pemrograman tingkat tinggi juga, dan mengubah nama refleks bahasa assembler sebagai generasi pertama.

Generasi Kedua

Bahasa pemrograman generasi kedua, awalnya hanya disebut bahasa pemrograman tingkat tinggi , diciptakan untuk menyederhanakan beban pemrograman dengan membuat ekspresi yang lebih seperti modus normal ekspresi pemikiran yang digunakan oleh programmer. Mereka diperkenalkan pada akhir 1950-an, dengan FORTRAN mencerminkan kebutuhan programmer ilmiah, ALGOL mencerminkan upaya untuk menghasilkan tampilan standar Eropa / Amerika.
Masalah yang paling penting yang dihadapi oleh para pengembang dari tingkat kedua bahasa adalah pelanggan meyakinkan bahwa kode yang dihasilkan oleh para penyusun dilakukan dengan baik-cukup untuk membenarkan meninggalkan pemrograman assembler. Dalam pandangan skeptisisme luas tentang kemungkinan memproduksi program efisien dengan sistem pemrograman otomatis dan fakta bahwa inefisiensi tidak bisa lagi disembunyikan, para pengembang yakin bahwa jenis sistem yang mereka ada dalam pikiran akan banyak digunakan hanya jika mereka bisa menunjukkan bahwa hal itu akan menghasilkan program hampir seefisien yang tangan kode dan melakukannya pada hampir setiap pekerjaan. Compiler FORTRAN dipandang sebagai tour de force-dalam produksi berkualitas tinggi kode, bahkan termasuk “… a Monte Carlo simulasi pelaksanaannya … sehingga dapat meminimalkan transfer barang antara toko dan indeks register.”

Generasi ketiga

Pengenalan generasi ketiga dari teknologi komputer bertepatan dengan penciptaan generasi baru bahasa pemrograman. Fitur penting dari generasi ketiga bahasa adalah hardware-kemerdekaan mereka, ekspresi yaitu algoritma dengan cara yang independen dari karakteristik mesin yang algoritma akan berjalan.
Beberapa atau semua dari sejumlah perkembangan lain yang terjadi pada saat yang sama dimasukkan dalam 3GLs.
Interpretasi diperkenalkan. 3GLs Beberapa disusun , proses analog dengan penciptaan dieksekusi kode mesin lengkap dari kode assembly, perbedaan adalah bahwa dalam bahasa tingkat tinggi tidak ada lagi hubungan, satu-ke-satu, atau bahkan linier antara petunjuk source code kode mesin instruksi dan. Compiler dapat menargetkan hardware yang berbeda dengan memproduksi terjemahan yang berbeda dari perintah kode sumber yang sama.
Penafsir, di sisi lain, pada dasarnya menjalankan instruksi kode sumber itu sendiri – jika seseorang menemukan sebuah “add” instruksi, ia melakukan tambahan itu sendiri, daripada keluaran instruksi tambahan akan dieksekusi kemudian. Mesin-kemerdekaan dicapai dengan memiliki interpreter yang berbeda dalam kode mesin dari platform yang ditargetkan, yaitu penafsir itu sendiri umumnya harus dikompilasi. Interpretasi bukanlah “muka” linear, tetapi model alternatif untuk kompilasi, yang terus ada di samping, dan lainnya, baru-baru ini dikembangkan, hibrida. Lisp adalah bahasa interprepreted awal.
Para 3GLs awal, seperti Fortran dan Cobol , adalah spaghetti kode , yaitu mereka memiliki gaya yang sama dari aliran kontrol sebagai assembler dan kode mesin , membuat penggunaan berat dari goto pernyataan. pemrograman terstruktur [2] diperkenalkan model di mana program itu dilihat sebagai hirarki blok bersarang daripada daftar linear instruksi. Misalnya, programmer terstruktur adalah untuk memahami sebuah loop sebagai blok kode yang diulang, bukan perintah begitu banyak diikuti oleh melompat mundur atau goto. Pemrograman terstruktur kurang tentang kekuasaan – dalam arti satu tingkat yang lebih tinggi commannd ekspansi ke berbagai tingkat rendah yang – dari keselamatan. Pemrogram berikut ini jauh kurang rentan untuk membuat kesalahan. Pembagian kode ke blok, subrutin dan modul lainnya dengan antarmuka jelas-didefinisikan juga memiliki manfaat produktivitas dalam memungkinkan programmer banyak untuk bekerja pada satu proyek. Setelah diperkenalkan (dalam ALGOL bahasa), pemrograman terstruktur dimasukkan ke dalam hampir semua bahasa, dan dipasang dengan bahasa yang awalnya tidak memilikinya, seperti Fortran, dll
Struktur Blok juga dikaitkan dengan depresiasi variabel global , sumber kesalahan yang sama dengan goto . Sebaliknya, bahasa terstruktur diperkenalkan scoping leksikal dan manajemen penyimpanan otomatis dengan stack.
Fitur lain yang tingkat tinggi adalah pengembangan dari sistem tipe yang melampaui jenis data kode mesin yang mendasari, seperti string , array dan catatan .
Dimana 3GLs awal adalah tujuan khusus, (misalnya ilmu pengetahuan atau perdagangan) upaya telah dilakukan untuk menciptakan tujuan umum bahasa, seperti C dan Pascal . Sementara ini menikmati sukses besar, domain bahasa tertentu tidak menghilang.

Sebuah karakterisasi dari generasi ke generasi

Karena setidaknya 1979, banyak penulis  telah menggunakan karakterisasi yang berbeda dari generasi bahasa pemrograman.

Generasi I

Dalam kategorisasi ini, generasi pertama bahasa pemrograman mengacu pada angka kode mesin , yaitu petunjuk numerik secara langsung sesuai dengan petunjuk perangkat keras individu.
Awalnya, tidak ada penerjemah yang digunakan untuk mengkompilasi atau merakit sumber assembler untuk menghasilkan kode mesin numerik. Generasi pertama instruksi pemrograman yang masuk melalui switch panel depan dari sistem komputer.
Manfaat utama dari pemrograman dalam kode mesin adalah bahwa kode pengguna menulis dapat berjalan sangat cepat dan efisien, karena secara langsung dieksekusi oleh CPU . Namun, kode mesin adalah jauh lebih sulit untuk belajar dari yang lebih tinggi bahasa pemrograman generasi, dan itu jauh lebih sulit untuk mengedit jika terjadi kesalahan. Selain itu, jika instruksi perlu ditambahkan ke dalam memori di lokasi tertentu, maka semua instruksi setelah titik penyisipan perlu dipindahkan ke membuat ruang dalam memori untuk menampung instruksi baru. Melakukannya pada panel depan dengan switch bisa sangat sulit.

Generasi II


Generasi kedua bahasa pemrograman mengacu pada (simbolis) bahasa assembly . Istilah ini diciptakan untuk memberikan perbedaan dari sebelumnya bahasa kode mesin dan tingkat yang lebih tinggi bahasa pemrograman generasi ketiga (3GL) seperti Fortran , COBOL danAlgol . Generasi kedua bahasa pemrograman memiliki sifat sebagai berikut:
  • Kode assembly simbolis dapat dibaca dan ditulis oleh seorang programmer. Untuk menjalankan pada komputer harus dikonversi ke dalam bentuk mesin yang dapat dibaca, proses yang disebut perakitan.
  • Bahasa adalah satu-ke-satu korespondensi dengan instruksi mesin dari keluarga prosesor tertentu dan lingkungan.
Majelis bahasa kadang-kadang digunakan dalam kernel dan driver perangkat (meskipun Cumumnya digunakan untuk ini di kernel modern), tetapi lebih sering menemukan penggunaan dalam pengolahan yang sangat intensif seperti game, video editing, grafis manipulasi / render.
Salah satu metode untuk membuat kode seperti ini dengan memungkinkan compiler untuk menghasilkan mesin-dioptimalkan perakitan versi bahasa fungsi tertentu. Sumber perakitan kemudian tangan-tuned, memperoleh wawasan baik brute-force dari algoritma mesin mengoptimalkan dan kemampuan intuitif optimizer manusia.

Generasi III

Generasi ketiga bahasa pemrograman (3GL) awalnya disebut semua bahasa pemrograman pada tingkat yang lebih tinggi dari perakitan. Sedangkan instruksi individu dari bahasa generasi kedua dalam satu-ke-satu korespondensi dengan instruksi mesin individu (yaitu mereka yang dekat dengan domain mesin), bahasa generasi ketiga bertujuan untuk menjadi lebih dekat ke domain manusia. Instruksi beroperasi pada tingkat, lebih tinggi abstrak, lebih dekat dengan cara berpikir manusia, dan setiap instruksi individu dapat diterjemahkan ke dalam sejumlah (besar kemungkinan) mesin-tingkat instruksi. Bahasa generasi ketiga dimaksudkan untuk lebih mudah digunakan daripada bahasa generasi kedua. Dalam rangka untuk menjalankan pada komputer yang sebenarnya, kode yang ditulis dalam bahasa generasi ketiga harus dikompilasi baik secara langsung ke dalam kode mesin, atau ke perakitan, dan kemudian dirakit. Kode yang ditulis dalam bahasa generasi ketiga umumnya dapat dikompilasi untuk dijalankan pada komputer yang berbeda menggunakan berbagai arsitektur perangkat keras.
Pertama kali diperkenalkan pada akhir 1950-an, FORTRAN , ALGOL dan COBOL adalah contoh awal dari bahasa generasi ketiga.
Bahasa generasi ketiga cenderung baik seluruhnya (atau hampir seluruhnya) independen dari hardware, seperti untuk keperluan umum bahasa seperti Pascal , Java , FORTRAN , dll, meskipun beberapa telah ditargetkan pada prosesor tertentu atau arsitektur keluarga prosesor, seperti , misalnya PL / M yang ditargetkan pada prosesor Intel, atau bahkan C , yang sebagian auto-increment dan auto-decrement idiom seperti * (c + +) berasal dari hardware PDP-11 ini yang mendukung auto-increment dan auto-decrement mode pengalamatan tidak langsung, dan di mana C pertama kali dikembangkan.
Kebanyakan “modern” bahasa ( BASIC , C , C + + , C # , Pascal , Ada , dan Jawa ) juga generasi ketiga bahasa.
Dukungan 3GLs Banyak terstruktur pemrograman .
Bahasa Pemrograman Generasi IV

Bahasa pemrograman generasi keempat dirancang untuk mengurangi waktu pemrograman dalam membuat program sehingga diharapkan produktifitas pemrogram jadi meningkat dan program dapat dibuat dalam waktu yang lebih singkat. Alhasil, bahasa pemrograman generasi keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang mengetahui hal-hal teknis tentang pemrograman tanpa bantuan pemrogram profesional. Sebagai contoh pemrogram dapat membuat program dengan Microsoft Access di lingkungan PC dengan mudah.
Bahasa pemrograman generasi keempat biasa disebut sebagai high level languageatau bahasa berorientasi pada masalah (problem oriented language) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa prosedural. Bahasa pemrograman generasi keempat menggunakan pendekatan non-prosedural. Untuk mendapatkan suatu hasil, seorang pemakai tidak perlu memberitahukan secara detail tentang bagaimana mendapatkannya. Gambar di bawah ini memberikan contoh yang menunjukkan perbedaan bahasa prosedural dan non-prosedural dalam memperoleh data tentang seorang mahasiswa.

Bahasa Pemrograman Generasi V

Bahasa pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence). Kecerdasan buatan adalah disiplin dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia. Berbagai aplikasi kecerdasan manusia adalah sebagai berikut:
  • Pemrosesan bahasa alami (natural language processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
  • Pengedalian robotika dan sensor mata.
  • Aplikasi sistem pakar (expert system) yang meniru seorang pakar di bidang tertentu sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang pakar.
Dengan menggunakan bahasa generasi kelima dimungkinkan untuk melakukan perintah dengan cara percakapan seperti berikut:
“Tampilkan semua nama mahasiswa yang IPK-nya di atas 3,0 dan urutkan berdasarkan IP secara descending”
PROLOG dan LISP merupakan dua contoh bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan.