Langsung ke konten utama

printf("Hubunganku bersama C\n");

Perlu diakui bahwa hubungan antara diriku dengan sesuatu bernama "C" itu sangat tidak cocok. Bagaimana tidak, ada-ada saja tingkah lakunya yang membuat diriku ini pusing tujuh keliling melihatnya.

Okey, berhenti bersandiwaranya.
Cerita dimulai dari awal kuliah, dimana saya mendapat sebuah mata kuliah yang berjudul "Algoritma dan Struktur Data". Nama ini sering disingkat Alstrukdat atau oleh teman-teman saya (yang sudah muak dengannya) di-"plesetin" menjadi All Stroke Dead. Kuliah ini mengharuskan saya untuk "berkenalan" dengan sesosok makhluk bernama C.
Bukan, itu bukan makhluk. C adalah suatu bahasa pemograman yang (katanya) sangat terkenal di muka bumi ini atas jasanya melahirkan berbagai bahasa pemograman-pemograman lainnya yang sangat terpakai sampai sekarang ini. Karena (katanya) C ini adalah bahasa pemograman yg cukup "mendasar", maka sudah patut layak dan sepantasnya C dipelajari di mata kuliah ini. >hoeek<


Saking dasarnya bahasa C ini sampai-sampai bahasa ini sulit dimengerti apa maunya. Tau-tau keluar saja istilah Pointer yang sangat menjadi momok dari seluruh hubungan saya dengannya.
Spoiler Alert : Pointer adalah fitur paling keren (hoax) dari C. Intinya ia adalah suatu penunjuk abstrak yang menunjuk ke suatu alamat memori (inilah yang membedakannya dengan variabel biasa).
contoh :  int v; {berarti v adalah variabel bertipe integer}
int *v; {berarti v adalah pointer/penunjuk yang menunjuk ke suatu alamat bertipe integer}

Back to topic,
jadi, pointer ini sering menjadi masalah hidup saya selama beberapa bulan ini. Mengapa tidak, seringkali kelakuannya yang "labil" {gw bingung kenapa kata "labil" sangat booming di kampus} itu memusingkan saya yang sudah kusut saat memogram (baca: ngoding).
Kelakuan no 1:
Saat praktikum, saya dibuat pusing dengan kata2 "segmentation fault" yang sering sekali muncul akibat penggunaan pointer untuk linked list. Ternyata, pointer itu, yang katanya menggunakan memori secara dinamis, mesti dialokasi memorinya (dengan malloc), daaann... ternyata untuk me-malloc itu menggunakan sintaks yang aneh, ribet, dan rentan salah... Alhasil, praktikum ga selese-selese... *yg penting bisa di-compile dulu.

Kelakuan no 2:
Nah ini juga pas lagi praktikum. Ceritanya saya sudah dibuat sangat pusing dengan kata "segmentation fault" ini, padahal kodenya sudah di-cek berkali-kali rasanya tidak ada salah, dan pointer2 juga sudah di-malloc. Dalam desperate feeling akhirnya praktikum dikumpulkan apa adanya.
Merasa diperdaya, saya langsung menyerbu teman saya M. Ridhwan Ramdhani, si superman yang dewa ngoding, dan memintanya untuk melihat hasil kodingan praktikum saya tadi (dia memang selalu bawa laptop dengan compiler2 yang beranekaragam di dalamnya). Apa yang terjadi? Ternyata dengan menggunakan compiler yang berbeda kode gw bisa jalan!!!
Aaargh, makin terpedaya.

Kelakuan no 3:
Ini saat mengerjakan "tugas besar", saya mendapati masalah dengan hasil keluaran angka yang sangat2 unexpected. Saya juga bingung kenapa tiba2 keluar angka yang bejibun itu padahal ga pernah masukin angka tersebut. Kodenya juga labil lagi; hasil print suatu variabel, dengan hasil print variabel itu setelahnya, bisa berbeda padahal tidak ada instruksi untuk mengubah nilai variabel itu. Kusut dah!
Setelah bergadang mencari kesalahan, dan mengganggu teman saya yang itu lagi, saya pun memutuskan menyerah untuk malam itu dan tepar. Bangun pagi langsung lihat lagi, dan secara tak sengaja menaruh sepenggal kode ini pada bagian awal2 kode:
printf("Hallo!\n"); {intinya sih cuma untuk menulis kata Hallo saja}
daaan.... secara ajaib dan menyebalkan kodenya ga error lagi... WTF!
bahkan teman saya saja (freak yang lain), ketika saya memperlihatkan keanehan ini, geleng2 kepala. Akhirnya ditemukan penjelasan kalau memori yang ditunjuk tidak pas (baca:labil) dan rentan bergeser, dan teman saya itu memperbaiki sedikit kode saya (yap, tepat di bagian malloc sucks nya) hingga akhirnya bener sebener-benernya. Fiuh!

Intinya,
C sucks!

glosarium:
compiler : alat untuk ngompile, gimana yah? pokonya kalau mau ngejalanin kodenya mesti dicompile dulu.
linked-list : list berkait. cari aja di mbah google (ada search barnya kok di blog ini. Ayo dipakai2 :p)

Komentar

  1. Aku masih masalah juga dengan bahasa C =)).

    Apalagi yang pointer itu, masih bingung cara pakainya apalagi yang C++ =)).

    Kalau praktikum bahasa C, aku asal aja, trs dijadiin komen semuanya, trs lulus compile XD. Yg penting lulus compile XD.

    BalasHapus
  2. iya, kadang2 aku ngerasa penilaiannya agak2 aneh deh, ga bisa compile dapet 0, bisa compile setidaknya dapet nilai... lebih baik kosong daripada berisi karena kalau kosong pasti bisa dicompile... hahahaha

    BalasHapus

Posting Komentar

Please comment below:

Postingan populer dari blog ini

Klasifikasi Mall

Orang Indonesia khususnya orang Jakarta pasti sudah tidak asing dengan mall . Jenis pusat perbelanjaan ini sudah menjadi bagian yang tak terpisahkan dari kehidupan masyarakat Jakarta saat ini. Dari tujuan awalnya   yaitu sebagai tempat untuk melakukan transaksi/perdagangan, mall  saat ini telah berkembang sebagai tempat yang tidak hanya memfasilitasi kegiatan perdagangan, tetapi juga sebagai tempat nongkrong , ruang publik  untuk menyuarakan aspirasi, hingga sebagai gaya hidup masyarakat. Terinspirasi dari sebuah pembicaraan, saya ingin membuat klasifikasi mall-mall yang ada di Indonesia. Ternyata tidak semua mall di Indonesia itu sama loh! Mall  di Indonesia ada bermacam-macam jenisnya bergantung pada strategi pendiri mall tersebut, yang disesuaikan pula dengan tujuan dibangunnya mall, demografi dari konsumen , dan hal-hal penting lainnya. Berikut klasifikasi-klasifikasi mall  berdasarkan hasil pemikiran pribadi (sengaja contoh tidak diberikan untuk menghinda...

Perbandingan sistem SKS di Indonesia (ITB) dan ECTS di Belanda (TU Delft), dan alasan mengapa banyak yang merasa kuliah di Belanda lebih berat daripada di Indonesia.

"Lebih berat kuliah di Indonesia atau kuliah di Belanda?" Banyak pertanyaan semacam itu dikemukakan oleh orang-orang yang penasaran bagaimana rasanya menempuh studi Magister di negeri kincir angin ini. Bagi sebagian besar orang yang sedang sama-sama menempuh kuliah di sini (secara spesifik di TU Delft) dan sebelumnya menempuh pendidikan S1 di Indonesia, beban kuliah di sini rasanya lebih banyak daripada beban kuliah di Indonesia. Saya pun kurang lebih merasakan hal tersebut. Namun, opini-opini tersebut masih berupa sekumpulan argumen yang bersifat kualitatif. Apakah ada penjelasan kuantitatif yang mendukung pendapat beban studi di Belanda lebih besar daripada beban studi di Indonesia? Saya akan mencoba membahasnya di sini. Perguruan tinggi di Indonesia mengenal sistem Satuan Kredit Semester (SKS) untuk mengukur beban studi mahasiswa dalam menempuh kuliah. Saya kurang tahu apakah sistem SKS berlaku sama atau berbeda-beda antar perguruan tinggi di Indonesia. Oleh karen...

Berapa kapasitas PIN BlackBerry Messenger (BBM)?

Hai folks! Setelah mengumpulkan niat akhirnya saya balik menulis blog ini lagi. Kali ini dengan topik yang sedang muncul di kepala dan mungkin agak "tidak penting": Berapa kapasitas PIN BBM? Orang Indonesia sekarang pasti sudah sangat familiar dengan yang namanya BBM. Messenger yang selalu terinstall di dalam perangkat mobile Blackberry (BB) tersebut sudah sangat menyentuh kehidupan orang Indonesia khusunya kawula muda dan para profesional. Setiap saat kerjaannya bertukar pesan BBM terus, atau minta PIN BBM orang supaya bisa connect dengan orang tersebut. Nah PIN ini yang akan kita bahas di post ini. FYI, PIN di BBM berlaku sebagai identitas BBM seseorang, bahkan boleh dibilang identitas BB itu sendiri karena 1 BB cuma bisa punya 1 PIN BBM saja. Pertama, kita akan melihat struktur dari PIN BBM. Misalnya kamu tanya kepada teman kamu yang punya BB, "Eh, PIN BBM-mu berapa?". Pasti (kalau dia mau kasih tahu) dia akan memberikan sebuah #kode angka dan huruf b...