Karena Linked List…

Struktur Data keliatannya termasuk matkul yang agak serem di kampus gw. Struktur Data ini matkul untuk jurusan TI & SK semester 2, lanjutan dari Algoritma & Pemrograman yang didapet di semester 1, & konon susah banget.

Gw sendiri nggak terlalu banyak masalah dengan matkul StrukDat ini waktu semester 2 dulu, kecuali untuk materi pertemuan 2-3 minggu terakhir yang agak ribet. Untuk gw pas waktu itu, mata kuliah ini nggak berasa terlalu susah karena isinya cuma linked list. Kurang lebih pikiran gw waktu itu gini, “Selama gw bisa ngebayangin bentuk rantainya, gampang lah.”

Continue reading

C#, Interprocess Communication

Akhir-akhir ini gw lagi ngerjain skripsi, yang mana skripsi gw itu perlu nyambungin console application yang gw bikin pake bahasa pemrograman Python dengan user interface yang gw bikin pake C#. Salah satu cara yang bisa dipakai buat nyambungin program Python gw dengan user interfacenya yang dibikin pakai C# itu interprocess communication, yang bisa dilakuin pakai library standar dari C#.

Interprocess communication ini nggak sebatas bisa nyambungin program gw itu aja sih. Interprocess communication ini bisa dipakai buat ngambil output dari aplikasi-aplikasi console dalam bentuk string, lalu diproses di dalam program C# kita masing-masing. Untuk ngelakuinnya sendiri kita cuma perlu masukin beberapa baris kode ke program C# yang kita buat.

Ini potongan source code yang bisa dipakai untuk itu.

Continue reading

C, C++, C#, Java

Di awal-awal gw masuk kuliah, gw dapet mata kuliah yang ngajarin dasar-dasar pemrograman pake bahasa C. Terus gw ketemu sama sepupu gw yang ngambil jurusan Sistem Informasi di Binus, dia dapet mata kuliah yang sejenis. Bedanya, dia pake bahasa pemrograman Java. Nggak berapa lama habis itu, gw ketemu temen SMA gw yang masuk Teknik Informatika di kampus yang beda dengan gw, temen SMA gw ini juga diajarin pemrogramannya pake Java. Lalu ada temen lagi yang ngambil Teknik Informatika di ITB, yang ini beda lagi. Dia dapet Lisp dulu, baru ntar nyambung ke C. Sementara temen gw yang lain lagi yang ngambil Teknik Industri di ITB dapet Pascal & C, lalu baru-baru ini satu orang temen ngambil jurusan Computer Science di Amerika (gw gak tanya kampusnya) bilang dia dapet pelajaran dasar pemrogramannya pake bahasa C++.

Anggeplah temen gw yang di Amerika itu juga dapetnya C biasa, bukan C++. Soalnya bahasa C++ biasanya kalo dipake buat belajar dasar-dasar pemrograman sih fitur-fitur yang dipakenya cuma fitur-fitur yang ada di C, yang asli dari C++ masih kurang banyak dipake. Lisp & Pascal mungkin agak jarang gw denger sih. Strukturnya yang beda dari C juga bikin gw agak bingung ngebaca source codenya, terutama Lisp. Kalo Pascal sih gw lumayan bisa ngerti pas bacanya, cuma gw nggak bisa ngodingnya karena nggak pernah bikin program pake Pascal.

Continue reading

Recursive Function

Recursive function, biasa kalo di bahasa Indonesia disebutnya fungsi rekursif, itu function yang di dalamnya ada perintah buat manggil function itu sendiri. Gunanya yang paling utama sih buat ngulang proses yang ada di dalam function itu juga. Pertanyaannya, ngapain kita pake fungsi rekursif kalo kita bisa pake looping for, while, atau do while buat ngulang perintah? Karena dalam beberapa kasus, fungsi iteratif (yang pake looping for, while, & do while tadi) lebih ribet daripada fungsi rekursif atau malah nggak bisa ngeberesin masalahnya sama sekali.

Pernah denger tentang faktorial? Faktorial itu perhitungan di matematika, biasanya sih dipake di perhitungan untuk peluang. Notasi matematika & penyelesaiannya kayak begini.

3! = 3 * 2 * 1 = 6

Faktorial ini salah satu contoh soal yang paling umum yang dipake buat ngajarin fungsi rekursif di kelas-kelas pemrograman sih. Contoh lainnya biasanya pake deretan Fibonacci, tapi di sini biar gampang gw pake contoh faktorial aja.

Continue reading

Array di C

Hari ini gw ngebantuin temen gw yang jadi aslab (asisten lab) di kampus buat ngasisten. Praktek lab tadi ngebahas array, & kayaknya masih lumayan banyak yang nggak ngerti. Jadi ya, coba gw bahas di sini lah. Berhubung bahasa pemrograman yang dipake di prakteknya itu C, gw ngejelasin array di sini pake bahasa C.

int array[15];

Cara untuk deklarasi variabel array bisa diliat di atas. Di atas ini kita ngedeklarasiin array of integer yang panjangnya 15. Berarti array ini bisa dipake buat nampung 15 nilai integer, kurang lebih mirip dengan kalo kita deklarasiin 15 variabel yang tipe datanya integer lah.

Continue reading

Call by Value, Call by Reference, Call by Pointer

Gw beberapa waktu yang lalu dapet pertanyaan dari junior gw di kampus tentang bedanya call by value, call by reference, & call by pointer di bahasa pemrograman C/C++. Gw udah ngejelasin langsung ke orangnya sih, tapi berhubung mungkin masih ada orang lain di luar sana yang belum ngerti (gw berani taruhan pasti ada), gw jelasin lagi di sini dah.

Kita mulai dari call by value. Kita-kita yang mulai belajar bahasa C/C++ pasti mulai dari sini waktu kita belajar cara make function. Untuk call by value, parameter di function yang kita buat bakal punya nilai yang sama dengan variabel yang kita input ke dalam functionnya.

void callbyval (int param)
{
param = 15;
}

Continue reading

Tutorial: Program Penghitung Ongkos Parkir

Kemarin waktu gw ikut jadi tutor pemrograman buat junior-junior gw di kampus, temen gw ada ngasih mereka soal buat dikerjain. Soalnya sih sebenernya nggak susah, cuma untuk logikanya mungkin anak-anak yang ikut kelas tutor kemarin itu masih belum dapet. Normal sih, kemarin itu baru jalan minggu kedua buat semester ini soalnya. Berhubung mungkin ada orang lain yang perlu dibantu juga untuk masalah yang sama, gw bahas di sini dah.

Jadi kemarin itu anak-anak yang ikut tutor diminta untuk bikin program penghitung ongkos parkir pake bahasa C. Diasumsikan kendaraan yang diparkir di tempat parkirnya nggak boleh nginep. Programnya minta inputan ongkos parkir untuk jam pertama, ongkos untuk jam berikutnya, jam masuk kendaraan ke tempat parkir, & jam keluar kendaraan dari tempat parkir. Contoh tampilan programnya kira-kira begini (yang di-bold & digarisbawahi itu inputan dari user).

Ongkos Jam Pertama    : 2000
Ongkos Jam Kedua      : 1000

Jam Masuk Kendaraan   : 11:50
Jam Keluar Kendaraan  : 14:20

Total Ongkos Parkir   : 4000

Continue reading