Anda di halaman 1dari 64

PRESENTASI KELOMPOK 1

LOGIKA DAN ALGORITMA


SEMESTER 1
Pembimbing : SIGIT AULIANA

Disusun oleh :

1. Siti Maulidah
2. Siti Aulia Fitriani
3. Danisa Fitriani
4. AFrilia Purwanti
5. Eliyani Galingging
PERTEMUAN I
 Pengertian Dasar Logika dan  Pengertian Dasar Logika dan
Algoritma Algoritma

LOGIKA LOGIKA
Diperkenalkan pertama kali oleh Diperkenalkan pertama kali oleh
Aristoteles (384-322 SM) Aristoteles (384-322 SM)

ALGORITMA ALGORITMA
Diperkenalkan Oleh Ahli Diperkenalkan Oleh Ahli
Matematika : Abu Ja’far Matematika : Abu Ja’far
Muhammad Ibnu Musa Al Muhammad Ibnu Musa Al
Khawarizmi. Khawarizmi.
Seorang ilmuan Persia yang menulis Seorang ilmuan Persia yang menulis
kitab al jabr w’al muqabala (rules of kitab al jabr w’al muqabala (rules of
restoration and reduction) sekitar tahun restoration and reduction) sekitar tahun
825 M 825 M
KRITERIA PEMIIHAN ALGORITMA
1. Ada Output,
2. Efektifitas dan Efesiensi,
3. Jumlah Langkahnya Berhingga,
4. Berakhir, 
 ,
Contoh :
Sebuah prosedur ketika akan mengirimkan surat kepada teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat &
cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke
bis surat untuk memasukkan surat ke dlm kotak/bis surat.
BAGAIMANAKAH MENYATAKAN
SUATU ALGORITMA ?
DENGAN BAHASA SEMU DENGAN DIAGRAM
(PSEUDOCODE) ALUR/FLOWCHART

Untuk menghitung Luas


Segi tiga :
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas =( Alas *
Tinggi ) / 2
4. Cetak Luas
KONSEP ALGORITMA
Algoritma Pe-Ubah Algoritma Pertukaran
Adalah Variabel yang nilainya Berfungsi
BUKAN konstanta (selalu
mempertukarkan masing-
berubah – sesuai dengan
kondisi Variabel terKINI) masing isi Variabel
sedemikian sehingga Nilai
dari tiap Variabel akan
Sintaks P=Q
berubah/bertukar
Algoritma P==Q
Arti Bahwa nilai P diberi
harga nilai Q. Nilai P sama
dengan nilai Q, nialai Q
tetap
PERTEMUAN II
 NOTASI ALGORITMA

1. Untaian kalimat deskriptif


2. Pseudocode
3. Flowchart (diagram alir)
1. Untaian Kalimat Deskriptif
 Langkah-langkah pemecahan masalah dituangkan
dengan untaian kalimat deskriptif.

Contoh : PROGRAM persegipanjang


Program untuk menghitung luas persegi panjang.
FLOW CHART PERSEGI PANJANG
Contoh : PROGRAM
persegipanjang
Program untuk menghitung
luas persegi panjang.
ALGORITMA :
1. Masukkan/input panjang dan
lebar persegipanjang.
2. Hitung luas persegipanjang
dengan rumus :
Luas = Panjang x Lebar
3. Tampilkan luas
persegipanjang.
2. Pseudocode
 Pseudocode berasal dari kata :

- Pseudo yang berarti imitasi atau mirip atau menyerupai.


- Code yang berarti kode program.
- Pseudocode berarti kode yang mirip dengan kode
pemrograman yang sebenarnya.
PROGRAM persegipanjang
Program untuk menghitung luas persegipanjang.

DEKLARASI
panjang, lebar : integer
luas : integer
ALGORITMA :
read(panjang,lebar)
luas = panjang * lebar
write(luas)
3. Flowchart
Flowchart berasal dari kata :
- Flow berarti aliran.
- Chart berarti gambar , diagram atau simbol-simbol.
Adalah suatu bentuk penggambaran algoritma berupa diagram alir yang menggunakan simbol
khusus untuk menggambarkan alur kerja dari sebuah program.
Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial
Tujuan : untuk memudahkan programmer dalam memahami alur program yang akan dibuat.

Kegunaan:
 Untuk mendesain program
 Untuk merepresentasikan program

Dengan demikian, flowchart harus dapat merepresentasikan komponen-


komponen dalam bahasa pemrograman
Fungsi Flowchart
Sebelum pembuatan program
 Mempermudah programmer dalam menentukan alur logika program
Sesudah pembuatan program
 Menjelaskan alur program kepada orang lain
Jenis Flowchart

1. Sistem Flowchart
2. Program Flowchart
Simbol Flowchart
Konstruksi Dasar Algoritma
 Sebuah algoritma dibangun dengan tiga buah
konstruksi :
a. Struktur Runtunan (sequence)
b. Struktur Pemilihan (selection)
c. Struktur Pengulangan (repetition)
3

A.RUNTUTAN
• Terdiri dari satu atau lebih instruksi.
• Tiap instruksi dikerjakan secara berurutan.
• Urutan instruksi menentukan keadaan akhir
algoritma.
• Bila urutan dirubah, maka hasil akhir bisa
berubah.
Flowchart – Sequence
2.PEMILIHAN (Selection)
Struktur kendali aliran adalah suatu
bentuk/struktur yang memiliki peranan khusus
untuk mengatur aliran urutan pengerjaan operasi
atau beberapa operasi tertentu.

Salah satu contoh pernyataan kendali yaitu


PERNYATAAN IF
Pernyataan if (if statement) akan memeriksa
suatu persyaratan dan menentukan apakah
syarat tersebut benar atau salah, kemudian
melakukan pekerjaan sesuai dengan nilai
pernyataan tersebut.
4

• Adakalanya sebuah instruksi dikerjakan jika


kondisi tertentu dipenuhi.
If kondisi then
aksi 1
else
aksi 2
Flowchart – Selection
 Selection
5

3.PENGULANGAN (Iteration)

1. For pencacah pengulangan dari a sampai b do


aksi
2. Repeat
Flowchart – Iteration
Loop...

Loop Sederhana (Simple Loop)


Terdiri dari satu buah loop (bentuk : while, for atau repeat
until)

T
F

While/for repeat-until
Perulangan dengan for-next
dilakukan sesuai dengan jumlah
perulangan yang ditetapkan pada
struktur for /selama kondisi
(syarat) yang ada pada perulangan
benar (terpenuhi)
T

F
While - do
Perulangan dengan while ..do
digunakan selama kondisi (syarat)
yang ada pada perulangan benar
(terpenuhi)
Perulangan dengan repeat until
Repeat - Until digunakan selama kondisi belum
terpenuhi
Contoh Flowchart…
START
1. Mulai

Buat variabel
x, x2 = integer
2. Buat variabel X dan X2

3. Masukkan nilai X
Read
x=?
4. Hitung X2 = X*X
x2 = x * x
5. Cetak X2
Write
x2
6. Pertanyaan Kondisi :
Hitung Lagi?

Hitung lagi ? Y
7. Jika Ya  mengulang langkah 2
T
8. Jika Tidak  selesai
END
Again Another Example
Mulai 1. Mulai

2. Masukkan nilai A dan B


Input A,B

3. Pertanyaan seleksi :
Y
apakah A>B
A>B? Cetak A

4. Jika Benar  Cetak A


N

Cetak B 5. Jika Salah  Cetak B

6. Selesai
Selesai
PERTEMUAN III

 Penyeleksian Kondisi
Statemen IF (1)
Statemen IF dapat berupa IF – THEn atau IF –
THEN – ELSE dengan diagram sintak :

Statement IF IF Ungkap
THEN
an

ELSE Statemen
Struktur IF -Then

Bentuk dari struktur If-Then :

IF Ungkapan THEN Statemen


Ungkapan adalah kondisi yang akan
diseleksi oleh statemen IF. Bila kondisi
yang diseleksi terpenuhi, maka statemen
yang mengikuti THEN akan diproses.
Sebaliknya jika kondisi tidak terpenuhi,
maka yang akan diproses adalah
statemen berikutnya.
If
Benar
Kondisi
?

Then

Tidak
Statemen
Contoh :
Program Untuk seleksi Ujian lulus atau tidak (If –Then)

var NilaiUjian: Real;


Ket : String[15];
Begin
Write(‘Nilai Yang didapat = ‘); Readln(nilaiUjian);
If NilaiUjian > 60 Then
ket:= ‘Lulus’;
Else
Ket := ‘Tidak Lulus’;
readln;
end.
Struktur IF-Then … ELSE

 Struktur IF-Then … Else merupakan


pengembangan dari struktur IF-Then dengan
struktur sebagai berikut :
IF Kondisi Then
Statemen1
Else
Statemen2;
Statemen1 atau dapat berupa blok
statemen akan diproses bilamana
kondisi yang diseleksi benar
(terpenuhi)

Statemen2 atau dapat berupa blok


statemen akan diproses bilamana
kondisi yang diseleksi tidak terpenuhi.
If
Tidak Benar
Kondisi
?

Else Then

Statemen2 Statemen1
Struktur IF Tersarang

Struktur IF Tersarang (nested IF) merupakan


bentuk dari suatu statemen IF berada di dalam
lingkungan statemen IF yang lainnya.

IF Kondisi THEN IF Kondisi THEN


IF Kondisi2 THEN Begin
statemen1 IF Kondisi2 THEN
Else statemen1
statemen2 Else
statemen2
End;
Flowchart IF Tersarang

Benar
If Kondisi1 ? Tidak

Tidak If Benar
Kondisi
Else 2?

Statemen2 Statemen1
IF Kondisi1 THEN
Begin
IF Kondisi2 THEN
Begin
IF Kondisi1 THEN If Kondisi3 Then
Begin Begin

IF Kondisi2 THEN If Kondisi4 Then


statemen1 statemen1
Else
Else
statemen2
statemen2 END
Else END
Else
Statemen3
Statemen3
End;
End;

Gambar A Gambar B
Flowchart Gambar a
Benar
If
Tidak
Kondisi
1?
If Benar
Tidak
Kondisi
Else 2?
Else

Statemen3 Statemen2 Statemen1


Flowchart Gambar B
If
Kon Benar
Tidak
disi1
? If Benar
Kond
Else Tidak isi2 ?
If Benar
Kond
Tidak
isi3 ?
If Benar
Tidak Kond
Tidak isi4 ?

Statemen1 Statemen1
Konstruksi CASE yang ekivalen dengan
konstruksi IF-THEN-ELSE :
if ekspresi = nilai1 then
pernyataan1
else
if ekspresi = nilai2 then
pernyataan2
else
if ekspresi = nilai3 then
pernyataan3
...
if ekspresi = nilain then
pernyataann
else { otherwise }
pernyataanx
endif
endif
endif
endif
STATEMENT CASE
Struktur Case

 Konstruksi CASE adalah sebagai berikut :


case ekspresi
nilai1 : pernyataan1
nilai2 : pernyataan2
nilai3 : pernyataan3
...
nilain : pernyataann
else : pernyataanx
endcase
Ekspresi adalah sembarang ekspresi (aritmatika atau
boolean) atau variabel yang menghasilkan suatu nilai
(konstanta).
Format bahasa C++ :
Switch (ekspresi)
{
case nilai1 : pernyataan1;
break;
case nilai2 : pernyataan2;
break;
::
case nilain : pernyataann;
break;
default : pernyataanx;
}
ALGORITMA KonversiAngkaTeks
{ Mencetak kata untuk angka 1 sampai 4 }
DEKLARASI
angka : integer { angka yang dibaca }
DESKRIPSI :
input(angka)
if angka = 1 then
output(“satu”)
else
if angka = 2 then
output(“dua”)
else
if angka = 3 then
output(‘tiga’)
else
if angka = 4 then
output(‘empat’)
else
output(‘angka yang dimasukkan salah’)
endif
Endif
endif
endif
Dengan konstruksi CASE, algoritma untuk masalah di atasdapat
dibuat menjadi lebih singkat sebagai berikut :
ALGORITMA KonversiAngkaTeks

{ Mencetak kata untuk angka 1 sampai 4 }


DEKLARASI
angka : integer { angka yang dibaca }
DESKRIPSI :
input(angka)
case angka
1 : output(“satu”)
2 : output(“dua”)
3 : output(“tiga”)
4 : output(“empat”)
else : output(“angka yang dimasukkan salah”)
endcase
LOOPING
(PERULANGAN)
Struktur Pengulangan
Struktur Pengulangan secara umum dibagi atas:
1. Kondisi Pengulangan
yaitu ekspresi boolean yang harus dipenuhi
untuk melaksanakan pengulangan
2. Badan (body) pengulangan
yaitu bagian algoritma yang diulang
Struktur FOR
- Digunakan untuk menghasilkan pengulangan
sejumlah kali yang dispesifikasikan
- Terdapat variabel pencacah (counter) yang
nilainya bertambah satu setiap kali pengulangan
- Pengulangan berhenti jika sudah mencapai jumlah
yang dispesifikasikan
- Termasuk pengulangan tanpa kondisi (unconditional
looping) yaitu instruksi yang ada diulangi sejumlah
kali yang dispesifikasikan
Bentuk Umum Struktur FOR
1. FOR menaik
for pencacah  nilai_awal to nilai_akhir do
aksi
endfor
2. FOR menurun
for pencacah  nilai_akhir downto nilai_awal
do
aksi
endfor
Keterangan:
 Pencacah haruslah tipe data yang memiliki
predecessor atau successor yaitu integer atau
karakter. Tipe riil tidak dapat digunakan
 Aksi adalah bagian/instruksi yang diulanga
 nilai_awal <= nilai_akhir
 Nilai pencacah secara otomatis bertambah
Contoh
Algoritma cetak_bilangan
{menampilkan bilangan 1 sampai 5}
Deklarasi:
bil : integer
Deskripsi:
for bil 1 to 5 do
write(bil)
endfor
program for_do_loop;
uses wincrt;
var
i: integer;
begin
for i := 1 to 1000 do
begin
writeln(‘ASSALAMUALAIKUM’,i);
end;
readln;
end.
Flowchart FOR

variabel  nilai_awal

F
Variabel <= nilai_akhir

T akhir FOR
pernyataan (aksi)

variabel  variabel+1
Struktur While
- Digunakan untuk menghasilkan pengulangan
sampai kondisi yang telah ditentukan
- Termasuk pengulangan dengan kondisi
(conditional looping) yaitu instruksi yang ada
diulangi sampai kondisi berhenti terpenuhi
Bentuk Umum
while kondisi do
aksi
endwhile

Keterangan :
aksi/runtunan aksi akan dilaksanakan
berulang kali selama kondisi bernilai true, jika
kondisi bernilai false berarti pengulangan
selesai
Contoh
Algoritma cetak_bilangan
{menampilkan bilangan 1 sampai 5}
Deklarasi:
bil : integer
Deskripsi:
bil  1
while bil <= 5 do
write(bil)
bil  bil +1
endwhile
program while_do;
uses wincrt;
var
  i: integer;
begin
   i:= 5;
   while i <= 10 do
    begin
      writeln('Variabel i sekarang bernilai: ',i);
      i:= i + 1;
    end;
  readln;
end.

CONTOH program Pascal


CONTOH program Pascal
• program while_do;
• uses crt;

• var

•   i: integer;

• begin

•   clrscr;

•   i:= 3;

•  

•   writeln('Berikut deret untuk kelipatan 3: ');

•    

•   while i <= 30 do

•     begin

•       write(i,' ');

•       i:= i + 3;

•     end;

•   readln;

• end.
Flowchart WHILE

F
kondisi
T akhir WHILE
pernyataan (aksi)
Struktur Repeat…Until
Struktur repeat memiliki makna yang sama
dengan while
Contoh
Algoritma cetak_bilangan
{menampilkan bilangan 1 sampai 5}
Deklarasi:
bil : integer
Deskripsi:
bil  1
repeat
write(bil)
bil  bil +1
until bil>6
CONTOH program Pascal
• program repeat_until;
• uses crt;

• var

•   i: integer;

• begin

•   clrscr;

•   i:= 0;

•    repeat

•     begin

•       writeln('Variabel i sekarang bernilai: ',i);

•       i:= i + 1;

•     end;

•   until i = 10;

•   readln;

• end.
SEKIAN
TERIMAKASIH…

Anda mungkin juga menyukai