Apa itu bahasa pemrograman C? Apa gunanya? dan kenapa harus dipelajari? Dalam tutorial pertama dari seri belajar bahasa pemrograman C di duniailkom kali ini kita akan membahas semuanya, yang diawali dengan pengertian bahasa pemrograman C.
Pengertian Bahasa Pemrograman C
Bahasa Pemrograman C adalah sebuah bahasa pemrograman komputer yang bisa digunakan untuk membuat berbagai aplikasi (general-purpose programming language), mulai dari sistem operasi (seperti Windows atau Linux), antivirus, software pengolah gambar (image processing), hingga compiler untuk bahasa pemrograman, dimana C banyak digunakan untuk membuat bahasa pemrograman lain yang salah satunya adalah PHP.
Meskipun termasuk general-purpose programming language, yakni bahasa pemrograman yang bisa membuat berbagai aplikasi, bahasa pemrograman C paling cocok merancang aplikasi yang berhubungan langsung dengan Sistem Operasi dan hardware. Ini tidak terlepas dari tujuan awal bahasa C dikembangkan.
Bahasa pemrograman C dibuat pertama kali oleh Dennis M. Ritchie pada tahun 1972. Saat itu Ritchie bekerja di Bell Labs, sebuah pusat penelitian yang berlokasi di Murray Hill, New Jersey, Amerika Serikat.
Ritchie membuat bahasa pemrograman C untuk mengembangkan sistem operasi UNIX. Sebelumnya, sistem operasi UNIX dibuat menggunakan bahasa assembly (assembly language). Akan tetapi bahasa assembly sendiri sangat rumit dan susah untuk dikembangkan.
Dengan tujuan mengganti bahasa assembly, peneliti di Bell Labs membuat bahasa pemrograman B. Namun bahasa pemrograman B juga memiliki beberapa kekurangan, yang akhirnya di lengkapi oleh bahasa pemrograman C.
Dengan bahasa C inilah sistem operasi UNIX ditulis ulang. Pada gilirannya, UNIX menjadi dasar dari banyak sistem operasi modern saat ini, termasuk Linux, Mac OS (iOS), hingga sistem operasi Android.
Fitur dan Keunggulan Bahasa Pemrograman C
Berikut beberapa fitur serta keunggulan bahasa pemrograman C jika dibandingkan dengan bahasa pemrograman lain:
C sebagai bahasa pemrograman prosedural
Konsep pemrograman prosedural adalah sebuah metode pemrograman yang setiap baris perintah diproses secara berurutan dari baris paling atas hingga baris paling bawah. Selain itu bisa terdapat fungsi tambahan (function) yang digunakan untuk menyelesaikan berbagai tugas. Bahasa pemrograman C termasuk ke dalam kelompok ini.
Selain konsep prosedural, terdapat juga konsep pemrograman object (object-oriented programming). Di dalam bahasa pemrograman object, setiap tugas akan dijalankan menggunakan class dan object. Contoh bahasa pemrograman object adalah JAVA.
Bagi pemula, sangat disarankan untuk mempelajari bahasa pemrograman prosedural terlebih dahulu baru kemudian masuk ke dalam bahasa pemrograman object. Ini juga menjadi alasan untuk belajar bahasa C sebelum masuk ke bahasa pemrograman object seperti JAVA.
Beberapa bahasa pemrograman ada yang mendukung konsep prosedural dan object sekaligus, contohnya bahasa pemrograman C++, Python dan PHP.
Bahasa C sangat cepat dan efisien
Aplikasi yang dibuat menggunakan bahasa C bisa dieksekusi dengan sangat cepat serta berukuran kecil. Ini karena C bisa langsung berkomunikasi dengan hardware, sebuah fitur yang jarang tersedia di bahasa pemrograman modern seperti JAVA, PHP, maupun Python.
Akan tetapi, hal ini juga memiliki kelemahan. Bahasa C relatif sederhana dan tidak memiliki fitur-fitur modern seperti garbage collection dan dynamic typing.
C adalah portable language
Maksudnya, bahasa pemrograman C bisa di-compile ulang supaya berjalan di berbagai sistem operasi tanpa perlu mengubah kode-kode yang ada. Aplikasi yang dibuat di Windows dengan bahasa C, bisa dipindahkan ke Linux dengan sedikit atau tanpa modifikasi.
C merupakan "induk" dari bahasa pemrograman modern
Bahasa pemrograman C banyak menginspirasi bahasa pemrograman lain, seperti C++, C#, Objective C, PHP, JAVA, JavaScript dan masih banyak lagi. Dengan mempelajari bahasa C, anda akan familiar dan lebih mudah saat berpindah ke bahasa pemrograman lain yang merupakan turunan dari bahasa C.
Haruskah Saya Mempelajari Bahasa C?
Jawaban singkatnya: Anda tidak harus belajar bahasa C.
Sama seperti bahasa Pascal, bahasa C saat ini kebanyakan dipakai sebagai bahasa pengantar untuk mempelajari algoritma. Dimana algoritma itu sendiri merupakan kumpulan instruksi untuk memecahkan masalah.
Sepanjang tutorial bahasa C di duniailkom ini kita juga hanya menampilkan hasil program dalam bentuk teks yang mirip aplikasi DOS. Belum sampai ke membuat aplikasi "sebenarnya" dengan tampilan grafis, gambar, mouse, dan efek-efek menarik lain.
Namun ini bukan berarti C tidak bermanfaat. Seperti yang saya singgung di keunggulan bahasa C, C merupakan "induk" dari berbagai bahasa pemrograman modern. Dengan mempelajari C, anda juga mempelajari dasar dari pemrograman.
Ibarat sedang membangun rumah, apa yang akan dipelajari disini barulah cara mengaduk semen, cara menyusun bata dan cara membuat pondasi. "Rumahnya" nanti akan lebih cepat dibuat menggunakan bahasa pemrograman yang lebih modern.
Jika anda ingin membuat aplikasi yang siap pakai dan memiliki tampilan modern, bisa langsung ke bahasa "visual" seperti Visual Basic, Visual C++, HTML, atau PHP.
Alasan lain untuk mulai belajar bahasa C adalah sebagai persiapan apabila sedang berkuliah di jurusan komputer, atau ingin masuk ke jurusan komputer. Karena hampir selalu akan ketemu bahasa pemrograman C di awal-awal kuliah, dimana bahasa C, Pascal, dan C++ banyak dipakai sebagai bahasa pemrograman untuk belajar dasar algoritma.
Setelah membahas pengertian bahasa C, keunggulannya dan alasan untuk mempelajari bahasa C, berikutnya kita akan lihat bagaimana sejarah dan perkembangan dari bahasa C yang sudah berumur 45 tahun.
Izin baca-baca saja mas :)
Bagus artikelnya.
Silahkan… semoga bisa bermanfaat..
mas, gk ada artikel c++ ?
Saat ini masih belum ada nih, tapi mudah2an nanti bisa dilengkapi…
"Jika anda ingin membuat aplikasi yang siap pakai dan memiliki tampilan modern, bisa langsung ke bahasa "visual" seperti Visual Basic, Visual C++, HTML, atau PHP"
mas, maksudnya visual c++ yg mas bilang itu c++ ya?
Tambahan kata "Visual" ini merujuk ke aplikasi buatan Microsoft, yakni Visual Studio.
Visual Studio berisi komponen-komponen pendukung untuk membuat aplikasi desktop yang berbasis grafis. Untuk membuat program menggunakan Visual Studio, kita bisa memakai beberapa macam bahasa pemrograman, diantaranya bahasa Basic, C++ dan C#.
Jika yang dipelajari hanya C++ saja, nanti aplikasi yang dihasilkan tetap berbasis Dos seperti tutorial C ini. Tapi sebelum ke Visual C++, memang harus paham bahasa dasar C++ dulu.
Nah ini yg saya tunggu2 mas Andre.. dan jikalau bisa buat tentang C++ dan Java juga dong.. :-D
Amiin…. mudah2an nanti bisa kesampaian :)
Mantap :D oh iya mas maaf, klo boleh nanya, urutan bahasa pemrograman untuk membuat aplikasi menurut mas Andre gmn ya ? Misal, sesudah mempelajari C enaknya langsung lanjut kemana ? :) Biar ga tersesat gitu, hehe… Terima kasih mas, semoga makin sukses :)
Bahasa Pascal, C dan C++ biasanya dipelajari untuk memperkuat algoritma, yakni dasar2 dari bahasa pemrograman, seperti konsep variabel, perulangan, kondisi if else, dst. Setelah dirasa cukup paham, tinggal tentukan mau buat aplikasi apa.
Jika pengen membuat website, bisa lanjut ke bahasa pemrograman khusus website: HTML, CSS, PHP, JavaScript dan MySQL. Jika pengen membuat aplikasi desktop, bisa ke bahasa Visual Basic, Visual C++, dll. Jika pengen membuat aplikasi android bisa lanjut ke JAVA dan XML.
Wih Bagus banget mas andree.. :D
Semoga ada bahan untuk saya kedepanya lagi.. Lanjutkan artikelnya mas :D
Terima kasih artikelnya bermanfaat sekali.. Bahasa C memang dalam tahap belajar saya
Ngomong" mas baru main adsense ya? kok baru muncul Iklanya..
Siip, mudah2an tidak ada halangan untuk menulis tutorial bahasa C ini…
Iklan adsense di duniailkom sudah cukup lama kok, terutama untuk menutupi biaya operasional (biaya hosting dan domain). Kalau baru muncul, kemungkinan besar selama ini pakai adblock..
bg andre, bahasa c dan c++ apa bedanya ?
perbedaan:
1. Bahasa C adalah bahasa pure procedural, sedangkan C++ mendukung prosedural, object-oriented, functional, dll
2. Pada awalnya, C++ adalah perluasan dari C, tetapi sekarang sebaliknya, C adalah bagian dari C++
3. Kode C dapat di-compile oleh compiler C++, kode C++ tidak dapat di-compile oleh compiler C
4. compiler C yg ada sekarang (misal gcc) dibuat menggunakan C++
5. Bahasa C++ menyediakan pustaka standar (standard library) yg lebih kaya, yaitu STL (Standard Template Library) yang dapat digunakan untuk berbagai keperluan.
6. Perkembangan bahasa C ter-include dalam perkembangan C++. sebagai catatan, standard C++ yg terbaru adalah C++17.
Jika ingin mendalami lebih lanjut tentang C++ bisa kontak via email.
~ terima kasih ^_^
Terimakasih sudah bantu jawab mas Bayu, udah lengkap banget jawabannya.. :D
Betul, secara sederhana C++ adalah versi tambahan dari bahasa C. Dalam C++ sudah terdapat pemrograman berbasis object (yang belum tersedia di bahasa C).
Semangat Mas Andre.. Lanjutkan tutorialnya :D
salam
Saya sangat ingin belajar C++, bagaimna saya mengirim email untuk anda ?
Mohon maaf, untuk saat ini di Duniailkom masih belum tersedia tutorial C++. Tapi akan segera menyusul…
Mau tanya
Lebih baik belajar bahasa c dulu atau bahasa pascal dulu? Dan apa alasannya ? Terima kasih
Saya lebih cenderung ke Pascal karena perintahnya relatif sederhana dan menggunakan bahasa inggris sehari2 seperti begin, end, write, dst. Kalau bahasa C lebih banyak karakter seperti { }, void, dst.
Mas, kalo kata mas kan pascal, C dan Cpp itu untuk memperkuat algoritma. Bisa gak sih kalo kita buat aplikasi tapi memakai bahasa yang diatas itu? Sebelumnya terimakasih
Sangat bisa, namun untuk aplikasi modern kita butuh program dan materi tambahan. Terdapat aplikasi Delphi dan Lazarus yang menggunakan basic bahasa pascal. Untuk bahasa C dan C++ juga tersedia aplikasi Visual C++ buatan Microsoft.
assalamualaikum mas andre….trimakasih atas penjelasan panjang lebar dan sangat detail,sehingga saya sebagai orang yg baru mau belajar saja bisa memahami dengan baik,nah setelah baca baca tutorial ini timbul keingian saya untuk mendalami ilmu ini yg rencanan akan saya jadikan sebagai bagian dari profesi saya sebagai tehnisi electronika,jadi..ingin menguasai masalah firmware yang ber operasi pada gadget electronik seperti tv,dvd dvb dan sebagainya.kira2 apa yg harus saya dalami selain bahasa C.terimakasih.
Saya kurang tau juga nih soal firmware di perangkat elektronik. Setahu saya kebanyakan firmware itu tidak untuk di program sendiri. Teknisi biasanya cuma install ulang, atau upgrade firmware yang memang sudah disediakan oleh vendor / produsen perangkat. Karena kebanyakan produsen tidak merilis source codenya ke publik.
Kecuali perangkatnya kita sendiri yang rakit. Mungkin bisa dibaca2 referensi tentang robotik / komputer mini yang dibuat pakai rasberrypi atau arduino. Di perangkat seperti ini baru kita yang utak-atik isinya (programnya kita sendiri yang rancang).
Sekarang ini penggunaan bahasa C kebanyakan ada di platform apa ya mas?? btw mantab sekali artikel nya.
Penggunaan saat ini bahasa Pascal, C dan C++ lebih banyak untuk edukasi dasar programming saja, yakni belajar algoritma dan pemrograman di semester awal jurusan IT.
Jika dibawa ke dunia programming professional, C dan C++ jadi pondasi dari berbagai aplikasi "kelas berat" untuk komputer desktop seperti game, photoshop, web browser, dll.
Apakah bahasa C# juga merupakan turunan dari bahasa C ? saya masih bingung soalnya mau belajar bikin game pakai unity
Betul, C# adalah turunan bahasa C yang lebih modern (karena relatif baru) dan dikembangkan oleh Microsoft.
Assalamuallaikum Mas Saya baru belajar tentang pemerograman, saya tertarik untuk membuat web desain. untuk bisa membuat web desain pembelajarannya mulai dari apa dulu yah?, apa Harus dari Bahasa C atau C++ dulu?
Terimakasih.
Waalaikumsalam…
Kalau fokusnya ke web design, bisa langsung pelajari HTML dan lanjut ke CSS. Bahasa pemrograman dasar seperti C atau C++ boleh dilompati (mungkin perlu seandainya pengen pendalaman sebelum ke JavaScript nanti, tapi itupun tidak harus)
Waalaikumsalam…
Kalau fokusnya ke web design, bisa langsung pelajari HTML dan lanjut ke CSS. Bahasa pemrograman dasar seperti C atau C++ boleh dilompati (mungkin perlu seandainya pengen pendalaman sebelum ke JavaScript nanti, tapi itupun tidak harus)
pengen belajar pemrograman tapi kok ya serasa sulit banget, walaupun keinginan selalu ada. artikelnya bagus2 mas. MANTAP…
Mungkin bisa coba pascal, karena menurut saya sedikit lebih mudah dari bahasa C.
Maaf mas andre. saya mau tanya. saya kan baru belajar web, dari input tag html, sekaligus edit style css, yg saya tanyakan, supaya web saya jalan gimana ya. ? makasih mas, artikel nya sangat bagus
Jalan disini maksudnya apakah sekedar jalan di web browser atau pengen di online-kan ya?
Kalau untuk jalan di web browser, boleh ikuti semua tutorial HTML di duniailkom ini (kodenya nanti di save sebagai file .html). Tapi kalau maksudnya pengen di online-kan, itu nanti harus sewa web hosting dan web domain.
Terima kasih mas Andre, saya mau bertanya. Tahun ini saya kuliah di jurusan D4 Teknik Elektronika dan berkeinginan untuk kuat juga di logika dan pemrograman setelah lulus, ketika saya melihat mata kuliah saya, pemrograman hanya ada ada di semester 1 dan 2 selebihnya saya belajar sensor, aktuator, robotika, dll. Tidak seperti jurusan Informatika yang ada matakuliah struktur data, database, organisasi komputer, sistem terdistribusi, riset operasi, dll, apakah matkul2 tersebut penting untuk saya pelajari itu agar kemampuan pemrograman saya baik?
Kalau sekedar bisa buat program (atau untuk hobi) mata kuliah seperti itu tidak terlalu dibutuhkan. Nanti belajarnya bisa secara otodidak dari buku atau tutorial seperti ini.
Tapi kalau tujuannya ingin berkarir sebagai programmer atau memang pengen ahli di bidang programming, beberapa teori dasar memang dibutuhkan (tapi tidak perlu semua). Yang paling penting adalah algoritma, database, pemrograman berorientasi object (object oriented programming), sedikit teori tentang jaringan komputer dan sistem operasi.
Sebagian besar mata kuliah jurusan IT juga lebih condong ke matematika dan teori sains komputer, jadi tidak berhubungan langsung dengan skill programmingnya. Sehingga saya juga tidak heran ada sarjana komputer yang tidak bisa programming, karena di jurusan TI pun ga banyak mata kuliah yang benar-benar mengajarkan cara membuat program (lebih banyak teori).
Mantap gan…
Jaya terus ya blog nya…
sore mas mau tanya, saya kuliah jurusan IT namun saya masih bingung untuk memahami tentang pemrograman, karna di kampus saya mata kuliah yg diajarkan pun kadang longkap",,,, dan saya ingin lebh mendalami tentang pemrograman itu lebh baiknya step nya harus memahami aapa dlu yaaa ?
Kalau mau mulai dari nol, bisa belajar bahasa pemrograman dasar seperti C ini atau Pascal, lalu lanjut belajari studi kasus logika seperti membuat deret, segitiga bintang, dst. Ini untuk memperdalam algoritma.
Setelah itu baru pelajari bahasa pemrograman "dunia kerja", misalnya jika ingin belajar web programming mulai dari HTML, CSS, PHP, dst. Kalau ingin membuat aplikasi desktop bisa belajar Visual Studio, atau jika ingin membuat aplikasi android bisa belajar bahasa Java.
dunia ilkom emang yang paling pro! artikel nya gampang banget dimengerti, mudahan abis belajar dari duniailkom bisa ngalahin yang S1 Teknik komputer.. *ngimpii
Edit: Programming tidak semudah itu nak
Hehe, tidak ada yang mustahil. Bisa saja yang belajar otodidak skillnya mengalahkan S1 jurusan komputer. Dengan catatan, harus fokus belajar bertahun2 (toh, yang S1 TI juga butuh 4 tahun agar tamat). Selain itu belajar dari banyak sumber, bisa dari web seperti duniailkom ini, buku, video tutorial, dll.
otodidakkkkk mantap djiwa . kalau mau download file pdf nya ada gk mas?
Untuk saat ini masih belum ada nih,…
Wao..jelas bangat artiklnya bang
Assalamu'alaikum bang mau nanya ni, saya kan pake perogram microsoft visual studio 2010,baru saya mau buat aplikasi kasir atau perpustakaan ni cuman saya kesulitan saat buat setup nya,saya agak binggun,gimana caranya ya, terimakasi
Wassalamu'alulikum
Waalaikumsalam…
Menurut saya ada baiknya cari buku tentang Visual Studio, karena bahasan seperti itu terlalu luas, g sempat bisa dijawab dalam komentar ini.
Apakah C yang di bahas disini berbeda dengan C++ / C#?
Betul. Bahasa C, C++ dan C# adalah bahasa pemrograman yang berbeda. Hanya saja memang ada kemiripan satu sama lain karena sama2 terinspirasi dari bahasa C.
Khusus untuk C dan C++ biasanya bisa diproses oleh satu compiler yang sama (hanya butuh 1 aplikasi), karena C++ merupakan penambahan fitur dari bahasa C. Sedangkan untuk C# butuh aplikasi yang berbeda.
keren lah artikelnya… sangat membantu
artikel nya keren mas
Mau nanya kak, software pendukung bahasa C dan C++ beserta contoh programnya itu gimana ya?
Saya juga kurang tau maksudnya seperti apa, tapi kalau yang dimaksud adalah program untuk menjalankan bahasa C / C++, yang diperlukan berupa compiler dan text editor (atau IDE). Dalam tutorial bahasa C di duniailkom ini, keduanya bisa di download langsung dalam satu paket IDE Code::Blocks.
baru tahu kalo induk bahasa pemrograman adalah bahasa C. jika C adalah induk bahasa pemrograman menurut saya semu orang yang ingin belajar filsafat pemrograman berarti wajib tahu dan menguasai bahasa C. telmi nih sudah tua baru belajar program sekarang. saya generasai analog terakhir yang tau perkembangan bahwa generasi setelah saya adalah generasi digital.
Betul mas, mayoritas bahasa pemrograman modern merupakan turunan atau terinspirasi dari bahasa C. Pada eranya, bahasa C ini bersaing dengan bahasa Pascal. Dan sepertinya bahasa C keluar sebagai pemenang… meskipun sekarang penerapan bahasa C sudah tidak terlalu banyak, kecuali untuk alat mesin2 produksi pabrik yang masih pakai bahasa C.
Artikel yang bagus min, say mau nanya kalo utk membuat game itu bahasa pemrograman mana yg digunakan ya ?
Untuk membuat game desktop, biasanya pakai bahasa C++
kenapa nggak di cantumkan nama penulis mas? susah kalau mau dujadikan referensi makalah
Oh ya, nama penulis ada kecil di kiri atas artikel (disebelah tanggal). Hingga saat ini semua artikel di web duniailkom masih saya tulis sendiri…
Trimakasih tutorialnya, sangat membantu ….
Ijin Copas ya bang …
Sama2, mohon cantumkan link sumbernya ke sini ya…