PC Manager (PCMAN)

PC Manager atau yang lebih mudah di sapa dengan PCMAN merupakan sebuah software Warnet Manager (management system) paling modern (menurut saya loh..) yang disediakan secara gratis atau cuma-cuma untuk keperluan anda dalam mejalankan bisnis warnet. Terutama bagi anda yang menggunakan sistem operasi Windows.


Menurut informasi yang saya dapatkan di lapangan, Billing PCMAN ini merupakan biiling no 1 di korea dan sekitar 35% pengguna warnet di korea menggunakan software yang dikembangkan oleh Media Web ini. Menurut saya sendiri, tampilan biiling PCMAN ini memang benar-benar memiliki desain yang indah dan elegant, serta memiliki user Interface yang mudah dipahami.


Untuk mendapatkan dan menggunakan software billing PCMAN ini secara gratis, syaratnya cukup mudah kok sob, sobat hanya perlu registrasi di website resminya yang beralamat di pcmanager. Selanjutnya sobat blogger akan diminta mengisi form registrasi untuk mendapatkan username dan password, Mudah kan?? Ingat sob, disana ada kemauan, disana pasti ada jalan. Hehehe

Download di 4shared tanpa waktu tunggu


Kali ini saya ingin share tentang cara download dengan cepat, bisa resume dan premium speed seperti menggunakan premium account di 4shared.com. untuk bisa download di 4shared seperti menggunakan premium account anda hanya perlu untuk merubah direct link download yang disediakan oleh 4shared dengan kode yang telah saya sertakan pada tutorial berikut ini.

Untuk membuktikannya saya menggunakan software Internet Download Manager, jika anda menggunakan software downloader lainnya juga tidak masalah. anda bisa download lewat software manapun dan akan dapat menikmati fasilitas yang sama seperti menggunakan premium account caranya simple saja, silahkan ikuti cara berikut ini :

1. buka 4shared.com dan cari file yang ingin anda download. pada contoh ini saya ingin mendowload lagu avenged sevenfold – dear god :


2. tentukan file yang ingin anda download (pada contoh di bawah ini saya memiliih pilihan yang paling pertama):
3. klik pada tombol Download Now :


4. Tunggu beberapa saat selagi time counternya berjalan dan akan muncul link “Download File Now”. klik kanan pada link tersebut dan pilih copy link addres :


5. Paste link yang telah dicopy tadi ke address bar yang baru atau kemana sajalah, karena cuma mau di ubah dikit aja : contoh direct link yang saya copy tadi seperti ini :

http://dc170.4shared.com/download/88035556/5351cede/Avenged_Sevenfold_-_Dear_God.mp3?tsid=20100624-122610-2533ea2f

ganti code yang berwarna merah dengan kode berwarna biru berikut ini :

dsid=JXKIIRKNJXGFIGIAJGJDGNJBJBINJVINILIJIIJEIXINIRKKKWIQJAIQHXJCGAIBIEGBIJJEIYITIT

sehingga direct linknya menjadi seperti berikut ini :

http://dc170.4shared.com/download/88035556/5351cede/Avenged_Sevenfold_-_Dear_God.mp3?dsid=JXKIIRKNJXGFIGIAJGJDGNJBJBINJVINILIJIIJEIXINIRKKKWIQJAIQHXJCGAIBIEGBIJJEIYITIT

6. kemudian kemudian paste direct link tersebut di addres bar atau pada software downloader lainnya kemudian tekan enter dan file yang anda download pun akan cepat seperti menggunakan premium account speed, bisa resume, dan lebih cepat tentunya


Berikut gambar ketika saya mendownload seperti biasa dan ketika telah saya ubah direct link nya :

Gambar ketika mendownload dengan cara biasa tanpa perubahan direct link


Gambar ketika mendownload setelah direct link telah diubah



selamat mencoba, semoga bermanfaat.

Sumber : Ihsan

Cache, Buffer, Spool

Cache

Cache adalah sebuah daerah memori cepat yang berisi salinan data. Akses ke sebuah salinan yang di- cache lebih efisien daripada akses ke data yang asli. Sebagai contoh, instruksi-instruksi yang baru saja menjalankan proses-proses yang disimpan dalam disk,proses tersebut di- cache ke memori fisikal, dan disalin lagi ke cache primer dan sekunder dari CPU. Perbedaan sebuah buffer dan cache adalah sebuah buffer berisi salinan informasi data yang sudah ada, sedangkan sebuah cache berisi sebuah salinan data pada ruang penyimpanan yang dapat diakses dengan cepat informasi data ada di ruang lainnya.
Caching dan buffering adalah dua fungsi yang berbeda, tetapi kadang-kadang sebuah daerah memori dapat menggunakan kedua fungsi tersebut. Sebagai contoh, untuk menghemat copy semantic dan untuk membuat penjadwalan M/K menjadi efisien, sistem operasi menggunakan memori utama untuk menyimpan data yang ada di dalam disk. Buffer-buffer ini juga digunakan sebagai sebuah cache untuk meningkatkan efisiensi M/K pada berkas yang digunakan secara bersama-sama oleh beberapa aplikasi, atau sedang ditulis atau dibaca berulang-ulang. Ketika kernel menerima permintaan sebuah berkas, pertama-tama kernel mengakses buffer cache untuk melihat apakah daerah berkas tersebut sudah tersedia dalam memori utama. Jika daerah itu ada, disk fisikal M/K dapat dihindari atau tidak dipakai. Penulisan disk juga diakumulasikan ke buffer cache dalam beberapa detik sehingga transfer data yang besar dikumpulkan untuk mengefisienkan penjadwalan penulisan. Strategi penundaan penulisan ini untuk meningkatkan efisiensi M/K akan dibahas pada bagian remote file access.

Buffer

Buffer adalah sebuah daerah memori yang menyimpan data ketika data tersebut ditransfer antara dua perangkat atau antara sebuah perangkat dan sebuah aplikasi. Buffering digunakan karena tiga alasan, antara lain:

Gambar 11.1. Ukuran Transfer Data berbagai Perangkat
Ukuran Transfer Data berbagai Perangkat

  • Untuk mengatasi perbedaan kecepataan antara produsen dan konsumen dari sebuah aliran data .  Sebagai contoh, sebuah berkas diterima melalui sebuah modem dan disimpan ke harddisk. Kita tahu bahwa modem itu ribuan kali lebih lambat daripada harddisk. Sehingga sebuah buffer dibuat pada memori utama untuk menampung jumlah byte yang diterima dari modem. Ketika semua data sudah sampai di buffer, buffer dapat ditulis ke disk dengan operasi tunggal. Karena penulisan ke disk tidak terjadi seketika dan modem masih membutuhkan ruang untuk menyimpan data tambahan yang masuk maka digunakanlah dua buffer. Setelah modem mengisi buffer pertama, penulisan ke disk dilakukan. Modem kemudian mulai mengisi buffer kedua sementara buffer pertama ditulis ke disk. Pada saat modem sudah mengisi buffer kedua, penulisan disk dari buffer pertama seharusnya sudah selesai sehingga modem dapat menggunakan kembali buffer pertama ketika buffer kedua melakukan penulisan ke disk. Metode ini disebut double buffering.
  • Untuk menyesuaikan antara perangkat-perangkat yang mempunyai perbedaan ukuran transfer data .  Perbedaan ukuran transfer data ini sangat umum terjadi pada jaringan komputer dimana buffer digunakan secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan. Pada bagian pengiriman, pesan yang ukurannya besar akan dipecah-pecah menjadi paket-paket kecil (fragmentasi). Paket-paket ini dikirim melalui jaringan, di ruang penerimaan, paket-paket kecil tadi diletakkan dalam buffer untuk disatukan kembali.
  • Untuk mendukung copy semantic pada aplikasi M/K .  Sebuah contoh akan menjelaskan arti dari copy semantic. Misalkan sebuah aplikasi mempunyai buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil system call write, lalu menyediakan sebuah pointer ke buffer dan sebuah bilangan bulat (integer) yang menspesifikasikan jumlah byte yang ditulis. Setelah system call tersebut selesai, apa yang terjadi jika aplikasi mengubah isi buffer? Dengan copy semantic, versi data yang ditulis ke disk sama dengan versi data pada saat aplikasi memanggil system call write , tidak tergantung dengan perubahan apapun yang ada pada buffer. Cara sederhana sistem operasi dapat menjamin copy semantic adalah untuk system call write dengan menyalin data aplikasi ke buffer kernel sebelum mengembalikan kontrol ke aplikasi. Penulisan ke disk dilakukan dari buffer kernel sehingga perubahan yang terjadi pada buffer aplikasi tidak mempunyai efek apapun. Menyalin data antara buffer kernel dan buffer aplikasi adalah hal yang umum dalam sistem operasi, kecuali overhead yang ada pada clean semantic. Efek yang sama dapat diperoleh dengan hasil yang lebih efisien dengan penggunaan yang cermat pada pemetaan memori virtual dan perlindungan halaman copy-on-write.

Spool

Spool adalah sebuah buffer yang berisi keluaran untuk sebuah perangkat, seperti sebuah printer dimana aliran data tidak dapat mengalir bersamaan. Walaupun printer hanya dapat melayani satu pekerjaan pada satu waktu, beberapa aplikasi mungkin ingin mencetak keluaran masing-masing secara bersamaan tanpa harus tercampur. Sistem operasi menyelesaikan masalah ini dengan cara meng-intercept semua keluaran tersebut ke printer. Masing-masing keluaran aplikasi tadi di-spool ke disk berkas yang terpisah. Ketika sebuah aplikasi selesai mencetak keluarannya, sistem spooling akan melanjutkan ke antrian berikutnya. Pada beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon yaitu suatu sistem yang terus mengawasi apakah aliran data berjalan lancar. Pada sistem operasi lainnya, spooling ditangani oleh sebuah thread in- kernel. Pada kedua macam penanganan spooling tersebut, sistem operasi menyediakan kontrol antarmuka yang membolehkan user dan sistem administrator untuk membentuk antrian, untuk membuang job yang tidak diinginkan sebelum job tersebut dicetak, untuk menunda pencetakan ketika printer diperbaiki, dan sebagainya.

Gambar 11.2. Spooling
Spooling

Beberapa perangkat, seperti tape drives dan printer tidak dapat mengumpulkan permintaan M/K dari banyak aplikasi secara bersamaan. Cara lain adalah dengan menggunakan akses perangkat secara bersamaan dengan menyediakan fasilitas langsung dengan cara koordinasi. Beberapa sistem operasi (termasuk Virtual Machine System) menyediakan dukungan akses perangkat secara ekslusif dengan mengalokasikan sebuah proses ke perangkat yang menganggur atau idle dan membuang perangkat tersebut jika sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan sebuah batasan dari penanganan sebuah berkas yang dibuka ke perangkat tersebut. Kebanyakan sistem operasi menyediakan fungsi yang membuat proses-proses untuk menangani koordinat akses eksklusif diantara mereka sendiri. Sebagai contoh, Windows NT menyediakan system call untuk menunggu objek perangkat sampai statusnya tersedia. Dia juga mempunyai sebuah parameter untuk system call open yang mendeklarasikan tipe-tipe akses yang diperbolehkan untuk thread\ lainnya secara bersamaan. Pada sistem ini, penghindaran deadlock diserahkan kepada aplikasi.

Arti Dari Firewall

Firewall merupakan suatu cara/sistem/mekanisme yang diterapkan baik terhadap hardware , software ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu atau semua hubungan/kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya. Segmen tersebut dapat merupakan sebuah workstation, server, router, atau local area network (LAN) anda.

Firewall secara umum di peruntukkan untuk melayani :

1. Mesin/komputer
Setiap individu yang terhubung langsung ke jaringan luar atau internet dan menginginkan semua yang terdapat pada komputernya terlindungi.

2. Jaringan
Jaringan komputer yang terdiri lebih dari satu buah komputer dan berbagai jenis topologi jaringan yang digunakan, baik yang di miliki oleh perusahaan, organisasi dsb.

KARAKTERISTIK FIREWALL

1.Seluruh hubungan/kegiatan dari dalam ke luar , harus melewati firewall. Hal ini dapat dilakukan dengan cara memblok/membatasi baik secara fisik semua akses terhadap jaringan Lokal, kecuali melewati firewall. Banyak sekali bentuk jaringan yang memungkinkan.

2.Hanya Kegiatan yang terdaftar/dikenal yang dapat melewati/melakukan hubungan, hal ini dapat dilakukan dengan mengatur policy pada konfigurasi keamanan lokal. Banyak sekali jenis firewall yang dapat dipilih sekaligus berbagai jenis policy yang ditawarkan.

3.Firewall itu sendiri haruslah kebal atau relatif kuat terhadap serangan/kelemahan. hal ini berarti penggunaan sistem yang dapat dipercaya dan dengan Operating system yang relatif aman.

TEKNIK YANG DIGUNAKAN OLEH FIREWALL

1.Service control (kendali terhadap layanan)
berdasarkan tipe-tipe layanan yang digunakan di Internet dan boleh diakses baik untuk kedalam ataupun keluar firewall. Biasanya firewall akan mencek no IP Address dan juga nomor port yang di gunakan baik pada protokol TCP dan UDP, bahkan bisa dilengkapi software untuk proxy yang akan menerima dan menterjemahkan setiap permintaan akan suatu layanan sebelum mengijinkannya.Bahkan bisa jadi software pada server itu sendiri , seperti layanan untuk web ataupun untuk mail.

2.Direction Conrol (kendali terhadap arah)
berdasarkan arah dari berbagai permintaan (request) terhadap layanan yang
akan dikenali dan diijinkan melewati firewall.

3.User control (kendali terhadap pengguna)
berdasarkan pengguna/user untuk dapat menjalankan suatu layanan, artinya ada user yang dapat dan ada yang tidak dapat menjalankan suatu servis,hal ini di karenakan user tersebut tidak di ijinkan untuk melewati firewall. Biasanya digunakan untuk membatasi user dari jaringan lokal untuk mengakses keluar, tetapi bisa juga diterapkan untuk membatasi terhadap pengguna dari luar.

4.Behavior Control (kendali terhadap perlakuan)
berdasarkan seberapa banyak layanan itu telah digunakan. Misal, firewall dapat memfilter email untuk menanggulangi/mencegah spam.

TIPE – TIPE FIREWALL

1.Packet Filtering Router

Packet Filtering diaplikasikan dengan cara mengatur semua packet IP baik yang menuju, melewati atau akan dituju oleh packet tersebut.pada tipe ini packet tersebut akan diatur apakah akan di terima dan diteruskan , atau di tolak.penyaringan packet ini di konfigurasikan untuk menyaring packet yang akan di transfer secara dua arah (baik dari atau ke jaringan lokal). Aturan penyaringan didasarkan pada header IP dan transport header,termasuk juga alamat awal(IP) dan alamat tujuan (IP),protokol transport yang di
gunakan(UDP,TCP), serta nomor port yang digunakan.
Kelebihan dari tipe ini adalah mudah untuk di implementasikan, transparan untuk pemakai, lebih cepat
Adapun kelemahannya adalah cukup rumitnya untuk menyetting paket yang akan difilter secara tepat, serta lemah dalam hal authentikasi.

Adapun serangan yang dapat terjadi pada firewall dengan tipe ini adalah:

+ IP address spoofing : intruder (penyusup) dari luar dapat melakukan ini
dengan cara menyertakan/menggunakan ip address jaringan lokal yanbg telah
diijinkan untuk melalui firewall.

+ Source routing attacks : tipe ini tidak menganalisa informasi routing
sumber IP, sehingga memungkinkan untuk membypass firewall.

+ Tiny Fragment attacks : intruder (penyusup) membagi IP kedalam bagian-bagian (fragment) yang lebih kecil dan memaksa terbaginya informasi mengenai TCP header. Serangan jenis ini di design untuk menipu aturan penyaringan yang bergantung kepada informasi dari TCP header. Penyerang berharap hanya bagian (fragment) pertama saja yang akan di periksa dan sisanya akan bisa lewat dengan bebas. Hal ini dapat di tanggulangi dengan cara menolak semua packet dengan protokol TCP dan memiliki Offset = 1 pada IP fragment (bagian IP)

2.Application-Level Gateway

Application-level Gateway yang biasa juga di kenal sebagai proxy server yang berfungsi untuk memperkuat/menyalurkan arus aplikasi. Tipe ini akan mengatur semua hubungan yang menggunakan layer aplikasi ,baik itu FTP, HTTP, GOPHER dll.

Cara kerjanya adalah apabila ada pengguna yang menggunakan salah satu aplikasi semisal FTP untuk mengakses secara remote, maka gateway akan meminta user memasukkan alamat remote host yang akan di akses.Saat pengguna mengirimkan USer ID serta informasi lainnya yang sesuai maka gateway akan melakukan hubungan terhadap aplikasi tersebut yang terdapat pada remote host, dan menyalurkan data diantara kedua titik. apabila data tersebut tidak sesuai maka firewall tidak akan meneruskan data tersebut atau menolaknya. Lebih jauh lagi, pada tipe ini Firewall dapat di konfigurasikan untuk hanya mendukung beberapa aplikasi saja dan menolak aplikasi lainnya untuk melewati firewall.

Kelebihannya adalah relatif lebih aman daripada tipe packet filtering router lebih mudah untuk memeriksa (audit) dan mendata (log) semua aliran data yang masuk pada level aplikasi.

Kekurangannya adalah pemrosesan tambahan yang berlebih pada setiap hubungan. yang akan mengakibatkan terdapat dua buah sambungan koneksi antara pemakai dan gateway, dimana gateway akan memeriksa dan meneruskan semua arus dari dua arah.
3.Circuit-level Gateway

Tipe ketiga ini dapat merupakan sistem yang berdiri sendiri , atau juga dapat merupakan fungsi khusus yang terbentuk dari tipe application-level gateway.tipe ini tidak mengijinkan koneksi TCP end to end (langsung)

cara kerjanya : Gateway akan mengatur kedua hubungan tcp tersebut, 1 antara dirinya (gw) dengan TCP pada pengguna lokal (inner host) serta 1 lagi antara dirinya (gw) dengan TCP pengguna luar (outside host). Saat dua buah hubungan terlaksana, gateway akan menyalurkan TCP segment dari satu hubungan ke lainnya tanpa memeriksa isinya. Fungsi pengamanannya terletak pada penentuan hubungan mana yang di ijinkan.

Penggunaan tipe ini biasanya dikarenakan administrator percaya dengan pengguna internal (internal users).

KONFIGURASI FIREWALL

1.  Screened Host FIrewall system (single-homed bastion)

Pada konfigurasi ini, fungsi firewall akan dilakukan oleh packet filtering router dan bastion host*.Router ini dikonfigurasikan sedemikian sehingga untuk semua arus data dari Internet, hanya paket IP yang menuju bastion host yang di ijinkan. Sedangkan untuk arus data (traffic) dari jaringan internal, hanya paket IP dari bastion host yang di ijinkan untuk keluar.

Konfigurasi ini mendukung fleksibilitasdalam Akses internet secara langsung, sebagai contoh apabila terdapat web server pada jaringan ini maka dapat di konfigurasikan agar web server dapat diakses langsung dari internet.
Bastion Host melakukan fungsi Authentikasi dan fungsi sebagai proxy. Konfigurasi ini memberikan tingkat keamanan yang lebih baik daripada packet-filtering router atau application-level gateway secara terpisah.

2.  Screened Host Firewall system (Dual-homed bastion)

Pada konfigurasi ini, secara fisik akan terdapat patahan/celah dalam jaringan. Kelebihannya adalah dengan adanya du ajalur yang meisahkan secara fisik maka akan lebih meningkatkan keamanan dibanding konfigurasi pertama,adapun untuk server-server yang memerlukan direct akses (akses langsung) maka dapat diletakkan ditempat/segmenrt yang langsung berhubungan dengan internet

Hal ini dapat dilakukan dengan cara menggunakan 2 buah NIC ( network interface Card) pada bastion Host.

3.  Screened subnet firewall

Ini merupakan konfigurasi yang paling tinggi tingkat keamanannya. kenapa? karena pada konfigurasi ini di gunakan 2 buah packet filtering router, 1 diantara internet dan bastion host, sedangkan 1 lagi diantara bastian host dan jaringan local konfigurasi ini membentuk subnet yang terisolasi.

adapun kelebihannya adalah :
+ terdapat 3 lapisan/tingkat pertahanan terhadap penyusup/intruder .
+ router luar hanya melayani hubungan antara internet dan bastion host sehingga jaringan lokal menjadi tak terlihat (invisible )
+ Jaringan lokal tidak dapat mengkonstuksi routing langsung ke internet, atau dengan kata lain , Internet menjadi Invinsible (bukan berarti tidak bisa melakukan koneksi internet).

LANGKAH-LANGKAH MEMBANGUN FIREWALL

1.Mengidenftifikasi bentuk jaringan yang dimiliki
Mengetahui bentuk jaringan yang dimiliki khususnya toplogi yang di gunakan serta protocol jaringan, akan memudahkan dalam mendesain sebuah firewall

2.Menentukan Policy atau kebijakan
Penentuan Kebijakan atau Policy merupakan hal yang harus di lakukan, baik atau buruknya sebuah firewall yang di bangun sangat di tentukan oleh policy/kebijakan yang di terapkan. Diantaranya:
1. Menentukan apa saja yang perlu di layani. Artinya, apa saja yang akan dikenai policy atau kebijakan yang akan kita buat
2. Menentukan individu atau kelompok-kelompok yang akan dikenakan policy atau kebijakan tersebut
3. Menentukan layanan-layanan yang di butuhkan oleh tiap tiap individu atau kelompok yang menggunakan jaringan
4. Berdasarkan setiap layanan yang di gunakan oleh individu atau kelompok tersebut akan ditentukan bagaimana konfigurasi terbaik yang akan membuatnya semakin aman
5. Menerapkankan semua policy atau kebijakan tersebut

3.Menyiapkan Software atau Hardware yang akan digunakan Baik itu operating system yang mendukung atau software-software khusus pendukung firewall seperti ipchains, atau iptables pada linux, dsb. Serta konfigurasi hardware yang akan mendukung firewall tersebut.

4.Melakukan test konfigurasi
Pengujian terhadap firewall yang telah selesai di bangun haruslah dilakukan, terutama untuk mengetahui hasil yang akan kita dapatkan, caranya dapat menggunakan tool tool yang biasa dilakukan untuk mengaudit seperti nmap.

* Bastion Host adalah sistem/bagian yang dianggap tempat terkuat dalam sistem keamanan jaringan oleh administrator.atau dapat di sebuta bagian terdepan yang dianggap paling kuat dalam menahan serangan, sehingga menjadi bagian terpenting dalam pengamanan jaringan, biasanya merupakan komponen firewall atau bagian terluar sistem publik. Umumnya Bastion host akan menggunakan Sistem operasi yang dapat menangani semua kebutuhan (misal , Unix, linux, NT)

Bahasa Pemrograman (Language Program)

Bagi kebanyakan orang awan yang akan belajar membuat program, atau mahasiswa semester awal pemahaman tentang apa yang dimaksud dengan bahasa komputer tentunya masih belum terlalu jelas, untuk itu mari kita secara pelan-pelan mengupasnya.

Untuk melaksanakan tugasnya 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, Linux, Solaris 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 .

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
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
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
Untuk melihat sejarah perkembangannya silakan klik dan download file dibawah ini (megadata-lang.pdf), jika anda tidak dapat membuka file ini maka coba periksa pada folder \mydocument\downloads untuk sistem operasi windows
megadata-lang

Setelah berbasis objek dan Visual kedepannya Konsep pemrograman akan menuju ke konsep berbasis proses…, kita tunggu saja..