Tuesday, February 5, 2013

Belajar Pemrograman Menggunakan Bahasa C

Banyak sekali tutorial atau buku tentang belajar pemrograman menggunakan bahasa C, namun saya melihat masih terlalu sulit untuk dipahami dan dipelajari bagi kalangan pemula, atas dasar itu saya ingin mencoba membuat tutorial yang mudah untuk dipelajari dengan penerapan pada kegiatan yang biasa diparaktekan sehari-hari. Ide pemrograman mungkin terdengar seperti tugas yang menakutkan, tapi jangan khawatir. Saya merancang tutorial ini sehingga Anda tidak harus harus menyelidiki lebih dalam kompleksitas pemrograman.

Untuk penulisan tutorial saya akan membuat tahap demi tahap, seperti tutorial 1, tutorial 2, .. dst. Saya buat sedemikian rupa sampai mencukupi untuk bekal Anda menjadi programmer C.

OK, sebelum melangkah lebih lanjut, ada baiknya Anda mengenal dulu teori pemrograman.

Apakah itu Pemrograman?

Saya ingat betul ketika menulis program pertama saya waktu SMA. (Ingatan saya menjadi mengerikan, ingatan akan banyak hal yang menjadi tidak jelas, biasanya saya hanya ingat hal-hal seperti bangun tidur, menonton dan main game, setelah mengenal dan mencoba menulis program, ingatan hanya fokus ke kode, kode, dan kode program lagi ... Pokoknya hal-hal seperti itulah.)

Jika mengingat ke belakang, waktu itu saya membuat program dengan ambisius untuk seorang noob (kira-kira 20 atau 30 baris kode). Dulu di lab komputer SMA, hanya dipersenjatai dengan sebuah buku tentang pemrograman dan ego saya "berpikir logis.", Duduk di salah satu terminal DOS, dan mulai pemrograman dengan menggunakan bahasa C. Yah, mungkin waktu itu kata "mulai" atau "pemrograman" bukanlah kata yang tepat, karena saya kebanyakan hanya duduk di sana, merasa putus asa dan bodoh. Kemudian malu. Pada saat itu ... itu bukan momen kemenangan.
Sudah lebih dari satu tahun, tapi masih bisa merasakan stres dan penghinaan ketika saya berpikir tentang pemrograman.
Jelas, ini bukan cara untuk belajar pemrograman.

Tapi kenapa begitu sulit? Mengatakan ke komputer untuk melakukan sesuatu, benar-benar hal yang kompleks.

Ketika Anda mengajarkan kepada seseorang bagaimana membuat kue, pekerjaan Anda menjadi jauh lebih mudah karena mereka sudah tahu apa 'kue' ini. Ini adalah pemahaman umum informal "kue" yang memungkinkan mereka untuk mengisi kesenjangan dalam penjelasan Anda. Kemudian langkah selanjutnya Anda menyuruh orang itu untuk menghiasi kue, dan menaburkan bubuk kacang, ketika anda memerintah segala sesuatu yang dipahami oleh orang itu, maka orang itu akan melaksanakannya dengan mudah.

Saya pikir itu akan membantu untuk berbicara sedikit tentang apa itu pemrograman.

Pemrograman memberitahu komputer Anda bagaimana melakukan sesuatu. Tugas besar harus dipecah menjadi tugas yang lebih kecil, tugas kecil yang harus dipecah menjadi tugas lebih kecil lagi, turun sampai Anda mendapatkan tugas yang paling dasar bahwa Anda tidak harus menjelaskan, sehingga komputer sudah tahu bagaimana melakukannya. Intinya "Apapun yang anda inginkan dan perintahkan, perintah tersebut harus bisa dimengerti oleh komputer", (Ini adalah hal yang sangat dasar seperti aritmatika atau menampilkan beberapa teks pada layar komputer Anda.)

Masalah terbesar ketika saya belajar program adalah bahwa saya mencoba untuk mempelajarinya secara terbalik/mundur. Saya tahu apa yang saya inginkan dari komputer untuk melakukan sesuatu, dan mencoba bekerja secara terbalik/mundur, memecahnya sampai komputer tahu bagaimana melakukannya. Ide buruk. Saya tidak benar-benar tahu apa yang komputer bisa lakukan, sehingga tidak tahu masalah apa yang harus pecahkan.

Itulah mengapa Anda harus belajar dulu tentang hal-hal dasar yang dapat dilakukan komputer Anda, dimulai dengan mengetahui betul masalah yang ingin dipecahkan, dan kemudian menemukan beberapa tugas sederhana yang dapat dipecah menjadi beberapa hal-hal dasar.

Bahasa Pemrograman


Untuk memberitahu komputer Anda bagaimana melakukan sesuatu, Anda harus menggunakan bahasa pemrograman. Sebuah bahasa pemrograman adalah mirip dengan bahasa manusia yang terdiri dari unsur-unsur dasar (seperti kata benda dan kata kerja) dan cara-cara untuk menggabungkan elemen-elemen untuk menciptakan makna (kalimat, paragraf, dan novel). Ada banyak bahasa untuk dipilih mulai dari (C, Java, Ruby, Perl ...),dan lain-lain. Sedangkan untuk tutorial yang saya buat, saya akan menggunakan bahasa C, mungkin bagi Anda yang sedikitnya sudah mengenal dunia pemrograman, kenapa tidak menggunakan C++ saja?
Menurut saya jika Anda langsung belajar C++ tanpa memahami bahasa C, bisa diibaratkan mendahulukan memakai sepatu daripada kaos kaki.

Fungsi-fungsi dasar C++, sebetulnya didalamnya terdapat fungsi dari bahasa C, contohnya ifstream, jika Anda membuka library nya, didalamnya terdapat fungsi fopen yang merupakan fungsi bawaan bahasa C.

Dengan lebih mendahulukan belajar bahasa C, maka ketika belajar C++ yang berbasis Objek (OOP), Anda tidak akan mendapatkan kesulitan yang berarti, karena nantinya Anda tahu betul kerangka-kerangka dasar yang ada didalamnya.

OK, cukup untuk perdebatan mana yang perlu didahulukan C atau C++.

Eiits tunggu dulu.. muncul lagi pertanyaan, Kenapa bahasa C? kenapa tidak menggunakan visual basic atau ruby yang kata orang bisa lebih cepat dipahami dan dikuasai??

Menurut saya, itu tergantung kebutuhan, misalkan ketika Anda mendapatkan proyek pembuatan program yang kompleks dan Anda hanya memiliki waktu sedikit untuk menyelesaikan proyek tersebut tanpa memikirkan spesifikasi, kecepatan eksekusi, mungkin ruby bisa menjadi solusi yang paling tepat dibanding bahasa C.

Pada Tutorial ini saya menggunakan bahasa C, karena dengan bahasa C, program yang Anda buat bisa juga digunakan pada PC lama, dan proses eksekusi nya pun cepat. Dengan bahasa C, anda bisa sekaligus memperdalam manajemen memory,resource/sumber daya yang ada, belajar menghemat RAM sampai akses hardware.

C adalah bahasa pemrograman yang paling banyak digunakan di seluruh dan merupakan standar industri untuk aplikasi pemrograman dari semua jenis. Selain itu, C adalah bahasa pemrograman yang sangat efisien yang dapat menghemat sumber daya yang lebih efektif daripada bahasa seperti Visual Basic, Delphi atau Ruby.

Saya lihat komunitas developer homebrew untuk game-game PS2 atau PSP, meskipun disediakan SDK yang support C++, tetapi mereka lebih sering menggunakan fungsi-fungsi bahasa C dalam pembuatan game untuk PSP, mereka menganggap menggunakan gaya bahasa C lebih simple dan elegan dibanding C++. Meskipun begitu ketika di dunia nyata, permasalahan akan semakin kompleks, C++ akan menjadi pilihan selanjutnya.

Seni Dalam Pemograman

Bagian penting dari pemrograman, tentu saja, membuat sebuah program yang melakukan apa yang seharusnya dilakukan. Dengan kata lain, seharusnya bebas bug. Namun, fokus pada kenyataan jika kita terlalu berusaha untuk bebas dari bug, ternyata kita akan banyak kehilangan bagian lain dari pemrograman itu sendiri.Pemrograman bukan hanya tentang produk akhir, melainkan tentang proses yang Anda buat disana. (Lagi pula, proses jelek akan menghasilkan kode buggy Ini yang akan terjadi setiap waktu..)
Program tidak hanya dibangun dalam satu jalur, seperti jembatan. tapi berbicara sekitar, sketsa, prototyped, bermain dengan, refactored, tuned, diuji, tweak, dihapus, ditulis ulang ....
Suatu program tidak dibangun, melainkan tumbuh.
Karena program selalu berkembang dan selalu berubah, maka harus ditulis dengan perubahan dalam pikiran. Saya tahu gambaran tersebut tidak benar-benar jelas dan masih belum berarti untuk hal praktis, tapi saya akan berusaha membuat tutorial ini dan menjelaskan agar mudah untuk dipahami.

Mungkin aturan, pertama yang paling dasar pemrograman yang baik adalah untuk menghindari duplikasi kode sebisa mungkin. Oleh para programmer sering disebut aturan DRY: Don't Repeat YourSelf.
Tapi saya berpikir dengan cara lain: seorang programmer yang baik yaitu memupuk kebiasaan malas. (Tapi bukan sembarang malas: Anda harus agresif, malas yang proaktif) Menyelamatkan diri bekerja bila memungkinkan. Jika membuat beberapa perubahan sekarang berarti Anda akan dapat menyelamatkan diri lebih banyak pekerjaan nanti, lakukanlah! Mencocoba menempatkan dimana Anda dapat melakukan pekerjaan yang minim untuk mendapatkan hasil yang maksimal. Cara seperti ini jauh lebih menarik (karena melakukan sesuatu yang berulang-ulang akan terasa membosankan ...), dengan membuat kode yang sedikit, dan menghasilkan program yang cepat. Ini adalah situasi win-win-win.

Silahkan anda pilih (DRY atau kemalasan), idenya adalah sama: membuat program Anda fleksibel. Ketika perubahan datang (dan itu selalu terjadi), Anda akan memiliki waktu dan perubahan yang jauh lebih mudah dikelola.

Anyway, sudah cukup omong kosong ini, mari kita mulai petualangan pemrograman!

2 comments:

  1. Mantaf penjelasannya meskipon ane bacanya agak lama sambil makan goreng hehehehe.......cukup sebagai motivasi :)

    ReplyDelete