Pemrograman dasar merupakan pembelajaran yang biasa diberikan dalam program studi informatika ketika peserta didik mulai diperkenalkan pada dunia pemrograman. Biasanya, modul yang diberikan berupa pengetahuan dan praktik mengenai dasar-dasar suatu bahasa pemrograman (misalnya bahasa PHP). Namun demikian, sejatinya pemrograman dasar seharusnya memberikan berbagai pengetahuan serta berbagai konsep dasar yang menyelubungi teknis pemrograman.

Pemrograman dasar adalah pembelajaran yang memberikan dasar-dasar logika yang bersifat universal dan mengedepankan pembentukan pola pikir seseorang mengenai membuat suatu program yang efektif dan efisien. Sehingga dasar-dasar universal ini dapat diterapkan pada bahasa pemrograman apa pun, kapan pun, di mana pun.

Hal tersebut mengingat bahwa penggunaan bahasa pemrograman akan sangat variatif berdasarkan kebutuhan sistem yang diperlukan. Industri pengembangan perangkat lunak juga terus berubah dan memiliki kebutuhan bahasa pemrograman yang berbeda-beda. Bisa jadi kebutuhan bahasa juga tiba-tiba berubah karena kehadiran proyek baru yang membutuhkan teknologi berbeda.

Pada akhirnya, mempelajari beragam bahasa pemrograman yang berbeda merupakan jalan yang akan ditempuh di sepanjang karier seorang programmer. Oleh karena itu, apa yang sebenarnya harus kita lakukan adalah mempelajari konsep-konsep dasar dari pemrograman itu sendiri.

Berbagai konsep-konsep pemrograman dasar tersebut meliputi pengetahuan jenis bahasa pemrograman, langkah efisien membuat program, struktur bahasa pemrograman, logika pemrograman, dan berbagai pengetahuan pemrograman universal lainnya yang akan dipaparkan pada artikel langkah awal memasuki dunia pemrograman ini.

Konsep Dasar Pemrograman

Pemrograman adalah aktivitas memberikan perintah terhadap komputer untuk melakukan tugas-tugas tertentu menggunakan bahasa pemrograman. Bahasa pemrograman sendiri merupakan instruksi-instruksi yang dimengerti oleh komputer untuk melakukan tugas tertentu. Kumpulan tugas-tugas yang dapat dilakukan oleh komputer tersebut kemudian akan menjadi program atau perangkat lunak.

Perangkat lunak adalah tuntunan instruksi yang ditulis dalam bentuk kode-kode menggunakan bahasa pemrograman tertentu dan telah dikompilasi dengan menggunakan compiler yang sesuai (Raharjo dalam Yulia, 2015, hlm. 28). Sebagai catatan, sebetulnya tidak semua program harus dikompilasi.

Instruksi-instruksi yang dapat diterima oleh komputer dapat memiliki perbedaan sintaks (aturan menyusun kode) dari bahasa satu ke bahasa lain. Namun demikian logika dan algoritma yang digunakan tetap sama. Oleh karena itu, penting bagi kita untuk menguasai logika, algoritma, dan struktur bahasa dari pemrograman agar apa pun bahasa pemrogramannya, kita dapat tetap memerintah komputer untuk melaksanakan tugas-tugas tertentu yang merupakan esensi dari pekerjaan seorang programmer.

Jenis Bahasa Pemrograman

Terdapat banyak sekali bahasa pemrograman yang kini beredar luas dan digunakan oleh industri pengembangan perangkat lunak. Beberapa di antaranya yang paling terkenal adalah Java, Python, C/C++, Visual Basic, PHP, dsb.

Meskipun ada ratusan jenis, secara umum bahasa pemrograman yang dapat dimengerti oleh manusia dapat dikelompokkan menjadi dua, yaitu:

  1. bahasa pemrograman  tingkat  rendah  (low  level  programming  language),  dan
  2. bahasa pemrograman tingkat  tinggi  (high  level  programming  language).

Terdapat juga bahasa mesin (machines language) yang hanya dapat dimengerti oleh mesin komputer namun tidak relevan dalam pemrograman karena bahasa ini tidak dapat dipahami oleh manusia. Pengelompokan  bahasa pemrograman ini didasarkan pada tingkat kemiripan perintah/sintaks dengan bahasa manusia.

Bahasa Pemrograman Tingkat Rendah

Bahasa pemrograman tingkat rendah adalah bahasa pemrograman yang sintaksnya susah dipahami manusia secara umum. Dalam hal ini, struktur sintaksnya hanya dapat dipahami oleh orang-orang tertentu saja. Jenis  bahasa  pemrograman  yang  termasuk  ke  dalam  kelompok  ini  adalah  bahasa  pemrograman bahasa mesin dan Assembly.

Bahasa Pemrograman Tingkat Tinggi

Adapun bahasa pemrograman tingkat tinggi, struktur perintah/sintaks sangat  mirip  dengan  kalimat  yang  digunakan  manusia  sehari-hari,  sehingga  mudah  dibaca  dan dipelajari oleh manusia secara umum. Contoh jenis bahasa pemrograman yang termasuk di kelompok ini adalah Java, Pascal, Python, C/C++ dll.

Bahasa pemrograman inilah yang kebanyakan akan dipelajari oleh seorang programmer di industri pengembangan perangkat lunak. Saat ini beberapa bahasa yang paling banyak digunakan adalah bahasa-bahasa pemrograman yang dapat digunakan untuk membangun aplikasi berbasis website dan Mobile dalam sistem operasi Android atau iOs.

Beberapa bahasa pemrograman yang tengah banyak digunakan meliputi Java dan PHP. Namun kedua bahasa itu biasanya tidak digunakan secara langsung, melainkan menggunakan kerangka kerja atau framework yang dapat memudahkan proses coding.

Di lingkungan industri, hampir seluruh perusahaan pengembang perangkat lunak kini menggunakan framework untuk menyelesaikan proyeknya. Framework yang banyak digunakan untuk membangun perangkat lunak berbasis website adalah Laravel dan Codeigniter. Sementara itu framework Mobile yang sedang banyak digunakan meliputi React Native dan Flutter.

Logika Bahasa Pemrograman

Telah dijelaskan sebelumnya bahwa kode program yang dituliskan oleh seorang programmer berisi kumpulan instruksi yang tersusun secara teratur. Instruksi tersebut merupakan urutan langkah-langkah yang digunakan mulai dari membaca input, mengolah input, hingga menghasilkan output yang diharapkan.

Kumpulan instruksi yang tersusun tersebut haruslah benar secara logika, sehingga dalam hal ini programmer tidak bisa sembarangan ketika menyusunnya. Apabila instruksi tersusun tidak benar secara logika maka akan menghasilkan output yang salah, inilah yang disebut dengan algorithmic error atau kesalahan algoritma.

Dalam menyusun instruksi-instruksi tersebut ke dalam bahasa pemrograman, secara umum menggunakan pola berpikir yang sama dengan pola berpikir manusia secara umum ketika menyelesaikan suatu permasalahan. Dengan kata lain, pola berpikir yang digunakan dalam bahasa pemrograman mengadopsi pola berpikir manusia. Secara umum terdapat tiga jenis alur proses instruksi dalam pemrograman yaitu:

  1. sekuensial,
  2. percabangan/bersyarat (conditional), dan
  3. perulangan (loop).

Sekuensial

Instruksi dalam bahasa pemrograman secara umum tersusun secara sekuensial atau berurutan. Sebuah instruksi akan dijalankan apabila instruksi sebelumnya telah dilakukan. Jika dalam kehidupan nyata, hampir semua langkah penyelesaian suatu masalah tersusun secara sekuensial, misalnya adalah bagaimana cara memasak mie instan. Langkah-langkah instruksi yang bisa dilakukan untuk permasalahan ini adalah sebagai berikut:

  1. Siapkan panci
  2. Siapkan air sebanyak 2 gelas dan masukkan ke dalam panci
  3. Rebus air dalam panci hingga mendidih
  4. Masukkan mie bungkus ke dalam panci
  5. Aduk-aduk selama 2-3 menit
  6. Masukkan bumbu mie dan aduk-aduk mie sampai kira-kira 1 menit
  7. Mie siap dihidangkan

Terdapat tujuh langkah untuk memasak mie bungkus sampai dengan diperoleh mie siap dihidangkan. Dalam hal ini setiap langkah (instruksi) tersusun secara sekuensial atau berurutan. Bisa jadi hasil akhir mie yang siap dihidangkan tidak bisa diperoleh apabila terdapat instruksi yang tertukar posisinya atau ada langkah yang hilang.

Di dalam bahasa pemrograman, konsep sekuensial juga berlaku. Setiap instruksi tersusun secara berurutan dari atas sampai bawah (top-down). Instruksi yang letaknya di atas akan dijalankan terlebih dahulu dibandingkan yang berada di bawahnya.

Dalam bahasa pemrograman PHP,  perintah atau kode yang digunakan untuk menjalankan urutan perintah sekuensial seperti contoh di atas adalah sebagai berikut.

/* baris ini menerima input dari pengguna */
$nama = $_POST["nama"];
/* tugas pertama yg akan dilakukan oleh komputer */
print(“Halo”.$nama.“apa kabar?”);

Kode di atas akan menghasilkan ouput berupa tampilan kata sapaan kepada nama orang yang dimasukan oleh pengguna ($nama) seperti di bawah ini.

Halo Gamal apa kabar?

Dengan asumsi pengguna mengetikan “Gamal” pada form input aplikasi. Pada contoh kode perintah PHP di atas, terdapat kode:

$nama = $_POST["nama"];

Kode di atas adalah deklarasi variabel. Seperti dalam matematika, variabel adalah nilai yang dapat berubah dalam suatu cakupan soal atau himpunan operasi yang diberikan. Hanya saja dalam pemrograman variabel ini variabel dapat memiliki nilai string (teks biasa) atau int (nilai berupa angka).

Selain itu, dalam pemrograman, variabel ini dapat menampung himpunan (lebih dari satu nilai) yang disebut dengan array, atau bermacam input seperti text box, select box, hingga input hardware barcode scanner, kamera, dsb. Dalam contoh di atas, variabel $nama diberi value text input yang dapat diisi oleh pengguna.

Percabangan/Bersyarat (Conditional)

Sebuah instruksi bisa juga tidak akan dijalankan apabila suatu syarat tidak terpenuhi. Demikian pula sebaliknya, sebuah instruksi akan dijalankan ketika suatu syarat terpenuhi. Contoh dalam kehidupan sehari-hari misalnya masih terkait pada masalah merebus mie kuah.

  1. Siapkan panci
  2. Siapkan air sebanyak 2 gelas dan masukkan ke dalam panci
  3. Rebus air dalam panci
  4. Jika air sudah mendidih, maka masukkan mie bungkus ke dalam panci Jika belum, maka tunggu sampai mendidih
  5. Aduk-aduk selama 2-3 menit
  6. Masukkan bumbu mie dan aduk-aduk mie sampai kira-kira 1 menit
  7. Mie siap dihidangkan

Perhatikan pada langkah nomor 4 di atas. Langkah nomor 4 tersebut terdapat sebuah instruksi yang akan dijalankan yaitu ‘memasukkan mie ke dalam panci’ apabila suatu syarat terpenuhi yaitu ‘jika air sudah mendidih’. Artinya bahwa instruksi ‘memasukkan mie ke dalam panci’ tidak akan dilakukan apabila air belum mendidih, dalam hal ini instruksi yang akan dijalankan adalah ‘tunggu sampai mendidih’.

Dalam bahasa pemrograman PHP,  perintah atau kode yang digunakan untuk menjalankan perintah percabangan atau conditional di atas adalah sebagai berikut.

/* deklarasi untuk menerima input suhu dari pengguna */
$suhu = $_POST["suhu"]; 
/* mengecek apakah suhu sudah masuk ada pada titik didih */
$suhuAir = cekSuhu($suhu); 

If($suhuAir == “mendidih”) { /* jika suhu air mendidih */
   masukkanMie();
}else { /* jika belum */
   janganMasukkanMie();
}

Pada contoh di atas kita dapat melihat bahwa terdapat kode “masukkanMie();” dan “janganMasukkanMie();”. Kode semacam itu disebut dengan fungsi atau method. Fungsi atau method adalah sekumpulan perintah yang didefinisikan untuk menyelesaikan suatu tugas tertentu, sehingga kita dapat memanggil atau menggunakannya kembali di baris mana pun, tanpa harus mendefinisikan/mengetiknya kembali.

Perulangan (Loop)

Dalam keseharian sering dijumpai suatu proses yang dilakukan secara berulang-ulang. Sebagai contoh dalam proses membuat kopi manis berikut ini:

  1. Siapkan cangkir atau gelas
  2. Masukkan 1-2 sendok teh bubuk kopi
  3. Tuangkan air panas ke dalam cangkir atau gelas
  4. Masukkan gula ke dalam cangkir atau gelas
  5. Aduk-aduk
  6. Cicipi kopinya
  7. Jika masih belum manis, maka ulangi langkah 4 sampai dengan 6 Jika sudah manis, maka lanjutkan langkah 8
  8. Kopi manis siap dinikmati

Apabila diperhatikan, maka pada proses membuat kopi tersebut terdapat beberapa instruksi yang diulang-ulang yaitu langkah nomor 4 hingga 7. Instruksi tersebut diulang sampai dengan terpenuhi syarat tertentu, dalam hal ini syaratnya yaitu sampai dengan kopi sudah terasa manis. Melalui syarat itulah proses perulangannya berhenti.

Dalam bahasa pemrograman PHP,  perintah atau kode yang digunakan untuk menjalankan perintah pengulangan (loop) di atas adalah sebagai berikut.

$cekTingkatKemanisan = cekKadarGula();
while($cekTingkatKemanisan != “manis”) { /* selama tidak manis, ulangi: */
   tambahkanGula();
}

Tanda seru (!) di atas menyatakan “tidak” sehingga simbol “!=” di atas berarti “tidak sama dengan”. Tentunya, terdapat bermacam operator matematika yang dapat dimengerti oleh bahasa pemrograman, meliputi pertambahan (+), pengurangan (-), perkalian (*), pembagian (/), dsb. Kita juga dapat menggunakan sama dengan (=), tidak sama dengan (!=), lebih besar dari  (>), lebih kecil dari (<), atau menggabungkannya.

Jenis Perulangan

Di dalam konsep pemrograman, terdapat beberapa jenis perulangan. Sebelum membahas lebih lanjut tentang hal ini, perhatikan tiga contoh bentuk perulangan dalam kalimat sehari-hari berikut ini:

  1. Saya menuangkan segelas air ke dalam ember sebanyak 10 kali
  2. Selama ember belum penuh, saya akan tetap menuangkan segelas air ke dalamnya
  3. Saya terus menuangkan segelas air ke dalam ember hingga embernya penuh

Ketiga bentuk perulangan di atas ke semuanya mengandung makna perulangan, dengan kata lain ada proses yang diulang-ulang di dalamnya yaitu menuangkan segelas air ke dalam ember.

Contoh(1) bermakna bahwa proses penuangan segelas air ke dalam ember dilakukan sebanyak 10 kali. Kalimat ini dengan jelas menyatakan banyaknya perulangan yang dilakukan adalah 10 kali.

Sementara itu, pada perintah perulangan (2) dan (3), banyaknya perulangan yang dilakukan tidak diketahui. Dalam hal ini yang diketahui hanyalah syarat kapan perulangan tersebut berhenti dilakukan. Meskipun kedua kalimat ini mirip, namun ada perbedaan pada letak syaratnya.

Pada contoh (2) letak syarat berada di awal kalimat yaitu selama ember belum penuh. Jika syarat ini masih terpenuhi (bernilai TRUE) maka proses penuangan segelas air ini akan tetap terus dilakukan. Selanjutnya jika syarat sudah tidak terpenuhi (bernilai FALSE), maka perulangannya berhenti. Oleh karena itu makna syarat dalam perulangan bentuk ini adalah syarat untuk tetap dilakukannya perulangan.

Sedangkan pada contoh (3), letak syarat ada di akhir kalimat. Syarat yang ada di sini menunjukkan kapan perulangan berhenti, sehingga apabila syarat ini belum memenuhi (bernilai FALSE) maka perulangan akan dilakukan. Namun, jika syarat berhenti ini sudah memenuhi (bernilai TRUE) maka perulangan akan berhenti.

Langkah-langkah Membuat Program

Dalam membuat program, diperlukan langkah-langkah yang harus dilalui. Namun, urutan langkah-langkah ini tidaklah mutlak, artinya tidak harus dilakukan dari langkah pertama, kedua dan seterusnya secara  urut.  Bisa  jadi  seorang  programmer  terkadang  harus  mengulang-ulang  salah  satu  atau beberapa langkah dari serangkaian langkah secara umum.

Menurut Yuana (2002) langkah-langkah yang harus dilakukan dalam menyusun program komputer adalah sebagai berikut.

1. Mendefinisikan masalah

Langkah  ini  sering  kali  tidak  dilakukan oleh programmer terutama ketika bekerja secara individu. Programmer sering kali  langsung membuat   program   begitu   mendapat   proyek   untuk   mengembangkan   sebuah program/software tanpa mendefinisikan masalah terlebih dahulu. Akibat dari hal ini adalah ketidaksesuaiannya spesifisikasi program yang dibuat dengan kebutuhan yang diinginkan.

2. Merumuskan solusi

Setelah masalah didefinisikan dengan jelas, input yang diberikan sudah jelas, outputnya pun sudah  jelas,  langkah  selanjutnya  adalah  mencari solusi bagaimana  masalah  tersebut diselesaikan. Dalam hal ini, seorang programmer dituntut harus bisa menyusun serangkaian urutan langkah untuk mengolah data input menjadi output yang diharapkan. Urutan langkah ini sering kali disebut dengan algoritma.

3. Menulis program

Setelah  algoritma  disusun  oleh  programmer,  langkah  berikutnya  adalah  mengimplementasikan  algoritma  tersebut  ke  dalam  kode  program.  Dalam  hal  ini  programmer  bisa menggunakan bahasa pemrograman apapun yang dikuasainya. Setiap bahasa pemrograman memiliki aturan  sintaks  yang  berbeda-beda,  sehingga  hendaknya  seorang  programmer memilih bahasa pemrograman yang paling dikuasainya atau disesuaikan dengan kebutuhan perangkat dan penggunanya.

4. Menguji program

Setelah program selesai dibuat, program tersebut harus diuji. Tujuan dari pengujian ini adalah untuk memastikan program terbebas dari kesalahan sintaks (syntax error) maupun kesalahan algoritmiknya (algorithmic error). Adanya kesalahan algoritmik dalam sebuah program akan mengakibatkan  adanya  celah  (bug)  sehingga  bisa  menghasilkan  output  yang  tidak  sesuai dengan harapan. Proses pengujian dengan tujuan mencari bugini dinamakan debugging.

5. Menulis dokumentasi

Dokumentasi bagi  seorang  programmer diperlukan terutama  pada  saat  akan  melakukan perubahan program atau membaca program yang sudah ada. Untuk melakukan dokumentasi program, seorang programmer bisa menuliskan komentar-komentar pendek untuk memberi penjelasan maksud atau kegunaan dari modul atau bagian kode program tertentu. Proses ini bisa dilakukan pada saat yang bersamaan ketika menuliskan program. Namun akan lebih baik jika dituliskan pada file terpisah untuk kemudian dicetak di atas kertas jika diperlukan.

6. Perawatan

Langkah perawatan dilakukan pascaprogram  selesai  dibuat  dan  sudah  digunakan  oleh pengguna. Bug-bug yang sebelumnya tidak terdeteksi ketika langkah pengujian program bisa jadi  muncul  setelah  digunakan  oleh  pengguna.  Bisa  juga  pada  proses  perawatan  ini  ada penambahan  fitur  baru  pada  program yang  telah  dibuat,  sehingga  kode  program  perlu dirombak  oleh  programmer.  Oleh  karena  itu,  biasanya  dalam  proses  software  rilis  ada perubahan version, misalnya versi 1.1, versi 1.2 dst.

Prinsip Penulisan Program

Seorang programmer dituntut untuk bisa membuat program yang baik. Sebuah program dikatakan baik jika memenuhi beberapa persyaratan yaitu sebagai berikut.

  1. Program harus sesuai dengan spesifikasi kebutuhan
    Sebuah program yang dibuat harus bisa menangani kebutuhan yang diinginkan penggunanya, mulai dari input sampai dengan ketepatan output yang diharapkan.
  2. Fleksibel
    Program yang baik harus fleksibel dalam pengembangan selanjutnya atau dapat dengan mudah ditambah dan dikurangi fitur-fiturnya sesuai kebutuhan.
  3. Tidak mengandung kesalahan (error/galat)
    Ini merupakan syarat mutlak bahwa sebuah program harus tidak boleh mengandung bug baik yang disebabkan oleh kesalahan syntax (syntax error) atau kesalahan algoritma (algorithmic error).
  4. Terdokumentasi secara baik
    Program yang baik juga sebaiknya memiliki dokumentasi supaya memudahkan programmer dalam melakukan pengembangan.
  5. Cepat dalam waktu penggunaannya
    Program yang baik tidak hanya bisa memberikan output yang tepat saja. Meskipun outputnya tepat, namun seorang pengguna program juga menghendaki proses yang cepat dalam menghasilkan output.
  6. Efesien dalam penggunaan memori komputer
    Semakin besar memori komputer yang dibutuhkan program untuk bekerja maka akan berdampak pada semakin lamanya waktu untuk memproses input menjadi output. Oleh karena itu program yang baik adalah program yang menggunakan sejumlah kecil saja resource memorinya (RAM).

Referensi

  1. Djahir, Yulia dan Pratita, D. (2015). Bahan Ajar Sistem Informasi Manajemen. Yogyakarta: Deeppublish.
  2. Yuana, R.A. (2002). Modul Pemrograman Terstruktur. Surakarta: UNS.

Gabung ke Percakapan

5tare

    1. Sekedar cerita untuk motivasi saja, saya punya teman yang sama sekali tidak bisa coding/programming. Dulu dia bilang tertarik pada programming karena sering melihat saya belajar coding tapi memang tidak punya PC juga, jadi dia tidak bisa belajar. Tapi kemudian dia bekerja di warnet (sebagai operator warnet) dan akhirnya punya kesempatan untuk belajar coding di sana. Sekarang teman saya itu kemampuan programmingnya sudah jauh melampaui saya, bahkan saya sempat bekerja di kantor yang sama dengan dia dan dia dijuluki “demi-god” oleh rekan-rekan programmernya. Ia juga bahkan sempat mendapatkan award “mission impossible” dari perusahaan karena kerap mampu menyelesaikan task programming yang rasanya tidak mungkin diselesaikan oleh programmer lain di kantor :).

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *