Anda di halaman 1dari 17

Bab I

Pengenalan Algoritma
Terlebih dahulu yang harus kita ketahui adalah masalah programmer. Dan tugas
- tugas dari programmer tersebut adalah
Analisis Masalah yaitu membatasi antara input, proses dan output.
Pembuatan dan pengembangan Algoritma.
o Flow Chart
o Pseude Code

Pemilihan Program
Pemrograman
Dasar / Murni
Pemrograman Pascal
Pemrograman C++
Pemrograman Qbasic
Pemrograman Dbase
Pemrograman SQL

Pemrograman
Data Base Lanjutan
Pemrograman Delphi
Pemrograman C++ Builder atau Delphi
Pemrograman Visual Basic
Pemrograman Visual Fox pro
Pemrograman Oracle

Pemeriksaan Program.
Menjalankan Program ( Test Run )
Pemeliharaan dan pengembangan Program :
o Media yang digunakan adalah Disket
o Media yang digunakan kapasitas lebih dari 1,44 Mb adalah CD
o Media yang digunakan kapasitas lebih dari 700 Mb adalah Harddisk

A. Pengertian Algoritma
Algoritma adalah suatu langkah untuk menyelesaikan masalah dengan bantuan
logika dan ditulis secara sistematis. Elemen dasar yang digunakan dalam Algoritma
adalah sebagai berikut :
Pengenalan Abjad, Huruf atau Character . disini kita harus bisa membedakan antara
A .. Z atau a .. z.
Pengenalan Angka numeric atau bilangan bulat : 0, 1, 2, 3. Dst.
Pengenalan special karakter : @, #, &, ~, !, |, .dll.
Pengenalan Interfier yaitu fungsi fungsi keyword yang ada di algoritma seperti
Write, If then else, for , while, case of, read sby.
Pengenalan ekspresi adalah perhitungan yang menggabungkan operator hitung.
Contoh : Tunjangan adalah 25% * Gapok
D=

b 2 4ac

Tunj = 0,25 * Gapok;

D = ((B*B)-(4*a*c))^0,5

Dan prioritas utama yang dilaksanakan perhitungan oleh computer :


Yang menggunakan Tanda Kurung ( ).
Yang menggunakan Tanda Pangkat ( ^ ).
Yang menggunakan Tanda Kali ( * ).
Yang menggunakan Tanda Bagi ( / ).
Tanda Bagi terbagi atas dua :
Mod adalah Sisa Pembagian : 10 mod 2 = 0; 10 mod 3 = 1
Div adalah Hasil Pembagian : 10 div 2 = 5; 10 div 3 = 3
Yang menggunakan Tanda Plus ( + ).
Yang menggunakan Tanda Kurang ( - ).
B. Flow Chart
Sistem penyajian yang berupa diagram grafis untuk menentukan prosedur kerja atau
diagram alir. Bentuk umum dari Flow Chart :
memulai ( Begin )
mengakhiri ( End )

Looping ( Pengulangan )

Decision atau selection ( Pemilihan )

Proses

Conector ( Alat Penghubung ke File )

Garis Penghubung Flow Chart

Document Tempat Penyimpanan


File sementara

Kasus:
Buatlah flow Chart untuk menghitung Diskriminasi: D=

b 2 4ac

Cara Penyelesaiannya:
Input
Proses
Output

: [b,a,c]
: [D=((b*b)-(4*a*c))^0,5]
: [D]
Program
Diskriminasi

Input
[b,a,c]

D=((b*b)-(4*a*c))^0,5

Output
[D]

Document
Diskriminasi
END

C. Pseude Code
System penulisan yang aturan penulisannya sudah berdasarkan program terstruktur yang
satu sama lain saling berhubungan untuk menjadi program yang utuh.
Bentuk penulisannya :
Algoritma Name : < Judul Pogram >
Var
Nama variable : tipe data < pendeklarasian tipe data >
Begin < Memulai Program >
Read < Membaca Inputan >
Statement < Badan Program >
Write < Mencetak Output >
End. < mengakhiri program >
Tipe data adalah kumpulan dari huruf, angka, simbol yang berfungsi untuk menyimpan
nilai di memory computer. Tipe data yang sering digunakan dalam program antara lain:
Byte adalah bilangan bulat yang berkapasitas (0..255) digit.
Shortinteger adalah bilangan bulat yang berkapasitas ( 128..127) digit.
Word adalah bilangan bulat yang berkapasitas (0..65535) digit.
Integer adalah bilangan bulat yang berkapasitas (-32768..32767)digit.
LongInteger adalah bilangan bulat yang berkapasitas (-2147483648.. 2147483647.
Real adalah bilangan decimal yang berkapasitas (2,9X10-39..1,7X1038) digit.
Single adalah bilangan decimal yang berkapasitas (1,5X10-45..3,4X1038) digit.
Double adalah bilangan decimal yang berkapasitas (5,0X10 -324 .. 1,7X10380) digit.
Extended adalah bilangan decimal yang berkapasitas (3,4X10 -4932 .. 1,1X104932)
digit.
Char adalah huruf yang berkapasitas 1 huruf atau character.
String adalah huruf yang berkapasitas 2 milyar huruf.
Tata cara penulisan nama varibel antara lain :
Tidak boleh menggunakan blank atau spasi.
Nama Siswa
: string; ( Salah )
Nama_Siswa : string; ( Benar )
Tidak boleh didahului dengan angka.
1Gapok
Gapok1

: longint; ( Salah )
: longint; ( Boleh )

Tidak boleh menggunakan special character.


@nama
Gapok$

: string; ( Salah )
: longint; ( Salah )

Tidak boleh menggunakan interfaier.


Write_nama
Gapok_for

: string; ( Salah )
: longint; (Salah )

Contoh kasus:
Buatlah Pseude Code untuk menukar isi tempat dar a ke b dan b ke a.
Cara penyelesaiannya:
Keadaan awal
Belum diproses

Keadaan akhir
sudah diproses

100

50

50

100

A
Input : [ A, B, C ]
Proses: [ A ke C, B ke A, C ke B ]
Output: [ A, B ]
Algoritma Name: [ Tukar_Tempat ];
Var
A, B, C
: integer;
Begin
Read(Input);
A=C;
B=A;
C=B;
Write(Output);
End.

50

100

3
C
0

Bab II
Decesion / Selection ( Pemilihan )
Didalam pemrograman kita ada beberapa langkah yang apabila ada pemilihan itu kita
menggunakan langkah decesion. Didalam pemrograman syntax ( Aturan ) penulisan ada 2
macam:
1.

If then else
End if
Proses pemilihan yang menggunakan kondisi ( <, >, <=, >=, = ).
Syntax penulisannya :
If (Kondisi-1)
Then ( Statement 1 )
Else if ( Kondisi 2 )
Then ( Statement 2 )
Else if ( Kondisi 3 )
Then ( Statement 3 )
Else ( Statement n )
End if
Contoh Kasus :
Buatlah algoritma dalam bentuk Pseudeu Code untuk menghitung Nilai Akhir
Mahasiswa. Dengan Ketentuan NIM, Nama Mahasiswa, Alamat Mahasiswa,
Jurusan, Nilai UAS, Nilai UTS, Nilai Quiz dan Nilai Tugas.
Untuk mencari Nilai Akhir Adalah 40% * Nilai Uas ditambah 30% * Nilai UTS
ditambah 20% * Nilai Quiz ditambah 10% * Nilai Tugas.
Nilai Akhir ditentukan oleh Nilai Grade.
Jika Nilai Akhir > 85 maka Nilai Grade = A
Jika Nilai Akhir > 75 maka Nilai Grade = B
Jika Nilai Akhir > 65 maka Nilai Grade = C
Jika Nilai Akhir > 55 maka Nilai Grade = D
Jika Nilai Akhir < 55 maka Nilai Grade = E
Cara penyelesainya :
Input

: [ Nim, Nama, Alamat, Jurusan, N_UAS, N_UTS, NQ, NT ]

Proses

: [ Na = (0,4*N_UAS)+(0,3*N_UTS)+(0,2*NQ)+(0,1*NT)
Jika Na > 85 maka NG = A
Jika Na > 75 maka NG = B
Jika Na > 65 maka NG = C

Jika Na > 55 maka NG = D


Jika Na < 55 maka NG = E ]
Output

: [ NIM, Nama, Alamat, Jurusan, N_UAS, N_UTS, NQ, NT, Na,


NG ]

Algoritma Name : < Menghitung_Nilai_Akhir_Mahasiswa >


Var
NIM, Nama, Alamat, Jurusan
: String;
N_Uas, N_Uts, NQ, NT : Byte/ Integer;
Na
: Real;
NG
: Char;
Begin
Read[Input ]
Na = (0,4*N_UAS)+(0,3*N_UTS)+(0,2*NQ)+(0,1*NT);
If Na > 85
Then NG=A
Else If Na > 75
Then NG=B
Else If Na > 65
Then NG=C
Else If Na > 55
Then NG=D
Then NG=E
End IF
Write [ Output ]
End.
2.

Case of
End Case
Alternatif lain apabila kita menggunakan selection atau decision.

Syntax penulisannya :
Case ( Nama Variabel ) of
Kondisi
Kondisi
Kondisi
Kondisi
End Case

-1
-2
-3
-n

:
:
:
:

Statement
Statement
Statement
Statement

1
2
3
n

Contoh Kasus
Buatlah Algoritma dalam bentuk Pseudeu Code untuk menghitung Upah
Karyawan. Dengan Ketentuan NIK, Nama Karyawan, Alamat Karyawan, Gol, Jam
Kerja.
Jika Gol = 1 maka Uang Harian = 20000 dan Uang Lembur = 10000
Jika Gol = 2 maka Uang Harian = 15000 dan Uang Lembur = 7500
Jika Gol = 3 maka Uang Harian = 10000 dan Uang Lembur = 5000
Uang Lembur dihitung jika Jam Kerjanya lebih dari 8 Jam.
Tunjangan = 4% * Uang Harian dan Upah = Uang Harian ditambah Uang Lembur +
Tunjangan.
Cara penyelesainnya :
Input
: [ NIK, Nama, Alamat, Gol, JK ]
Proses : [ Jika Gol = 1 maka UH = 20000 dan UL = 10000
Jika Gol = 2 maka UH = 15000 dan UL = 7500
Jika Gol = 3 maka UH = 10000 dan UL = 5000
Jika JK > 8 maka Lembur = (JK-8) * UL
Jika JK <= 8 maka Lembur = 0;
Tunj = 0,04 * UH
Upah = UH + Lembur + Tunj ]
Output : [ NIK, Nama, Alamat, Gol, JK, UH, UL, Lembur, Tunj, Upah ]
Algoritma Name : < Menghitung_Upah_Karyawan >
Var
NIK, Nama, Alamat: String;
JK, Gol
: Integer;
UH
: Longint;
UL, Lembur, Upah, Tunj : Real;
Begin
Read [ Input ]
Case Gol Of
1
: UH = 20000; UL = 10000;
2
: UH = 15000; UL = 7500;
3
: UH = 10000; UL = 5000;
End Case
If JK > 8
Then Lembur = ( JK 8 ) * UL;
Else Lembur = 0;
End If
Tunj = 0,04 * UH;
Upah = UH + Lembur + Tunjangan ;
Write [ Output ]

End.

Bab III
Looping ( Pengulangan )

Suatu langkah dimana kita akan melakukan proses beulang ulang untuk
penambahan data. Proses looping ini syntaxnya ada tiga macam :
1.

For to do
End For
Proses pengulangan yang menggunakan increment ( Pencacah Naik ).
Syntax penulisannya :
For nama variable = indek awal to indek akhir do
Begin
Read [ Input ]
Statement
End
End For
Catatan : Untuk nama variable kita bisa menggunakan huruf a sampai z tapi yang
sering digunakan adalah huruf I, J, X, Y.
Contoh Kasus:
Buat Algoritma dalam bentuk Pseudeu Code untuk menghitung 3 Data Kredit
Nasabah Bank. Dengan Ketentuan No Nasabah, Nama Nasabah, Alamat Nasabah,
Besar Pinjaman, Suku Bunga, Lama Pinjaman.
Untuk mencari bunga adalah Besar pinjaman dikali Lama pinjaman dikali Suku
Bunga. Nilai Pengembalian adalah Besar pinjaman ditambah Bunga.
Cara penyelesainnya :
Input
Proses

Output

: [ No_Nasabah, Nama, Alamat, BP, LP, SB ]


: [ Pengulangan sampai dengan 3 Kali
B = BP * LP * SB
NP = BP + B ]
: [ No_Nasabah, Nama, Alamat, BP, LP, SB, B, NP ]

Algoritma Name: < Data_Kredit_Nasabah_Bank >


Var
No_Nasabah, Nama, Alamat
: String;
LP, I
: Integer;

Begin

BP
B, SB, NP

: Longint;
: Real;

For I=1 to 3 do
Begin
Read [ Input ]
B = BP * LP * SB;
NP = BP + B;
End
End For
Write [ Output ]
End.
2.

While Do
End While
Proses pengulangan yang menggunakan kondisi ( <, >, <=, >=, = ). Proses
pengulangan berlangsung jika kondisinya benar.
Syntax penulisannya :
Nama variable = Index awal;
While ( kondisi ) do
Begin
Read [ Input ]
Statement;
Increment;
End
End While
Contoh Kasus :
Buatlah Algoritma dalam Pseudeu Code untuk menghitung 2 Luas Persegi
Panjang. Dengan Ketentuan Panjang, Lebar. Untuk mencari Luas adalah panjang
kali lebar.
Cara penyelesainnya :
Input
Proses
Output

: [ P, L ]
: [ Pengulangan sampai dengan 2 kali
Luas = P * L ]
: [ P, L, Luas ]

Algoritma Name : < Perhitungan_Matematika >


Var
P, L, Luas
: real;
I
: Integer;
Begin
I=0;
While I<2 do
Begin
Read [ Input ]
Luas = P * L;
I = I + 1;
End
End While
Write [ Output ]
End.
3.

Repeat
Until
Proses pengulangan kebalikan dari While do. Dan tidak perlu menggunakan Begin
dan End.
Syntax penulisannya :
Nama variable = Index awal;
Repeat
Read [ Input ]
Statement;
Increment;
Until ( Kondisi )
Contoh Kasus
Buat Algoritma dalam bentuk Pseudeu Code untuk menghitung 3 Data Kredit
Nasabah Bank. Dengan Ketentuan No Nasabah, Nama Nasabah, Alamat Nasabah,
Besar Pinjaman, Suku Bunga, Lama Pinjaman.
Untuk mencari bunga adalah Besar pinjaman dikali Lama pinjaman dikali Suku
Bunga. Nilai Pengembalian adalah Besar pinjaman ditambah Bunga.
Cara penyelesainnya :
Input
Proses

: [ No_Nasabah, Nama, Alamat, BP, LP, SB ]


: [ Pengulangan sampai dengan 3 Kali
B = BP * LP * SB
NP = BP + B ]

Output : [ No_Nasabah, Nama, Alamat, BP, LP, SB, B, NP ]


Algoritma Name: < Data_Kredit_Nasabah_Bank >
Var
No_Nasabah, Nama, Alamat
: String;
LP, I
: Integer;
BP
: Longint;
B, SB, NP
: Real;
Begin
I=0;
Repeat
Read [ Input ]
B = BP * LP * SB;
NP = BP + B;
I = I + 1;
Until ( I<3 )
Write [ Output ]
End.

Bab IV
Struktur Data Komplek ( Pengelompokan Tipe Data )
Pengelompokan tipe data didalam program terbagi atas 2 macam :
1. Array
Adalah kumpulan dari tipe data yang sejenis atau disebut Field Name.
Syntax penulisanaya :
Nama Variabel

: Array [ Index Awal .. Index akhir ] Of Tipe data;

Contoh Kasus :
Buatlah Algoritma dalam bentuk Pseudeu Code untuk menghitung 5 Data
Penjulan Barang. Dengan ketentuan No, Nama Barang, Harga Barang, Stock Awal,
Terjual. Untuk mencari Sisa adalah Stock Awal Terjual.
Cara penyelesainnya :
Input
Proses
Output

: [ No, NB, HB, SA, terjual ]


: [ Pengulangan sampai dengan 5 kali
Sisa = SA Terjual ]
: [ No, NB, HB, SA, Terjual, Sisa ]

Algoritma Name : Data_Penjualan_Barang >


Var
No, NB
: Array[1..5] of String;
HB
: Array[1..5] of Longint;
SA, Terjual, Sisa : Array[1..5] of Integer;
I
: Integer;
Begin
For I=1 to 5 do
Begin
Read [ Input ]
Sisa[I] = SA[I] - Terjual[I];
End
End For
Write [ Output ]
End.

2. Record
Adalah kumpulan dari tipe data yang tidak sejenis.
Syntax penulisannya :
Type
Nama_Data

: Record

Nama variable-1
Nama variable-2
Nama variable-n

End
Var
Nama variable

: Tipe Data-1;
: Tipe Data-2;
: Tipe Data-n;

: Tipe data;

Contoh Kasus :
Buatlah algoritma dalam bentuk Pseudeu Code dengan menggunakan Record
untuk menghitung 4 Nilai Akhir Mahasiswa. Dengan Ketentuan NIM, Nama
Mahasiswa, Alamat Mahasiswa, Jurusan, Nilai UAS, Nilai UTS, Nilai Quiz dan
Nilai Tugas.
Untuk mencari Nilai Akhir Adalah 40% * Nilai Uas ditambah 30% * Nilai UTS
ditambah 20% * Nilai Quiz ditambah 10% * Nilai Tugas.
Nilai Akhir ditentukan oleh Nilai Grade.
Jika Nilai Akhir > 85 maka Nilai Grade = A
Jika Nilai Akhir > 75 maka Nilai Grade = B
Jika Nilai Akhir > 65 maka Nilai Grade = C
Jika Nilai Akhir > 55 maka Nilai Grade = D
Jika Nilai Akhir < 55 maka Nilai Grade = E
Cara penyelesainya :
Input

: [ Nim, Nama, Alamat, Jurusan, N_UAS, N_UTS, NQ, NT ]

Proses

: [ Pengulangan sampai dengan 4 kali


Na = (0,4*N_UAS)+(0,3*N_UTS)+(0,2*NQ)+(0,1*NT)
Jika Na > 85 maka NG = A
Jika Na > 75 maka NG = B
Jika Na > 65 maka NG = C
Jika Na > 55 maka NG = D
Jika Na < 55 maka NG = E ]

Output
: [ NIM, Nama, Alamat, Jurusan, N_UAS, N_UTS, NQ, NT, Na, NG ]
Algoritma Name : < Menghitung_Nilai_Akhir_Mahasiswa >
Type
Data_Siswa = record
NIM, Nama, Alamat, Jurusan: String;
N_Uas, N_Uts, NQ, NT
: Byte/ Integer;
Na
: Real;
NG
: Char;
End
Var
Siswa
: Array[1..4] of Data_Siswa;
I
: Integer;
Begin
I=0;
Repeat
Read[Input ]
Na.Siswa[I] = (0,4*N_UAS.Siswa[I]) + (0,3*N_UTS.Siswa[I])
+ (0,2*NQ.Siswa[I]) + (0,1*NT.Siswa[I]);
If Na.Siswa[I] > 85
Then NG.Siswa[I]=A
Else If Na.Siswa[I] > 75
Then NG.Siswa[I]=B
Else If Na. Siswa[I] > 65
Then NG.Siswa[I]=C
Else If Na.Siswa[I] > 55
Then NG.Siswa[I]=D
Then NG.Siswa[I]=E
End IF
Write [ Output ]
End.

Bab V
Prosedur Fungsi
Sutu blok program terpisah yang terdiri dari sub- sub program yang sewaktu waktu
bisa dipanggil. Perbedaan dari prosedur fungsi adalah kalau prosedur hasilnya tidak
ditipe datakan / dideklarasikan tapi kalau fungsi hasilnya ditipedatakan /
dideklarasikan.
Contoh Kasus :
Buatlah program penjumlahan dengan menggunakan prosedur fungsi denga ketentuan
A,B, C.
Penyelesainnya:
Input
: [A,B]
Proses : [ C=A+B ]
Output
:[C]
Algoritma Name : [ Penjumlahan ]
Procedure Penjumlahan( A, B, C: integer);
Begin
C=A+B;
End
Begin
Read [ Nilai A ]
Read [ Nilai B ]
Penjumlahan;
End.

Algoritma Name : [ Penjumlahan ]


Function Penjumlahan( A, B, C: integer): integer;
Begin
C=A+B;
End
Begin
Read [ Nilai A ]
Read [ Nilai B ]
Penjumlahan;
End.

Procedure Garis;
Begin
Read(-----------------------);
End
Begin
Garis;
Read( Belajar algoritma );
Garis;
End.
Function Garis: String;
Begin
Read(-----------------------);
End
Begin
Garis;
Read( Belajar algoritma );
Garis;
End.

Anda mungkin juga menyukai