Apa yang dimaksud dengan Source Code atau Kode Program ?

Kode program adalah suatu rangkaian pernyataan atau deklarasi yang ditulis dalam bahasa pemrograman komputer yang terbaca manusia. Kode program yang menyusun suatu program biasanya disimpan dalam satu atau lebih berkas teks, dan dapat pula ditampilkan dalam bentuk cuplikan kode (code snippet) yang dicetak pada buku atau media lainnya.

Apa yang dimaksud dengan Source Code atau Kode Program ?

Source code dituliskan dalam satu atau lebih bahasa pemrograman. Tujuan dari pemrograman adalah untuk menemukan urutan instruksi yang secara otomatis melakukan tugas tertentu atau memecahkan suatu masalah. Proses pemrograman yang demikian itu seringkali membutuhkan kemampuan tinggi di banyak subjek yang berbeda, termasuk pengetahuan akan domain dari aplikasi, algoritma khusus, dan logika formal.

Kegiatan-kegiatan yang terkait dengan pemrograman adalah pengujian, men-debug, dan mengurus source code, implementasi dalam pembangunan sistem, dan manajemen seperti mesin kode program komputer. Hal ini bisa dianggap sebagai bagian dari proses pemrograman, tetapi seringkali sebutan software development digunakan untuk proses yang lebih besar, sedangkan istilah programming, implementation, atau coding digunakan untuk penulisan source code yang sesungguhnya. Rekayasa perangkat lunak menggabungkan rekayasa teknik dengan pengembangan perangkat lunak.

Dalam rekayasa perangkat lunak, pemgrograman (implementasinya) dianggap sebagai satu fase dalam proses pengembangan perangkat lunak.

Banyak perdebatan yang membicarakan apakah penulisan suatu program merupakan salah satu bentuk seni, kerajinan, atau sebuah disiplin rekayasa. Secara umum apabila suatu program dinilai baik, mencakup ketiga aspek diatas dan memiliki tujuan memproduksi solusi perangkat lunak yang efisien dan bisa berevolusi. Disiplin ilmu ini berbeda dari kebanyakan ilmu-ilmu lain. Dimana seorang programmer tidak memerlukan surat izin atau lulus dalam ujian tertentu supaya bisa disebut seorang programmer atau bahkan software engineers.

Karena disiplin ilmu ini mencakup banyak hal, dimana critical applications bisa dan tidak tercakup didalamnya, masih diperdebatkan apakah diperlukan surat izin untuk memegang profesi sebagai programmer secara keseluruhan. Dalam beberapa kasus, surat izin disiplin ilmu ini diatur oleh badan yang membutuhkan skill pemrograman, dan terkadang lingkungan yang sangat ketat terbentuk. (misalnya United States Air Force yang menggunakan AdaCore dan akses keamanan). Namun, memproklamirkan diri sendiri sebagai software engineer yang profesional tanpa surat izin dari institusi yang sudah terakreditasi adalah tindakan ilegal di banyak Negara.

Perdebatan lain membahas apakah penggunaan bahasa pemrograman dalam penulisan program komputer berdampak pada bentuk akhir dari program tersebut. Diskusi ini sejalan dengan the Sapir-Whorf hypothesis dari segi linguistic dan ilmu kognitif yang mendalilkan bahwa dalam bahasa lisan tertentu mempengaruhi kebiasaan berpikir dari pembicaranya. Pola bahasa yang berbeda menghasilkan pola pikir yang berbeda. Ide ini menentang adanya kemungkinan mempersembahkan dunia secara sempurna dengan bahasa karena ide ini mengakui bahwa mekanisme dari bahasa juga mengatur pemikiran dari pembicara suatu komunitas.

PEMROGRAMAN MODERN

Persyaratan kualitas didalam membuat kode program adalah sebagai berikut :

  1. Keandalan
    Seberapa sering hasil dari sebuah program benar. Hal ini tergantung pada kebenaran konseptual algoritma, dan minimalisasi kesalahan pemrograman, seperti kesalahan dalam manajemen sumber daya (misalnya, buffer overflows dan ras kondisi) dan kesalahan logika.

  2. Kekokohan
    Seberapa baik program dapat mengantisipasi masalah yang disebabkan oleh error. Hal ini termasuk dalam situasi seperti incorrect, inappropriate atau data yang korup, tidak tersedianya sumber daya yang dibutuhkan seperti memori, sistem operasi dan jaringan, kesalahan pengguna, dan listrik padam tak terduga.

  3. Kegunaan
    Sisi ergonomi dari sebuah program : kemudahan ketika seseorang dapat menggunakan program tersebut untuk kebutuhan yang disengaja maupun dalam beberapa kasus kebutuhan yang tidak disengaja . Hal ini melibatkan tekstual, grafikal, dan terkadang perangkat keras yang meningkatkan kejelasan, intuitif, kekompakan dan kelengkapan antarmuka pengguna program ini

  4. Portabilitas
    Kisaran perangkat keras komputer dan platform sistem operasi yang source code programnya bisa di compile dan dirun. Hal ini tergantung dari perbedaan pada fasilitas pemrograman yang disediakan oleh platform yang berbeda, termasuk hardware dan sumber daya sistem operasi, perilaku yang diharapkan dari hardware dan sistem operasi, dan ketersediaan platform specific compilers untuk bahasa dan source code.

  5. Perawatan
    Kemudahan dimana sebuah program bisa di modifikasi oleh developer saat ini atau masa depan dengan tujuan untuk membuat pengembangan atau penyesuaian, memperbaiki bug dan celah keamanan, atau pengadaptasian terhadap lingkungan baru. Praktik yang baik selama pengembangan awal membuat perbedaan dalam hal ini. Hal ini mungkin tidak bisa secara langsung terlihat oleh user tapi bisa berdampak pada takdir dari sebuah program dalam jangka panjang secara signifikan.

  6. Efisiensi/kinerja
    Mengukur konsumsi sumber daya sistem yang dibutuhkan oleh program (waktu processor, memory space, perangkat lambat seperti disk, bandwidth jaringan, dan bahkan interaksi user): semakin sedikit semakin baik. Hal ini juga termasuk pengelolaan yang cermat dari sumber daya, misalnya membersihkan file-file sementara dan menghapus kebocoran memori.

Referensi

Wikipedia : Computer programming - Wikipedia

  1. Shaun Bebbington (2014). “What is coding”. Retrieved 2014-03-03.
  2. Shaun Bebbington (2014). “What is programming”. Retrieved 2014-03-03.
  3. Paul Graham (2003). “Hackers and Painters”. Retrieved 2006-08-22.
  4. Kenneth E. Iverson, the originator of the APL programming language, believed that the Sapir–Whorf hypothesis applied to computer languages (without actually mentioning the hypothesis by name). His Turing award lecture, “Notation as a tool of thought”, was devoted to this theme, arguing that more powerful notations aided thinking about computer algorithms. Iverson K.E.,“[dead link]”, Communications of the ACM, 23: 444-465 (August 1980)
  5. “Ancient Greek Computer’s Inner Workings Deciphered”. National Geographic News. November 29, 2006.