Anda di halaman 1dari 10

Konsep Algoritma

Sejarah Algoritma

Menurut Rinaldi Munir (2011:10), Para ahli bahasa menemukan kata algorism berasal dari
nama cendikiawan muslim yang terkenal yaitu Abu Jafar Muhammad Ibnu Musa Al-
Khuwarijmi (Al-Khuwarijmi dibaca oleh orang Barat menjadi algorism) dalam bukunya yang
berjudul Kitab Aljabar Wal-muqabala, yang artinya Buku Pemugaran dan Pengurangan
(The book of restoration and reduction). Dari judul buku itu kita memperoleh kata aljabar
(algebra). Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism
sering dikelirukan dengan arithmetic sehingga akhiran sm berubah menjadi thm.

Definisi Algoritma

Menurut Thomas H. Cormen (2009:5), Algoritma adalah prosedur komputasi yang


mengambil beberapa nilai atau kumpulan nilai sebagai input kemudian di proses sebagai
output sehingga algoritma merupakan urutan langkah komputasi yang mengubah input
menjadi output.

Menurut Donald E. Knuth (1973, p1-2) dalam buku The Art of Computer Programming
Second Edition Volume I, algoritma dalam pengertian modern mempunyai kemiripan
dengan istilah resep, proses, metode, teknik, prosedur, rutin. Algoritma adalah sekumpulan
aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan
suatu jenis masalah yang khusus.

Menurut Rinaldi Munir, algoritma adalah urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis.

Secara umum, algoritma diartikan sebagai urutan, tahapan, metode, ataupun urutan sistematis
yang yang digunakan untuk memecahkan suatu permasalahan. Secara khusus algoritma
diartikan sebagai sebuah metode khusus yang tepat, terdiri dari serangkaian langkah yang
disusun secara sistematis untuk menyelesaikan permasalahan dengan menggunakan bantuan
komputer. Hal yang harus diingat adalah langkah-langkah penyelesaian masalah di dalam
algoritma haruslah menyatakan urutan langkah yang logis, yang berarti bahwa urutan langkah
tersebut memberikan jalan penyelesaian yang benar.

Berikut ini adalah contoh algoritma yang digunakan di dalam kehidupan sehari-hari.

Menukarkan isi dua buah tabung

Tabung A berisi air yang jernih, sedangkan tabung B berisi air yang sangat kotor. Kita hendak
menukarkan isi kedua tabung tersebut sedemikian sehingga tabung A berisi air yang sangat
kotor, dan tabung B berisi air yang jernih.

Penyelesaian:

Agar dapat menukarkan kedua isi tabung tersebut, diperlukan tabung tambahan sebagai
tempat penampungan sementara. Asumsikan tabung tersebut bernama tabung C. Dengan
menggunakan tabung C ini, algoritma mempertukarkan isi tabung dapat ditulis sebagai
berikut:

PROGRAM Tukar_IsiTabung

Diberikan dua buah tabung, A dan B; tabung A berisi air yang jernih, tabung
B
berisi air yang sangat kotor. Pertukarkan kedua tabung tersebut sedemikian
sehingga tabung A berisi air yang sangat kotor dan tabung B berisi air yang
jernih.

ALGORITMA:
1. Tuangkan air dari tabung A ke dalam tabung C.
2. Tuangkan air dari tabung B ke dalam tabung A.
3. Tuangkan air dari tabung C ke dalam tabung B.

Algoritma Menggunakan Bahasa Natural


Algoritma bahasa natural merupakan cara penyajian suatu algoritma yang paling sederhana
dan paling mudah untuk dimengerti. Algoritma ditulis dengan bahasa yang kita gunakan
sehari-hari (bahasa indonesia). Ada beberapa hal yang perlu diperhatikan jika kita akan
menyajikan suatu algoritma sebuah program dengan bahasa natural, antara lain Start dan End
yang harus dituliskan secara explisit. Start dituliskan sebagai inisialisasi atau Mulai dan
merupakan langkah pertama dalam algoritma, sedangkan End sendiri dituliskan sebagai
selesai dan dituliskan pada akhir algoritma. Tidak ada aturan baku dalam hal penamaan
Start dan End itu sendiri, tidak masalah jika Anda ingin memberikan penamaan yang berbeda
yang terpenting adalah tetap mengandung arti/maksud yang sama.

Berikut ini adalah salah satu contoh sederhana dari algoritma yang menggunakan bahasa
natural. Algoritma untuk menentukan luas persegi. Jadi diberikan input sebuah bilangan sisi
persegi dari user, dan program akan secara otomatis memberikan output berupa luas dari
bangun persegi tersebut. Perhatikan contoh bahasa natural di bawah ini:

1. Inisialisasi
2. Input sebuah bilangan, masukkan ke dalam variabel sisi.
3. Menentukan luas persegi dengan menggunakan rumus luas= sisi * sisi
4. Tampilkan output berupa luas persegi
5. Apakah ingin mengulang proses?
- Jika ya kembali ke langkah 2
- Jika tidak, langsung ke langkah 6
6. Selesai
Pengenalan Variabel

1 Votes

Variabel adalah identitas yang digunakan untuk menampung nilai.Variabel digunakan untuk
mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang
nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai dengan kebutuhan.
Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment
statement), yang mempunyai sintaks sebagai berikut :
variable = ekspresi ;

Pemberian nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut :

1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
Bahasa pemrograman pada umumnya bersifat case-sensitive artinya huruf besar dan
kecil dianggap berbeda. Jadi antara nim, NISN dan Nisn dianggap berbeda.
Pemrograman yang bersifat case-sensitive (Diantaranya : C++, C#, Java).
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore).
Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &,
*, (, ), -, +, =dsb.
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai. Contoh penamaan
variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah :
%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb

DEKLARASI
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.

DEKLARASI VARIABEL
Bentuk umumnya :

Nama_tipe nama_variabel;

Contoh :

int x; // Deklarasi x bertipe integer


char y, huruf, nim[10]; // Deklarasi variable bertipe char
float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer

Struktur Algoritma

1 Votes

Algoritma berisi langkah-langkah penyelesaian masalah dengan urutan langkah yang logis.
Langkah langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan
aksi.
1. Runtunan (Sequence)

Sebuah runtunan terdiri dari satu atau lebih pernyataan. Tiap pernyataan (instruksi)
dikerjakan sesuai dengan urutan penulisannya, misalnya jika kita memiliki lima buah
instruksi yang harus dikerjakan, instruksi yang pertama harus selesai diselesaikan terlebih
dahulu baru dilanjutkan ke instruksi yang kedua, dan begitu seterusnya. Jika urutannya
diubah, maka kemungkinan hasilnya pun akan berubah. Runtunan satu atau lebuh pernyataan
disebut juga pernyataan-gabungan (compound statements).

Perhatikan runtunan pernyataan(instruksi) yang dilambangkan dengan A1, A2,


A3, A4, dan A5 berikut:
A1
A2
A3
A4
A5

Mula-mula pemroses melaksanakan pernyataan A1. Jika A1 telah selesai dikerjakan,


pemroses melaksanakan pernyataan A2. Jika A2 telah selesai dikerjakan, pemroses
melaksanakan pernyataan A3, dan begitu seterusnya sampai pernyataan A5 dikerjakan.

Contoh algoritma:

Diberikan dua buah tabung, A dan B; tabung A berisi air yang jernih, tabung B berisi air yang
sangat kotor. Pertukarkan kedua tabung tersebut sedemikian sehingga tabung A berisi air
yang sangat kotor dan tabung B berisi air yang jernih.

Algoritma:
1. Tuangkan air dari tabung A ke dalam tabung C.
2. Tuangkan air dari tabung B ke dalam tabung A.
3. Tuangkan air dari tabung C ke dalam tabung B.
2. Pemilihan (Selection)
Pemilihan adalah suatu keadaan dimana aksi akan dikerjakan jika kondisi tertentu dapat
dipenuhi.
Pernyataan pemilihan (selection-statement) atau disebut juga pernyataan kondisional dapat
ditulis sebagai berikut:

if kondisi then
aksi 1
else
aksi 2

Bila kondisi bernilai benar, aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan
dikerjakan. Misalnya pada pernyataan berikut:

if nilai > 75 then


lulus ujian
else
tidak lulus ujian

Apabila pemilihan aksi lebih dari dua buah (pemilihan bersarang atau nested-if), maka
struktur pemilihannya sedikit lebih rumit. Perhatikan contoh berikut ini:

if nilai > 90 then


A
else if nilai > 80 then
B
else if nilai > 70 then
C
else if nilai > 60 then
D
else
E

3. Pengulangan (Repetition)

Pengulangan adalah suatu cara untuk mengulangi instruksi secara terus-menerus sampai suatu
kondisi tertentu dipenuhi. Pernyataan pengulangan (repetition-statement) dapat ditulis dengan
beberapa cara :

1. for-do

for pencacah pengulangan dari i sampai N do


aksi

Yang artinya adalah aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari i
sampai N sebanyak N-i + 1 kali.

Contoh algoritma pengulangan :


Tuliskan kalimat Saya berjanji tidak akan bolos sekolah lagi sebanyak 250 kali.

Algoritma:

for i dari 1 sampai 250 do


Tulis "Saya berjanji tidak akan bolos sekolah lagi"
2. repeat-until

repeat
aksi
until
kondisi

Yang artinya adalah pengulangan aksi dilakukan hingga kondisi terpenuhi.

Contoh algoritma pengulangan :


Tuliskan kalimat Saya berjanji tidak akan bolos sekolah lagi sebanyak 250 kali.

Algoritma:

repeat
Tulis "Saya berjanji tidak akan bolos sekolah lagi"
until
(i > 250)

3. while-do

while kondisi do
aksi

Yang artinya adalah selama kondisi pengulangan masih benar, maka aksi dikerjakan.
Perbedaannya dengan repeat-until, jika pada repeat-until kondisi pengulangan di evaluasi di
akhir, maka pada while-do kondisi pengulangan di evaluasi di awal pengulangan. Walaupun
keduanya memiliki fungsi yang mirip, namun untuk beberapa kasus tidak dapat saling
menggantikan.

Contoh algoritma pengulangan :


Tuliskan kalimat Saya berjanji tidak akan bolos sekolah lagi sebanyak 250 kali.

Algoritma:

while (i < 251) do


Tulis "Saya berjanji tidak akan bolos sekolah lagi"

Pengertian dan Jenis-jenis Tipe Data/ Data Type dalam


Pemrograman

Pengertian Tipe Data (Data Type) adalah jenis nilai yang dapat ditampung suatu variabel.
Misalnya dapat menampung bilangan bulat, pecahan/ berkoma, karakter huruf tunggal hingga
simbol dan huruf yang membentuk barisan karakter.

Jenis-jenis Tipe Data (Data Type)


Tipe Data Primitive (Sederhana)
Tipe data primitive adalah Tipe data dasar yang hanya dapat menyimpan satu jenis nilai pada
satu buah variabel. Tipe data ini sering dipakai oleh programmer karena mudah digunakan
dan sama dengan bahasa pemrograman yang lain.
Beberapa contoh tipe data primitive yang sering dijumpai adalah tipe numerik (integer,
real/float), karakter (char), barisan karakter (string) dan boolean (True atau False).
1. Tipe Data Numerik
Tipe Data Numerik merupakan tipe data yang berbentuk angka, dimana terbagi
menjadi tipe data integer dan real/float.
- Integer
Integer merupakan tipe data yang berupa bilangan bulat. Adapun rangenya adalah sebagai
berikut :
Ukuran
Tipe Data Rentang Nilai
Tempat
Byte 1 byte 0 s/d +255
Shortint 1 byte -28 s/d +127
Integer 2 byte -32768 s/d 32767
Word 2 byte 0 s/d 65535
Longint 4 byte 2147483648 s/d 2147483647
2.
- Real/Float
Real/Float adalah bilangan pecahan atau berkoma.

Tipe Data Ukuran Tempat Rentang Nilai


real 6 byte 2.9 x 10-39 s/d 1.7 x1038
single 4 byte 1.5 x 1045 s/d 3.4 x 1038
5.0 x 10-324 s/d 1.7 x
double 8 byte
10308
3.4 x 10-4932 s/d 1.1 x
extended 10 byte
104932
comp 8 byte -9.2x 1018 s/d 9.2x 1018

3. Tipe Data Karakter (Char)


Char Merupakan tipe data yang hanya menyimpan satu digit angka atau huruf.
Contoh penggunaannya adalah :
Karakter huruf : a..z,A..Z
Karakter angka : 0..9
4. Tipe Data String
String adalah tipe data yang berbentuk barisan karakter baik angka, huruf maupun
simbol.
Contoh string : "P3rk3n4lk4n, N4m4 $4y4 R@n66@_$@putr@."
5. Tipe Data Boolean
Boolean adalah tipe data logika, dimana hanya mengenal dua buah nilai 1 atau 0, True
atau False, Gelap atau Terang, Benar atau Salah. Dalam penggunaannya, Boolean
hanya memakai memori paling sedikit.
Tipe Data Composite
Composite adalah tipe data yang dapat menyimpan banyak nilai dengan jenis yang berbeda-
beda. Contohnya sebagai berikut :
1. Array
Array atau larik adalah tipe data terstruktur yang mampu menyimpan banyak data
namun dengan tipe yang sama (homogen). Berikut ilustrasi Array nama teman di
kampus:

Rangga
Ibnu
Arie
Iqbal
Andalas

2. Record atau struct


Record dikenal dalam bahasa Pascal sedangkan Struct di bahasa C++. Record hampir
sama dengan array namun perbedaannya tipe data ini mampu menyimpan banyak data
dengan tipe yang berbeda-beda (heterogen). Berikut ilustrasi record nama dan kelas
teman di kampus :

Rangga 4B
Ibnu 2A
Arie 4C
Iqbal 2A
Andalas 6B

3. BLOB
BLOB merupakan tipe data yang menyimpan bilangan berbentuk binary. Jadi pada
prinsipnya, gambar yang biasa tersimpan di komputer sebenarnya memiliki nilai-nilai
binary kemudian dapat ditampung pada tipe data ini. Tidak hanya gambar, file music,
video, document dan lainnya juga dapat disimpan pada tipe data BLOB.
4. Date Time
Date Time adalah tipe data yang menyimpan tanggal (date), waktu (time) ataupun
date time (tanggal dan waktu) dengan format yang spesifik.
Contoh :
Date : 2017-Maret-24
Time : 20:51
Date Time : 2017-03-24 20:51
5. Object
Object adalah tipe data yang menyimpan nilai dari objek-objek yang disediakan oleh
pemrograman berbasis GUI seperti Visual Basic, Delphi dan lain sebagainya.
Contoh :
Objek : Commond Button
Diberi nama : cmdsave
Nilai yang ditampung : Save Data
6. Enumerasi
Enumerasi adalah tipe data yang mempunyai elemen-elemen dengan urutan dan range
tertentu. Setiap elemen diwakili oleh angka sesuai urutannya (index), kemudian setiap
index berisi nilai yang ditulis dalam tanda kurung.
Sebagai contoh :
Tipe data : hari_dalam_seminggu
Index : 0,1,2,3,4,5,6
Nilai : Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu
Berikut ilustrasinya : (0)Senin, (1)Selasa, ... (6)Minggu

Beberapa pengalaman Teknoborneo dalam menggunakan sejumlah bahasa pemrograman


seperti (C, C++, Visual Basic, Delphi, Java, PHP) maupun database seperti (Microsoft
Access, MySQL, SQL Server, Oracle) ternyata tipe data yang dimuat berbeda-beda baik
nama maupun jumlahnya. Semakin baru bahasa pemrograman ataupun database yang
digunakan maka semakin bertambah pula jenis-jenis tipe data yang tersedia.
Sebagai contoh :
1. Pada Microsoft Access penyebutan tipe data String adalah Sort Text/Long Text
sedangkan di MySQL adalah Varchar.
2. Pada Access 2016 tipe data yang dikenal ada 12 buah, sedangkan pada MySQL ada 39
buah

Pemrograman Dasar Bab Tipe Data.


TIPE DATA BILANGAN BULAT,REAL,SIMBOL,STRING,BOOLEAN.
a) Tipe data bilangan bulat
Nama tipe : integer
Range nilai : -32.768 sd 32.767
Operator binary :
+, -, * : integer x integer integer
/ : integer x integer real
Mod, div : integer x integer integer
Keterangan :
Mod adalah sisa hasil bagi dari dua bilangan yang bertipe integer
Div adalah hasil bagi dari dua bilangan yang bertipe integer
Contoh :
15 div 3 = 5
15 mod 3 = 0
45 div 4 = 11
45 mod 4 = 1
Operator unary :
- : integer integer

b) Tipe data real


Nama tipe : real
Range nilai : 2.9x10-39 s/d 1.7x1038
-1.7x1038 s/d -2.9x10-39
Operator : +, -, *, / : real x real real
: real x integer real
: integer x real real

c) Tipe data karakter/simbol


Nama tipe : char
Range nilai : 1 simbol/karakter dalam tanda petik
d) Tipe data string
Nama tipe : string
Range nilai : rangkaian karakter dalam tanda petik
Panjang string : 0 s/d 255
Contoh : Suhu ruangan 550 C
Operator : + : string x string string
Contoh : saya + pergi saya pergi
e) Tipe data boolean
Nama tipe : Boolean
Range nilai : True dan False
Operator:
Tabel Kebenaran :
P Q P and Q P or Q P xor Q
True True True True False
True False False True True
False True False True True
False False False False False

Anda mungkin juga menyukai