Belajar Bahasa C sharp/Pendahuluan: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k stub |
kTidak ada ringkasan suntingan |
||
Baris 1:
{{judul|Bab I: Pendahuluan}}
==Apa itu C#==
Bahasa [[w:C sharp|C#]] adalah sebuah [[w:bahasa pemrograman|bahasa pemrograman]] modern yang bersifat ''general-purpose'', [[w:pemrograman berorientasi objek|berorientasi objek]], yang dapat digunakan untuk membuat [[w:program komputer|program]] di atas arsitektur [[w:Microsoft .NET Framework|Microsoft .NET Framework]]. Bahasa C# ini memiliki kemiripan dengan bahasa [[w:Java|Java]], [[w:bahasa pemrograman C|C]] dan [[w:bahasa pemrograman C++|C++]] (selengkapnya dapat dilihat pada Sejarah Bahasa C#).
Bahasa pemrograman ini dikembangkan oleh sebuah tim pengembang di [[w:Microsoft Corporation|Microsoft]] yang dipimpin oleh [[w:Anders Hejlsberg|Anders Hejlsberg]], seorang yang telah lama malang melintang di dunia pengembangan bahasa pemrograman karena memang ialah yang membuat [[w:Turbo Pascal|Borland Turbo Pascal]], [[w:Borland Delphi|Borland Delphi]], dan juga
Kini, C# telah distandarisasi oleh [[w:European Computer Manufacturer Association|European Computer Manufacturer Association]] (ECMA) dan juga [[w:International Organization for Standardization|International Organization for Standardization]] (ISO) dan telah menginjak versi 3.0 yang mendukung beberapa fitur baru semacam [[w:Language Integrated Query|Language Integrated Query]] (LINQ) dan lain-lainnya. ==Sejarah perkembangan bahasa pemrograman C#==
Sebelum tahun [[w:1970|1970]]-an (atau lebih lama), menggunakan komputer seperti saat ini—dari mulai mengetik hingga main ''game'' komputer—merupakan sesuatu hal yang mustahil. Revolusi yang terjadi di dalam dunia komputer membutuhkan dua tahap agar dapat sampai kepada zaman seperti sekarang, yakni:
Baris 9 ⟶ 12:
Pengguna awam komputer pun akhirnya "dilahirkan", dan sejak itu ''programmer'' dan pengguna merupakan dua buah entitas yang sama sekali berbeda, dan kurang begitu dapat berkomunikasi satu dengan lainnya.
===Awal-awal pemrograman komputer digital===
[[w: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 [[w:perangkat keras|perangkat keras]] (''hardware''), sementara instruksi-instruksi yang ditulis di atas ''[[w:kartu berlubang|punched card]]'' atau medium lainnya dikenal dengan [[w:perangkat lunak|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 '''[[w:bahasa rakitan|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 '''[[w:bahasa pemrograman tingkat tinggi|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 [[w:FORTRAN|FORTRAN]], [[w:COBOL|COBOL]], [[w:BASIC|BASIC]], dan masih banyak lagi yang lainnya. Beberapa bahasa pemrograman tersebut masih terus-terusan digunakan hingga saat ini. Sebagai contoh, FORTRAN (akronim dari '''<u>For</u>mula <u>Tran</u>slator''') masih sering digunakan oleh para ilmuwan dan para insinyur bidang teknik; COBOL (akronim dari '''<u>Co</u>mmon <u>B</u>usiness-<u>O</u>riented <u>L</u>anguage''') juga sering digunakan dalam institusi-institusi finansial; dan bahasa BASIC (akronim dari '''<u>B</u>eginner’s <u>A</u>ll-purpose <u>S</u>ymbolic <u>I</u>nstruction <u>C</u>ode''') juga masih banyak digunakan hingga saat ini, meskipun terjadi perubahan yang sangat signifikan dari ketika bahasa tersebut dipublikasikan pertama kali pada tahun [[w:1963|1963]].
Baris 19 ⟶ 22:
Bahasa pemrograman lainnya yang dikembangkan selama tahun 1950-an tapi sudah tidak digunakan lagi adalah [[w:ALGOL|ALGOL]] (akronim dari '''<u>Alg</u>orithmic Pr<u>o</u>gramming <u>L</u>anguage'''). 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 [[w:bahasa pemrograman Pascal|Pascal]], [[w:PL/1|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 ([[w:Unix|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 '''<u>C</u>ombined <u>P</u>rogramming <u>L</u>anguage'''.
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 <code>BEGIN</code> dan <code>END</code> untuk membatasi sebuah seksi dalam instruksi program, bahasa C malah menggunakan tanda kurung keriting (<code>{</code> dan <code>}</code>). Beberapa operasi juga disederhanakan, bahkan banyak singkatannya yang cukup membingungkan para programmer pemula. Contoh yang sering digunakan adalah <code>printf</code>, dan <code>scanf</code>. 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" (
===Munculnya C++===
Akan tetapi akhir-akhir ini, banyak ''programmer'' cenderung memilih "[[w:bahasa pemrograman berorientasi objek|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 [[w:Palo Alto Research Center|Palo Alto Research Center]] (PARC), yang merupakan sebuah laboratorium penelitian yang didirikan oleh Xerox Corporation. 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 Windows.▼
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 [[w:1982|1982]] oleh '''[[w:Bjarne Stoustrup|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 melanjutkan penamaan yang diplesetkan. Simbol pagar (#) yang digunakan dalam C#, secara sekilas terlihat seperti dua 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 secara langsung oleh komputer. Tetapi, karena kode mesin diasosiasikan hanya 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—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 '''''Intermediate 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.
▲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 [[w:Palo Alto Research Center|Palo Alto Research Center]] (PARC), yang merupakan sebuah laboratorium penelitian yang didirikan oleh Xerox Corporation. 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 Windows.
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 <code>void</code>, <code>int</code>, <code>struct</code>, dan lain sebagainya.
{{stub}}
|