201011450437
Universitas Pamulang
ABSTRAK
Saat ini, algoritma memiliki fungsi yang sangat penting bagi manusia, yaitu
membantu manusia dalam menyelesaikan suatu masalah, yang didasarkan pada pola
pikirnya masing-masing. Jadi, dengan menggunakan prinsip-prinsip algoritma,
seseorang bisa menyelesaikan masalahnya masing-masing.
Algoritma merupakan pola pikiran dan pola logis yang menghasilkan output
Algoritma memiliki instruksi yang tegas dan jelas, tanpa memberikan kesan
ambiguitas
Kelima poin diatas merupakan ciri-ciri utama dari sebuah siklus algoritma. Jadi,
apabila sebuah sistem ataupun sebuah pemikiran tidak memiliki poin-poin yang sudah
disebutkan diatas, maka hal tersebut tidak dapat disebut sebagai algoritma.
Selain memiliki ciri-ciri utama, algoritma sendiri juga memiliki beberapa sifat-sifat
penting, yaitu:
a. Tidak menggunakan symbol ataupun suatu bahasa pemrograman, meskipun nantinya
berguna untuk memecahkan permasalahan yang berhubungan dengan komputer
ataupun pemrograman. (baca juga: macam-macam bahasa pemrograman)
b. Tidak tergantung pada suatu bahasa pemrograman khusus, sehingga sifatnya universal
dan bisa digunakan di mana saja.
c. Notasinya yang digunakan pada algoritma adalah universal, sehingga bisa digunakan
pada seluruh bahasa pemrograman apapun, tanpa terkecuali.
Itulah beberapa sifat dari algoritma, yang tentu saja sangat mudah untuk dipahami.
Jenis-jenis Algoritma
1. Algoritma Sekuensial
Algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari
awal hingga akhir. Langkah demi langkah yang dijalankan harus urut dari atas sampai
bawah.
2. Algoritma Perulangan
Algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah
tertentu secara berulang-ulang atau looping. Pada masalah yang dihadapi, ada pula
sebuah langkah yang harus dilakukan secara berulang-ulang.
3. Algoritma Percabangan atau Bersyarat
Algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya
apabila terdapat syarat yang sudah dapat dipenuhi.
B. PEMBAHASAN/STUDI KASUS
1. Percabangan untuk 1 kondisi. Percabangan jenis ini hanya memiliki satu kondisi yang
menjadi syarat untuk melakukan sebuah instruksi.
2. Percabangan untuk 2 kondisi. Percabangan jenis ini memiliki dua kondisi yang menjadi
syarat untuk mengerjakan salah satu dari dua buah instruksi.
3. Percabangan untuk 3 kondisi atau lebih. Percabangan jenis ini adalah pengembangan
dari dua jenis algoritma percabangan yang telah dibahas di atas. Oleh karena itu,
percabangan jenis ini akan memiliki banyak variasi.
4. Percabangan “Case of….”. Percabangan ini digunakan untuk memeriksa data yang
bertipe karakter atau integer.
5. Percabangan bersarang. Percabangan ini terdiri dari percabangan yang berada di dalam
percabangan, atau maksudnya di dalam sebuah percabangan terdapat percabangan lagi.
1. Kasus algoritma satu kondisi
“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda
dapat hadiah”
#include <stdio.h>
void main(){
printf("== Program Pembayaran ==\n");
int total_belanja = 0;
Hasilnya:
// menggunakan percabangan if
if( total_belanja > 100000 ){
printf("Selamat, Anda mendapatkan hadiah!\n");
}
Blok program berisi sekumpulan ekpresi dan statement untuk dikerjakan oleh
komputer.
Blok program pada bahasa C, selalu diawali dengan tanda buka kurung kurawal { dan
akan diakhiri dengan tutup kurung kurawal }.
Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh
tidak ditulis tanda kurungnya seperti ini:
Percabangan if/else atau dua kondisi merupakan percabangan yang memiliki dua
blok pilihan.
Blok pilihan pertama untuk kondisi benar, dan pilihan kedua untuk
kondisi salah (else).
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan: “Selamat
datang bos!"
Tapi kalau salah,maka pesan yang ada di blok merah yang akan ditampilkan:
“Password salah, coba lagi!"
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan, karena dia
bukan bagian dari blok percabangan if/else.
#include <stdio.h>
void main(){
// membuat array karakter untuk menyimpan password
char password[30];
// percabangan if/esle
if( strcmp(password, "kopi") == 0 ){
printf("Selamat datang bos!\n");
} else {
printf("Password salah, coba lagi!\n");
}
Hasilnya:
Pertama kita membuat sebuah array dari karakter dengan panjang 30 karakter untuk
menyimpan password.
Setelah itu kita mengisi nilai password dengan mengambil input dari scanf().
scanf("%s", &password);
strcmp(password, "kopi") == 0
pada blok if/else.
3. Percabangan 3 kondisi
void main(){
int nilai;
char grade;
Hasilnya:
Perhatikan di bagian else if untuk >= 80 dan >= 60, seharusnya di sana kita mengisi
variabel grade dengan B+ dan C+.
Ini karena variabel tersebut bertipe char dan tipe data ini hanya mampu menyimpan
satu karakter saja.
Jika ingin menggunakan B+ dan C+, kita bisa pakai tipe data string.
4. Percabangan Switch/Case
Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
Strukturnya seperti ini:
switch(variabel){
case <value>:
// blok kode
break;
case <value>:
// blok kode
break;
default:
// blok kode
}
Kita dapat mermbuat blok kode (case) sebanyak yang diinginkan di dalam blok
switch.
Pada <value>, kita bisa isi dengan nilai yang nanti akan dibandingkan dengan
varabel.
Setiap case harus diakhiri dengan break. Khusus untuk default, tidak perlu diakhiri
dengan break karena dia terletak di bagian akhir.
Pemberian break bertujuan agar program berhenti mengecek case berikutnya saat
sebuah case terpenuhi.
Contoh:
#include <stdio.h>
void main(){
char grade;
switch (toupper(grade)){
case 'A':
printf("Luar biasa!\n");
break;
case 'B':
case 'C':
printf("Bagus!\n");
break;
case 'D':
printf("Anda lulus\n");
break;
case 'E':
case 'F':
printf("Anda remidi\n");
break;
default:
printf("Grade Salah!\n");
}
}
Hasilnya:
Kita menggunakan fungsi toupper() untuk mengubah huruf kecil menjadi huruf
kapital atau huruf besar.
switch (toupper(grade)){
...
}
5. Percabangan Bersarang
Semua bentuk blok percabangan di atas dapat kita buat di dalam
percabangan yang lainnya.
Ini disebut dengan percabangan bersarng atau nested if.
#include <stdio.h>
void main(){
char username[30], password[30];
Hasilnya: