Anda di halaman 1dari 42

E - BOOK

ALGORITMA &
PRAKTIKUM ALGORITMA
PEMROGRAMAN - I

Bentuk Algoritma dan Tipe Data


- Macam - macam Bentuk Algoritma
- Tipe Data

FAKULTAS TEKNIK
UNIVERSITAS IBNU SINA
2020
Bab 2
BENTUK ALGORITMA DAN TIPE DATA
Tominanto, S.Kom.,M.Cs

Pendahuluan

S
ebuah algoritma merupakan langkah-langkah penyelesaian masalah. Bentuk atau notasi
algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin
membuat suatu pogram, karenadalam notasi algoritma inilah terdapat kerangka-
kerangka suatu program. Deskripsi langkah-langkah dalam algoritma tidak mengacu pada
sintaks bahasa pemrograman apapun dan tidak tergantung pada spesifikasi komputer yang
mengeksekusinya. Notasi algoritma merupakan bahasa universal yang dapat diterima oleh
semua bahasa pemrograman yang ada. Oleh sebab itu, algoritma yang baik harus dapat
diterjemahkan ke dalam bentuk source code dari semua bahasa pemrograman yang ada. Tidak
ada aturan baku dalam menuliskan algoritma, yang penting mudah dibaca danmenggunakan
bahasa yang mudah dipahami. Meskipun demikian untuk menghindari kekeliruan, ketaatan
terhadap notasi perlu diperhatikan. Terdapat tiga bentuk yang umum digunakan dalam
menuliskan algoritma yaitu: (1) kalimat deskriptif, (2)pseudocode, dan (3) flowchart.
Modul pembelajaran ini membahas tentang bentuk penyajian algoritma dan tipe data.
Setelah menyelesaikan modul pembelajaran ini, diharapkan mahasiswa mampumemahami
penyajian algoritma dalam bentuk kalimat deskriptif, pseudocode dan flowchartdan serta tipe
data pada pemrograman secara benar sehingga sehingga dapat digunakan sebagai dasar
untuk melanjutkan topik dan bab selanjutnya.

38
Topik 1
Macam-macam Bentuk Algoritma
A. MACAM-MACAM BENTUK ALGORITMA

Algoritma mempunyai aturan penulisan sendiri yang disebut dengan bentuk atau notasi
algoritma. Notasi algoritma ini tidak tergantung dari spesifikasi bahasa pemrograman tertentu
dan komputer yang mengeksekusinya. Hal ini dikarenakan notasi algoritma bukanlah notasi
bahasa pemrograman. Notasi algoritma merupakan bahasa universal yang dapat diterima
oleh semua bahasa pemrograman yang ada. Oleh sebab itu, algoritma yang baik harus dapat
diterjemahkan ke dalam bentuk source code dari semua bahasa pemrograman yang ada.
Terdapat tiga bentuk yang umum digunakan dalam menuliskan algoritma yaitu: (1) kalimat
deskriptif, (2)pseudocode, dan (3) flowchart.

1. Algoritma Dalam Bentuk Kalimat Deskriptif


Notasi penulisan algoritma dengan menggunakan bahasa deskriptif biasa juga
disebutdengan notasi alami. Dilakukan dengan cara menuliskan instruksi-instuksi yang harus
dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang
jelas. Dasar dari notasi bahasa deskriptif adalah Bahasa Inggris, namun dapat dimodifikasi
dengan bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan baku dalam
menuliskan algoritma dengan notasi deskriptif maka tiap orang dapat membuat aturan
penulisan dan notasi algoritma sendiri. Hal ini dapat dimengerti karena teks algoritma tidak
sama dengan teks program. Program adalah implementasi algoritma dalam notasi bahasa
pemrograman tertentu. Namun, agar notasi algoritma mudah ditranslasi ke dalam notasi
bahasa pemrograman, maka sebaiknya notasi algoritmatersebut berkoresponden dengan
notasi bahasa pemrograman pada umumnya. Kata kerja adalah jenis kata yang biasa
digunakan dalam penulisan bahasa deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi,
bandingkan, dan lain-lain.Notasi jenis ini cocok untuk algoritma yang pendek.Tapi untuk
masalah algoritma yang panjang, notasi ini kurang efektif. Cara penulisan algoritma dengan
notasi bahasa deskriptif paling mudah dibuat, namun demikian caraini paling sulit untuk
diterjemahkan ke dalam bahasa pemrograman. Pada dasarnya teks algoritma dengan bahasa
deskriptif disusun oleh tiga bagian utama yaitu: Bagian judul (header), Bagian deklarasi
(kamus), dan Bagian deskripsi. Setiap bagian disertai dengan komentar untuk memperjelas
maksud teks yang dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda
kurung kurawal (‘{’ dan ‘}’).

39
a. Bagian judul (header)
Merupakan bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang
algoritma tersebut. Dibagian ini juga digunakan untuk menentukan apakah teks algoritma
yang dibuat tersebut adalah program, prosedur, atau fungsi. Nama algoritma sebaiknya
singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut. Gambar
2.1 berikut ini contoh judul algoritma disertai dengan penjelasan singkat (intisari) tentang apa
yang dilakukan oleh algoritma. Penjelasan dibawah nama algoritma sering dinamakan juga
spesifikasi algoritma yang dituliskan dalam kurung kurawal ({}). Algoritma harus ditulis sesuai
dengan spesifikasi yang didefinisikan. Gambar 2.1 adalah contoh judul algoritma menghitung
luas lingkaran yang disertai dengan penjelasan singkat.

Gambar 2.1 Contoh bagian judul algoritma

b. Bagian deklarasi (kamus)


Di dalam algoritma yang berbentuk kalimat deskriptif, deklarasi atau kamus adalah
bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama
tersebutdapat berupa nama variabel, nama konstanta, nama tipe, nama prosedur atau nama
fungsi. Semua nama tersebut baru dapat digunakan di dalam algoritma jika telah didefinisikan
terlebih dahulu didalam bagian deklarasi. Penulisan sekumpulan nama dalam bagian deklarasi
sebaiknya dikelompokkan menurut jenisnya. Pendefinisian nama konstanta sekaligus
memberikan nilai konstanta. Pendefinisian nama fungsi atau prosedur sekaligus dengan
pendefinisian spesifikasi dan parameternya. Gambar 2.2 adalah bentuk umum bagian
deklarasi. Sedangkan gambar 2.3 adalah contoh bagian deklarasi algoritma menghitungluas
lingkaran.

40
Gambar 2.2 Bentuk umum bagian deklarasi algoritma

Gambar 2.3 Contoh bagian deklarasi algoritma

c. Bagian deskripsi
Bagian deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian
langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang
lazim dalam penulisan algoritma. Setiap langkah algoritmadibaca dari langkah paling atas
hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan
perintah.Seperti telah dijelaskan di bab satu bahwa penyusun atau struktur dasar algoritma
adalah langkah-langkah. Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan,
pemilihan dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu
algoritma. Pada bagian deskripsi inilah letak tiga struktur algoritma tersebut. Gambar 2.3
adalah contoh bagian deskripsi algoritmamenghitung luas lingkaran. Gambar 2.4 adalah
contoh algoritmam menghitung luaslingkaran yang dituliskan menggunakan kalimat deskriptif
secara lengkap.

41
Gambar 2.3 Contoh bagian deskripsi algoritma

Gambar 2.4 Contoh penulisan algoritma dalam bentuk kalimat deskriptif

Algoritma dengan uraian kalimat deskriptif dapat juga menggunakan bahasa sehari-hari.
Untuk permasalahan yang sederhana penggunaan notasi ini sangatlah mudah, akan tetapi
untuk permasalahan yang lebih komplek dan rumit, penggunaan notasi ini akan lebih sulit dan
sering kali terjadi ambigu dalam langlah-langkah penyelesaian masalah. Oleh karena itulah
untuk kasus-kasus yang lebih komplek, penggunaan notasi ini jarang sekali bahkan tidak
digunakan. Sebagai contoh penggunaan bahasa sehari-hari dalam algoritma deskriptif antara
lain untuk permasalahan mencari bilangan terbesar dari tiga buah bilangan yang dimasukkan
sebagai berikut:

42
Gambar 2.5 Algoritma dalam bentuk kalimat deskriptif

Algoritma dengan uraian kalimatdeskriptif seperti gambar 2.5 sudah jarang sekali kita
temukan karena kadang kala agak sulit untuk memahaminya. Yang paling banyak kita temukan
adalah algoritma (dengan uraian kalimat deskriptif) yang ditulis secara lebih sistematis dan
efisien sehingga lebih mudah untuk memahaminya. Algoritma tersebut adalah sebagai
berikut:

Gambar 2.6 Algoritma dalam bentuk kalimat deskriptif yang sistematis

Dalam notasi algoritma, baik menggunakan notasi algoritma dengan uraian kalimat
deskriptif, flowchart maupun pseudocode, kita jarang menggunakan tanda = (sama dengan)
tetapi menggunakan simbol anak panah ke arah kiri () seperti yang terlihat pada langkah ke-
2, 4, dan 6. Sebagai contoh pada langkah ke-2, arti dari notasi tersebut adalah nilai variabel a
(yang ada di sebelah kanan anak panah) diberikan kepada variabel mak (yang ada di sebelah
kiri anak panah). Dengan demikian jika nilai variabel a adalah 10, maka nilai mak juga 10 atau
dalam penulisan secara matematis mak = a.Penggunaan anak panah ini dikarenakan, seperti
yang telah dikemukakan sebelumnya, algoritma tidak diperuntukkan untuk suatu bahasa
pemrograman tertentu, tetapi dapat diaplikasikan atau diterjemahkan ke dalam bentuk
source code dari semua bahasa pemrograman yang ada. Dalam pascal misalnya, notasi yang

43
digunakan untuk tanda = (sama dengan) adalah := (titik dua dilanjutkan dengan tanda sama
dengan) sehingga langkah ke-2 akan diterjemahkan menjadi mak := a. Akan tetapi dalam
bahasa C++ maupun Java, tanda = (sama dengan) masih tetap digunakan sehingga
penerjemahannya adalah mak = a.

2. Algoritma Dalam Bentuk Kalimat Pseudocode


Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa
pemrogramantingkattinggi. Pseudocode menggunakan bahasa yang hampir menyerupai
bahasa pemrograman. Biasanya pseudocode menggunakan bahasa yang mudah dipahami
secara universal dan juga lebih ringkas dari pada algoritma. Pseudocode berisi deskripsi dari
algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa
bahasa pemrograman tetapi bahasa tersebut hanya di tujukan agar dapat dibaca manusia.
Sehingga pseudocode tidak dapat dipahami oleh komputer. Supaya notasi pseudocodebisa
dipahami oleh komputer maka harus diterjemahkan terlebih dahulu menjadi sintaks bahasa
pemrograman komputer tertentu.
Dalam pseudocode, tidak ada sintaks standar yang resmi. Karena itu, pseudocode ini
dapat diterapkan dalam berbagai bahasa pemograman. Disarankan untuk menggunakan
keyword yang umum digunakan seperti :if, then, else, while, do, repeat, for, dan lainnya.
Keuntungan menggunakan notasi pseudocode adalah kemudahan mentranslasi ke notasi
bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode dengan
notasibahasa pemrograman. Tabel 2.1. menunjukkan perbandingan beberapa kata yang biasa
digunakan dalam penulisan algoritma dengan menggunakan kalimat deskriptif dan
pseudocode.

Tabel 2.1 Perbandingan beberapa kata yang biasa digunakan dalam penulisan algoritma
dengan menggunakan kalimat deskriptif dan pseudocode

Deskriptif Pseudocode
Masukkan panjang Input panjang
Read panjang
Baca panjang
Hitung luas dengan rumus panjang x lebar luas panjang * lebar
Tampilkan luas Output luas
Print luas
Write luas
Jika sudah selesai, cetak luas If kondisi_selesai == true then print luas
Nilai B ditambah 5 B B+5

44
Deskriptif Pseudocode
Jika nilai A lebih kecil dari 5 maka nilai B If A<5 then B B/3
dibagi 3
Jika nilai A lebih besar dari nilai B maka If A>Bthen print A else print B
tampilkan A, jika A lebih kecil dari B maka
tampilkan nilai B

Struktur penulisan pseudocode secara umum sama dengan struktur penulisan algoritma
dengan menggunakan kalimat deskriptif yaitu dimulai dari judul/header, deklarasi/kamus dan
diakhiri dengan deskripsi. Meskipun tidak ada sintaks khusus dalam penulisan pseudocode,
tetapi terkadang pseudocode dituliskan dengan menggunakan style atau gaya penulisan dari
beberapa bahasa pemrograman yang ada, seperti Fortran, Pascal, C dan lain-lain. Gambar 2.7
adalah contoh penulisan pseudocode dengan menggunakan gaya penulisan beberapa bahasa
pemrograman. Gambar 2.8 adalah contoh pseudocode menentukan bilangan terbesar dari 3
masukan bilangan. Sedangkan Gambar 2.9 adalah contoh pseudocode konversi nilai angka
menjadi nilai huruf.

Gambar 2.7 Contoh pseudocode menggunakan gaya penulisan Fortran, Pascal dan C

45
Gambar 2.8 Contoh pseudocode menentukan bilangan terbesar dari 3 masukan bilangan

Gambar 2.9. Contoh pseudocode konversi nilai angka menjadi nilai huruf.

46
Contoh bentuk lain dari algoritma pseudocodeyaitu misalnya algoritma untuk mencari
bilangan terbesar dari tiga bilangan acak sebagai berikut:

Gambar 2.10 Contoh algoritma pseudocode mencari nilai terbesar

3. Algoritma Dalam Bentuk Flowchart


Dalam membuat algoritma, diperlukan suatu mekanisme atau alat bantu untuk
menuangkan hasil pemikiran mengenai langkah-langkahpenyelesaian masalah yang sistematis
dan terurut. Pada dasarnya untuk bisa menyusun solusi diperlukan kemampuan problem-
solving yang baik. Oleh karena itu, sebagai sarana untuk melatih kemampuan tersebut
terdapatsebuah tool (alat) yang dapat digunakan, yakni flowchart. Secara formal, flowchart
didefinisikan sebagai skema penggambaran darialgoritma atau proses. Tabel2.2 berikutini
menampilkan simbol-simbol yang dapat digunakan dalam menyusun flowchart.

47
Tabel 2.2 Simbol-simbol Flowcart

48
Gambar-gambar berikut ini beberapa contoh algoritma dalam bentuk Flowchart:

Gambar 2.11 Contoh algoritma menghitung luas persegi panjang dalambentuk Flowchart

Gambar 2.12 Contoh algoritma membuat telur dadar dalambentuk Flowchart

49
Gambar 2.13 Contoh algoritma deteksi bilangan genap atau ganjil dalambentuk Flowchart

B. KELEBIHAN DAN KEKURANGAN BENTUK-BENTUK ALGORITMA

Terdapat tiga bentuk yang umum digunakan dalam menuliskan algoritma yaitu: kalimat
deskriptif, pseudocode, dan flowchart. Masing-masing bentuk ini memiliki kelebihan dan
kekurangan. Berikut ini adalah penjelasan mengenai kelebihan dan kekurangan bentuk-
bentuk algoritma:

1. Kelebihan dan Kekurangan Algoritma Dalam Bentuk Kalimat Deskriptif


Algoritma dalam bentuk kalimat deskriptif adalah notasi algoritma yang paling
sederhana karena algoritma ini menggunakan bahasa sehari-hari. Kelebihan dari algoritma
bentuk ini adalah dari sisi kesederhanaan dalam pembuatannya dan dapat dipahami dengan
mudah oleh orang awam.
Kekurangan algoritma dalam bentuk kalimat deskriptif adalah untuk permasalahan yang
lebih komplek dan rumit, penggunaan bentuk algoritma ini akan lebih sulit dan seringkali
terjadi ambigu dalam langlah-langkah penyelesaian masalah. Oleh karena itulah untuk kasus-
kasus yang lebih komplek, penggunaan notasi ini jarang sekali bahkan tidak digunakan.

2. Kelebihan dan Kekurangan Algoritma Dalam Bentuk Pseudocode


Pseudocode merupakan sebuah pengembangan dari algoritma, sesuai dengan namanya,
pseudocode menggunakan kode-kode tertentu untuk memberikan penjelasan mengenai cara

50
kerja atau penyelesaian dari suatu masalah. Singkatnya, pseudocode bisa dibilang sebagai
sebuah algoritma yang sudah diubah ke dalam bentuk kode-kode tertentu.
Kelebihan dari pseudocode ini adalah memiliki struktur yang jauh lebih ringkas
dibandingkan dengan algoritma deskriptif, namun demikian masih mudah untuk dimengerti
oleh manusia, dan memiliki struktur yang hampir mirip dengan bahasa pemrograman.
Pseudocode menggunakan banyak sekali command-command yang populer, yang banyak
dipelajari, misalnya saja, IF, ELSE, THEN, serta menggunakan kode atau tanda-tanda tertentu,
seperti tanda underscore (_), tanda koma, titik, tanda kutip, tanda panah kiri dan kanan, serta
tanda lainnya.Untuk dapat membuat sebuah pseudocode, maka harus mengetahui algoritma
dari suatu masalah terlebih dahulu. Setelah itu, barulah, dirubah ke dalam bentuk yang lebih
ringkas, dengan tambahan berupa kode dan tanda tertentu. Keuntungan lain pseudocode
dapat membantu programmer dalam mempelajari dan memahami sebuah alur kerja program,
pseudocode relatif umum dalam artian dapat berbentuk sebagai sebuah programming
principles, tidak menjurus ke sebuah bahasa pemrograman khusus sehingga dapat
diimplementasikan ke berbagai bahasa (C++, C#, Java, Delphi, Basic, PHP, Pythondan lain-lain).
Kekurangan dari algoritma dalam bentuk pseudocodeini adalah bagi kaum awam,
pseudocode akan terlihat seperti sebuah source code bahasa pemrograman tertentu dan akan
dicoba dicompile begitu saja, hal ini akan mengakibatkan error. Selain itu Pseudocode terkesan
rumit dan susah dipelajari jika tidak ditulis dengan rapi.

3. Kelebihan dan Kekurangan Algoritma Dalam Bentuk Flowchart


Dengan menggunakanflowchart, tahapan-tahapan penting dalamalgoritma dapat
ditunjukkan dengan diagram. Aliran proses ditunjukkandengan arah panah atau disebut
dengan ’flowlines’.Kelebihan atau keuntungan menggunakan flowchartadalah penggunaan
diagramuntuk menggambarkan tahapan proses, sehingga lebih mudah dilihat dandipahami.
Namun demikian, flowchart juga memiliki kekurangan atau kelemahan, yaitu jikadigunakan
untuk menggambarkan proses atau algoritma untuk skala kasusyang besar, maka akan
dibutuhkan banyak tempat untuk membuatnya dan akan menghasilkan diagram yang
kompleks.

Latihan

Untuk dapat memperdalam pemahaman Anda mengenai materi di atas, kerjakanlah Latihan
berikut!

1) Sebutkan dan jelaskan bentuk-bentuk penyajian algoritma?


2) Sebutkan dan jelaskan tiga bagian utama algoritma dalam bentuk kalimat deskriptif?
3) Masing-masing bentuk algoritma memiliki kelebihan dan kekurangan, jelaskan?

51
Petunjuk Jawaban Latihan

Untuk membantu Anda dalam mengerjakan soal latihan tersebut silahkan pelajari
kembali materi tentang macam-macam bentuk penyajian algoritma, kelebihan dan
kekurangan bentuk-bentuk algoritma.

Ringkasan

1. Terdapat tiga bentuk yang umum digunakan dalam menuliskan algoritma yaitu: kalimat
deskriptif, pseudocode, dan flowchart.
2. Algoritma dengan kalimat deskriptif disusun oleh tiga bagian utama yaitu: Bagian judul
(header), Bagian deklarasi (kamus), dan Bagian deskripsi.
3. Kelebihan dari algoritma dalam bentuk kalimat deskriptif adalah lebih sederhana dalam
pembuatannya dan mudah dipahami oleh orang awam, sedangkan kekurangannya
untuk permasalahan yang lebih komplek dan rumit, akan lebih sulit dan seringkali terjadi
ambigu dalam langlah-langkah penyelesaian masalah.
4. Pseudocodememiliki kelebihan struktur yang jauh lebih ringkas dan masih mudah untuk
dimengerti oleh manusia, serta memiliki struktur yang hampir mirip dengan bahasa
pemrograman. Kekuranganya bagi kaum awam, pseudocode akan terlihat seperti
sebuah source code bahasa pemrograman tertentu dan terkesan rumit dan susah
dipelajari jika tidak ditulis dengan rapi.
5. Kelebihanflowchart adalah penggunaan diagramuntuk menggambarkan tahapan
proses, sehingga lebih mudah dilihat dandipahami. Kekurangannya jikadigunakan untuk
menggambarkan algoritma untuk skala kasusyang besar, maka akan dibutuhkan banyak
tempat dan akan menghasilkan diagram yang kompleks.

52
Tes 1
Pilihlah salah satu jawaban yang paling benar!

1) Berikut ini merupakan bentuk-bentuk umum penyajian algoritma yang tepat adalah .…
A. Deskriptif, Source code, dan Flowchart
B. Deskriptif, Flowchart dan Pseudocode
C. Flowchart, Deklarasi, dan Pseudocode
D. Bagian deskripsi, Pseudocode, dan Flowchart

2) Penyajian algoritma dalam kalimat deskriptif memiliki tiga bagian utama yaitu .…
A. Deskripsi, Deklarasi, Judul
B. Judul, Deskripsi, Source code
C. Judul, Deklarasi, Deskripsi
D. Judul, Deklarasi, Flowchart

3) Berikut ini definisi pseudecode yang tepat adalah .…


A. Penulisan algoritma yang lebih ringkas dari kalimat deskriptif
B. Penulisan algoritma yang menggunakan souce code bahasa pemrograman tingkat
tinggi
C. Penulisan algoritma yang dengan kode semu
D. Penulisan algoritma yang menyerupai bahasa pemrogramantingkattinggi

4) Keuntungan dari penggunaan Flowchart adalah .…


A. Algoritma yang ringkas dan menyerupai bahasa pemrograman
B. Algoritma menggunakan diagramsehingga lebih mudah dilihat dandipahami
C. Algoritma menggunakan diagramsehingga dapat digunakan dalam kasus yang
kompleks
D. Algoritma lebih ringkas dan mudah dipahami oleh manusia

5) Penyajian algoritma yang sering menimbulkan ambigu untuk kasus yang rumit adalah .…
A. Deskriptif
B. Pseudocode
C. Flowchart
D. Deklarasi

53
Topik 2
Tipe Data
A. JENIS TIPE DATA

Data merupakan bentuk jamak dari bahasa Latin dengan kata datum, yang berarti fakta
atau sesuatu yang diberikan. Data adalah kelompok simbol-simbol yang teratur dan mewakili
kuantitas, tindakan, benda dan sebagainya. Dalam istilah umum data mewakili angka, karakter
dan simbol-simbol lain yang berfungsi sebagai masukan untuk proses komputer. Data bisa
berujut suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-
simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek,
kejadian ataupun suatu konsep.
Data belum mempunyai arti apabila tidak diolah. Data yang telah diolah menjadi sebuah
bentuk yang berarti disebut informasi. Data yang mewakili simbol-simbol bukan merupakan
informasi kecuali dalam pengertian tertentu. Pada komputer data disimpan dalam memori
sebelum dan sesudah pemrosesan oleh mikroprosesor. Jenis data dalam setiap bahasa
pemrograman belum tentu sama, namun sebagian besar biasanya terbagi menjadi tiga, yaitu:
1. Data Numeric atau bilangan, yaitujenis data yang digunakan dalam proses aritmatika
atau proses matematis lainnya.
2. Data String, yaitu jenis data yang dapat terdiri dari berbagai macam karakter. Digunakan
untuk proses yang non matematis.
3. Data Logika, yaitu data yang hanya terdiri dari dua satuan, yaitu benar (true) dan salah
(false). Digunakan dalam suatu proses logika yang terdiri dari persamaan boolean.

Setiap data memiliki tipe data, apakah merupakan angka bulat, angka pecahan, atau
berupa karakter, dan sebagainya. Jadi, tipe data adalah pengelompokan data berdasarkan isi
dan sifatnya. Dalam bidang informatika tipe data adalah jenis data yang dapat diolah oleh
komputer untuk memenuhi kebutuhan dalam pemrogramankomputer.
Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan
dengan pasti tipe datanya. Ketepatan pemilihan tipedata pada variabel atau konstanta akan
sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah
satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk
menghasilkan program yang efisien dan berkinerja tinggi. Ada banyak tipe data yang tersedia,
tergantung jenis bahasa pemrograman yang dipakai. Secara garis besar tipe data dapat
dikategorikan menjadi tiga macam yaitu tipe data dasar (primitive data type), tipe data
bentukan (composite data type) dan tipe data abstrak (abstract data type).

54 Teknologi Informasi Kesehatan III ◼


1. Tipe Data Dasar
Tipe data dasar atau tipe data sederhana atau biasajuga disebut dengan tipe data
primitif adalah tipe data yang sudah ada dan dijadikan standar dalam bahasa pemrograman
tertentu. Isi dari tipe data sederhana ini adalah data-data tunggal. Tipe data dasar sudah
disediakanoleh program sehingga programmer bisa langsung memakai. Tipe data dasar antara
lain:

a. Integer (bilangan bulat)


Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan
merupakan bilangan pecahan.

b. Float atau double (bilangan Real)


Bilangan real adalah bilangan yang mengandung pecahan desimal. Contoh: 3.45, 6,233.

c. Char (karakter)
Karakter adalah semua huruf yang ada di dalam alfabet, tanda baca maupun
karakterspesial. Karakter ditulis diantara dua tanda petik tunggal. Contoh: 'A'.

d. Boolean (logika)
Boolean adalah tipe data logika yang terdiri dari dua pernyataan benar atau salah.
Pernyataan benar biasanya ditulis True atau angka 1, sedangkan pernyataan salah ditulis
dengan False atau angka 0. Sedangkan operasi aritmatika yang umum digunakan adalah or,
not, and dan xor.

2. Tipe Data Bentukan


Tipe data bentukan atau tipe data komposit adalah tipe data yang dibentuk dari tipe
data dasar dengan maksud mempermudah pekerjaan programer. Yang masuk dalam tipe data
bentukan adalah array, string, record, union, struct, dan lain-lain. Tujuan dibuatnya tipe data
bentukan adalah:
a. Mempermudah proses pemrograman
b. Mempermudah dalam penambahan variabel
c. Mempermudah pengelompokan data sehingga lebih teratur

3. Tipe data abstrak


Tipe data abstrak atau yang dikenal sebagai Abstract Data Type adalah model
matematika dari obyek data yang menyempurnakan tipedata dengan cara mengaitkannya
dengan fungsi-fungsi yang beroperasi pada data yangbersangkutan. Tipe data abstrak adalah

55
tipe data yang didefinisikan sendiri oleh pemrogram untuk suatu keperluan tertentu yang
tidak memungkinkan untuk mendeklarasikan dari tipe data yang sudah ada. Contoh tipe data
abstrak adalah stack, queue, list, tree, graph, danlain-lain.
Harus dibedakan antara pengertian struktur data dantipe data abstrak. Struktur
datahanya memperlihatkan bagaimana data-data di organisir, sedangkan tipe data abstrak
mengemas struktur data tertentu sekaligus dengan operasi-operasi yang dapat dilakukan
pada struktur data tersebut. Dengan demikian, definisi umum tentang tipe data abstrak dapat
dipahami bahwa tipe data abstrak adalah struktur data yang mengandung operasi-operasi
atau aturan-aturan tertentu.

Berikut ini penjelasan beberapa jenis tipe data bentukan dan tipe data abstrak :
1. Array
Array adalah suatu alokasi beberapa tempat di memori yang tersimpan secara
berurutan yang digunakan untuk menyimpan beberapa nilai dengan tipe data yang homogen.
Ukuran atau jumlah elemen maksimum array telah diketahui dari awal yaitu ketika array
dibuat. Sekali ukuran array ditentukan maka tidak dapat diubah. Ukuran arrayadalah bilangan
bulat positif. Array harus diberi nama sebagai identifikasi. Cara mengaksesnya adalah dengan
menyebutkan nama array dan indeksnya.Indeks array dimulai dari 0 sampai dengan n-1 (n
adalah ukuran array). Ilustrasi array dapat dilihat pada Gambar 2.14 berikut ini:

Gambar 2.14 Ilustrasi Array

Operasi terhadap elemen array dilakukan dengan pengaksesan langsung. Artinya nilaidi
masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati posisi-
posisi lain. Dua operasi paling dasar terhadap satu elemen array adalah penyimpanan nilai
elemen ke posisi tertentu di array dan pengambilan nilai elemen dari posisi tertentu di array.
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan
pengambilan nilai elemen pada posisi tertentu di array. Contohnya:
a. Nilai Mhs[7] = 80, berarti menyimpan nilai 80 ke posisi ke-7 dari array NilaiMhs.
b. Nama = Mahasiswa [20], berarti mengambil nilai elemen posisi ke-20 dari array
Mahasiswa dan menyimpan nilai tersebut ke variabel yang bernama “Nama”.

56
Contoh cara mengakses elemen array yang lain dapat dilihat di Gambar 2.15. Contoh
penggunaan array dalam permasalahan sederhana adalah pengurutan 3 buah bilangan seperti
terlihat pada Gambar 2.16. Untuk mengurutkan tiga buah bilangan dibutuhkan operasi
perbandingan yang menghasilkan kondisi benar atau salah (> atau <).

Gambar 2.15 Cara mengakses elemen array

Gambar 2.16 Contoh penggunaan array

57
Array memiliki kelebihan dan kekurangan, kelebihan arrayadalah sebagai berikut:
a. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu
secara langsung tanpa melalui elemen-elemen lain.
b. Jika telah berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-
elemen tetangga, baik elemen pendahulu atau elemen penerus.

Sedangkan untuk kekurangan array adalah sebagai berikut:


a. Array mempunyai fleksibilitas rendah, karena array mempunyai batasan harus bertipe
homogen. Tidak dapat mempunyai arrayjika satu elemen adalah karakter, elemen lain
bilangan, dan elemen lain adalah tipe-tipe lain.
b. Kebanyakan bahasa pemrograman mengimplementasikan array dengan ukuran statik
yang sulit diubah ukurannya di waktu eksekusi. Bilapenambahan dan pengurangan
terjadi terus-menerus, maka representasi statis inibersifat tidak efisien dalam
penggunaan memori.

Dalam bidang pemrograman, array dapat dibuat denganberbagai macam dimensi.


Semisal array dimensi satu akan mirip dengan pola linier seperti pada Gambar 2.14.Sedangkan
array 2 dimensi akan tampak seperti tabelatau matrik. Cara mengaksesnya adalah dengan
menyebutkan nama matrik serta baris dan kolomnya. Sedangkan array 3 dimensi akan tampak
seperti balok. Ilustrasi array 2 dan 3 dimensi dapat dilihat pada Gambar 2.17 berikut ini:

Gambar 2.17 Ilustrasi array 2 dimensi dan array 3 dimensi

2. Stack
Secara bahasa, stack berarti tumpukan. Jika dikaitkan dengan struktur data, stack berarti
sekumpulan data yang strukturnya menyerupaitumpukan. Stack harus diberi nama sebagai
identifikasi. Konsep penyimpanan data pada stack menganut sistem "yang terakhir masuk
sebagai yang pertama keluar" (Last In First Out/ LIFO). Dengan konsep ini, urutan pengambilan
data akan berkebalikan dengan urutan penyimpanan data. Elemen yang terakhir disimpan

58
akan menjadi yang pertama kali diambil. Dengan konsep ini maka kita tidak dapat mengambil
data yang tersimpan dalam stack secara acak. Data dalam stack harus disimpan dan diambil
dari satu sisi atau satu pintu saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring
di sebuah restoran yang tumpukannyadapat ditambah pada bagian paling atas dan jika
mengambilnya pun dari bagian paling atas pula.
Cara mengakses stack adalah dengan melakukan operasi dasar pada stack yaitu operasi
pushdan pop. Dimisalkan pintu keluar masuknya data pada stack disebut dengan TOP
sebagaimana dilihat pada Gambar 2.18. Operasi push adalah proses memasukkan data baru
ke stack melalui pintu TOP sehingga data terbaru akan terletak pada posisi teratas. Operasi
pop adalah proses mengeluarkan atau mengambil data dari stack dan data yang diambil
adalah data yang terletak di posisi teratas. Dengan konsep LIFO maka ketika operasi push
dilakukan maka informasi yang diperlukan hanyalah isi atau nilai atau elemen yang akan
disimpan atau diambil saja. Operasi push dan pop tidak memerlukan informasi posisi data.
Sebagai ilustrasi, stack dapat dilihat seperti pada Gambar 2.18, tampak bahwa stack tersebut
bernama S.

Gambar 2.18 Ilustrasi Stack

Bagian Top pada stack merupakan pintu untuk keluar masuknya data–data stack. A, B,
dan C merupakan suatu koleksi. Dari ilustrasi dapat diketahui bahwa C merupakan data yang
terakhir memasuki stack namun pertama keluar dari stack. Begitu sebaliknya dengan A,A
merupakan data pertama yang memasuki tumpukan namun terakhir saat keluar dari
tumpukan. Di dalam gambar juga terlihat urutan masuk dan keluar yang berkebalikan. Data
yang masuk pertama akan keluar terakhir dan sebaliknya.

59
3. Queue
Secara bahasa queue adalah antrian. Queue adalah suatu kumpulan data dengan operasi
pemasukan atau penyimpanan data hanya diperbolehkan pada salah satu sisi, yang disebut
sisi belakang (rear) dan operasi pengambilan atau penghapusan hanya diperbolehkan pada
sisi lainnya yang disebut sisi depan (front). Konsep ini dikenal dengan istilah First In First Out
(FIFO). Ilustrasi queue dapat dilihat pada Gambar 2.19 berikut ini :

Gambar 2.19 Ilustrasi queue

Jenis struktur data queue sering digunakan untuk menstimulasikan keadaan dunia nyata.
Antrian banyak dijumpai dalam kehidupan sehari-hari. Contoh yang paling populer untuk
membayangkan sebuah queue adalah antrian padakasir sebuah bank. Ketika seorang
pelanggan datang, akan menuju ke belakang dari antrian. Setelah pelanggan dilayani, antrian
yang berada di depan akan maju. Pada saat menempatkan data pada ujung (rear)dari queue
disebut dengan enqueue, pada saat memindahkan elemen dari kepala (front) sebuah
queuedisebut dengan dequeue. Sama dengan stack, dengan konsep FIFO maka ketikaoperasi
enqueue dilakukan maka informasi yang diperlukan hanyalah isi atau nilai atau elemen yang
akan disimpan atau diambil saja. Operasi enqueue dan dequeue tidak membutuhkan informasi
posisi data. Dari ilustrasi di Gambar 2.19 dapat diketahui bahwa C merupakan data yang
terakhir memasuki queue Q dan akan menjadi yang paling akhirkeluar dari queue. Begitu
sebaliknya dengan A, A merupakan data pertama yang memasuki queue dan akan menjadi
yang pertama saat keluar dari queue.

4. Tree
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen. Bentuk tree
menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling
berhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. Sehingga tree bisa
didefinisikan sebagai kumpulan simpul atau node dengan elemen khusus yang disebut root
atau akar. Ilustrasi tree dapat dilihat di Gambar 2.20. Contoh data yang dapat

60
direpresentasikan dengan menggunakan tree adalah silsilah keluarga, hasil pertandingan yang
berbentuk turnamen, atau struktur organisasi dari sebuah perusahaan.

Gambar 2.20 Ilustrasi Tree

Dalam pemrograman, sebuah tree terdiri dari elemen-elemen yang dinamakan node
(simpul) yang mana hubungan antar simpul bersifat hirarki. Contoh node pada Gambar 3.20
adalah node A, node B, node C dan seterusnya sampaidengan node K. Jadi Gambar 3.20
memiliki node sebanyak 11 node. Node yang paling atas dari hirarki dinamakan root, yaitu
node A. Simpul yang berada di bawah root secara langsung, dinamakan anak dari root, yang
mana biasanya juga mempunyai anak di bawahnya. Sehingga bisa disimpulkan, kecuali
root,masing-masing simpul dalam hirarki mempunyai satu induk (parent). Jumlah anak sebuah
simpul induk sangat bergantung pada jenis dari pohon.
Setiap node dapat memiliki 0 atau lebih node anak (child). Sebuah node yang memiliki
node anak disebut node induk (parent). Sebuah node anak hanya memiliki satu node induk.
Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak seperti pohon di dunia nyata
yang tumbuh ke atas. Dengan demikian node anak akan digambarkan berada di bawah node
induknya. Node yang berada di pangkal tree disebut node root (akar), sedangkan node yang
berada paling ujung tree disebut node leaf (daun).

5. Graph
Dalam bidang matematika dan ilmu komputer, graph adalah struktur yang
menggambarkan relasi antar obyek dari sebuah koleksi obyek. Jika struktur linear; misalnya
array; memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur

61
data tree memungkinkan pendefinisian keterhubunganhirarkis, maka struktur graph
memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data.
Banyak obyek dalam masalah-masalah nyata secara alamiah memiliki keterhubungan
langsung secara tak terbatas. Contohnya informasi topologi dan jarak antar kota-kota di suatu
pulau. Dalam masalah ini kota x bisa berhubungan langsung dengan hanya satu atau lima kota
lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat
diperoleh berdasarkan data keterhubungan langsung dari kota-kota lainnya yang
memperantarainya. Contoh lain penggunaan graph adalah untuk menggambarkan jaringan
dan jalur kereta api, lintasan pesawat, sistem permipaan, saluran telepon, koneksi elektrik,
ketergantungan diantara taskpada sistem manufaktur dan lain-lain. Terdapat banyak hasil dan
struktur penting yang didapatkan dari perhitungan dengan graph.
Definisi dari suatu graph adalah himpunan obyek-obyek yang disebut node (atau vertek)
yang terhubung oleh edge. Biasanya graph digambarkan secara grafis sebagai kumpulan
lingkaran yang melambangkan node yang dihubungkan oleh garis yang melambangkan edge.
Edge dalam suatu graph bisa berupa edge berarah atau tidak berarah. Ilustrasi graph dapat
dilihat pada Gambar 2.21. Pada gambar tersebut terlihat bahwa graph memiliki 5 buah node.
Pada ilustrasi ini dimisalkan node mewakili sebuah kota. Maka dapatdilihat bahwa dari kota A
menuju kota E bisa dilalui melalui path A-B-E atau path A-C-D-E.

Gambar 2.21 Ilustrasi graph

B. VARIABEL DAN KONSTANTA

Variabel dan konstanta adalah suatu pengenal (identifier) yang digunakan untuk
mewakili suatu nilai tertentu didalam proses program. Berbeda dengan konstanta yang
nilainya tidak bisa diubah atau selalu tetap selama eksekusi berlangsung, nilai dari suatu
variabel dapat berubah sesuai kebutuhan. Konstanta dan variabel merupakan tempat di
memori komputer untuk menyimpan data berupa nilai dengan tipe data tertentu. Konstanta
dan variabel harus diberi nama sebagai identifikasi.

62
Secara logika dapat dibayangkan sebuah konstanta atau variabel sebagai sebuah kotak
kosong yang dapat diisi dengan sesuatu tipe data tertentu, misal kita membuat sebuah
variabel berupa bilangan bulat, maka dalam logika, kita sedang membuat kotak kosong yang
hanya dapat diisi dengan kertas bertuliskan bilangan bulat, tidak boleh jenis bilangan selain
bilangan bulat. Ilustrasi logika ini dapat dilihat pada Gambar 3.22. Pada Gambar
3.22dimisalkan membuat dua buah konstanta atau variable dengan nama identifiernilaidan
Xyang masing-masing dapat digunakan untuk menyimpan suatu nilai dalam memori sesuai
dengan tipe data yang telah ditentukan.

Gambar 2.22 Ilustrasi pembuatan variabel atau konstanta

Semisal nilaidi Gambar 2.22 adalah sebuah variabel. Maka variabel nilai yang telah
dibuat ini selanjutnya dapat digunakan dalam program, semisal dilakukan operasi aritmatika
berupa operasi pembagian (/) atau modulo (%). Gambar 2.23 menunjukkan ilustrasi operasi
yang terjadi pada variabel nilai. Dalam hal ini variabel nilai dibagi dengan angka 2, dan hasil
operasi pembagian disimpan dalam variabel baru yangbernama hasilbagi. Operasi aritmatika
lain yang terjadi pada Gambar 2.23 adalah variabel nilai dimodulo dengan angka 2 dan hasilnya
disimpan dalam variabel baru yang bernama sisabagi. Operasi pada suatu konstanta atau
variabel tidak hanya terbatas pada operasi aritmatika saja, tetapi juga dapat berupa operasi
perbandingan. Misalnya nilai apakah lebih besar dari angka 10 (nilai>10) dan lain-lain. Contoh
penggunaan variabel nilai dalam permasalahan sederhana adalah penentuan suatu bilangan
termasuk dalam kategori ganjil atau genap seperti terlihat pada Gambar 2.24.

Gambar 2.23 Ilustrasi penggunaan variabel

63
Gambar 2.24 Contoh penggunaan variabel

Berikut ini pembahasan variabel dan konstanta dalam bahasa pemrograman:


1. Variabel
Variabel dapat disebut juga sebagai peubah adalah obyek yang nilainya dapat berubah-
ubahdalam sebuah program. Pada saat sebuah variabel dideklarasikan, program‘memesan’
tempat dengan ukuran tertentu (sesuai tipe datanya) pada memoriuntuk menyimpan nilai dari
variabel tersebut. Pemrogram dapat memberikannama pada sebuah variabel untuk
mempermudah pemanggilan variable tersebut di dalam program. Pada saat mendeklarasikan
sebuah variabel, pemrogram harus menyebutkan nama variabel dan tipe data dari variabel
tersebut. Gambar 2.25 berikut ini adalah contoh pembuatan variabel atau deklarasi variabel
dalam bentuk pseudocode.

Gambar 2.25 Deklarasi variabel dalam pseudocode

Pseudocode pada gambar 2.25 tersebut dapat ditulis dalam bahasa C seperti pada
Gambar 2.26 berikut ini:

64
Gambar 2.26 Deklarasi variabel dalam bahasa C

Secara teori, pemrogram dapat memberikan nama apapun pada sebuahvariabel karena
penamaan variabel bertujuan untuk memudahkan pemanggilankembali. Namun, ada
beberapa panduan yang biasa diacu pemrogram dalampenamaan variabel, antara lain:
a. Huruf pertama pada nama variabel menunjukkan tipe data dari variabel.
Contoh: diawali dengan ‘c’ untuk variabel char, ‘i’ untuk integer, ‘s’untuk string, dan
seterusnya. Panduan penamaan ini disebut denganCharles Simyoni Hungarion Notation.
b. Nama variabel harus cukup jelas menunjukkan tujuan penggunaanvariabel tersebut.
Contoh: sNama adalah variabel string untuk menyimpan nama, cJenis Kelamin adalah
variabel char untuk menyimpan jenis kelamin, bStatus adalah variabel boolean untuk
menyimpan status.
c. Nama variabel tidak boleh mengandung spasi kosong atau karakter khusus ! @ # $ % ^
& * ( ) { } [ ] ’ ” ; : <> , . / ? | dan \. Beberapapemrogram menggunakan ‘_’ untuk
memisahkan kata di nama variabel.
Contoh: cJenis_kelamin, sNama_orang_tua, iNilai_akhir
d. Cara lain untuk memisahkan kata dalam nama variabel adalah denganmemberikan
huruf besar di awal tiap kata.
Contoh: cJenisKelamin, sNamaOrangTua, iNilaiAkhir

Setelah sebuah variabel dideklarasikan, variabel dapat menyimpan nilai.Pengisian nilai


ke dalam sebuah variabel dalam sebuah program dapatdilakukan dengan 2 cara, yaitu:
a. Secara langsung
Contoh:
cJenisKelamin = ‘P’
sNamaOrangTua = ‘Jeremy Thomas’
iNilaiAkhir = 99

65
b. Dengan inputan
Contoh:
Input (cJenisKelamin)
Input (sNamaOrangTua)
Input (iNilaiAkhir)

Penggunaan kedua cara pengisian nilai variabel ini akan diperjelas dalam flowchartyang
ditunjukkan pada Gambar 2.27 berikut ini:

Gambar 2.27 Pengisian Variabel dalam Flowchart.

Untuk memperjelas pengisian nilai variabel dalam bahasa pemrograman, Gambar 2.28
berikut ini contoh memberikan nilai pada variabel dalam bahasa C:

Gambar 2.28 Contoh memberikan nilai pada variabel

Pada contoh program diatas, kita melihat ada tanda “%i” dan “%s”.Fungsi tanda tersebut
adalah untuk menkonversi nilai inputan menjadi tipeyang sesuai dengan yang diterima atau
mengubah nilai dari tipe data dasarmenjadi tipe karakter untuk ditampilkan dilayar. Karena
pada dasarnya, dalampemprograman bahasaC atau C++ nilai input atau nilai yang dapat

66
ditampilkanberupa karakter. Sedangkan didalam program, nilai tersebut harus sesuaidengan
tipe data yang dideklarasikan. Sebagai contoh pada baris ke-10,variabel “1B” tipe datanya
adalah integer. Untuk mengubah tipe masukanmenjadi integer, maka digunakan “%i”.
Biasanya, string tersebut diawalidengan huruf pertama tipe datanya, misalnya float -> %f,
String ->%s dan seterusnya. Khusus untuk inputan, nama variabelnya harus diawalidengan
string “&” seperti tampak pada baris ke 9 dan 10.

2. Konstanta
Pada variabel, nilai yang disimpan dapat berubah-ubah selama programdijalankan.
Sedangkan pada pada konstanta, nilai yang disimpan tetap dan tidakdapat diubah sejak
dideklarasikan hingga program berakhir. Setelah sebuah konstanta dideklarasikan, konstanta
dapat digunakandalam program dan nilainya selalu tetap. Deklarasi konstanta dalam
flowchartdigambarkan sebagai sebuah proses. Misalnya seperti gambar 2.29 berikut ini :

Gambar 2.29 Deklarasi konstanta dalam Flowchart

Cara penulisan konstanta didalam program menggunakan aturan penulisan masing-


masing bahasa pemrograman yang digunakan, sebagai contoh dalam bahasa C di tulis dengan
diawalidengan tanda crash (#) kemudian diikuti dengan define, selanjutnya
namakonstantanya dan selanjutnya nilainya dan ditulis diluar program utama
setelahpendeklarasian library namespace. Contoh penulisannya adalah sebagai berikut:

Gambar 2.30 Deklarasi konstanta dalam program

67
Dalam mengoperasikan tipe data, variabel dan konstanta pada program tertentu
diperlukan operator. Operator adalah pengendali operasi yang akan dilakukan padabeberapa
operan sehingga membentuk sebuah ekspresi. Secara umum, dalamsebuah ekspresi terdapat
sebuah operator yang diapit dua operan. Contohnyapada ekspresi:
x+y
x dan y adalah operan, sedangkan
‘+’ adalah operatornya

Terdapat lima macam operator yang biasa digunakan dalampemrograman, yaitu:


a. Operator aritmatik
Operator ini membentuk perhitungan aritmatik. Kedua operan darioperasi aritmatik ini
dapat berupa nilai integer atau real.Operator yang termasuk tipe ini adalah seperti tabel 2.3
berikut ini:
Tabel 2.3 Operator aritmatik

Output dari operasi aritmatik akan memiliki tipe data yang samadengan tipe data kedua
operannya. Misalnya, jika sebuah bilanganinteger dijumlahkan dengan bilangan integer
lainnya maka outputnyaadalah bilangan integer juga. Selain itu perlu diperhatikan pula
bahwasebuah operator aritmatik tidak dapat diterapkan pada dua bilangandengan tipe data
yang berbeda. Berikut ini contoh program dengan operator aritmarik:

68
Gambar 2.31 Contoh program dengan operator aritmatik

Program di atas akan mengembalikan nilai hasil penjumlahan sesuaidengan inputan.


Misalnya pada inputan pertama dimasukan 10 danyang kedua dimasukan 23 maka hasilnya
adalah 33. Outputnya adalah:

Gambar 2.32 Output program dengan operator aritmatik

b. Operator Assignment
Dalam pemprograman bahasa C++, Operator ini digunakanmemasukan nilai kedalam
sebuah variabel, tanpa menghilangkan ataumengosongkan nilai variabel sebelumnya. Contoh
penggunaan operatorini adalah seperti tabel 2.4 berikut ini :

69
Tabel 2.4 Oparator Assignment

c. Increase and decrease


Penulisan ini dilambangkan dengan ++ (Increase) dan -- (decrease).Operator ini
berfungsi untuk menaikan atau menurunkan satu satuan nilai pada sebuah variabel. Contoh
penggunaannya pada Gambar 2.33 berikut ini:

Gambar 2.33 Contoh penggunaan operator increase

Ada dua macam penulisan operator ini, yaitu simbol dapat ditulisebelum nama variabel
dan setelah variabel. Adapun perbedaan antarakeduanya ditunjukan pada pada gambar 2.34
berikut ini:

Gambar 2.34 Cara penulisan operatorIncrease and decrease

d. Operator relasional
Operator ini membandingkan dua operan dan hasilnya berupa nilaiboolean (BENAR atau
SALAH). Operasi relasional dapat dilakukanpada dua nilai dengan tipe data yang sama: tipe
data integer, riil, char, string, maupun boolean. Berikut ini adalah operator relasional:

70
Tabel 2.5 Operator relasional

Contoh penggunaan operator relasional dalam algoritmapseudocode sebagai berikut:

Gambar 2.35 Contoh operator relasional dalam algoritma

e. Operator logika
Operator logika adalah operator yang digunakan untukmengkombinasikan hasil ekspresi
yang mengandung operatorrelasional.Tiga macam operator logika adalah:

Tabel 2.6 Operator logika

Pola penggunaan operator logika adalah:


ekspresi1 OPERATOR ekspresi2
Output dari penggunaan operator AND dan OR adalah sebagaiberikut:

71
Tabel 2.7 Output penggunaan operator AND dan OR

Pola yang mudah untuk mengingat output kedua operator logikatersebut adalah:
TrueAND True = True, False OR False = False.
Beberapa contoh penggunaan operator logika:
1) (x > 7) && (x = y)
Jika ternyata nilai x adalah 8 dan y adalah 5, maka
(8 > 7) && (8 = 5)
True AND False
False (output operasi)
2) (x != y) || (x > 3)
Jika ternyata nilai x adalah 4 dan y adalah 4, maka
(4 != 4) || (4 > 3)
False OR True
True (output operasi)
3) NOT (x > y)
Jika ternyata nilai x adalah 3 dan y adalah 3, maka
NOT (3 > 3)
NOT (False)
True (output operasi)

Latihan

Untuk dapat memperdalam pemahaman Anda mengenai materi di atas, kerjakanlah Latihan
berikut!

1) Jelaskan pengertian Data ?


2) Secara garis besar tipe data dapat dikategorikan menjadi tiga macam, jelaskan ?
3) Sebutkan dan jelaskan apa saja yang termasuk dalam tipe data dasar ?
4) Salah satu tipe data bentukan adalah Array, jelaskan kelebihan dan kekurangan tipe data
Array?

72
5) Jelaskan perbedaan Stack dan Queue?
6) Jelaskan apa yang dimaksud variabel dan konstanta ?
7) Sebutkan dan jelaskan jenis-jenis operator?

Petunjuk Jawaban Latihan

Untuk membantu Anda dalam mengerjakan soal latihan tersebut silakan pelajari
kembali materi tentang jenis tipe data, variabel dan operator.

Ringkasan

1. Data adalah kelompok simbol-simbol yang teratur dan mewakili kuantitas, tindakan,
benda dan sebagainya.
2. Jenis data dalam setiap bahasa pemrograman belum tentu sama, sebagian besar
biasanya terbagi menjadi tiga, yaitu: data numeric, data string, dandata Logika
3. Secara garis besar tipe data dapat dikategorikan menjadi tiga macam yaitu tipe data
dasar (primitive data type), tipe data bentukan (composite data type) dan tipe data
abstrak (abstract data type).
4. Variabel dan konstanta adalah suatu pengenal (identifier) yang digunakan untuk
mewakili suatu nilai tertentu didalam proses program.
5. Perbedaan variabel dan konstanta adalah konstanta nilainya tidak bisa diubah atau
selalu tetap selama eksekusi berlangsung, sedangkan nilai dari suatu variabel dapat
berubah sesuai kebutuhan.
6. Operator adalah pengendali operasi yang akan dilakukan padabeberapa operan
sehingga membentuk sebuah ekspresi.
7. Terdapat lima macam operator yang biasa digunakan dalampemrograman, yaitu:
operator aritmatik, operator assignment, increase and decrease, operator relasional,
dan operator logika.

73
Tes 2
Pilihlah salah satu jawaban yang paling benar!

1) Kelompok simbol-simbol yang teratur dan mewakili kuantitas, tindakan, benda dan
sebaganya disebut .…
A. Data
B. Tipe data
C. Data dasar
D. Data logika

2) Secara garis besar tipe data dapat dikategorikan menjadi tiga macam yaitu ....
A. primitive data type, composite data type, data logika
B. primitive data type, composite data type, abstract data type
C. data numeric, data string, data Logika
D. primitive data type, data string, composite data type

3) Berikut ini pernyataan yang tepat mengenai varibel dan konstanta adalah .…
A. Variabel nilainya selalu tetap
B. Konstanta nilainya berubah-ubah
C. Konstanta nilainya dapat bertambah
D. Variabel nilainya dapat berubah-ubah

4) Ada beberapa panduan yang biasa diacu oleh programmer dalampenamaan variabel,
berikut ini panduan yang tidak boleh dipakai oleh programmer adalah .…
A. Huruf pertama pada nama variabel menunjukkan tipe data dari variabel.
B. Nama variabel harus cukup jelas menunjukkan tujuan penggunaanvariabel
tersebut.
C. Cara lain untuk memisahkan kata dalam nama variabel adalah denganmemberikan
huruf besar di awal tiap kata.
D. Nama variabel boleh mengandung spasi kosong atau karakter khusus ! @ # $ % ^
& * ( ) { } [ ] ’ ” ; : <> , . / ? | dan \.

74
5) Operator yangmembandingkan dua operan dan hasilnya berupa nilai Boolean adalah .…
A. Operator logika
B. Operator aritmatik
C. Operator relasional
D. operator assignment

75
Kunci Jawaban Tes
Tes 1
1) B
2) C
3) D
4) B
5) A

Tes 2
1) A
2) B
3) D
4) D
5) C

76
Glosarium
Abstract data type : model matematika dari obyek data yang menyempurnakan tipedata
dengan cara mengaitkannya dengan fungsi-fungsi yang beroperasi
pada data yangbersangkutan.
Composite data type : tipe data bentukan atau tipe data komposit adalah tipe data yang
dibentuk dari tipe data dasar dengan maksud mempermudah
pekerjaan programmer.
Flowchart : suatu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses secara mendetail dan hubungan antara suatu proses
(instruksi) dengan proses lainnya dalam suatu program.
Primitive data type : tipe data dasar atau tipe data sederhana atau biasajuga disebut
dengan tipe data primitif adalah tipe data yang sudah ada dan
dijadikan standar dalam bahasa pemrograman tertentu.

77
Daftar Pustaka
Ananda, D., A. Suryan, P. Mayadewi, L. Rasiana dan H. Kusmayadi. 2009. Algoritma dan
Pemrograman. Politeknik Telkom Bandung.

Barakbah, A.R; T. Karlita dan A.S. Ahsan. 2013. Logika dan Algoritma. Politeknik Elektronika
Negeri Surabaya.

Munir, R. 2007. Algoritma dan Pemrograman Dalam Bahasa Pascal dan C. Informatika.

Suprapto. 2008. Bahasa Pemrograman untuk Sekolah Menengah Kejuruan. Departemen


Pendidikan Nasional.

78

Anda mungkin juga menyukai