algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis dan logis
(masuk akal) yang memiliki awalan (start) dan akhiran (end) untuk menyelesaikan suatu masalah. Struktur
algoritma secara umum adalah :
Judul Algoritma / Nama_Algoritma : { Penjelasan mengenai algoritma, yang berisi uraian singkat
mengenai apa yang dilakukan oleh algoritma }
Deklarasi : { Semua bahan dan alat yang dibutuhkan selama algoritma dijalankankan, atau dalam algoritma
meliputi variabel yang dipakai, nama tipe, konstanta, nama prosedur dan nama fungsi didefinisikan di sini }
Deskripsi : { Semua langka, proses, atau statement algoritma dituliskan di sini, biasanya langkah-langkah
diberikan penomoran untuk memudahkan penelusuran dan organisasi. }
variabel adalah suatu nama simbolik, bisa dinyatakan dengan alfabet (huruf) tunggal atau rangkaian
huruf, atau rangkaian huruf dan angka atau simbol-simbol, yang akan diberikan informasi atau nilai tertentu serta
menetukan lokasi penyimpanan datanya pada memori komputer.
Tipe data adalah jenis data yang akan diolah oleh algoritma atau program komputer
untuk diharapkan. Secara garis besar 3 macam tipe data yaitu:
Tipe data sederhana adalah tipe data yang hanya memuat data tunggal saja. Yang termasuk tipe
data ini adalah :
A. Numeric. Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk
angka.
Integer. Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori. Contoh variabel
yang dapat menggunakan tipe data ini misalkan, banyaknya data, tinggi badan, panjang kata, suku ke-n
dari sebuah barisan, jumlah anak, tahun, bulan (dalam angka), dan sebagainya.
Tipe Data Ukuran Tempat Rentang Nilai
Byte 1 byte 0 s/d +255
Shortint 1 byte -28 s/d +127
Integer 2 bytes -32768 s/d 32767
Word 2 bytes 0 s/d 65535
Longint 4 bytes 2147483648 s/d 2147483647
Real. Merupakan bilangan yang berisi titik desimal atau jenis bilangan pecahan. Contoh variabel yang
menggunakan tipe data ini, LuasLingkaran, Rerata, VolumeTabung, suhu, dan sebagainya.
Tipe Data Ukuran Tempat Rentang Nilai
Real 6 bytes 2.9 x 10-39 s/d 1.7 x1038
single 4 bytes 1.5 x 1045 s/d 3.4 x 1038
Double 8 bytes 5.0 x 10-324 s/d 1.7 x 10308
extended 10 bytes 3.4 x 10-4932 s/d 1.1 x 104932
comp 8 bytes -9.2x 1018 s/d 9.2x 1018
B. Karakter (char)
Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter. Ukuran untuk tipe data
karakter adalah 1 byte (1 byte = 8 bit). Untuk penulisan karakter menggunakan tanda petik tunggal (‘ ) di depan
dan belakang karakter yang ditulis.
Nilai-nilai yang termasuk karakter adalah :
Karakter huruf : ‘a’..’z’,’A’..’Z’
Karakter angka : ‘0’..’9’
Karakter tanda baca : titik, koma, titik koma, titik dua dan sebagainya
Karakter khusus : $, %, #, @ dan sebagainya.
Contoh variabel yang menggunakan tipe data ini adalah JenisKelamin, bisa “L” atau “P”, persetujuan bisa
“Y” atau “N, Inisial nama depan, dan sebagainya.
C. String
Tipe data string merupakan susunan dari satu atau lebih karakter. Sebagai contoh: “abc”, “HAPPY”,
“100102001”. Biasanya untuk mendefinisikan tipe data string ini harus diberikan batasan maksimal berapa
ukuran atau panjang maksimal string yang bisa dialokasikan.
Sebagai contoh: variabel nama bertipe data String[30], artinya maksimal panjang nama adalah 30 huruf.
Variabel lain yang menggunakan tipe data ini adalah Alamat, TempatLahir, NomorHP, Sekolah, dan sebagainya.
D. Boolean
Boolean adalah tipe data yang digunakan untuk menyatakan status Benar atau Salah dari
suatau variabel. Jadi hanya dua nilai pada tipe data ini yaitu Benar dan Salah.
Sebagai contoh variabel yag dapat digunakan tipe data ini adalah: statusKelulusan (bisa Benar atau Salah),
StatusPrima, StatusMenikah (bisa benar atau salah).
adalah tipe data yang menampung banyak nilai dan merupakan kumpulan dari data-data tunggal. Sebagai
contoh, Data Seorang Siswa yang terdiri dari Nama, Nomor Induk Siswa, Alamat, Tempat Lahir, tanggal lahir,
Nama Orang Tua, Kelas dan sebagainya apakah harus diberikan nama variabel yang berbeda beda? Tentu tidak.
Data seorang siswa dapat dikumpulkan dalam satu wadah dengan mengatur data-data tersebut secara terstruktur.
A. Array
Array dapat diartikan sebagai larik, atau barisan. Array digunakan untuk menyimpan banyak
data dengan tipe data yang sama (homogen) dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung
banyak data namun dengan satu tipe data yang sama, misalnya data dengan tipe integer semua atau real semua.
Sebagai contoh, dalam sebuah algoritma diberikan input sejumlah data ulangan anak, misalkan 100
anak.karena semua nilai ulangan anak memiliki tipe data yang sama, yaitu integer, maka dapat dibuatkan array-
nya menjadi : Daftar Nama merupakan array[1..100] of string[25]
Artinya DaftarNama merupakan barisan 100 data yang bertipe string dengan ukuran karakter maksimal 25.
Jika dituliskan daftarNama[ i ], artinya isi dari daftarNama ada pada indeks/urutan ke-i.
B. Record
Record adala tipe data yang bisa menampung data-data dengan tipe yang berbeda (heterogen). Sebagai
contoh data seorang siswa, bisa terdiri dari Nama, Nomor Induk Siswa, Alamat, Tempat Lahir, Jenis Kelamin,
Kelas Umur. Agar data tersebt menjadi satu kesatuan informasi maka dapat dibuatkan tipe data Record –nya
dengan nama DataSiswa, Berikut rincian Record DataSiswa.
Data Tipe Data Keterangan
Data nama bertipe string karena terdiri dari banyak huruf/karakter, dan maksimal 25
Nama String [25]
huruf/karakter. Misal Nama = M. Alfatih (data ini terdirir dari 10 huruf/karakter)
Data NIS bertipe numeric karena terdiri dari banyak angka tapi bukan untuk
NIS numeric [10]
hitungan, dan maksimal 10 angka. Misal NIS = 11070065 (terdiri dari 8 angka)
Tgl.Lahir Date [10] Data nama bertipe date karena terdiri dari tanggal. Misal Tgl.Lahir = 17-01-2000
Data nama bertipe charakter karena hanya membutuhkan 1 huruf saja untuk
JK Character [1]
mewakili jenis kelamin, yaitu L untuk Laki-laki dan P untuk perempuan.
Data nama bertipe integer karena terdiri dari banyak huruf/karakter, contoh untuk
Kelas Integer [10] penulisan kelas sepuluh 1 = X.1, kelas sebelas A = XI.A, kelas dua belas TKJ = XII
TKJ
Umur numeric [2] Data nama bertipe numeric karena terdiri dari dua angka misal umur = 15
C. Set (himpunan)
Tipe data ini mirip dengan array, bedanya adalah pada tipe data ini tidak menggunakan indeks atau
urutan data, dan juga tidak memuat data dengan nilai yang sama.
D. Image
Image, atau gambar, atau citra, merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK,
foto keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang
berbasis visual, tipe data ini telah didukung dengan sangat baik.
E. Date Time
Nilai data untuk tanggal (date) dan waktu (time) secara internal disimpan dalam format yang spesifik. Variabel
atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan, baik tanggal
maupun jam. Tipe data ini masuk dalam kelompok tipe data composite, karena merupakan bentukan dari
beberapa tipe data.
Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memori. Suatu
variabel yang points (menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer:
a. Typed (tertentu) : merupakan pointer yang menunjuk pada tipe data tertentu pada variabel.
b. Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variabel.
================================================================================
KB.5 PENGENALAN OPERATOR
Perhatikan algoritma berikut,
Algoritma HitungDiskon
HargaNormal, BesarDiskon dan HargaAkhir bertipe data Integer
CekDiskon, CekMember bertipe data boolean
Langkah-langkah
1) Masukkan HargaNormal baju, baca sebagai Harga Normal
2) Periksa apakah baju masuk diskon, jika iya CekDiskon bernilai Benar, jika tidak CekDiskon bernilai
Salah
3) Periksa apakah pembeli memiliki kartu member, jika iya CekMember bernilai Benar, jika tidak
CekMember bernilai Salah
4) Jika (CekDiskon AND CekMember) maka hargaDiskon=25% x HargaNormal
5) Jika (CekDiskon AND NOT(CekMember) maka hargaDiskon=20% x HargaNormal
6) Jika (NOT(CekDiskon) dan NOT(CekMember)) maka hargaDiskon=0
7) Hitung HargaAkhir=HargaNormal-HargaDiskon
8) Cetak nilai dari HargaAkhir
Dalam membuat sebuah program, diperlukan sebuah algoritma yang penyajiannya dapat dengan
mudah dibaca dan diterjemahkan ke dalam bahasa program bagi pengembang progam agar pembuatan
program menjadi tepat, efektif dan efisien.
Menggunakan bahasa natural saja justru akan menyulitkan pengembang dalam mengubahnya ke
bahasa program jika ternyata program yang dibuat adalah program besar dan rumit. Untuk itu, agar suatu
algoritma dapat dengan mudah dipahami, maka alangkah baiknya algoritma disajikan dengan bahasa
yang “dekat” atau mirip dengan semua bahasa pemrograman. Penyajian algoritma dalam bentuk bahasa
yang “mirip” dengan bahasa pemrograman disebut dengan pseudocode.
Sesuai dengan namanya pseudocode dapat diartikan sebagai kode bayangan, yaitu bahasa yang
mendekati kode pemrograman yang sesungguhnya. Perbedaanya adalah dalam bahasa pemrograman
aturan penulisan kode harus benar-benar sesuai, jika terjadi kesalahan sedikit saja maka akan
menyebabkan error, atau program tidak bisa dijalankan. Sedangkan dalam pseudocode aturan
penulisannya lebih bebas, dan tidak terikat namun yang paling penting adalah mudah diipahami oleh orang
yang menjalankan algoritma atau orang yang akan mengimplementasikan algoritma tersebut ke bahasa
pemrograman.
Pseudocode yang baik adalah pseudocode yang dapat dipahami dan diterjemahkan oleh
programmer ke bahasa pemrograman yang ada. Meskipun ada juga yang menuliskan pseudocode
berdasarkan kecenderungan perancang algoritma dalam menggunakan bahasa pemrograman.
Untuk memperjelas perbedaan bahasa natural dengan bahasa pseudocode, perhatikanlah dua buah
algoritma berikut ini :
BAHASA NATURAL BAHASA PSEUDOCODE
Algoritma JumlahKuadrat 1 Algoritma JumlahKuadrat 2
{Algoritma ini menghitung jumlah kuadrat {Algoritma ini menghitung jumlah kuadrat
dari dua buah bilangan, a dan b} dari dua buah bilangan, a dan b}
Contoh :
NATURAL PSEUDOCODE FLOWCHART
Algoritma VolumeTabung Algoritma VolumeTabung
{Algoritma ini menghitung volume {Algoritma ini menghitung volume
tabung dengan input jari-jari, dan tinggi tabung
tabung. Outputnya adalah volume input jari-jari r, tinggi tabung t
tabung } Outputnya volume tabung V}