ALGORITMA DAN STRUKTUR DATA
Algoritma
adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk
memecahkan suatu permasalahan.
Program
adalah suatu implementasi bahasa pemrograman. Beberapa pakar memberi formula
bahwa :
Program
= Struktur Data + Algoritma
Biar
lebih jelasnya, kita bahas contoh algoritma dan implementasinya. Missal;
Permasalahan :
Bagaimana
mengkonversi nilai yang diraih mahasiswa peserta kuliah Struktur Data menjadi
huruf mutu (A/B/C/D/E)?
Pemecahan Masalah :
Untuk
memecahkan masalah tersebut maka dapat
disusun algoritma sbb:
1. Berapa
variabel yang dibutuhkan
2. Bandingkan
nilai dengan rentang huruf mutu dengan menggunakan selection dan kondisional
3. Tampilkan
huruf mutu
Semua
permasalahan ini akan dipecahkan menggunakan aplikasi turbo pascal:
Caranya :
1. Instalkan
turbo pascal for windows
2. Setelah
terinstal, buka Turbo Pascal
3. Setelah
jendela turbo pascal terbuka, dan akan muncul sebuah project bernama welcome.
4. Klik
menu File lalu pilih New, maka akan ditampilkan lembar kerja/project yang baru.
5. Setelah
itu, ketikkan script selection dibawah ini
uses
wincrt;
var
nilai : integer;
begin
clrscr;
write
('Masukkan Nilai Anda : ');
read(nilai);
case
nilai of
85..100
: write('Anda mendapat Huruf Mutu A');
75..84
: write('Anda Mendapat Huruf Mutu B');
65..74
: write('Anda Mendapat Huruf Mutu C');
55..65
: write('Anda Mendapat Huruf Mutu D');
else
write ('Anda mendapat Huruf Mutu E');
end;
end
6. Setelah
diketikan script diatas, kemudian klik menu Run
7. Maka
akan muncul hasilnya seperti ini
8. Adapun
contoh penyelesaian masalah di atas dengan menggunakan kondisional
Berikut
scriptnya:
uses
wincrt;
var
nilai : integer ;
mutu
: char;
begin
clrscr;
write('Masukkan
Nilai Anda: ');
read
(nilai);
if
nilai >=85 then
mutu:='A'
else
if nilai >=75 then
mutu:='B'
else
if nilai >=65 then
mutu:='C'
else
if nilai >=55 then
mutu:='D'
else
mutu:='E' ;
write('Anda
mendapatkan huruf mutu ',mutu);
end.
9. Dan
berikut hasil outputnya
Sebenarnya
dengan menggunakan metode selection atau kondisional akan sama saja hasilnya
namun cara yang digunakannya berbeda.
Untuk
lebih mantap lagi dalam pemrograman menggunakan pascal, kita pecahkan
contoh permasalahan dibawah ini :
Permasalahan
:
Seorang
pemilik toko menginginkan sebuah program yang mana ketika dia memasukkan jumlah
barang dan harga barang maka total bayarnya akan muncul. Namun jika jumlah
bayar tersebut melebihi Rp. 500.000 maka pelanggan tersebut akan diberikan
diskon sebesar 10 % dari jumlah bayar. Bagaimana solusinya .
Catatan
:
Tipe
data yang digunakan integer (bilangan bulat) dan real
Integer:
Writeln(‘Jumlah
Bayar :’JumlahBayar);
Real
:
Writeln
(‘Jumlah Bayar :’JumlahBayar:1:2);
Ini
script lengkapnya :
uses
wincrt;
var
JumlahBarang
:integer;
HargaBarang,JumlahBayar,Diskon,TotalBayar,Kembalian,Bayar:real;
begin
clrscr;
writeln('Selamat
Bertransaksi');
write('Jumlah
Barang :');readln(JumlahBarang);
Write('Harga
Barang :');readln(HargaBarang);
JumlahBayar
:=JumlahBarang*HargaBarang;
writeln('Jumlah
Bayar :',JumlahBayar:1:2);
if
JumlahBayar >=500000 then diskon:=10/100*JumlahBayar;
writeln('Diskon
:',Diskon:1:2);TotalBayar:=JumlahBayar-Diskon;
writeln('Total
Bayar :',TotalBayar:1:2);
write('Bayar
:');readln(Bayar);
writeln('=============================');
kembalian
:=Bayar-TotalBayar;
writeln('Kembalian
: ',Kembalian:1:2);
writeln('Terima
Kasih Telah Bertransaksi');
end.
Dan
ini hasil outputnya :
Semoga
Bermanfaat
0 komentar:
Post a Comment