Kamis, 20 Desember 2012

Perangkat Lunak Sistem


Perangkat lunak sistem (perangkat lunak pendukung/ support software) adalah program yang digunakan untuk mengontrol sumber daya komputer, baik yang bersifat internal (contoh: RAM) maupun eksternal (contoh: printer) ataupun untuk melayani program-program lain. Program ini umumnya sebagai perantara antara program aplikasi dan perangkat keras komputer. Itulah sebabnya peran program sistem kadangkala tidak terlihat secara langsung. Adapun yang terlihat secara langsung seperti perrangkat lunak aplikasi yaitu utilitas. Utilitas adalah Program yang dipakai secara langsung oleh pemakai untuk melakukan kegiatan yang berhubungan dengan pengendalian atau pengalokasian sumber daya dalam sistem komputer. Contoh : ScanDisk pada Windows.
1.      Perangkat lunak sistem dapat berupa sistem operasi, utilitas, device driver, dan penerjemah bahasa.Sistem Operasi adalah sekumpulan rutin perangkat lunak yang berada diantara rogram aplikasi dan perangkat keras. Semua perangkat lunak berjalan dibawah kendali sistem oprasi, mengakses perangkat keras lewat sistem operasi, dan mengikuti aturan-aturan yang dijalankan oleh sistem operasi. Contoh : Windows, UNIX, dan Linux.
2.      Utilitas adalah Program yang dipakai secara langsung oleh pemakai untuk melakukan kegiatan yang berhubungan dengan pengendalian atau pengalokasian sumber daya dalam sistem komputer. Contoh : ScanDisk pada Windows.
3.      Device Driver adalah Program yang berfungsi untuk membantu komputer mengendalikan peranti-peranti peripheral. Contoh : Jika kita menghubungkan printer dengan komputer, biasanya kita perlu menginstal program bawaan printer tersebut agar komputer mengenali printer tersebut. Program seperti itulah yang disebut dengan Device Driver.
4.      Penerjemah Bahasa (language translator) adalah program yang menerjemahkan program yang dibuat oleh pemrogram menjadi bentuk yang dijalankan oleh komputer secara langsung.






Sistem Operasi


      SistemOperasi adalah perangkat lunak yang bertugas mengendalikan perangkat keras secara langsung. Sistem Operasi menyediakan lingkungan perangkat lunak yang efektif dan nyaman untuk program aplikasi dan pemakai. Beberapa program tergolong sebagai utilitas.Sistem Operasi adalah sekumpulan rutin perangkat lunak yang berada diantara program aplikasi dan perangkat keras. Semua perangkat lunak berjalan dibawah kendali sistem oprasi, mengakses perangkat keras lewat sistem operasi, dan mengikuti aturan-aturan yang dijalankan oleh sistem operasi. Contoh : Windows, UNIX, dan Linux.

A.     Fungsi Sistem Operasi

Sistem Operasi yaitu program yang berfungsi untuk mengendalikan sistem kerja yang mendasar sehingga mengatur kerja media input, output, tabel pengkodean, memori, penjadwalan prosesor, dan lain-lain. Sistem operasi berfungsi sebagai penghubung antara manusia dengan perangkat keras dan perangkat lunak yang akan digunakan. Adapun fungsi utama sistem operasi adalah :
a)       Menyimpan program dan aksesnya
b)       Membagi tugas di dalam CPU
c)       Mengalokasikan tugas-tugas penting
d)       Merekam sumber-sumber data
e)       Mengatur memori sistem termasuk penyimpanan, menghapus dan mendapatkan data
f)        Memeriksa kesalahan sistem
g)       Multitugas pada OS/2″, Windows ’95″, Windows ’98″, Windows NT”, /2000/XP
h)       Memelihara keamanan sistem,   khusus pada jaringan yang membutuhkan kata sandi (password) dan penggunaan ID
Contoh Sistem Operasi, misalnya : Disk operating System (DOS), Microsoft Windows, Linux, dan Unix.

B.     Macam Sistem Operasi

Sistem operasi amat beragam dan biasanya berbede antara satu platfrom dengan platfrom yang lain. Dilingkungan PC, Windows, dan Linux merupakan sistem operasi yang sangat populer. Sistem operasi yang paling umum digunakan adalah MVS (Multiple Virtual System).Dilingkungan minikomputer memiliki sistem operasi tersendiri. Contoh minikomputerData General memakai AOS dan DG. Sementara, komputer genggan(palmot dan hand-held computer) memiliki sistem operasi tersendiri, yaitu : Palms OS dan Windows CE/Pocket PC. Mac OS adalah sistem operasi yang hanya bisa berjalan pada komputer Apple Macintosh dan UNIX adalah salah satu kelompok sistem operasi yang dapat berjalan pada pelbagai platfrom. Istilah platfrom menyatakan jenis komputer (PC, Minikomputer, dan mainframe).

C.     Sejarah Sistem Operasi


Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:
• Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
• Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.
• Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus).
• Generasi Keempat (Pasca 1980-an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.

D.    Penanganan Proses Dalam Sistem Operasi


Berkaitan dengan penanganan proses, dikenal beberapa istilah seperti multiprogramming, multitasking, penyimpanan virtual, time sharing, dan multiprocesing.
a)      Multiprogramming adalah suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan.Dengan multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut. Multiprogramming, yang dibuat untuk meningkatkan kemampuan, juga mengizinkan time sharing. Sistem operasi yang bersifat time-shared memperbolehkan banyak pengguna untuk menggunakan komputer secara interaktif pada saat yang bersamaan. Kelemahan multiprogramming adalah tidak memungkinkan pemakai berinteraksi dengan proses.
b)      Time-sharing adalah suatu metode yang dipakai sistem operasi yang memungkinkan sejumlah pemakai dapat berinteraksi dengan proses yang dibuatnya karena setiap proses akan ditangani oleh CPU secara bergantian dalam jumlah waktu yang sama.
c)      Penyimpanan Virtual adalah suatu metode yang menangani sejumlah program dengan menbagi program-program tersebut kedalam bagian-bagian yang lebih kecil dan berukuran sama dengan hanya sebuah bagian dari setiap proses yang ditaruh dalam memori utama per satuan waktu.
d)      Multitasking adalah suatu kemampuan yang memungkinkan seseorang pemakai menjalankan sejumlah program dalam waktu yang sama.
e)      Multiprocessing adalah suatu kemampuan sistem operasi yang menjalankan dua atau lebih intruksi secara serentak dengan menggunakan sejumlah CPU dalam sebuah komputer.
Pada kenyataannya tidak semua sistem operasi mempunyai struktur yang sama. Namun menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:
a.      Managemen Proses
Proses adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.

b.      Managemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti:
• Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
• Memilih program yang akan di-load ke memori.
• Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.

c.       Managemen Secondary-Storage
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan secondary-storage yang bersifat permanen dan mampu menampung banyak data. Contoh dari secondary-storage adalah harddisk, disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan disk-management seperti: free-space management, alokasi penyimpanan, penjadualan disk.

d.      Managemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
• Buffer: menampung sementara data dari/ ke perangkat I/O.
• Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
• Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.

e.      Managemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi bertanggung-jawab:
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary storage.
• Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).

f.        .Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
• membedakan antara penggunaan yang sudah diberi izin dan yang belum.
• specify the controls to be imposed.
• provide a means of enforcement.

g.      Jaringan
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori atau clock. Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan:
• Computation speed-up.
• Increased data availability.
• Enhanced reliability.

h.      Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line
interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.

i.        Layanan Sistem Operasi
Eksekusi program adalah kemampuan sistem untuk "load" program ke memori dan menjalankan program. Operasi I/O: pengguna tidak dapat secara langsung mengakses sumber daya perangkat keras, sistem operasi harus menyediakan mekanisme untuk melakukan operasi I/O atas nama pengguna. Sistem manipulasi berkas dalah kemampuan program untuk operasi pada berkas (membaca, menulis, membuat, and menghapus berkas). Komunikasi adalah pertukaran data/ informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih). Deteksi error adalah menjaga kestabilan sistem dengan mendeteksi "error", perangkat keras mau pun operasi.
Efesisensi penggunaan sistem:
• Resource allocator adalah mengalokasikan sumber-daya ke beberapa pengguna atau job yang jalan pada saat yang bersamaan.
• Proteksi menjamin akses ke sistem sumber daya dikendalikan (pengguna dikontrol aksesnya ke sistem).
• Accounting adalah merekam kegiatan pengguna, jatah pemakaian sumber daya (keadilan atau kebijaksanaan).

j.         System Calls
System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian OS. System call menjadi jembatan antara proses dan sistem operasi. System call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin (C). Contoh: UNIX menyediakan system call: read, write => operasi I/O untuk berkas.
Sering pengguna program harus memberikan data (parameter) ke OS yang akan dipanggil. Contoh pada UNIX: read(buffer, max_size, file_id);
Tiga cara memberikan parameter dari program ke sistem operasi:
• Melalui registers (sumber daya di CPU).
• Menyimpan parameter pada data struktur (table) di memori, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register.
• Push (store) melalui "stack" pada memori dan OS mengambilnya melalui pop pada stack tsb.

k.      Mesin Virtual
Sebuah mesin virtual (Virtual Machine) menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras. Control program = trap System call + akses ke perangkat keras. Control program memberikan fasilitas ke proses pengguna. Mendapatkan jatah
CPU dan memori. Menyediakan interface "identik" dengan apa yang disediakan oleh perangkat keras : sharing devices untuk berbagai proses.
Mesin Virtual (MV) (MV) : control program yang minimal MV memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan MV. MV memilah fungsi multitasking dan implementasi extended machine (tergantung proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu MV => bebas untuk menjalankan OS (kernel) yang diinginkan pada MV tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh: IBM VM370: menyediakan MV untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah: Sharing disk => OS mempunyai sistem berkas yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui MV.
Konsep MV menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap MV terpisah dari MV yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya secara langsung. MV merupakan alat yang tepat untuk penelitian dan pengembangan sistem operasi. Konsep MV susah untuk diimplementasi sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin utama.

l.         Perancangan Sistem dan Implementasi
Target untuk pengguna: sistem operasi harus nyaman digunakan, mudah dipelajari, dapat diandalkan, aman dan cepat. Target untuk sistem: sistem operasi harus gampang dirancang, diimplementasi, dan dipelihara, sebagaimana fleksibel, error, dan efisien.
Mekanisme dan Kebijaksanaan:
• Mekanisme menjelaskan bagaimana melakukan sesuatu kebijaksanaan memutuskan apa yang akan dilakukan. Pemisahan kebijaksanaan dari mekanisme merupakan hal yang sangat penting; ini mengizinkan fleksibilitas yang tinggi bila kebijaksanaan akan diubah nanti.
• Kebijaksanaan memutuskan apa yang akan dilakukan.
Pemisahan kebijaksanaan dari mekanisme merupakan hal yang sangat penting; ini mengizinkan fleksibilitas yang tinggi bila kebijaksanaan akan diubah nanti.
Implementasi Sistem biasanya menggunakan bahas assembly, sistem operasi sekarang dapat ditulis dengan menggunakan bahasa tingkat tinggi. Kode yang ditulis dalam bahasa tingkat tinggi: dapat dibuat dengan cepat, lebih ringkas, lebih mudah dimengerti dan didebug. Sistem operasi lebih mudah dipindahkan ke perangkat keras yang lain bila ditulis dengan bahasa tingkat tinggi.

m.    System Generation (SYSGEN)
Sistem operasi dirancang untuk dapat dijalankan di berbagai jenis mesin; sistemnya harus di konfigurasi untuk tiap komputer. Program SYSGEN mendapatkan informasi mengenai konfigurasi khusus dari sistem perangkat keras.
• Booting: memulai komputer dengan me-load kernel.
• Bootstrap program: kode yang disimpan di code ROM yang dapat menempatkan kernel, memasukkannya kedalam memori, dan memulai eksekusinya.

Utilitas

                Perangkat lunak utilitas merupakan perangkat lunak komputer yang didisain untuk membantu proses analisis, konfigurasi, optimasi, dan membantu pengelolaan sebuah komputer ataupun sistem. Perangkat lunak utilitas harus dibedakan dengan perangkat lunak aplikasi yang memungkinkan pengguna melakukan berbagai hal dengan komputer seperti mengetik, melakukan permainan, merancang gambar, dan lain-lain. Perangkat lunak utilitas lebih memfokuskan penggunaannya pada pengoptimasian fungsi dari infrastruktur yang terdapat dalam sebuah komputer. Karena fungsinya, perangkat lunak utilitas umumnya tidak ditujukan untuk pengguna secara umum, melainkan ditujukan untuk pengguna yang memiliki pemahaman atas cara kerja sistem komputer yang cukup baik.
Kebanyakan perangkat keras utilitas ini dibuat secara khsus untuk melakukan fungsi tertentu pada suatu area komputasi secara spesifik, seperti memformat harddisk, atau melakukan pengecekan konektifitas jaringan. Namun dalam perkembangannya sejumlah perangkat lunak utilitas terkadang pula dipaketkan dalam satu paket utilitas yang ditujukan untuk beragam kebutuhan.

A.     Program Untuk Pencadangan

Backup, utilitas untuk melakukan backup data yang ditujukan untuk membuat duplikat arsip untuk menghindari terjadinya kehilangan data bila perangkat penyimpanan tidak dapat berfungsi. Contoh utilitas backup yang cukup popiler adalah Norton Backup (dari Symantec) dan Colorado Scheduler. Di lingkungan UNIX dan Linux terdapat utilitas bernama tar, cpio, dan ddl.

B.     Program Pemulih Data

Pemulihan Data, utilitas pemulihan data digunakan untuk mengembalikan data yang secara fisik telah rusak atau berubah. Data dapat dirusak oleh virus, perangkat lunak yang buruk, kegagalan perangkat keras, dan fluktuasi daya listrik yang terjadi ketika data sedang ditulisi/diubah. Perangkat lunak ini berisi kumpulan program yang berguna untuk membetulkan kerusakan data pada hard disk.

C.     Program Untuk Anti Virus

Virus berupa penggalan kode yang dapat menggandakan dirinya sendiri dengan cara menyalin kode dan menempelkan ke berkas program yang dapat dieksekusi. Selanjutnya, salinan virus akan akan menjadi aktif manakala program yang terinfensi dijalankan.
Anti virus, perangkat lunak antivirus men-scan semua disk dan memori untuk mendeteksi kehadiran virus, dan mengisolasinya untuk mencegah kerusakan lebih lanjut. Program anti virus berguna untuk menangani penularan virus dalam komputer. Beberapa diantaranya dapat melakukan pencegahan terhadap penularan virus, serta dapat melakukan pemulihan berkas yang terkena virus. . Contoh : Norton Anti Virus dan Mc Affee VirusScan.

D.    Program Kompresi Data

Kompresi data, utilitas kompresi berfungsi untuk memperkecil ukuran sebuah dokumen sehingga dapat menghemat pemanfaatan ruang penyimpanan, serta mempermudah pendistribusian. Contoh : Program WinZip dan PK Zip.

E.     Program Untuk Melakukan Defragmentasi


Defragmentasi adalah upaya untuk menghilangkan fragmentasi, yaitu keadaan yang membuat bagian dari berkas-berkas pada hard disk tidak berada pada lokasi yang berselahan melainkan berserakan pada berbagai sektor yang berjauhan. Berpengaruh pada pengaksesan yang menjadi lambat.
Program yang digunakan untuk melakukan defragmentasi disebut defragger atau defragmenter. Disk Defragmenter merupakan contoh utilitas pada Microsoft Windows.

F.      Pemformat Disk


Memformatdisk adalah tindakan yang dilakukan untuk menyiapkan disket atau hard disk agar bisa digunakan untuk menyimpan data atau program. Untuk melakukannya bisa menggunakan program pemformat disk.

 

Device Driver


            Device driver adalah program yang berfungsi untuk membantu komputer mengendalikan peranti-peranti peripheral. Perangkat lunak ini biasanya disediakan vendor yang berfungsi erangkat keras. Contoh saat memasang perangkat keras seperti modem atau scaner, Anda juga perlumenginstal devic driver supaya perangkat keras tersebutdapat berfungsi dengan baik.

 

Penerjemah Bahasa

                Umumnya program dibuat dengan menggunakan bahasa pemrograman yang dipahami oleh manusia.Biasanya menggunakan kata-kata bahasa inggris.
Penerjemah bahasa dibedakan menjadi assembler, compiler, dan interpreter.
·         Assembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan ( Assembly) kedalam bahasa mesin.
·         Kompiler adalah program penerjemah yang mengonversi semua kode sumber selain bahasa rakitan menjadi kode objek. Hasil inilah yang nantinya bias dijalankan oleh computer. Proses untuk melakukan penerjemah ini bias disebut kompilasi. Bahasa seperti COBOL dan C menggunakan compiler.


 








                                                                                



·         Interpeter adalah program yang menerjemahkan per satu intruksi dalam kode sumber dan kemudian segera menjalankan interuksi yang telah diterjemahkan tersebut.

A.    Klarifikasi Bahasa Pemrograman


Bahasa pemrograman telah diklasifikasikan ke dalam generasi bahasa pemrograman . Secara historis, klasifikasi ini digunakan untuk menunjukkan kekuasaan meningkatnya gaya pemrograman. Perkembangan bahasa pemrograman ini terus bergerak demikian pesat hingga saat ini.Hal ini ditandai dengan semakin banyaknya bahasa pemrograman yang bermunculan. Adapun per kembangan bahasa pemrograman tersebut terbagi kedalam beberapa generasi sebagai berikut :
a. Generasi I    :  machine language
b. Generasi II   :  assembly language: Asssembler
c. Generasi III  :  high-level programming language : C, PASCAL, dsb.
d. Generasi IV : 4 GL (fourth-generation language): Prolog, SQL, Visual tool, dsb
JENIS BAHASA PEMROGRAMAN Berdasarkan jenisnya, bahasa pe mrograman dapat dibedakan menjadi beberapa jenis sebagai berikut : 1. Bahasa tingkat rendah (low level language)
1.      Bahasa pemrograman yang berorientasi pada bahasa mesin
Contoh : Assembler
2.      Bahasa tingkat menengah (middle level language)
Bahasa pemrograman yang beorientasi pada aturan gramatikal
Contoh : C
3.       Bahasa tingk at tinggi (high level language)
Bahasa pemrograman yang berorientasi pada bahasa manusia
Contoh : BASIC, PASCAL
4.       Bahasa berorientasi objek (object oriented language)
Bahasa pemrograman yang berorientasi pada objek
Contoh : Delphi, VB, SQL

Generasi Pertama  

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 Kedua

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 dan Algol . 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 C umumnya 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 ketiga

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 .

 

Generasi Keempat

Awalnya, bahasa pemrograman semua pada tingkat yang lebih tinggi dari perakitan yang disebut "generasi ketiga", tetapi kemudian, istilah "generasi keempat" diperkenalkan untuk mencoba membedakan (kemudian) bahasa deklaratif baru (seperti Prolog dan domain- spesifik bahasa) yang diklaim beroperasi pada tingkat yang lebih tinggi, dan dalam domain bahkan lebih dekat ke pengguna (misalnya pada tingkat bahasa alami) daripada asli, bahasa tingkat tinggi seperti imperatif Pascal , C , Algol , Fortran , BASIC , dan lain-lain
            Bahasa pemrograman generasi keempat biasa disebut sebagai bahasa beraras sangat tinggi ( very hisht level language) karena memungkinkan para pemkai menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa procedural.
Bahasa pemrograman generas keempat dikenal dengan sebutan 4 GL.
Beberapa contoh bahasa generasi keempat :
·         Oracle
·         Informix
·         Sybase
·         PowerHouse
·         Access
·         FOCUS

Generasi Kelima
            Bahasa pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman yang ditunjukan untuk menangani kecerdasan buatan. Kecerdasan buatan adalah disiplin dalam ilmu computer yang mempelajari cara computer meniru kecerdasan manusia.
            PROLOG dan LISP mwerupakan dua contoh bahasa pemrograman yang ditunjukan untuk menangani kecerdasan buatan.

B.    Sejarah Bahasa Pemrograman


Sejarah pemrograman komputer tidak seperti yang dibayangkan oleh kebanyakan orang.Kebanyakan orang mengira bahwa pemrograman komputer ini mulai berkembang atau ditemukan pada akhir abad duapuluhan.Namun dalam kenyataannya, sejarah pemrograman modern dan bahasa pemrograman mulai berkembang sejak 1940-an, yaitu sekitar 68 tahun yang lalu.
Pada tahun 1922. Charles Babbage. Ketika belajar di Universitas Cambridge Inggris, ia melihat bahwa pada saat itu banyak terdapat berbagai macam tabel perhitungan seperti tabel yang terkait dengan astronomi, kelautan, navigasi dan sebagainya. Meskipun tabel-tabel perhitungan ini tersedia, namun yang terjadi adalah banyak sekali kejadian musibah seperti kapal tenggelam, kecelakaan dan kapal hilang.Dalam hal ini, Charles Babbage mengira bahwa musibah ini disebabkan oleh faktor kesalahan manusia yaitu keterbatasan kemampuan dalam mengimplementasikan tabel perhitungan yang ada. Hal inilah yang memicunya untuk memikirkan bagaimana cara mengelola data-data yang ada dalam tabel perhitungan tersebut supaya mudah digunakan. Bagaimana caranya?yaitu menggunakan sebuah ‘mesin’. Mesin ini ia beri nama ‘Difference Engine’.
Setelah bekerja selama 10 tahun pada mesinnya, Charles Babbage menyadari bahwa mesin yang dia ciptakan ini merupakan sebuah mesin yang hanya punya satu tujuan (single-purpose machine) artinya hanya bisa menghasilkan satu jenis keluaran (output). Selanjutnya ia ingin mengembangkan mesin lain yang bersifat multi-purpose. Mesin ini diberi nama ‘Analytical Engine’. Pekerjaan untuk membuat ‘Analytical Engine’ ini ia lakukan sampai dengan tahun 1942. Pada tahun 1947, Charles Babbage kembali menyempurnakan ‘Difference Engine’ dan akhirnya pada tahun 1949 ia berhasil membuat versi keduanya. Pekerjaan untuk terus menyempurnakan hasil-hasil karyanya terus ia lakukan, bahkan diteruskan oleh anaknya, Henry Prevost. Charles Babbage sendiri meninggal pada tahun 1871.Untuk melindungi karya-karya ayahnya, Henry Prevost membuat beberapa kopian unit perhitungan aritmatika sederhana dari mesin yang dihasilkan ayahnya dan mengirimkannya ke beberapa institusi di dunia, termasuk ke Universitas Harvard.
Perkembangan dunia komputasi berlanjut pada tahun 1980-an tepatnya pada tahun 1854, yaitu ketika seseorang bernama Charles Boole telah mampu menciptakan sebuah sistem logika simbolik yang diberinama Logika Boole. Sistem ini mencakup pula logika untuk menyatakan hubungan lebih besar, lebih kecil, sama dengan dan tidak sama dengan. Sistem logika ini masih digunakan sampai dengan saat ini.
Sebuah penemuan dapat dikatakan berawal dari sebuah ‘kebutuhan’.Begitu pula dengan pemrograman komputer ini.Pada tahun 1890, Amerika Serikat ingin melakukan sensus penduduk.Namun kendala yang muncul adalah keterbatasan alat yang ada pada waktu itu, mengingat jumlah penduduk yang semakin meningkat tahun demi tahun.Akhirnya diadakanlah sebuah kompetisi komputasi untuk mencari solusinya. Kompetisi ini dimenangkan oleh Herman Hollerith, yang akhirnya ia mendirikan sebuah perusahaan Hollerith Tabulating, Co. yang akhirnya berubah nama menjadi CTR (Calculating Tabulating Recording Company) setelah 3 perusahan lain ikut bergabung. Sepuluh tahun berikutnya perusahaan ini berganti nama lagi menjadi IBM (International Business Machine) hingga saat ini.
Perkembangan komputasi digital selanjutnya mulai berjalan pelan dan jarang digunakan dalam dunia bisnis sampai dengan pertengahan tahun 1920 an. Hingga akhirnya pada tahun 1925 MIT (Massachusette Institute of Technology) telah mengembangkan sebuah mesin yang mampu menganalisis perhitungan differensiasi dan integrasi.Mesin yang didanai oleh Yayasan Rockefeller ini dapat dikatakan sebuah komputer terbesar di dunia pada tahun 1930.
Pemain berikutnya yang memiliki andil dalam perkembangan komputasi komputer digital ini adalah seorang ilmuan Jerman bernama Konrad Zuse.Pada tahun 1935, Zuse telah mengembangkan komputer Z-1 nya.Apa keistimewaan Z- 1 ini? Komputer ini adalah awal mula diterapkannya sistem biner dalam kinerjanya. Selain itu, Zuse juga berjasa dalam komputasi komputer digital ketika ia menciptakan bahasa pemrograman komputer pertama ‘Plankalkul’.
Pada tahun 1945, terjadi pula peristiwa penting dalam sejarah perkembangan komputasi komputer digital yaitu ketika mesin Mark II yang ada di Universitas Harvard terjadi kerusakan.Seseorang yang bernama Grace Murray Hopper yang mengetahui hal ini langsung menyelidiki sebab kerusakannya.Akhirnya dia menemukan sebuah ngengat yang terjebak dalam mesin tersebut. Dalam catatan hariannya, Hopper menuliskan: “First actual case of bug being found”. Dia menyebut ngengat ini sebagai sebuah kutu busuk (bug), mungkin karena jengkel. Kata ‘bug’ inilah yang selanjutnya sering dikaitkan dengan adanya ketidakberesan dalam program. Dari kata ‘bug’ ini muncul pula istilah ‘debugging’ yang artinya proses pembetulan kesalahan program.
Pada tahun 1954, IBM mulai mengembangkan bahasa pemrograman FORTRAN (FORmula TRANslator) yang akhirnya dipublikasikan pada tahun 1959. Bahasa FORTRAN merupakan bahasa pemrograman level tinggi pertama yang dikomersialkan. Pemrograman level tinggi maksudnya adalah perintah atau kodenya mudah dibaca dan dipahami oleh manusia.
Pada tahun 1958, FORTRAN II dan ALGOL dipublikasikan bersamaan dengan diluncurkannya LISP.Sedangkan pada tahun 1959, bahasa pemrograman COBOL juga diluncurkan.Sejak saat itu perkembangan bahasa pemrograman sangat cepat.Pada tahun 1970, bahasa PASCAL mulai dipublikasikan dan saat ini masih banyak digunakan untuk keperluan pendidikan.
Pada tahun 1970 muncul pula dua bahasa pemrograman yang dapat dikatakan sangat penting yaitu SMALLTALK dan B-Languange.SMALLTALK penting karena merupakan bahasa pemrograman berbasis obyek yang pertama. Sedangkan B-Languange dikatakan penting karena merupakan cikal bakal munculnya bahasa C. Dengan bahasa C, pemrograman akan lebih mudah, efisien, dan fleksibel.
Pada tahun 1975, Dr. Wong merilis bahasa pemrograman hasil ciptaannya bernama TinyBASIC. TinyBASIC merupakan bahasa pemrograman pertama yang bersifat free alias tidak membayar dalam penggunaannya.
Sedangkan pada saat yang bersamaan pada tahun 1975, Bill Gates dan Paul Allen membuat bahasa pemrograman yang diberi nama BASIC. BASIC ini selanjutnya mereka jual ke MIT.
Perkembangan bahasa pemrograman ini terus bergerak demikian pesat hingga saat ini. Hal ini ditandai dengan semakin banyaknya bahasa pemrograman yang bermunculan

C.     Berbagai Bahasa Pemrograman


Bahasa pemrograman sangatlah banyak. Beberapa yang terkenal dan sering digunakan antara lain : FORTRAN, COBOL, PL/I, RPG, BASIC, Logo, APL, FORTH, Pascal, Ada, C, C++, dan Java. Bahasa-bahasa berikut adalah bahasa yang mewarnai sejarah komputasi manusia yang memberi fitur-fitur penting dimasanya, titik-titik sejarah komputasi.
















Tidak ada komentar:

Posting Komentar