Anda di halaman 1dari 13

Pemrograman Dasar –

Konsep, Logika, Prinsip &


Langkah
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).

Anda mungkin juga menyukai