Anda di halaman 1dari 17

Mengenal Cara Kerja Komputer

dan Bahasa Pemrograman


Oleh : Eko Heri Susanto

Saat ini tentu kita sudah tidak asing lagi dengan alat elektronik komputer
ataupun laptop kan ya? Setiap hari mungkin kita sering mengoperasikan
alat ini. Hanya pernahkan kita berfikir bagaimana sih alat ini bekerja?

“Le..Dulkamit...kamu tiap hari kan mainan laptopmu to?” tanya


pakdhe Sakiyun ke ponakannya Tole Dulkamit.
“Iya Dhe ... “jawab Tole Dulkamit.
“Kalau sampean ngetik huruf A di keyboard, maka di monitormu
muncul huruf A juga to? Menurutmu prosesnya ngirim tulisan dari
keyboard ke monitor itu gimana?” tanya pakdhe Sakiyun
“Nah itu dia...saya nggak tahu Dhe Prosesnya itu gimana to?”

A. Mengenal Cara Kerja Perangkat Komputer

Komputer atau laptop itu perangkat listrik kan ya? Yang namanya listrik, itu
hanya ada 2 (dua) kemungkinan yaitu hidup atau mati. Hidup itu berarti ada
arus listrk yang mengalir, sebaliknya kalau mati berarti tidak ada arus
yang mengalir. Perumpamaannya seperti saklar lampu itu, kalau
saklarnya disambungkan berarti ada arus listrik dan lampu menyala.
Sebaliknya kalau saklar diputus, berarti arus listrik putus, dan lampu mati.
Komputer, secara garis besar cara kerjanya juga begitu. Mirip seperti
saklar lampu gitu sih, jadi ada rangkaian elektronik yang diatur posisi
hidup/matinya listrik atau bahasa Inggrisnya On/Off. Dimana agar mudah
ditulis, listrik tersambung (On) itu dilambangkan dengan angka 1, dan
listrik diputus (Off) itu dilambangkan dengan angka 0. Makanya dalam
dunia komputer, akhirnya kita mengenal angka biner yaitu angka 0 dan 1
itu tadi. Dimana angka biner 0 itu artinya sirkuit saklar OFF atau arus
listrik diputus, kalau 1 berarti ON atau arus listrik disambung.

Kembali ke pertanyaan awal, kok bisa ketika kita ketik huruf "A", lalu di
monitor muncul huruf "A" juga? Sebenarnya komputer tidak pernah
menuliskan huruf, angka atau gambar ke monitor. Atau bahkan ke media
penyimpanan data (hard disk, flask disk, compact disk dsb), komputer
itu tidak menyimpan karakter sebagai karakter. Juga tidak ada huruf,
gambar dan angka di hard disk komputer kita. Namun yang ada adalah
setiap karakter itu dikodekan sebagai rangkaian bit biner 0 dan 1. Misalkan
huruf "A" itu dikodekan menjadi "01000001". Tapi bagaimana komputer
bisa mengetahui bahwa 01000001 berarti huruf “A”?

Pengkodean pada komputer ini berawal dari kode ASCII (American


Standar Code for Information Interchange). Jadi komputer dari awal
dulu diciptakan sampai sekarang, cara kerjanya memproses karakter
sebagai kelompok digit biner. Jadi sebenarnya para perangkat komputer itu
terdiri dari serangkaian sirkuit saklar listrik, dimana masing-masing
saklar sirkuit tadi dikondisikan mana yang ON dan mana yang OFF.
Kombinasi dari ON dan OFF itulah yang akhirnya di-standarisasi menjadi
karakter tertentu. Setiap 8 kumpulan kombinasi sirkuit saklar,
melambangkan 1 karakter
tertentu. Misalnya 8 sirkuit saklar yang dikondisikan OFF-ON-OFF-OFF-OFF-
OFF-OFF-ON atau biar gampang ditulis 01000001, maka itu dalam standar
ASCII disepakati sebagai kode huruf A besar ( A kapital). Kalau OFF-ON-OFF-
OFF-OFF-OFF-ON-OFF (01000010) adalah kode B kapital. Kalau OFF-ON-
OFF-OFF-OFF-OFF-ON-ON (01000011) adalah kode C kapital . Kalau OFF-
ON-OFF-ON-ON-OFF-ON-OFF (01011010) adalah kode huruf Z besar (Z
kapital).

Kalau kita melihat daftar ASCII, maka kita biasanya menemui ada juga
angka desimalnya. Apa fungsi angka desimal itu? kita sebagai manusia
sudah terbiasa dengan angka desimal yaitu angka 0 - 9. Makanya
serangkaian angka-angka biner tadi kita konversikan ke angka desimal
agar lebih mudah dihafalkan. Contoh kode biner 01000001 kalau
didesimalkan akan menjadi angka 65. Cara gampang untuk
mengkonversikannya adalah seperti ini 0+26+0+0+0+0+0+20 =
0+64+0+0+0+0+0+1 = 65. Berarti kode biner 01000010 desimalnya
adalah 66. Kode biner 01000011 desimalnya adalah 67 dan
seterusnya, sampai kode 01011010 desimalnya adalah 90. Berarti
kalau kita punya kode ASCII desimal 65, maka itu adalah kode untuk huruf
A kapital. Desimal 66 adalah kode B, desimal 67 adalah C dan seterusnya
sampai desimal 90 adalah kode Z. Huruf a kecil sampai z kecil kode
ASCII-nya adalah 97 - 122, atau bit binernya adalah 01100001 sampai
01111010. Biar mudah dipahami, ilustrasi konversi dari biner ke
desimal ini bisa dilihat pada gambar berikut.

Serangkaian kode bit biner itulah yang diproses oleh komputer. Jadi
kalau ada huruf "A" yang diketik di keyboard, kemudian di monitor
muncul huruf "A" juga, maka sebenarnya ada kode arus listrik 01000001
yang dikirimkan dari keyboard menuju ke monitor. Namun proses
sebenarnya masih melibatkan beberapa jenis device (peralatan) ya, jadi
tidak cukup hanya keyboard dan monitor saja. Masih ada motherboard,
processor, Random
Access Memory (RAM), Basic Input Output System (BIOS), Hard disk dan
lain sebagainya. Bahkan saat ini komputer atau laptop kita sudah
dilengkapi dengan device untuk menghubungkan ke jaringan baik itu
kabel ataupun wireless fidelity (Wify).

O iya kita sering menemui istilah-istilah tertentu pada dunia komputer


ya. Misal kalau kita beli hard disk maka kita akan menemui istilah Mega
Byte, Giga Byte atau Tera Byte. Kalau kita melihat processor, saat ini
kita sering menemui ada istilah 32 bit sampai 64 bit. Jaman dulu, sekitar
tahun 1990an sampai tahun 2000an, kita menemui ada processor 8 bit
sampai 16 bit. Diawal saya sebutkan bahwa setiap karakter
dikodekan menjadi serangkaian bit biner 0 dan 1 ya. Dimana setiap 8
rangkaian bit biner itu melambangkan satu buah karakter. Nah 8 bit
biner itu dikenal dengan istilah Byte (B). Jadi 1 byte itu sama dengan 8
bit, dimana 1 byte itu adalah 1 kode dari karakter tertentu. Kalau
sekarang kita mengenal ada processor dengan kecepatan 32 bit sampai
64 bit, berarti processor kita dalam satu kali kerja, mampu mengerjakan
32 bit biner sampai dengan 64 bit biner. Kalau kita melihat ukuran hard
disk kita adalah 1 Kilo Byte, maka kapasitas hard disk kita adalah 1.024
Byte. Kalau 1 Mega Byte (MB) berarti 1.048.576 Byte. Kalau 1 giga Byte
berarti 1.073.741.824 Byte. Kalau 1 Tera Byte (TB) berarti
1.099.511.627.776 Byte.

Memang saat ini perkembangan teknologi khususnya elektronika sudah


berbeda jauh dibanding jaman dahulu. Saat ini untuk processor dengan
kecepatan 64 bit, hanya dibutuhkan device dengan dimensi ukuran
beberapa senti meter saja. Demikian juga dengan motherboard, memory
(RAM), hard disk dan lain sebagainya, saat ini device komputer dimensi
ukurannya sudah sekecil ini. Jaman dahulu, pada saat komputer generasi
awal dibuat, teknologinya yang ada masih menggunakan tabung vakum.
Sehingga 1 unit komputer merk Electronic Numerical Integrator and
Computer (ENIAC), dibuat dari 18.000 tabung vakum, 70.000 resistor dan
5 juta titik solder. Komputer ENIAC ini setidaknya butuh ruang 500 meter
persegi atau hampir seluas lapangan sepak bola.

Sumber : ENIAC:https://www.computerhistory.org
Oke, kita kembali ke bagaimana kode ASCII itu dikirimkan dari keyboard
ke sampai pada akhirnya muncul di monitor ya? Untuk itu kita perlu
mengenal beberapa komponen yang ada di komputer, sekaligus kita
perlu mengenal bagaimana komponen itu bekerja. Agar lebih mudah
dipahami ini saya sertakan gambar beberapa device yang ada di
komputer.

Ketika huruf "A" diketikkan dari keyboard, maka arus listrik dialirkan ke
keyboard controller. Di keyboard controller inilah proses pengkodean dari A
ke 01000001 itu terjadi. Selanjutnya karena ada data di keyboard controller,
maka interrupt controller akan bekerja untuk memberitahu kepada
processor. Setelah itu, processor akan mengambil data dari keyboard
controller tadi, untuk selanjutnya disimpan sementara di Random Access
Memory (RAM). Nah serangkaian perpindahan arus listrik dari keyboard,
keyboard controller, processor sampai RAM inilah yang disebut input atau
masukan. Sampai disini huruf A tadi belum muncul di monitor lho ya? kode
huruf A tadi masih tersimpan di RAM. Ini masih input saja.

Untuk sampai ke monitor, maka pada komputer masih terjadi lagi


serangkaian perpindahan arus litrik dari RAM ke monitor, atau disebut
output (luaran).

Bagaimana dengan output? Pertama processor akan membaca data dari


RAM. Lalu interrupt controller akan mengirimkan sinyal ke device lain,
bahwa akan ada arus listrik yang dialirkan oleh processor. Selanjutnya, data
yang dibaca oleh processor tadi dikirimkan ke VGA (Video Graphics Array)
Card. Di VGA inilah kode 01000001 dirubah menjadi kode grafik/gambar
huruf A, dan grafik huruf A itu ditampilkan di monitor. Begitu kurang lebih
proses input dan output yang terjadi di komputer kita. Jadi proses input itu
device membaca data dari keyboard atau peralatan input lain dan
menyimpannya ke RAM, sedangkan output adalah menampilkan data yang
tersimpan di RAM ke layar monitor.

Seringkali komputer itu juga harus mengerjakan proses-proses perhitungan


aritmatika (penambahan, pengurangan, perkalian, pengurangan, kuadrat,
dan lain sebagainya). Bahkan saat ini, komputer itu bisa kita tugaskan
untuk memproses hal-hal yang rumit seperti misalnya mengirimkan data
ke tempat yang jauh melalui jaringan internet, mengolah data gambar,
mengolah data video dan lain sebagainya. Jadi yang ada di komputer itu
tidak hanya input dan ouput, tapi masih ada process atau proses. Nah
kedepan, kita pasti akan sering membahas mengenai 3 hal ini yaitu
input, process dan ouput.

Tentu serangkaian input, proses dan output tadi tidak bisa berjalan dengan
sendirinya. Komputer itu harus diatur kapan dan bagaimana processor-nya
bekerja, serta kapan interrupt controller-nya bekerja. Untuk itu dibutuhkan
serangkaian instruksi atau serangkaian pengaturan yang harus kita lakukan.
Serangkaian instruksi atau pengaturan itulah yang akhirnya diistilahkan
bahasa pemrograman (programming language). Seiring perkembangan
jaman, bahasa pemrograman ini juga semakin kompleks, karena kebutuhan
input, procces dan output juga semakin kompleks. Pada akhirnya untuk
mendalami bahasa pemrograman ini, butuh disiplin ilmu tersendiri yaitu
ilmu Computer Science kalau di Amerika dan Informatics kalau di Eropa.
Maka setelah disiplin ilmu ini sampai ke Indonesia, maka muncullah
pendidikan-pendidikan dengan jurusan Ilmu Komputer atau Informatika.
Untuk selanjutnya produk dari disiplin ilmu komputer atau informatika ini,
akan menghasilkan produk-produk yang terkait instruksi ke komputer atau
yang lebih dikenal dengan istilah software (perangkat lunak). Dimana
software itu tadi, dibangun menggunakan instruksi-instruksi tertentu, yang
dinamakan programming language (bahasa pemrograman). Dimana
orang yang sering membuat software atau perangkat lunak, biasanya
dinamakan programmer.

Istilah programmer ini sudah muncul sejak komputer generasi pertama


ENIAC dioperasikan. Terdapat sekelompok perempuan yang secara khusus
mendapat mandat sebagai programer untuk memprogram banyaknya
komponen dalam ENIAC yang mencapai ribuan kabel dan sakelar. Mereka di
antaranya adalah Kathleen Antonelli, Jean Bartik, Betty Holberton, Frances
Spence, Ruth Teitelbaum, dan Marlyn Meltzer.

Sumber : ENIAC:https://www.computerhistory.org
Bagaimana dengan device-nya itu sendiri? Tentu bagaiamana membuat
device (peralatan) komputer butuh disiplin ilmu tersendiri. Makanya khusus
untuk mempelajarai serta memproduksi komponen-komponen komputer
akan banyak ditangani pada disiplin ilmu Electric and Electronic
Engineer, atau kalau di Indonesia adalah Teknik Elektronika. Dimana
pada jurusan Teknik Elektronika ini, akan banyak mempelajari dan
memproduksi hardware (perangkat keras). Device Processor, RAM,
Keyboard, Hard disk dan sebagainya, adalah produk-produk dari teknik
elektronika. Sedangkan sistem operasi, program pengolah kata, pengolah
gambar, pengolah video dan sebagainya, adalah produk-produk software
(perangkat lunak) dari ilmu komputer atau informatika.

B. BAHASA PEMROGRAMAN

Baik, sekarang kita fokus ke bahasa pemrograman ya?

Instruksi Ke Mesin

Coba sekarang kita membuat program sederhana untuk menampilkan


atau output tulisan Hello World! ke monitor. Jadi untuk study kasus ini,
kita langsung membidik output tanpa melalui instruksi input dan
instruksi process dulu ya? Untuk keperluan menampilkan tulisan "Hello
World!", yang harus kita lakukan ada 3 hal yaitu :

1. Memesan tempat (alamat memory) di RAM untuk menyimpan data


tulisan "Hello World!". Untuk selanjutnya, tempat penyimpanan data
di RAM tadi dinamakan variable.
2. Melakukan pengaturan di processor, dimana untuk mengatur
processor ini, kita hanya perlu mengoperasikan register Accumulator
(A), Base (B), Data (D) dan Counter (C).
3. Memanggil interrupt controller.

Khusus untuk register, saat ini kita sudah banyak menggunakan processor
32 bit atau bahkan 64 bit, maka standar register-nya sudah memakai
Extended (tambahan). Contohnya Extended Accumulator Extension atau
disingkat EAX. Untuk Register lainnya, nanti kita akan banyak
mengoperasikan Extended Base Extension (EBX), register EDX dan ECX.

Jaman komputer masih bekerja dengan 8 bit, dulu regiter masih A, B, C dan
D saja. Namun seiring perkembangan jaman, processor komputer sudah
ditingkatkan menjadi 16 bit. Makanya register processornya akhirnya
harus diperluas. Nah perluasan itu kan bahasa inggrisnya Extend kan ya?
Makanya di komputer 16 bit kita mengenal istilah register AX
(Acumulator Extended), BX (Base Extended), CX (Counter Extended) dan
DX (Data Exetended).

Lalu ketika processor komputer saat ini sudah bekerja di 32 bit dan bahkan
64 bit, maka register-nya ditambahi lagi. Tambahan itu kan bahasa
Inggrisnya Exetension atau disingkat X. Makanya registernya jadi EAX,
EBX, ECX dan EDX. Kepanjangannya Extension Acumulator Exetended
dst.
Agar mudah dipahami, maka ketiga langkah itu secara detail terlihat seperti
pada gambar berikut ini.
Skema detail pemrogramannya adalah seperti ini :

Masih sulit membayangkan? oke ini saya kasih analogi sederhana, saya
umpamakan serangkaian instruksi tadi seakan-akan seperti mengalirkan
air dari tandon ke bak kamar mandi.

Jadi dari gambar diatas, bisa anda bayangkan RAM itu seakan-akan
tandon air yang ada diatas genteng, sedangkan VGA card dibayangkan
sebagai bak
kamar mandinya. Diantara tandon dan bak kamar mandi ada pipa
(dibayangkan register ECX dan EBX), ada bak kontrol dimana bak ini
berfungsi penampung air sementara sebelum mengalir ke kamar mandi.
Bak kontrol ini dibayangkan seperti register EDX. Dan ada kran yang
dibayangkan EAX. Sampai disini sudah bisa membayangkan to?

Untuk menjabarkan gambaran alur tadi, kita bisa menuliskannya dalam


bentuk algoritma. Contohnya algoritmanya adalah seperti ini:

1. Definisikan variabel di RAM yang diisi kata “Hello World!”, dimana


panjang hurufnya adalah 12 karakter ditambah 1 karakter akhir kata
(line feed). jadi total huruf di variable itu adalah 13 karakter (13 byte)
2. Pindahkan data alamat variable dari RAM ke register ECX
3. Pindahkan data sebanyak 13 karakter (13 byte) ke register EDX
4. Pindahkan kode operasi (operation code/opcode) 4 ke register EAX.
Dimana opcode 4 ini adalah konstanta standar yg menandakan
perintah bagi sistem untuk menulis (sys_write)
5. pindahkan kode operasi/opcode 1 ke register EBX. dimana opcode 1 ini
adalah konstanta standar untuk pemanggilan sistem (syscall) untuk
menampilkan ke layar monitor (stdout)
6. Eksekusi system call interupsi (interrupt) 80h ke Kernel, agar kernel
bisa meneruskan ke perangkat keras (hardware). 80h ini adalah
konstanta standar
7. Pindahkan opcode 1 ke register EAX, untuk memerintahkan system
agar keluar dari serangkaian prosesnya (sys_exit)
8. Pindahkan opcode 0 ke register EBX, untuk mengirimkan pesan tidak
ada error (no-error).
9. Panggil interrupt 80h agar program dijalankan oleh hardware melalui
kernel

Atau ke-9 langkah algoritma tadi, bisa kita tuliskan dalam bentuk tiruan
kode (pseudo code) seperti ini :

Dari Pseudo code ini, kalau dituliskan ke bahasa pemrograman


assembler, dan program tersebut dieksekusi, maka hasil programnya
terlihat pada gambar berikut ini.
Bahasa assembler/assembly merupakan bahasa mnemonic dari
instruksi mesin komputer. Jadi bahasa assembler itu susunan perintahnya
bisa dikatakan sama persis dengan instruksi pada mesin komputer. Untuk
membuktikan struktur instruksi pada mesin komputer dengan struktur
bahasa assembler, bisa dilihat pada gambar berikut ini

Sampai disini kan baru proses OUTPUT ya. Bagaimana dengan INPUT?
Jadi misalkan kita mengentikkan sesuai dari keyboard? Analoginya
seperti gambar ini.

O iya yang menarik diisini, antara input dengan output itu register yang
digunakan hanya 1 (satu) ya. Jadi register EAX, EBX, ECX dan EDX tadi ya
cuman satu saja, tapi gimana caranya hanya dengan satu register, tapi bisa
digunakan untuk INPUT sekaligus OUTPUT. Berarti register tadi kita
operasikan secara bergantian.

Jadi kalau dianalogikan dengan aliran air tadi, gimana caranya air dari
sumber air sampai ke kamar mandi itu hanya menggunakan 2 pipa, 1
kran, 1 bak kontrol dan 1 tandon. Brarti kan tinggal digunakan gantian
saja to?
Kalau INPUT sekaligus OUTPUT bagaimana? Ini analoginya.

Seandainya alur input dan output tadi diprogramkan dengan assembler


bagaimana?
Kalau program itu di terjermahkan ke kode mesin (compile) dan dijalankan
(run), maka hasilnya seperti ini:

“Dulkamit, menurutmu bahasa pemrograman itu apa?” tanya Pakdhe


Sakiyun ke ponakannya Dulkamit
“Bahasa pemrograman itu teknik masang pipa dan kran De...”
“Gabluggg!!!”

Jadi yang dimaksud bahasa pemrograman itu adalah serangkaian


instruksi untuk mengoperasikan perangkat komputer khususnya REGISTER
dan INTERRUPT. Jenis instruksinya apa?
1. instruksi INPUT (membaca data dari keyboard, mouse, transmisi
input dari jaringan, dan perangkat input lain) dan menyimpan data
tadi ke RAM (Random Access Memory),
2. instruksi PROSES (operasi aritmatika, percabangan, perulangan, dan
proses-proses lainnya) dan
3. instruksi OUTPUT (menampilkan data ke monitor, printer, transmisi
output jaringan dan perangkat output lainnya)

Dimana serangkaian instruksi tersebut bisa menggunakan standar bahasa


mesin (low level language) atau bahasa tingkat menengah (middle level
language) atau bahasa tingkat tinggi (hight level language)
● Low Level Language : Assembler/assembly
● Middle Level Language : C/C++
● Hight Level Language : Java, Python, Rust, .Net dsb

Bahasa Pemrograman Tingkat Tinggi

Apakah bahasa pemrograman itu sesulit assembler ini? Ya tidak. Bahasa


pemrograman assembleer atau assembly adalah mnemonic instruksi pada
mesin komputer. Atau istilahnya bahasa pemrograman level bawah (Low
Level). Memang sampai saat ini, instruksi yang bisa dijalankan oleh
komputer itu ya instruksi level bawah/bahasa mesin. Tetapi
seiring perkembangan jaman, instruksi-instruksi mesin (Low Level) ini
sudah banyak dimodifikasi oleh para programmer yang ada di dunia ini.
Sampai-sampai instruksinya itu mendekati bahasa manusia. Instruksi yang
mendekati bahasa manusia ini dinamakan bahasa pemrograman tingkat
tinggi atau Hight Level Language. Sebaliknya bahasa pemrograman yang
saya tunjukkan diatas tadi, yaitu bahasa assembly adalah bahasa
pemrograman tingkat rendah atau Low Level Language.
Contoh algoritma/pseudo code yang menggambarkan penggunaan bahasa
tingkat tinggi untuk menampilkan kata "Hello World!" :

1. DATA :
2. pesan <-- 'Hello World!'
3. START :
4. Print (pesan)
5. STOP

Dari pseudo code tadi, kalau dituliskan ke dalam bahasa pemrograman


Python, maka akan seperti ini:

1.pesan = 'Hello World!'


2.print(pesan)

Atau bisa juga kita singkat menjadi 1 baris program seperti berikut ini:

1. print ('Hello World!')

Dimana, hasil dari 1 baris program tadi terlihat seperti gambar berikut
ini. Gimana sobat kompasiana? bahasa tingkat tinggei berbeda jauh
dengan assembler kan? Kalau di assembler kita membutuhkan 13 baris
instruksi, kalau di Python kita hanya membutuhkan 1 baris saja, untuk
menampilkan hasil yang sama di monitor.

INPUT - PROSES - OUTPUT

Oke, sampai kita bisa menampilkan kalimat "Hello World!" tadi, kita
masih bermain output saja ya. Coba sekarang kita bikin bahasa
pemrograman untuk menangani input dari keyboard, dilanjutkan proses
aritmatika dan sekaligus menampilkan (output) ke monitor. Targetnya
adalah kita bisa mengisikan dua buah angka, lalu dari dua angka itu
dilakukan proses perkalian. Dan hasil perkaliannya akhirnya bisa
ditampilkan ke monitor.

Dari keterangan saya diatas, maka penjabaran alurnya terbagi menjadi 3


langkah yaitu :
1. Tentukan target jalannya program di komputernya
2. Dari target tadi, gambarkan desain programnya. Untuk desain ini bisa
menggunakan flowchart atau pesudo code. Silahkan pilih salah satu
saja
3. Uji desain tadi pada salah satu bahasa pemrograman yang anda pilih.
Jika terjadi kesalahan, maka lakukan pengecekan kesalahannya.
Biasanya kesalahan program itu penyebabnya adalah (a) ada
kesalahan penulisan program (syntax error) atau ada kesalahan
logika (logical error)
Contoh gambaran target jalannya program dan pseudo code-nya seperti
ini :

Dari pseudo code diatas, kalau diprogramkan dengan bahasa


pemrograman Python, maka akan seperti gambar berikut ini. Hasil eksekusi
programnya juga terlihat digambar ini ya.
PROSES - PERCABANGAN

Proses dalam bahasa pemrograman, itu tidak selamanya hanya operasi


aritmatika saja. Kadangkala komputer juga harus memproses suatu kondisi
tertentu, dan memutuskan mana yang benar dan mana yang salah. Mirip
dengan kehidupan sehari hari, kadang kita juga mengalami kondisi tertentu,
dan harus memilih mana yang benar dan mana yang salah. Contoh ketika
kita mengendarai kendaraan bermotor dan kebetulan kita berada di
persimpangan lampu merah. Ada 3 kondisi yang biasanya kita temui to?
kalau nggak lampunya menyala merah atau kuning atau hijau. Kalau lampu
merah apa yang kita lakukan? menghentikan kendaraan kita to? Kuning
jalan pelan-pelan, kalau hijau jalan normal. Betul nggak? Itu tadi gambaran
percabangan yang sering kita temui dalam kehidupan sehari-hari.

Contoh proses percabangan dalam bahasa pemrograman misalnya gini.


Kita mengisikan (input) sembarang angka bulat. Dari angka itu komputer
kita suruh memutuskan, angka bulat itu tergolong angka ganjil atau
genap? Nah caranya bagaimana? Logika sederhananya begini. Sembarang
angka kalau kita modulus 2 dan hasilnya 0, maka angka itu adalah genap.
Sebaliknya, kalau sembarang angka kita modulus 2 sisanya tidak 0 maka
angka itu adalah ganjil.

Modulus itu apa sih? SISA BAGI. Contoh :


● 4 modulus 2 sisa baginya 0
● 5 modulus 2 sisa baginya 1
● 6 modulus 2 sisa baginya 0
● 9 modulus 2 sisa baginya 1
● 100 modulus 2 sisa baginya 0
● 101 modulus 2 sisa baginya 1
● 1 modulus 2 sisa baginya 1
● 0 modulus 2 tidak bisa dihitung sisa baginya.

Baik langsung kita gambarkan dulu algoritmanya ya?

1.DATA:
2. angka : angka bulat (integer)
3. mod_dua : angka bulat (integer)
4.START:
5. print ('Isikan angka bulat :')
6. angka <-- input integer
7. mod_dua <-- angka modulus 2
8. JIKA mod_dua SAMA DENGAN 0
9. print('Ini angka GENAP')
10. LAINNYA
11. print('Ini angka GANJIL')

Algoritma diatas, kalau diimplementasikan ke dalam bahasa pemrograman


Python jadinya seperti gambar dibawah ini. Hasil eksekusinya juga bisa
dilihat di gambar ya
Itu tadi proses percabangan, atau ada juga yang menyebut condition ya?
Ketika berbicara proses dalam bahasa pemrograman, memang tidak
cukup hanya percabangan saja. Masih ada perulangan atau yang sering
kita dengan looping. Apa itu perulangan? lebih jelasnya ada di bawah ini.

PROSES - PERULANGAN (LOOPING)

Selain perhitungan aritmatika dan percabangan, dalam bahasa


pemrograman juga ada proses perulangan (looping). Mirip seperti
kejadian sehari hari, kita juga sering mengalami suatu hal yang kita
kerjangan berulang kali to? Misalnya bangun tidur, aktifitas sehari hari
(beribadah, bekerja, makan dsb), sampai tidur lagi adalah kegiatan yang
kita ulang-ulang selama 1 x 24 jam to? Ya nggak sih?

Misalkan kita sedang membuat jadwal aktifitas keseharian kita dengan


skema seperti ini :
1. Jam 0 - 4 : Tidur
2. Jam 5 - 6 : Bangun tidur & beribadah
3. Jam 7 : Sarapan Pagi
4. Jam 8 - 11 : Kerja
5. Jam 12 : Makan Siang dan Ibadah
6. Jam 1-17 : Kerja dan Ibadah
7. Jam 18 : Makan malam & Ibadah
8. Jam 19-21 : Ibadah & Nonton TV
9. Jam 22-24 : Tidur Lagi

Kalau aktifitas keseharian kita itu diprogramkan dengan bahasa Python,


maka kode program dan hasil eksekusinya terlihat seperti gambar di bawah
ini

Contoh program diatas adalah perulangan (looping) dengan FOR. Pada


bahasa pemrograman, juga dikenal perulangan dengan menggunakan
WHILE. Bedanya, kalau perulangan FOR sudah jelas awal dan akhirnya
berapa, kalau WHILE yang jelas hanya awalnya saja, sementara
perulangan WHILE ini akan berakhir ketika kondisinya sudah SALAH/FALSE.
Jadi selama kondisinya TRUE/BENAR, maka proses perulangan WHILE
masih terus dikerjakan.

Contoh misalkan kita membuat jadwal aktifitas sehari-hari ya. Kalau dengan
perulangan FOR diatas kan proses perulangan sudah jelas dimulai dari 0
dan berakhir ketika jam sampai diangka 24 to? Jika kita ulangi aktifitas itu
keesokan harinya sampai waktu yang tidak terbatas bagaimana? Misal
perulangan tadi tidak akan berhenti ketika status kelanjutannya kita isi
'Y'. kecuali kelanjutan aktifitas ini kita isi selain 'Y', maka proses
perulangan akan berhenti. Nah untuk memahami bagaimana itu WHILE,
sobat pembaca yang budiman bisa melihat contoh program dan hasil
eksekusi seperti gambar berikut ini.

“Nah dari penjelasan pakdhe ini,kamu sudah paham to? Bahasa


pemrograman itu apa?” tanya pakdhe Sakiyun ke Dulkamit
“Bahasa pemrograman itu, bangun tidur, makan, lalu tidur lagi Dhe...”
“Gablug!!!”
“Salah ya Dhe? Anu ... bahasa pemrograman itu...eee...teknik masang
kran!!”
“Hayyahhh.....NGAWUR !!! kok masih kran aja yang ada di otakmu itu !”
“O ... aku tahu Dhe ... bahasa pemrograman itu cara menghidupkan
laptop !!”
“Hayyyah dudul !!! ... Ngawur ... salah semua !“ Kata pakdhe Sakiyun
sambil ngeloyor pergi
“Lho Dhe.....!!! mau kemana?”
“Minggat !“

Baik sobat pembaca yang budiman, demikian sekilas artikel mengenai


konsep dasar cara kerja komputer beserta pengenalan bahasa
pemrograman ya. Semoga artikel ini ada guna dan manfaatnya.
Terimakasih

Anda mungkin juga menyukai