Awal Mula Bahasa Pemograman


Pada awalnya manusia menciptakan komputer untuk membantu pekerjaan manusia,akan tetapi seiring dengan kemajuan hidup manusia maka bertambah juga kebutuhan manusia sehingga membuat para ilmuan mencari sesuatu yang baru.seperti pada awalnya manusia menggunakan komputer untuk melakukan perhitungan aritmatika secara sistematis,tetapi sekarang komputer digunakan untuk mengatur sesuatu misalnya untuk memprogram mesin dan pembuatan program untuk suatu perusahaan.
nah sekarang yang akan kita bahas adalah asal mulanya tersebut

Awal-awal pemrograman komputer digital

Komputer digital yang dapat diprogram pertama kali dibuat pada tahun 1930-an. Maksud dari "komputer digital" di sini adalah bahwa komputer-komputer tersebut bekerja dengan menggunakan angka-angka diskrit (yang memiliki ‎batasan yang jelas), seperti halnya 0, 1, nilai π (3.14159) dan nilai-nilai angka lainnya. Sementara itu, ‎maksud dari "komputer yang dapat diprogram" adalah komputer dapat melakukan operasi-operasi ‎matematika dengan berdasarkan instruksi-instruksi yang disebut dengan program. Untuk beberapa tahun ‎semenjak itu, program-program komputer ditulis di atas kertas yang dilubangi (disebut sebagai punched-‎card) atau medium-medium lainnya. Akhirnya, perangkat fisik komputer pun disebut sebagai perangkat ‎keras (hardware), sementara instruksi-instruksi yang ditulis di atas punched card atau medium lainnya ‎dikenal dengan perangkat lunak (software). Dinamai "perangkat lunak", karena memang memiliki sifat ‎mudah diubah. Kita tidak harus membangun komputer secara keseluruhan untuk melakukan jenis ‎perhitungan yang berbeda. Sementara itu, perangkat keras didesain untuk melakukan beberapa jenis ‎operasi aritmetika dan logika. Operasi mana yang dapat dilakukan oleh perangkat keras dan bagaimana ‎urutan operasi tersebut, diatur oleh kode-kode program. Pada saat program dijalankan, komputer juga ‎disebut sedang "mengeksekusi program", yakni saat komputer membaca kode dan melakukan instruksi ‎yang disuruhkan kepadanya.‎

Untuk dekade-dekade awal perkembangan komputer digital, hubungan antara perangkat keras ‎dan perangkat lunak sangatlah erat. Setiap mesin memiliki instruksinya sendiri-sendiri yang kadang tidak ‎cocok dengan mesin lainnya. Untuk mentransfer sebuah program dari satu mesin ke mesin lainnya yang ‎lebih baru dan tentunya lebih cepat, program tersebut harus ditulis ulang dengan semua kode-kodenya ‎yang baru. Nah, kode-kode yang hanya dimiliki oleh mesin tertentu ini dinamakan dengan kode mesin ‎‎(machine code) atau bahasa mesin (machine language). Untuk lebih cepat mengingat instruksi-instruksi dalam kode mesin, para desainer pun kemudian ‎membentuk sebuah cara dengan menyamakannya dengan sebuah kata tertentu (umumnya berupa ‎singkatan dalam bahasa Inggris), yang kemudian berevolusi menjadi bahasa rakitan atau assembly ‎language.‎

Munculnya bahasa pemrograman tingkat tinggi

Pada awal tahun 1950-an, para desainer pun mencoba untuk mendesain bahasa komputer yang ‎umum yang program hasilnya tidak hanya dapat berjalan di mesin-mesin tertentu saja. Muncullah bahasa ‎pemrograman tingkat tinggi atau high-level programming language. Disebut demikian untuk ‎membedakannya dengan kode mesin yang disebut sebagai bahasa pemrograman tingkat rendah atau ‎low-level programming language. Tren yang ada adalah kemunculan beberapa bahasa pemrograman seperti FORTRAN, COBOL, BASIC, dan masih banyak lagi yang ‎lainnya. Beberapa bahasa pemrograman tersebut masih terus-terusan digunakan hingga saat ini. Sebagai ‎contoh, FORTRAN (akronim dari Formula Translator) masih sering digunakan oleh para ilmuwan dan para ‎insinyur bidang teknik; COBOL (akronim dari Common Business-Oriented Language) juga sering digunakan ‎dalam institusi-institusi finansial; dan bahasa BASIC (akronim dari Beginner’s All-purpose Symbolic ‎Instruction Code) juga masih banyak digunakan hingga saat ini, meskipun terjadi perubahan yang sangat ‎signifikan dari ketika bahasa tersebut dipublikasikan pertama kali pada tahun 1963.‎

Program-program komputer yang dibangun dengan menggunakan bahasa FORTRAN, COBOL, ‎BASIC, atau bahasa tingkat tinggi lainnya pada dasarnya adalah berisi berkas teks yang terdiri atas ‎sekumpulan pernyataan yang ditulis di dalam bahasa pemrograman tertentu, dengan beberapa peraturan ‎sintaksis, semantik dan gramatika yang didefinisikan di dalam bahasa pemrograman. Karena komputer ‎hanya dapat menjalankan machine code, maka program yang ditulis di dalam bahasa pemrograman ‎tingkat tinggi harus terlebih dahulu diterjemahkan ke dalam machine code sebelum dieksekusi. Proses ‎penerjemahan ini dapat dilakukan baik itu dengan menggunakan teknik translasi (alat bantunya disebut ‎dengan translator), teknik interpretasi (alat bantunya disebut interpreter), atau dengan menggunakan teknik ‎kompilasi (alat bantunya disebut dengan compiler). Teknik translasi merupakan teknik kuno yang ‎menerjemahkan keseluruhan kode bahasa pemrograman menjadi machine code; teknik kompilasi ‎merupakan evolusi dari teknik translasi di mana kode dalam bahasa pemrograman dipisah-pisah ke dalam ‎beberapa berkas untuk kemudian diterjemahkan dan dijadikan machine code, sementara teknik ‎interpretasi merupakan sebuah teknik di mana eksekusi dan translasi dilakukan secara berbarengan ‎‎(bersama-sama).‎

Bahasa pemrograman lainnya yang dikembangkan selama tahun 1950-an tapi sudah tidak ‎digunakan lagi adalah ALGOL (akronim dari Algorithmic Programming Language). ALGOL memang sudah ‎tidak digunakan lagi, tapi memberikan dampak yang signifikan untuk beberapa bahasa pemrograman ‎lainnya di dalam sejarah perkembangan bahasa pemrograman komputer. ALGOL didesain pertama kali pada akhir tahun 1950-an oleh sebuah komite ‎internasional, untuk kemudian diperbaiki pada tahun 1960 dan 1968. Meskipun saat ini bahasa tersebut ‎mati seolah lenyap ditelan bumi, jiwanya masih hidup di dalam bahasa pemrograman tingkat tinggi yang ‎sekarang banyak digunakan, seperti Pascal, PL/1, dan Bahasa C.‎

Munculnya C

Bahasa C dilahirkan di Bell Telephone Laboratories (atau sering disebut sebagai Bell Labs saja). ‎Sulit membayangkan dunia modern saat ini jika tidak ada pengaruh dari Bell Labs. Pada tahun 1947, ‎transistor ditemukan di Bell Labs, dan juga sistem operasi yang sekarang banyak digunakan di dalam ‎komputer korporat (UNIX) juga dibuat di sana. Untuk beberapa tahun, ada sebuah bahasa pemrograman ‎yang sangat dekat dengan sistem operasi UNIX, yang disebut dengan bahasa C, yang didesain oleh Dennis ‎Ritchie dan Brian Kernighan. Mengapa disebut hanya C saja? Bahasa C disebut demikian mengingat ‎bahasa tersebut adalah turunan dari bahasa B, dan bahasa B merupakan pemendekan dari Basic CPL, ‎sementara CPL sendiri adalah sebuah bahasa pemrograman yang merupakan singkatan dari Combined ‎Programming Language.‎

Meskipun populer, bahasa C terkesan lebih rumit jika dibandingkan dengan ‎bahasa pemrograman lainnya, khususnya jika digunakan oleh para pemrogram pemula. Ketika ALGOL dan banyak turunan ALGOL menggunakan kata-kata yang ‎mudah diingat seperti BEGIN dan END untuk membatasi sebuah seksi dalam instruksi program, bahasa C ‎malah menggunakan tanda kurung keriting ({ dan }). Beberapa operasi juga disederhanakan, bahkan ‎banyak singkatannya yang cukup membingungkan para programmer pemula. Contoh yang sering ‎digunakan adalah printf, dan scanf. Meskipun demikian, program-program yang ditulis dalam bahasa C ‎seringnya lebih efisien dibandingkan dengan bahasa pemrograman lainnya, yang artinya program-‎program dalam bahasa C diterjemahkan ke dalam machine code dalam jumlah yang relatif lebih sedikit ‎jika dibandingkan dengan program yang ditulis dalam bahasa pemrograman lainnya. Salah satu bagian ‎yang paling canggih dari bahasa C adalah bahwa bahasa C memiliki "pointer", selain tentunya "variabel" ‎dan "konstanta". Istilah Pointer dalam bahasa pemrograman merujuk kepada alamat-alamat memori yang ‎mengizinkan para programmer untuk melakukan beberapa tugas secara jauh lebih efisien, dengan ‎melibatkan bit, byte, dan word memori. Karenanya, banyak orang menyebut bahasa C sebagai "High-level ‎Assembly language, atau bahasa rakitan tingkat tinggi.‎

Meskipun bahasa C masih merupakan bahasa pemrograman yang populer, bahasa ‎tersebut saat ini dapat dikatakan telah "kadaluwarsa". Saat ini, bahasa tersebut diklasifikasikan ‎ke dalam "bahasa pemrograman prosedural tradisional" (traditional procedural programming language), sebuah istilah yang merujuk kepada ‎struktur program-program dalam bahasa C. Umumnya sebuah program bahasa C terdiri atas ‎banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang ‎setiap prosedur tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu ‎atau merupakan implementasi dari algoritma tertentu. Prosedur-prosedur tersebut dapat ‎bekerja dengan data dalam beberapa cara. Data adalah kumpulan angka atau teks atau bahkan ‎gabungan antara keduanya. Dalam bahasa pemrograman prosedural tradisional, kodelah yang ‎‎memproses data menjadi output.‎

Munculnya C++

Akan tetapi akhir-akhir ini, banyak programmer cenderung memilih "bahasa ‎pemrograman berorientasi objek"—atau object oriented programming (OOP). Permulaan ‎munculnya bahasa pemrograman berorientasi objek sering diasosiasikan dengan munculnya ‎bahasa Smalltalk, sebuah bahasa pemrograman yang dikembangkan di Palo Alto Research ‎Center (PARC), yang merupakan sebuah laboratorium penelitian yang didirikan oleh Xerox Cor‎poration. Selain Smalltalk, PARC juga menelurkan banyak inovasi lainnya, seperti halnya mouse ‎dan juga antarmuka grafis (Graphical User Interface) yang pertama kali diimplementasikan di ‎dalam sistem Xerox Star, yang kemudian diadopsi oleh Apple Macintosh dan juga Microsoft Win‎dows.‎

Dalam bahasa pemrograman berorientasi objek, para programmer tidaklah membuat ‎prosedur, tetapi mereka membuat kelas (class), dan dari kelas-kelas tersebut muncullah objek ‎‎(object), yang dapat berupa kode saja, data saja atau kombinasi dari kode dan data. Daripada ‎membuat prosedur-prosedur yang dikhususkan untuk bekerja dengan data, "data" dalam bahasa ‎pemrograman berorientasi objek memiliki perangkat untuk bekerja dengan dirinya sendiri, ‎sehingga dapat dikatakan data bisa memproses dirinya sendiri. Perubahan perspektif ini ‎membawa angin segar bagi para pemrogram, karena menulis satu buah kode yang dapat ‎digunakan dalam beberapa tugas pemrograman telah menjadi lebih mudah.‎

Akhirnya, beberapa programmer pun mencoba untuk menciptakan sebuah versi bahasa ‎C yang mendukung konsep bahasa pemrograman berorientasi objek. Dan, satu-satunya yang ‎sangat populer dari usaha mereka, lagi-lagi, adalah bahasa pemrograman yang dikembangkan di ‎Bell Laboratories pada tahun 1982 oleh Bjarne Stoustrup. Bahasa yang dikembangkannya kini ‎dikenal dengan bahasa C++ (dibaca C plus-plus), di mana nama tersebut merupakan "pelesetan", ‎karena dalam bahasa C dan turunannya dua buah tanda plus akan menambahkan 1 ke dalam ‎sebuah angka atau variabel. Akan tetapi, C++ juga memiliki masalahnya sendiri. Dalam teorinya, ‎C++ adalah bahasa C yang ditambahi dukungan konsep "berorientasi objek", sehingga C++ ‎tidaklah menggantikan bahasa C.

Munculnya Java

Pada tahun 1992, Sun Microsystems membuat Java, sebuah bahasa pemrograman ‎berorientasi objek yang dibuat berbasiskan bahasa C, dengan perbedaan yang signifikan dari ‎bahasa pemrograman C++. Bahasa Java telah membersihkan beberapa sintaksis yang dianggap kurang bagus yang terdapat di dalam bahasa C++ dan membuang beberapa hal yang “berbahaya” dari bahasa C, ‎tetapi tetap mempertahankan “kerumitan” yang ditawarkan oleh bahasa C.‎

Munculnya C#

Pada tahun 2000, Microsoft pun merilis bahasa C# (dibaca C Sharp), yang secara umum ‎didesain oleh Anders Hejlsberg, yang juga lagi-lagi melanjutkan penamaan yang diplesetkan. Simbol ‎pagar (#) yang digunakan dalam C#, secara sekilas terlihat seperti empat buah plus-plus yang ‎disusun sedemikian rupa. Selain itu, di dalam notasi musik, tanda pagar memang menunjukkan ‎nada yang lebih tinggi dibandingkan dengan nada yang tidak memiliki pagar—sehingga C# lebih ‎tinggi dibandingkan C.‎

Seperti halnya bahasa Java, bahasa C# telah membuang beberapa fitur berbahaya dari ‎bahasa C. Memang, pointer belum sepenuhnya "dicabut" dari C#, tapi sebagian besar ‎pemrograman dengan menggunakan bahasa C# tidak membutuhkan pointer secara ekstensif, ‎seperti halnya C dan C++. Persamaan lainnya antara Java dan C# mencakup peran dari kompiler. ‎Biasanya, kompiler menerjemahkan kode sumber (berkas teks yang berisi bahasa pemrograman ‎tingkat tinggi) ke dalam kode mesin. Kode mesin tersebut membentuk sebuah berkas yang ‎dapat dieksekusi (executable atau EXE), yang berupa sebuah berkas yang siap untuk dijalankan kapan saja ‎secara langsung oleh komputer. Tetapi, karena kode mesin hanya diasosiasikan dengan sebuah ‎jenis mesin tertentu saja, berkas yang dapat dieksekusi tersebut hanya dapat berjalan di atas ‎satu jenis komputer saja. Inilah sebabnya mengapa kita tidak dapat menjalankan secara langsung ‎program yang sama yang berjalan di atas sistem operasi Windows di atas sistem operasi GNU/Linux, Apple Macintosh atau sistem operasi lainnya, dan begitu pula sebaliknya.‎

Alat bantu kompiler yang digunakan oleh C# tidak menerjemahkan kode sumber ke ‎dalam kode mesin, tetapi hanya menerjemahkan ke dalam sebuah bahasa perantara atau In‎termediate Language (disingkat menjadi IL), yang merupakan sebuah jenis kode mesin hanya ‎saja telah digeneralisasikan. Ketika kita hendak menjalankan program di atas sebuah mesin, ‎maka IL akan diterjemahkan ke dalam kode mesin secara keseluruhan. Dilihat dari perspektif ‎pengguna, proses translasi ini tidak terlihat. Tetapi, dalam teorinya, ternyata di balik itu terdapat ‎proses dua langkah rumit yang mengizinkan program dengan bahasa IL yang sama untuk berjalan ‎di atas mesin yang berbeda. Selain itu, sebuah program dalam bentuk IL dapat diuji lebih mudah ‎oleh sistem operasi dari keberadaan kode yang merusak atau kode yang mencurigakan. ‎Kemampuan ini telah menjadi lebih penting saat program tersebut dipertukarkan melalui ‎jaringan publik, seperti halnya Internet.‎

Bahasa C, C++, Java dan C# kini dikenal dengan sebutan "keluarga besar bahasa ‎pemrograman C" atau "bahasa pemrograman berbasis bahasa C". C++ mengandung semua hal ‎yang dimiliki oleh C tetapi memiliki fitur yang tidak dimiliki oleh C, sementara Java dan C# ‎meskipun masih berbasis bahasa C, keduanya tidaklah serta-merta merupakan pengganti dari ‎bahasa C, dan antara bahasa Java dan C# memiliki kesamaan dalam berbagai bidang, ketimbang ‎mirip dengan bahasa C++. Meskipun demikian, semuanya menggunakan banyak sintaksis yang ‎mirip, seperti void, int, struct, dan lain sebagainya.

Jenis jaringan Komputer

Jenis Jaringan Komputer


Jenis Jaringan Komputer secara umum kita kenal ada 5 macam, yaitu LAN (Local Area Network), MAN (Metropolitan Area Network), WAN (Wide Area Network), Internet, dan Wireless (jaringan tanpa kabel). Sebenarnya, konsep dari Jenis Jaringan Komputer sama, yaitu untuk menghubungkan berbagai perangkat jaringan untuk dapat berkomunikasi dan berbagi sumber daya. Hanya yang membedakan adalah dari letak geologis-nya (mencakup wilayah dan area jaringan) dan teknologi yang digunakan (seperti penggunaan jenis kabel yang berbeda, IP Addressing sesuai kelas-nya, dan sistem keamanan (security) yang berbeda).

Berikut ini jenis-jenis jaringan komputer


1. LAN ( Local Area Network )

Local Area Network (LAN) merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan workstation dalam kantor perusahaan atau pabrik-pabrik untuk memakai bersama resource (misalnya, printer, scanner) dan saling bertukar informasi.

LAN mempunyai ukuran yang terbatas, yang berarti bahwa waktu transmisi pada keadaan terburuknya terbatas dan dapat diketahui sebelumnya. Dengan mengetahui keterbatasnnya, menyebabkan adanya kemungkinan untuk menggunakan jenis desain tertentu. Hal ini juga memudahkan manajemen jaringan. 

LAN menggunakan teknologih transmisi kabel tunggal. LAN tradisional beroperasi pada kecepatan mulai 10 sampai 100 Mbps (mega bit/detik) dengan delay rendah (puluhan mikro second) dan mempunyai faktor kesalahan yang kecil. LAN-LAN modern dapat beroperasi pada kecepatan yang lebih tinggi, sampai ratusan megabit/detik.

Keuntungan dari jenis jaringan LAN seperti lebih irit dalam pengeluaran biaya operasional, lebih irit dalam penggunaan kabel, transfer data antar node dan komputer labih cepat karena mencakup wilayah yang sempit atau lokal, dan tidak memerlukan operator telekomunikasi untuk membuat sebuah jaringan LAN.

Kerugian dari jenis jaringan LAN adalah cakupan wilayah jaringan lebih sempit sehingga untuk berkomunikasi ke luar jaringan menjadi lebih sulit dan area cakupan transfer data tidak begitu luas.


2. MAN ( Metropolitan Area Network )

Metropolitan Area Network (MAN) merupakan jenis jaringan yang lebih luas dan lebih canggih dari LAN. Disebut Metropolitan Area Network karena jenis jaringan MAN ini biasa digunakan untuk menghubungkan jaringan komputer dari suatu kota ke kota lainnya. Untuk dapat membuat suatu jaringan MAN, biasanya diperlukan adanya operator telekomunikasi untuk menghubungkan antar jaringan komputer. Contohnya seperti jaringan Depdiknas antar kota atau wilayah dan juga jaringan mall-mall moderen yang saling berhubungan antar kota.

Keuntungan dari jenis jaringan MAN ini diantaranya adalah cakupan wilayah jaringan lebih luas sehingga untuk berkomunikasi menjadi lebih efisien, mempermudah dalam hal berbisnis, dan juga keamanan dalam jaringan menjadi lebih baik.

Kerugian dari jenis jaringan MAN seperti lebih banyak menggunakan biaya operasional, dapat menjadi target operasi oleh para Cracker untuk mengambil keuntungan pribadi, dan untuk memperbaiki jaringan MAN diperlukan waktu yang cukup lama.


3. WAN ( Wide Area Network )

Wide Area Network (WAN) merupakan jenis jaringan yang lebih luas dan lebih canggih daripada LAN dan MAN. Teknologi jaringan WAN biasa digunakan untuk menghubungkan suatu jaringan dengan negara lain atau dari satu benua ke benua yang lainnya. Jaringan WAN bisa terdiri dari berbagai LAN dan WAN karena luasnya wilayah cakupan dari WAN. Jaringan WAN, biasanya menggunakan kabel fiber optic serta menanamkannya di dalam tanah maupun melewati jalur bawah laut.

Keuntungan dari jenis jaringan WAN seperti cakupan wilayah jaringannya lebih luas dari LAN dan MAN, tukar-menukar informasi menjadi lebih rahasia dan terarah karena untuk berkomunikasi dari suatu negara dengan negara yang lainnya memerlukan keamanan yang lebih, dan juga lebih mudah dalam mengembangkan serta mempermudah dalam hal bisnis.

Kerugian dari jenis jaringan WAN seperti biaya operasional yang dibutuhkan menjadi lebih banyak, sangat rentan terhadap bahaya pencurian data-data penting, perawatan untuk jaringan WAN menjadi lebih berat.


4. Internet

Internet merupakan jaringan komputer yang global atau mendunia. Karena Internet merupakan jaringan-jaringan komputer yang terhubung secara mendunia, sehingga komunikasi dan transfer data atau file menjadi lebih mudah. Internet bisa dikatakan perpaduan antara berbagai jenis jaringan komputer beserta Topologi dan Tipe Jaringan yang saling berhubungan satu sama lain.

Keuntungan dari jenis jaringan Internet diantaranya adalah komunikasi dan berbagi sumber daya dari satu jaringan ke jaringan yang lain menjadi lebih mudah, penyebaran ilmu pengetahuan menjadi lebih pesat, penyampaian informasi menjadi lebih cepat dan mudah, dan menjadi ladang untuk memperoleh penghasilan

Kerugian dari jenis jaringan Internet diantaranya adalah kejahatan dunia maya atau cyber criminal menjadi luas, pornografi menjadi semakin luas, transaksi barang-barang ilegal seperti narkoba menjadi marak, dan juga dapat menimbulkan fitnah karena penyampaian informasi yang salah.


5. Wireless (Jaringan Tanpa Kabel)

Wireless merupakan jenis jaringan yang menggunakan media transmisi data tanpa menggunakan kabel. Media yang digunakan seperti gelombang radio, inframerah, bluetooth, dan microwave. Wireless bisa difungsikan kedalam jaringan LAN, MAN, maupun WAN. Wireless ditujukan untuk kebutuhan mobilitas yang tinggi.

Keuntungan jenis jaringan Wireless seperti kenyamanan untuk terhubung ke jaringan tanpa dibatasi oleh kabel, lebih ke arah pengguna yang memerlukan mobilitas yang tinggi, dan tidak terlalu memerlukan kabel jaringan.

Kerugian jenis jaringan Wireless seperti transmisi data kepada para pengguna yang lebih lambat dari penggunaan jaringan dengan kabel, memerlukan keamanan yang ketat karena orang yang berada di luar jaringan bisa menerobos ke dalam jaringan Wireless.
sumber : klikdisini

KOMENTAR