Art and Tech

Budi Rahardjo’s Thoughts

Seni Dalam Pengembangan Software

Saya ingin mencoba mengajak para pembaca untuk melihat software sebuah karya seni. Atau kalau dilihat dari sisi lain, saya mencoba mengajak pengembang software (aplikasi) untuk tidak melupakan aspek seni dalam produk yang dia kembangkan.

Begini. Pengembangan software itu sama seperti menciptakan lukisan atau patung. Kita bergerak dari sesuatu yang tidak ada. Editor teks masih kosong. Kemudian kita ketikkan baris demi baris yang kemudian akhirnya menjadi sebuah program. Kita jalankan program tersebut dan program tersebut mengeluarkan teks atau gambar sebagai responnya. Luar biasa, bukan?

Perasaan luar biasa ini muncul ketika pertama kali saya membuat program (dengan membaca listing dari sebuah buku dan mengetikkannya kembali). Setelah saya ketikkan dan di-run, program menghasilkan keluaran sesuai dengan apa yang kita masukkan. Kita seperti membuat sebuah ciptaan yang merespon. Tidak sehebat “manusia” ciptaan kita ini, tapi tetap bisa merespon.

Setelah saya pikir, perasaan ini mungkin sama seperti perasaan seorang pelukis ketika dia selesai membuat sebuah lukisan. Kalau dipikirkan lebih jauh lagi, dari tidak ada menjadi ada. Wah ini kan sesuatu yang dimiliki oleh Tuhan. Ha? Mungkin itulah sebabnya orang ingin mencipta? Ingin mendapatkan sedikit kemampuan yang dimiliki Tuhannya? Entahlah.

Kembali ke masalah seni. Software bisa dibuat dengan mengabaikan aspek seni. Yang penting dia berfungsi (jalan) seperti yang diinginkan. Betul, memang bisa demikian, tapi mengapa Anda tidak ingin mengembangkan sesuatu yang bisa jalan tapi juga enak dipandang, mudah digunakan?

Ketika saya berbicara mengenai seni dalam pengembangan software, saya tidak hanya berbicara mengenai tampilannya saja. Justru saya ingin mengajak pengembang software untuk melihat di bawahnya, yaitu di bagian source code-nya. Bandingkan dua kode di bawah ini. Keduanya memiliki fungsi dan output yang sama. Mana yang lebih Anda sukai?


/* Contoh pertama */
#include <iostream>
using namespace std;
  int main() { int x, y, z;
cout << "Masukkan bilangan integer x: "; cin >> x;
    cout << "Masukkan bilangan integer y: "; cin  >> y;
z = x * y; cout << "Hasil perkalian keduanya   : " << z << "\n"; }


/* Contoh Kedua */
#include <iostream>
using namespace std;

int main()
{
        int x, y, z;
        cout << "Masukkan bilangan integer x: ";
        cin >> x;
        cout << "Masukkan bilangan integer y: ";
        cin >> y;
        z = x * y;
        cout << "Hasil perkalian keduanya   : " << z << "\n";
}

Saya pribadi lebih suka contoh kedua karena contoh yang pertama acak adut, alias tidak karuan. Ini baru contoh untuk masalah rapinya source code. Di tulisan lain akan saya tunjukkan puisi di dalam source code. Pokoknya menarik. Itulah sebabnya mari kita lihat source code di software open source.

Ada 14 komentar untuk artikel ini. Ikuti diskusi

  1. aRdho

    mmm.. bukannya ngebuat code yg rapih itu udah ditekankan banget sama dosen sejak awal belajar coding? :D

    bahkan pernah ada yg failed tugasnya gara2 indentation yg gag beres.. :-S

    pengalamanpribadi

    June 18th, 2007 at 6:29 am

  2. kurnia_1

    betul pak.. code is poetry.. membuat software memang butuh seni, dengan seni bisa membuat source code mudah dipahami oleh orang lain. Apalagi kalau sudah masuk ke user interface.. tentu butuh lebih seni untuk sebuah tampilan.

    June 18th, 2007 at 8:04 am

  3. Budi Rahardjo

    @ardho, rapi saja belum cukup. Nanti (dalam tulisan-tulisan selanjutnya) akan saya tampilkan puisi dalam source code. Sabar ya.

    June 18th, 2007 at 8:20 am

  4. Wibisono Sastrodiwiryo

    Seni adalah sesuatu berkaitan erat dengan perasaan akan keindahan. Mengembangkan software dengan seni bermakna kesempurnaan yang meliputi sourcecode, algoritma, design dan manfaat.

    Bayangkan jika kita melihat code kita yang rapih, efisien dan bersungis sesuai keinginan maka perasaan jadi senang seperti melihat sebuah lukisan yang indah.

    Takjub adalah reaksi wajar jika kita melihat keindahan yang amat sangat. Saya pernah takjub melihat lukisan Raden Saleh sama seperti saya takjub melihat paket data yang bisa sampai pada tujuan nun jauh diseberang dengan utuh atau takjub melihat saldo rekening bank saya bertambah melalui internet banking.

    Ditunggu puisinya Pak Budi…

    June 18th, 2007 at 8:36 pm

  5. Petra Novandi

    Jadi nostalgia pas baru masuk tingkat I ^_^
    Bener-bener, deh.
    Tapi selanjutnya emang banyak banget keindahan-keindahan yang muncul dalam pengerjaan source code suatu program.
    Bagaikan Symphony ke 9 Beethoven :D, kalau kata bu Inggriani Liem saat membahas berbagai teknik beliau.

    June 19th, 2007 at 8:09 am

  6. network_pirates

    lha ini, memang materi yang bagus, sampe2 ada penekanan masalah format penulisan untuk bisa nyumbang source code di kernel. Bisa dilihat direktori document di kernel-src.

    June 21st, 2007 at 2:59 pm

  7. abud

    entah darimana asalnya, tapi saya suka istilah “Programmer adalah seniman otak kiri”

    June 23rd, 2007 at 12:01 am

  8. anak bangsa

    Sebenarnya, kalau dipikir-pikir, tidak terlalu menjadi masalah. Kan toh sudah ada yang namanya “code beautifier” ? Seperti dalam buku “The Art of UNIX Programming”, kalau bisa, buatlah program yang dapat menulis program. Otomasi, konsistensi sama format/style penulisan & dijamin meminimalisasi kesalahan (bukan fool-proof). Semuanya jadi senang :-)

    Tapi memang alangkah lebih bagusnya kalau coding yang rapi dijadikan kebiasaan sama programmer yang merasa coding-nya kurang rapi.

    June 23rd, 2007 at 11:40 pm

  9. Petra Novandi

    @anakbangsa :
    setuju, beberapa editor dan IDE sudah menerapkan code beautifier kayak perbaikan indentasi macam di Visual Studio 2005
    seni-seni pemrograman itu biasanya yang paling indah itu saat membuat solusi dan algoritma yang elegan
    mari kita tunggu post nya pak Budi selanjutnya ^_^

    June 29th, 2007 at 11:58 pm

  10. Budi Rahardjo

    Sebenarnya yang ingin saya sasar sebetulnya bukan code beautifier, bahkan sebaliknya … obfuscation. ha ha ha. Nanti akan saya tunjukkan puisi betulan dalam source code. Sabar ya.

    June 30th, 2007 at 8:38 am

  11. sennopati allen

    disain aplikasi gampang2 susah.. saya lebih fokus kpd fungsi dan kemudahaan end user dengan alur yang tidak bertele2(interaksi logis dan mudah). Kalau mau buat satu interface ibaratnya spt mau buat suatu naskah hehe.. mikir dulu.. kalo udah “Click..” jalan berikutnya lancar…. Untuk struktur script udah pasti harus rapih :)

    July 2nd, 2007 at 1:22 pm

  12. hendra-k

    saya jg pertama2nya doank coding nya rapi, tapi kalo udah mulai development selanjutnya, bikin nya udah mulai acak2an, abis minta buru2 sehh clientnya, jd gak sempet bikin yang rapi

    September 12th, 2007 at 1:17 am

  13. Budi Rahardjo

    Wah hendra-k, jangan gitu dong. Biarpun buru-buru, ya dirapikan lagi. Kan sekarang sudah banyak tools yang bisa merapikannya. Source code beautifier.

    Nanti kalau tetap acak-acakan akan susah dikelola. Dua atau tiga tahun lagi sudah lupa itu baris untuk apa.

    September 14th, 2007 at 10:54 am

  14. shazwani

    salam…sy perlukan bantuan tk menyiapkan tugasan seni visual bertajuk ‘kepentingan seni dalam era teknologi’. sesiapa yg mempunyai maklumat tentang tajuk ini…sila sent ke alamat sy, azs_66@yahoo.com
    terima kasih

    February 1st, 2008 at 10:23 am

Ikuti diskusi, tuliskan komentar Anda.

Anda setuju dengan kebijakan privasi Asia Blogging Network.

Art and Tech is part of Asia Blogging Network