Logika Dan Alogirtma PDF
Logika Dan Alogirtma PDF
Logika Dan Alogirtma PDF
Muhammad Romzi
KATA PENGANTAR
Penulis
KATA PENGANTAR
DAFTAR ISI
Daftar Pustaka. 37
Penulis. 38
Logika berasal dari dari bahasa Yunani yaitu LOGOS yang berarti ilmu.
Logika dapat diartikan ilmu yang mengajarkan cara berpikir untuk melakukan
aksi dengan tujuan tertentu.
Dari pengertian diatas maka dapat diartikan Logika dan Algoritma adalah
ilmu yang mempelajari cara penyelesaian masalah berdasarkan langkah-
langkah terbatas yang logis dan sistematis dengan tujuan tertentu.
Contoh Algoritma:
Permasalahan:
Diberikan dua gelas (A dan B), gelas A berisi air kopi dan gelas B berisi air
teh. Pertukarkan isi gelas tersebut sehingga menghasilkan gelas A semula
berisi air kopi menjadi berisi air teh dan gelas B yang semula berisi air teh
menjadi berisi air kopi.
Penyelesaian:
Untuk mempertukarkan isi gelas dengan benar, maka diperlukan gelas
tambahan yang kita namakan gelas C sebagai tempat penampungan
sementara. Berikut Algoritmanya:
Deskripsi
1. Tuangkan isi gelas A ke gelas C
2. Tungkan isi gelas B ke gelas A
3. Tuangkan isi gelas C ke gelas B
A : berisi Teh
B : berisi air Kopi
B. Syarat-Syarat Algoritma
Syarat-Syarat Algoritma menurtu Donald E. Knuth, yaitu:
1. Finiteness (Keterbatasan)
Algoritma harus berakhir setelah melakukan sejumlah langkah proses
2. Definiteness (Kepastian)
Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak
menimbulkan makna ganda
3. Input (Masukan)
Sebuah algoritma memiliki nol atau lebih masukan (input) yang
diberikan kepada algoritma sebelum dijalankan
4. Output (Keluaran)
Setiap algoritma memberikan satu atau beberapa hasil keluaran
5. Effectiveness (Efektivitas)
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar
1. Runtunan
Runtunan yaitu satu atau lebih instruksi yang dikerjakan secara
berurutan sesuai dengan urutan penulisannya. Urutan dari instruksi
menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan
berubah maka mungkin juga hasil akhirnya berubah.
A B
(3 * 5) + 5 = 20 3 * (5 + 5) = 30
Dari contoh diatas dapat dilihat ternyata hasil akhirnya dapat berubah
apabila urutan pengerjaannya berbeda.
2. Pemilihan
Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu.
Kondisi adalah persyaratan yang dapat bernilai benar atau salah.
Instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya
apabila salah maka instruksi tidak akan dilaksankan. Pernyataaan
kondisi menggunakan statemen If (jika) dan Then (maka).
3. Pengulangan
Pengulangan merupakan pengulangan sejumlah aksi yang sama sebanyak
jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan.
Beberapa statemen pengulangan yaitu:
D. Penulisan Algoritma
Algoritma dapat ditulis dengan cara berikut:
1. Menggunakan bahasa natural
2. Menggunakan kode semu (pseudo-code)
Teknik penulisan yang mendekati bahasa pemrograman tertentu
3. Menggunakan diagram alir (flow chart)
Teknik penyajian dengan menggunakan symbol-simbol.
Dari ketiga cara ditas untuk mempermudah translasi teks algoritma kedalam
teks program sebaiknya ditulis dalam bentuk notasi yang mendekati bahasa
pemrograman (pseudo-code).
Contoh:
Tulislah algoritma untuk mencari Luas Persegi Panjang, apabila diketahui nilai
panjang 8 dan nilai lebar 5.
1 Mulai
2 Masukkan Nilai Panjang Persegi Panjang
3 Masukkan Nilai Lebar Persegi Panjang
4 Hitung Luas Persegi (Luas = Panjang x Lebar)
5 Tampilkan Nilai Luas Persegi Panjang
7 Selesai
Pseude Code
1 Start
2 Input (Panjang)
3 Input (Lebar)
4 Luas Panjang * Lebar
5 Output (Luas)
7 End
E. Teks Algoritma
1. Bagian Kepala
2. Bagian Deklarasi
3. Bagian Deskripsi
Algoritma nama_algoritma
{penjelasan singkat uraian yang dilakukan oleh algoritma}
Deklarasi
{semua nama yang digunakan, meliputi nama-nama: tipe, konstanta, variable
juga nama sub program dinyatakan dibagian ini}
Deskripsi
{semua langkah penyelesaian dituliskan disini}
Deklarasi
nama : string;
Deskripsi
namaAhmad
write(Selamat Belajar, nama)
A. Sejarah
Keterangan:
1. Judul Program bersifat optional boleh disertakan boleh juga tidak, tapi
sebaiknya dituliskan untuk keperluan dokumentasi. Penulisan judul
program terletak pada awal penulisan dan diakhiri dengan tanda titik
koma. Contoh:
a. Identifier Umum
Identifier umum merupakan identifier yang didefenisikan sendiri oleh
pemrogram yang tidak boleh sama dengan identifier standard
maupun identifier reserved word
b. Identifier Standar
Identifier standar merupakan identifier yang terdapat pada library
compiler. Library berisi procedure, fungsi, unit yang siap pakai.
Contoh identifier:
Begin, end, if, else
Tipe data dalam pascal dibedakan dalam dua macam, yaitu : tipe
data dasar dan tipe data bentukan. Tipe data dasar terdiri dari:
bilangan logic, bilangan bulat, bilangan Riil dan Karakter. Sedangkan
tipe data bentukan terdiri dari: string, Rekaman dan tipe bentukan
yang dibentuk dari tipe dasar.
Bilangan Bulat
Bilangan Riil
Tipe Data
TipeBentukan
String
Rekaman
Tipe Bentukan
Y Not Y
True False
False True
X Y X and Y X or Y X xor Y
True True True True False
True False False True True
False True False True True
False False False False False
Keterangan:
Not : kebalikan dari nilai yang diberikan
And : bernilai benar apabila keduanya benar
Or : bernilai benar apabila keduanya benar atau salah satunya benar
Xor : bernilai benar apabila salah satunya saja yang benar
Contoh:
X AND Y
OPEARATOR
OPERAND
Operasi pada bilangan bulat, terdiri dari operasi aritmatika dan operasi
perbandingan.
Operasi pada bilangan bulat, terdiri dari operasi aritmatika dan operasi
perbandingan.
2.2.4 CHAR
Char adalah semua character yang terdapat pada tombol keyboard atau
semua karakter yang terdapat dalam kode ASCII.
Operator Perbandingan
= Sama dengan
< Lebih kecil dari
> Lebih besar dari
<= Lebih kecil sama dengan
>= Lebih besar sama dengan
<> Tidak sama dengan
Contoh
a = a Hasil : True
M = m Hasil : False
m < z Hasil : True
b. Operasi Perbandingan
Operator Perbandingan
= Sama dengan
< Lebih kecil dari
> Lebih besar dari
<= Lebih kecil sama dengan
>= Lebih besar sama dengan
<> Tidak sama dengan
Contoh
2.2.6. REKAMAN
Rekaman disusun oleh satu atau lebih field. Tiap field menyimpan data dari
tipe dasar tertentu yang sudah didefenisikan sebelumnya. Rekaman juga
disebut dengan tipe terstruktur.
Nama baru untuk tipe bentukan dapat dibuat dengan kata kunci type.
Contoh :
Keterangan : membuat tipe baru dengan nama bulat yang sama dengan
integer.
A. Flow Chart
Proses Perhitungan /
pengolahan
Preparation Inisialisasi/pemberian
nilai awal
START
INPUT (PANJANG)
INPUT (LEBAR)
OUTPUT (LUAS)
END
INPUT
UNIT, JML
BYAWAL =
UNIT*JML
IF
POT=
BYAWAL YES
(BYAWAL*10)/100
>=100000
NO
POT=0
PRINT
POT
BYRAKHIR=
BYAWAL-POT
PRINT
BYRAKHIR
END
Algoritma Cetak_Ucapan
{mencetak ucapan Selamat Belajar dan diikuti dengan nama}
Deklarasi
nama : string;
Deskripsi
namaAhmad
write(Selamat Belajar, nama)
Program Cetak_Ucapan;
Var
nama : string;
Begin
nama:=Ahmad;
write(Selamat Belajar , nama);
End.
1. Program Cetak_Ucapan;
2. Uses wincrt;
3. Var
4. Nama : string;
5. Begin
6. Nama := Ahmad;
7. Write (Selamat Belajar ,nama);
8. End.
Klik tanda X
untuk menutup
jendela welcome
Klik menu
FileNew untuk
menampilkan
jendela baru
1.
Blok
Hitam
Error 85: ;
expected
Keterangan:
Saat program dijalankan terdapat tanda blok hitam, maka
pusatkan perhatian dibaris mana blok hitam itu berada,
perhatikan apa yang kurang pada baris tersebut, apabila tidak
ada yang kurang alias sudah benar, maka perhatikan baris
program yang terdapat diatas blok hitam itu.
3. Menyimpan Program
Untuk memudahkan pencarian program, biasakan menyimpan program
pada folder yang telah ditentukan. Untuk itu sebelum menyimpan
program, buatlah folder terlrbih dahulu dengan nama folder bebas asal
mudah diingat. Sebagai contoh pada modul ini forlder dibuat dengan
nama LATIHAN yang dibuat pada drive D.
Drive
D:\
4. Double klick pada drive D:\ , hingga posisi Path berubah seperti
pada gambar 16.
Double
Klick
Disini
5.
Lokasi Path
7. Beri nama File dengan nama latih1.pas pada kotak File name
1. Write/Writeln
Write : Menampilkan data dalam satu baris
Writeln : Menampilkan data disertai dengan penambahan
baris baru
Contoh:
Statemen Hasil
Writeln(Selamat ); Selamat
Writeln(Belajar) Belajar
Read/Readln
Statemen untuk membaca data yang diinputkan
D. Struktur Perulangan
1. For..To..Do
For to do, merupakan bentuk perulangan positip.
Bentuk umum perulangan For adalah
Program 1
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. For a:= 1 to 5 do
7. writeln('AKMI);
8. End.
Keterangan :
Program diatas menghasilkan tulisan AKMI sebanyak 5 kali
Program 2
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. For a:= 1 to 5 do
7. writeln('a);
8. End.
Output Program 2
a
a
a
a
a
Keterangan :
Program diatas menghasilkan huruf a sebanyak 5 kali
Program 3
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. For a:= 1 to 5 do
7. writeln('a);
8. End.
Output Program 3
1
2
3
4
5
Pertanyaan:
Apa perbedaan antara program 2 dengan program 3 diatas?
Apa pendapat anda tentang kedua program diatas?
2. For..DownTo..Do
For Downto do, merupakan bentuk perulangan negatip.
Bentuk umum perulangan For..DownTo..Do adalah
contoh:
Program A
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. For a:= 5 Downto 1 do
7. writeln('AKMI);
8. End.
Output Program A
AKMI
AKMI
AKMI
AKMI
AKMI
Keterangan :
Program diatas menghasilkan tulisan AKMI sebanyak 5 kali
Program B
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. For a:= 5 downto 1 do
7. writeln('a);
8. End.
Keterangan :
Program diatas menghasilkan huruf a sebanyak 5 kali
Program C
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. For a:= 5 downto 1 do
7. writeln(a);
8. End.
Output Program C
5
4
3
2
1
Keterangan :
Program diatas menghasilkan deret angka dari dari besar ke
kecil (descending) atau perulangan negatif
Pertanyaan:
Apa perbedaan antara program B dengan program C diatas?
Apa perbedaan antara program 3 dengan program C diatas?
Jelaskan perbedaan antara program A dengan program 1!
Jelaskan perbedaan antara program B dengan program 2!
Jelaskan perbedaan antara program C dengan program 3!
3. While..Do
Output Program 4
1
2
3
4
Keterangan:
Program diatas menghasilkan deret angka 1 s.d 4
Pemberian nilai awal
Program 5
1. program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. a :=5;
7. while a < 5 do
8. Begin
9. writeln(a);
10. a := a + 1;
11. End;
12. End.
4. Repeat..Until
Output Program 5
1
2
3
4
5
Program 6
1. Program perulangan;
2. uses wincrt;
3. Var
4. a : integer;
5. Begin
6. a :=10;
7. Repeat
8. Begin
9. writeln(a);
10. a := a + 1;
11. End;
12. until a > 5
13. End.
Output Program 6
10
Output Program 7
1
Keterangan:
Perulangan Repeat..Until akan melakukan perulangan minimal
satu kali, berbeda dengan perulangan menggunakan while..do,.
Perulangan while..do tidak akan melakukan perulangan apabila
kondisinya tidak terpenuhi.
E. Struktur Percabangan
1. IF..Then..Else
IF <KONDISI> THEN
<AKSI1>
ELSE
<AKSI2>
IF <KONDISI1> THEN
<AKSI1>
ELSE
IF <KONDISI2> THEN
<AKSI2>
ELSE
IF <KONDISI3> THEN
<AKSI3>
ELSE
<AKSI4>
Contoh Program:
Menentukan apakah genap atau ganjil, berdasarkan bilangan
yang dimasukkan.
Program 8
1. Program percabangan;
2. uses wincrt;
3. Var
4. bil : integer;
5. Begin
6. Write(Masukkan Bilangan : );
7. Readln(bil);
8. If bil mod 2 = 0 then
9. Writeln(Bilangan Genap)
10. Else
11. Writeln(Bilangan Ganjil);
12. End.
2. Case..OF
Atau
Case <expression> Of
Case : statement;
Case : statement;
Else
statement
End
Contoh Program:
Menentukan predikat nilai berdasarkan masukan nilai huruf
berikut:
Program 8
1. program percabangan;
2. uses wincrt;
3. var
4. nh : char;
5. pre : string;
6. Begin
7. write('Nilai Huruf :');
8. readln(nh);
9. case nh of
10. 'A' : pre := 'Istimewa';
11. 'B' : pre := 'Baik';
12. 'C' : pre := 'Cukup';
13. 'D' : pre := 'Buruk';
14. 'E' : pre := 'Buruk sekali';
15. end;
16. writeln('Predikat Nilai : ',pre);
17. end.
Array adalah tipe data terstruktur yang dapat menyimpan lebih dari satu nilai
yang sejenis. Tipe data pada array dapat berupa integer, real, char dan
string. Berikut, contoh pendeklarasian array
1. program percabangan;
2. uses wincrt;
3. var
4. Nmhari : array[1..7] of string;
5. a : integer;
6.
7. Begin
8. for a:= 1 to 7 do
9. begin
10. write('Nama Hari Ke-',a,' :');
11. readln(nmhari[a]);
12. end;
13.
14. CLRSCR;
15. writeln('================');
16. writeln('NAMA-NAMA HARI');
17. writeln('================');
18.
19. for a:= 1 to 7 do
20. writeln(a,' ',nmhari[a]);
21. end.
G. Prosedur
Prosedur adalah program terpisah atau subprogram yang dibuat dengan
tujuan untuk menyederhanakan program. Prosedur ditulis dalam satu blok
program yang cukup ditulis satu kali tetapi dapat dipanggil berulang kali.
Berikut contoh penggunaan prosedur dalam program.
1. program prosedur1;
2. uses wincrt;
3.
4. procedure judul;
5. begin
6. writeln('----------------------');
7. writeln(' PERKALIAN BILANGAN ');
8. writeln('======================');
9. end;
10. var
11. a, b : integer;
12. begin
13. write('Masukkan Bilangan Pertama : ');
H. Fungsi
Fungsi hampir sama dengan prosedur, perbedaannya fungsi harus
dideklarasikan dengan tipenya. Tipe deklarasi menunjukkan tipe hasil dari
fungsi. Cara penulisan function adalah:
1. program prosedur1;
2. uses wincrt;
3.
4. procedure judul;
5. begin
6. writeln('----------------------');
7. writeln(' LUAS PERSEGI PANJANG ');
8. writeln('======================');
9. end;
10.
11. function perkalian (var a,b : integer): integer;
12. begin
13. perkalian := a * b;
14. end;
15.
16. var
17. pj, lb : integer;
18. begin
19. write('Masukkan Nilai Panjang : ');
20. readln(pj);
21. write('Masukkan Nilai Lebar : ');
22. readln(lb);
23. judul;
24. writeln('Nilai Panjang : ',pj);
25. writeln('Nilai Lebar : ',lb);
26. writeln('Luas Persegi Panjang : ',perkalian(pj,lb));
27. end.
Muhammad Romzi, mengajar di AMIK AKMI Baturaja sejak tahun 2002 dengan
riwayat sebagai berikut:
Amanah Jabatan: