Anda di halaman 1dari 18

Kelompok 2

1. Imas Sulastri (2200860)


2. Ni Putu Feby Prasetya Dewi
3. Wina Marlena (2200720)
4. Yopan Tri Agustian (2306540)

Pertanyaan Pra Pembelajaran Ke 1

1. Ada berapa macam tipe data? Jelaskan macam macam tipe data tersebut!
Jawab :
Tipe data terdiri dari 2 macam, yaitu tipe data primitif (dasar) dan tipe data composite
(bentukan).
1) Tipe Data Primitif (Dasar)
Tipe data primitive adalah tipe data sederhana yang selalu tersedia pada setiap
bahasa pemrograman. Tipe data ini bisa menyimpan satu nilai seperti digit, byte,
atau karakter. Namun, tipe data primitif tidak bisa menjangkau data kompleks yang
memiliki tingkat kerumitan tinggi.
Yang termasuk ke dalam tipe data dasar adalah :
a. Bilangan Logika (Boolean)
Tipe data logik adalah tipe data yang digunakan untuk memberi nilai pada hasil
pembandingan, atau kombinasi pembandingan yang menyatakan true (benar)
atau false (salah).
Boolean sendiri hanya bisa merepresentasikan dua nilai dengan pertimbangan
seperti hubungan angka yang lebih kecil atau lebih besar.

Tipe Data Ukuran (bit) Range

Boolean – True/False

• Nama Tipe
Boolean (diambil dari nama seorang matematikawan Inggris, George
Boole).
• Ranah Nilai
Bilangan logika hanya mengenal dua buah nilai : benar (true) atau
salah (false). Istilah “bilangan” pada “bilangan logika” dikarenakan
kita dapat menyatakan “benar” dengan angka 1 dan “salah” dengan
angka 0 (atau sebaliknya, bergantung konvensi yg kita buat)
• Konstanta
Karena ranah nilai tipe boolean hanya beranggotakan dua buah nilai,
maka konstanta yg terdapat pada tipe ini adalah true dan false
• Operasi
Operasi logika atau operasi Boolean. Operasi logika menghasilkan
nilai true dan false. Operator logika yg umum digunakan untuk
operasi logika adalah : not, and, or, dan xor.

Misalkan A dan B adalah dua peubah (variable) yang bertipe Boolean,


maka cara menuliskannya di bagian DEKRLARASI adalah sbg berikut
:

DEKLARASI :
a, b : Boolean

Hasil operasi A dan B dengan keempat operator Boolean tersebut


diberikan oleh masing masing table (yang disebut table kebenaran –
truth table)

A not a
False
True
True
False

A b a and b a or b a xor b

true true true true false


false false
true true true
false
false true true true

false false false false false

• Operasi dgn operator and hanya akan bernilai benar bila a dan b
keduanya bernilai benar,
• Operasi dgn operator or hanya akan bernilai salah bila a dan b
keduanya bernilai salah.
• Operasi dgn operator xor akan bernilai benar bila a dan b saling
berlawanan nilai kebenarannya.

Contoh Operasi Logika :


Misalkan X, Y, dan Z adalah peubah bertipe Boolean, X bernilai true, Y
bernilai false, dan Z bernilai true, maka :

Operasi Logika Hasil


(X and Y) or Z True

X and (Y or Z) True

not (X and Z) False

(Y xor Z) and Y False

b. Bilangan Bulat (integer)


,
Integer atau bilangan bulat adalah tipe data primitif dengan tipe data numerik
yang biasa digunakan apabila bertemu dengan bilangan bulat digunakan untuk
angka tanpa pecahan. Artinya, tipe data ini tidak memiliki pecahan desimal.
Bilangan bulat bisa berupa negatif atau positif.
Kesimpulannya, integer digunakan untuk menampilkan bilangan tanpa
decimal.
Umumnya, bahasa pemrograman memiliki batasan (limit) angka minimal dan
maksimal yang direpresentasikan sebagai bilangan bulat.
Contoh: 46, 2, -202, 9857, -67.

• Nama Tipe : integer


Misalkan c dan d adalah dua variable yg bertipe integer, maka cara
menuliskannya di bagian DEKLARASI adalah

DEKLARASI
c, d : integer
• Ranah Nilai
Secara teoritis, tipe bilangan bulat mempunyai ranah nilai yang tidak
terbatas. Rentang nilainya adalah dari minus tidak berhingga sampai
plus tidak berhingga.

Tipe bilangan bulat adalah tipe yang memiliki keterurutan. Seacra


formal keterurutan itu didefinisikan sbg berikut :
Jika a adalah peubah bertipe bilangan bulat, maka predecessor (a) = a-
1, dan successor (a) = a +1
• Konstanta
Konstanta nilai bertipe bilangan bulat harus ditulis tanpa mengandung
titik decimal.
• Operasi
Operasi aritmatika dan operasi perbandingan. Operator yg digunakan
pada masing masing operasi dinamakan operator aritmatika dan
operator perbandingan (atau operator relasional)

a) Operasi Aritmatika
Operator aritmatika yang didefinisikan pada bilangan bulat adalah :

+ (tambah)
(kurang)
-
(kali)
*
(bagi)
Div
(sisa hasil bagi)
mod

Semua operator diatas membutuhkan dua buah operand dalam


pengoperasiannya, sehingga mereka disebut juga operator biner.
Khusus untuk operator “-“, ia juga merupakan operator uner,
karena ia dapat dioperasikan dengan satu buah operand, misalnya -
10, -17, dsb.

b) Operasi Perbandingan
Operasi perbandingan terhadap bilangan bulat dengan salah satu
operator relasional menghasilkan nilai Boolean (true atau false).
Operator perbandingan untuk bilangan bulat adalah :
< (lebih kecil)
(lebih kecil atau sama)

(lebih besar)
>
(lebih besar atau sama)

(sama dengan)
=
(tidak sama dengan)

Contoh Operasi Perbandingan


3<8 (true)
(24 div 3) ≠ 8 (false)

c. Bilangan Biasa (Riil)


Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, dan ditulis
sebagai: 235.45, +1023.55, -987.3456 atau dalam notasi ilmiah seperti:
1.245E+03, 7.45E-02, +2.34E-04, -5.43E+04, dsb. Jangkauan nilai :
bergantung pada implementasi perangkat keras komputer, misalnya dari -2.9E-
39 s/d +1.7E+38, untuk algoritma tidak kita batasi.

• Nama Tipe : real / floating-point


Misalkan e dan f adalah dua peubah yg bertipe bilangan riil, maka cara
menuliskannya di bagian DEKLARASI adalah sbg berikut :

DEKLARASI :
e,f : real
• Ranah Nilai
Secara teoritis, tipe bilangan bulat mempunyai ranah nilai yang tidak
terbatas. Rentang nilainya adalah dari minus tidak berhingga sampai
plus tidak berhingga.
• Konstanta
Setiap konstanta yg bertipe bilangan riil ditulis dengan tanda titik
decimal
• Operasi
Operasi aritmatika dan operasi perbandingan. Operator yg digunakan
pada masing masing operasi dinamakan operator aritmatika dan
operator perbandingan (atau operator relasional)

d. Karakter (Character)
Tipe data karakter Tunggal yang biasa didefinisikan dengan tanda petik (`)
diawal dan di akhir karakter. Tipe ini mengikuti aturan “Unicode” sehingga
bilangan harus diawali kode “/u”. Tetapi juga biasa menggunakan bilangan
heksadesimal dari 0000 sampai FFFF.

Melansir Rebus Community, character merupakan tipe data yang


dimanfaatkan untuk menyimpan satu huruf, angka, tanda baca, symbol, atau
space kosong.
Umumnya, ia juga digunakan pada berbagai Bahasa pemprograman di banyak
computer modern.
Character dimanfaatkan untuk menyimpan karakter alfabet dan menampilkan
masing-masing karakter memnggunakan kode numerik kecil.

Character adalah tipe data yang digunakan untuk menyatakan satu angka,
huruf, atau special character yang tidak dapat dioperasikan secara matematis,
misalnya: ‘A’, ‘B’,… , ‘Z’, ‘a’, ‘b’, …, ‘z’, ‘?’, ‘!’, ‘:’, ‘;’ dst. Jangkauan nilai
meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap
tombol keyboard. ▪ Operasi pembandingan dapat dilakukan dan dievaluasi
menurut urutan kode ASCII, sehingga huruf ‘A’ (Hex 41) sebenarnya lebih
kecil dari huruf ‘a’.Karakter kosong (null) adalah karakter yang panjangnya
nol.
Jenis karakternya pun bervariasi. Mulai dari huruf dan angka hingga karakter
spesial seperti tanda baca.
Selain itu, tipe ini juga tidak memiliki variasi:

Tipe Data Ukuran (bit) Range

Char 16 0 hingga 65535

• Nama Tipe : char


Misalkan g dan h adalah dua peubah yang bertipe karalter, maka cara
menuliskannya di bagian DEKLARASI adalah

DEKLARASI :
g,h : char

• Ranah Nilai
Ranah karakter adalah semua huruf di dalam alafbet, angka decimal,
tanda baca, operatpr aritmetik, dan karakter karakter khusus.
• Konstanta
Konstanta karakter harus diapit oleh tanda petik Tunggal. Contoh
konstanta karakter misalnya :
‘h’ ‘Y’ ‘+’ ‘9’

Hati hati menuliskan bahwa ‘9’ ada;ah karakter, tetapi 9 adalah integer

• Operasi
Operasi yang dapat dilakukan pada tipe karater adalah operasi
perbandingan. Operator perbandingan yg berlaku untuk tipe karakter
adalah :
< (lebih kecil)
(lebih kecil atau sama)

(lebih besar)
>
(lebih besar atau sama)

(sama dengan)
=
(tidak sama dengan)

Contoh
‘a’ = ‘a’ (hasil : true)
‘m’ < ‘z’ (hasil : true)
‘Q’ > ‘Z’ (hasil : false)
e. Bilangan Pecahan (Floating Point)
Sesuai dengan namanya, tipe ini menampilkan bilangan yang mengandung
desimal. Berbeda dengan integer, floating point hanya terdiri dari dua tipe
saja, yaitu float dan double. Keduanya dapat dibedakan dari ukuran, range,
dan jumlah digitnya:

Floating Point adalah tipe data yang sering digunakan untuk keperluan
komputasi teknis. Ia merupakan jenis data type numerik yang digunakan untuk
menyimpan angka yang memiliki komponen pecahan seperti nilai moneter
(707.07, 0.7, 707.00)

Teknologi satu ini juga mengacu oada penggunaan dua kali lipat jumlah
penyimpanan relative dengan metode angka dalam kode, seperti kalkulator.
Tidak hanya itu, ada beberapa jenis floating point dalam dunia programming,
seperti floating presisi tunggal, float presisi ganda, dan float presisi quadruple.
Masing masing jenis dibedakan sesuai banyaknya penggunaan total bit, dari
24 bit, 32 bit, 53 bit, hingga yang terbesar adalah 128 bit.

2) Tipe Data Bentukan (composite)


Tipe data composite adalah tipe data yang dibentuk dari kombinasi tipe dasar, tipe
data composite bisa terdiri dari beberapa tipe data primitif yang sama atau
berbeda, terkadang disebut sebagai item, elemen, atau member.
Ada dua macam tipe bentukan :
1. Tipe dasar yang diberi nama dengan nama tipe baru
2. Tipe terstruktur

• String
Menurut Amplitude, string merupakan jenis tipe data yang sering dianggap
paling popular. Ia adalah Kumpulan dari urutan karakter dan data yang paling
umum digunakan untuk menyimpan teks.
Selain itu string juga dapat menyertakan angka dan symbol, namun ia akan
selalu diperlalkukan sebagai teks.
Sebagai contoh, nomer telepon biasanya disimpan sebagai string (+1 -999-
666-3333), tetapi, ia juga dapat disimpan sebagai bilangan bulat
(9996663333).Nama Tipe : string
Misalkan i dan j adalah dua peubah yg bertipe string, maka cara
menuliskannya di bagian DEKLARASI adalah
DEKLARASI
i , j : string
a. Ranah Nilai
Ranah nilai untuk tipe string adalah deretan karakter yg telah didefinisikan
pada ranah karakter

b. Konstanta
Semua Konstanta string harus diapit oleh tanda petik Tunggal, misalnya :
‘BANDUNG’
‘K7685302’
‘m’

c. Operasi
Operasi terhadap data bertipe string didefinisikan dua macam

a) Operasi Penyambungan (Concatenation)


Operator : +
Contoh :
‘aaa’ + ‘ bb’ + ‘cc’ = ‘aaa bbcc’
‘1’ + ‘2’ = ‘12’

b) Operasi Perbandingan
Operator :
< (lebih kecil)
≤ (lebih kecil atau sama)
> (lebih besar)
≥ (lebih besar atau sama)
= (sama dengan)
≠ (tidak sama dengan)

• Array(larik)
Array adalah tipe data yang berisi sekumpulan variabel bertipe sama. Jadi, jika
kamu melihat sekumpulan data yang tipenya berbeda, berarti itu bukan array.
Array adalah tipe data bentukan, yang merupakan wadah untuk menampung
beberapa nilai data yang sejenis. Kumpulan bilangan bulat adalah array integer,
kumpulan bilangan tidak bulat adalah array real. ▪ Cara mendefinisikan ada dua
macam, yaitu: - Nilai_ujian : array [1 .. 10] of integer; atau - int nilai_ujian[10];
.Bentuk umum dari tipe larik adalah:
type pengenal = array [tipe_index] of tipe;
pengenal : nama tipe data.
tipe_index : tipe data untuk nomor index.
tipe : tipe data komponen.
Contoh,
type Vek = array [1..100] of integer;
Contohnya, misalkan kamu menyimpan nilai “C”, “D”, “E”, “F” dan “G” pada
suatu variabel yang bertipe array. Berarti, kumpulan nilai tersebut bisa juga
disebut array of characters. Sebab, nilai “C” hingga “G” merupakan nilai yang
bertipe sama, yaitu char

Contoh penulisan tipe larik berdimensi satu sbb :


CONST batas = 20;
VAR telpon : ARRAY[1..3] OF STRING[7]; { larik dengan nama telpon
mempunyai 3 data dengan tipe string }
nilai : ARRAY[1..5] OF INTEGER; { larik dengan nama nilai mempunyai 5 data
dengan tipe integer }
gaji : ARRAY[1..batas] OF REAL; { larik dengan namagaji mempunyai 20 data
dengan tipe real }

• Record (Rekam)
Record adalah tipe data bentukan yang merupakan wadah untuk menampung
elemen data yang tipe-nya tidak perlu sama dengan tujuan untuk mewakili satu
jenis objek.
Definisi Record hampir sama dengan Array, tetapi yang membedakan antara
keduanya adalah kalau Array semua komponennya bertipe data yang sama
sedangkan Record setiap komponennya bisa bertipe data yang beda-beda.
Contoh:
TYPE my_rec = RECORD
Nama : STRING[90]; Npm : STRING[ 8] ;
Nilai : REAL;
END;
VAR
Data nya : my re c;

• Enumerated(terbilang)
Tipe data enumerated (skalar) menunjukkan kumpulan dari nilai yang
urutannya sudah pasti. Nilai dari tipe yang dideklarasikan ini akan diwakili
dengan pengenal – pengenal (identifiers) yang akan menjadi nilai suatu konstanta.
Disebut tipe terbilang karena semua nilai disebut satu persatu.
Contoh 1:
Type bahasa = (delphi, java, c, pascal, basic);
bulan = (maret, april, mei, juni, juli);

Tipe data bulan mempunya 5 elemen dari maret sampai juli. Dari urutannya,
maret adalah identifier berupa konstanta bernilai 0 dan juli bernilai 4. Yang perlu
diperhatikan dengan tipe data skalar ini adalah tipe data ini sudah berbeda dengan
tipe standar yang ada dan pascal tidak mengijinkan operasi dengan tipe data yamg
berbeda.

Contoh 2:
TYPE hari = (Senin,Selasa,Rabu,Kamis,Jum'at,Sabtu,Minggu);
hari_kerja = (Senin,Selasa,Rabu,Kamis,Jum'at);
situasi = (senang,gembira,sedih,susah);

• Set(himpunan)
Tipe himpunan adalah kumpulan obyek yang mempunyai tipe data yang
sama dan urutan penulisannya tidak diperhatikan.Setiap onyek di dalam suatu
himpunan disebut dengan anggota atau elemen himpunan
Bentuk umum deklarasi himpunan adalah
type pengenal = set of tipe_data;
atau dapat juga langsung dideklarasikan dalam bagian deklarasi perubah seperti
berikut
var pengenal = set of tipe_data;
Keterangan:
pengenal : nama perubah atau pengenal yang akan dinyatakan sebagai tipe
himpunan.
tipe_data : tipe data dari anggota himpunan, harus bertipe ordinal.

Contoh deklarasi himpunan adalah sebagai berikut:

type Irama = (jazz, rock, blues, country, classic);


Musik = set of Irama;
Nilai = set of 0..10;
Untai = set of char;
Huruf = set of ‘A’..’Z’;
Sakit = (pusing, mual, lemas, lesu, letih);
Penyakit = set of sakit;

• Subrange(sub jangkauan)
Tipe data subrange adalah suatu range yang menunjukkan nilai terkecil dan
nilai terbesar yang dapat dipergunakan. Tipe data ini adalah tipe data yang dapat
didefinisikan sendiri oleh pemakai. Nilai data pada tipe ini mempunyai jangkauan
tertentu.
Misalkan nilai ujian mempunyai harga 0 sampai 100, maka nilai ujian dapat
didefinisikan sbb :

TYPE nilai = 0..100;


Contoh :
VAR sks : 1..4;
angkatan : 89..95;
nilai : 'A'..'E';

Deklarasi tipe data subrange mempunyai bentuk: Type pengenal = konstanta1 ..


konstanta2; dimana: pengenal : nama tipe data yang dideklarasikan
konstanta1 : batas bawah nilai data
konstanta2 : batas atas nilai data
Kedua konstanta di dalam subrange harus bertipe ordinal yang sama, di mana
nilai konstanta pertama lebih kecil atau sama dengan nilai konstanta kedua. Tipe
data real tidak dapat digunakan sebagai nilai subrange, karena buka tipe ordinal.
Contoh:
Type tanggal = 1 .. 31;
bulan = 1 .. 12;

• Date
Data tipe ini menyimpan tunggal kalender dengan informasi programming
lainnya.
Date adalah kombinasi antara bentuk integer dan numerik.
Karena date biasanya merupakan nilai integer, beberapa program bisa
menyimpan operasi matematika dasar seperti menghitung hari sebelum atau
setelah event tertentu.

• Nothing
Menurut Indeed, tipe data ini menunjukkan bahwa terdapat sebuah kode yang
tidak memiliki nilai.
Hal tersebut menunjukkan bahwa ;
Ada kode yang tertinggal
Seorang programmer salah memulai kode
Ada nilai yang tidak sesuai dengan logika yang ditentukan
Jenis data ini biasanya juga disebut sebagai nullable.

• Void
Void memberi tahu programmer bahwa ada nilai yang tidak bisa diproses
kode,
Data tipe ini memberi tahu user bahwa kose tidak bisa memberi sebuah
respons.
Biasanya, programmer akan mendapatkan tipe data ini di tahap awal system
testing Ketika belum ada respons yang deprogram untuk Langkah selanjutnya.

2. Apa yg dimaksud notasi algoritmik? Berikan contoh sebuah masalah yg diselesaikan


dengan notasi algoritma tsb!

Jawab :
Notasi algoritmik adalah cara untuk menggambarkan langkah-langkah atau instruksi
dari sebuah algoritma dengan menggunakan simbol, notasi, atau bahasa tertentu.
Tujuannya adalah agar algoritma dapat dipahami dan diimplementasikan oleh orang
lain dengan lebih mudah.
Notasi Algoritmik terdiri dari tiga bagian, yaitu :
1. Judul (Header)
2. Kamus
3. Algoritma

1) Notasi Kalimat Deskriptif


Notasi algoritma dengan menggunakan kalimat deskriptif disebut juga notasi
alami. Notasi algoritma deskriptif dilakukan dengan cara menuliskan intruksi-
intruksi yang musti dilaksanakan dalam bentuk untaian kalimat deskriptif
dengan menggunakan bahasa yang jelas. Notasi deskriptif ini disarankan untuk
algoritma yang pendek karena apabila untuk algoritma yang panjang notasi
deskriptif kurang efektif. Secara garis besar notasi deskriptif tersusun atas tiga
bagian utama, yaitu :

• Bagian Judul, merupakan bagian yang terdiri atas nama algoritma dan
penjelasan atau spesifikasi algoritma tersebut.
• Bagian Deklarasi, merupakan bagian untuk mendefinisikan semua nama yang
digunakan pada algoritma dapat berupa variabel, konstanta, tipe ataupun fungsi
• Bagian Deskripsi, merupakan bagian inti pada struktur algoritma yang berisi
uraian langkah-langkah penyelesaian masalah.

Contoh penulisan algoritma dengan notasi deskriptif.


Algoritma Luas_Lingkaran
{Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma
menerima masukan jari-jari lingkaran, menghitung luasnya, lalu mencetak
luasnya ke piranti keluaran}

Deklarasi :
Jari_jari = real {tipe data bilangan pecahan}
Luas = real {tipe data bilangan pecahan}
PHI = 3.14

Deskripsi
1. Baca jari
2. Hitung luas = PHI*jari_jari * jari_jari
3. Tampilkan luas ke layar
4. Selesai

2) Pseudecode
Pseudecode merupakan cara penulisan algoritma yang menyerupai bahasa
pemrograman tingkat tinggi. Pada umumnya notasi pseudecode menggunakan
bahasa yang mudah dimengerti secara umum dan juga lebih ringkas dari pada
algoritma. Pseudecode berisi deskripsi dari algoritma pemrograman komputer
yang menggunakan struktur sederhana dari beberapa bahasa pemrograman
tetapi bahasa tersebut hanya ditujukan agar bisa terbaca dan dimengerti
manusia. Sehingga pseudecode tidak dipahami oleh komputer. Supaya notasi
pseudecode dapat dimengerti oleh komputer maka musti diterjemahkan ke
dalam sintaks bahasa pemrograman tertentu.

Pada notasi pseudecode tidak aturan tertentu yang resmi. Disarankan untuk
menggunakan kata kunci yang umum digunakan seperti if, then, else, while,
do, for, repeat dan lainya. Struktur penulisan algoritma dengan notasi
pseudeccode secara umum sama dengan notasi deskriptif.

Contoh penulisan algoritma menggunakan notasi pseudecode.

void function TikTok


for(i=0;i<=100;i++) {
set flag to true;
if i is divisible by 3
print “Tik”;
set flag to false;
if i is divisible by 5
print “Tok”;
set flag to false;
if flag, print i;
print a newline;
}

3) Flowchart
Flowchart merupakan penulisan algoritma dengan menggunakan notasi grafis.
Flowchart adalah bagan yang mempelihatkan tahapan dari suatu program dan
hubungan antar proses beserta penyataannya. Ilustrasi ini dinyatakan dalam
simbol, setiap simbol mempunyai makna tertentu untuk proses tertentu.
Simbol-simbol flowchart yang umumnya digunakan adalah simbol-simbol
flowchart standar yang dikeluarkan oleh ANSI dan ISO.

Berikut simbol-simbol flowchart yang umumnya digunakan beserta


contohnya :
Contoh penulisan algoritma menggunakan notasi flowchart
contoh sebuah masalah yg diselesaikan dengan notasi algoritma tsb
Masalah mencari pembagi Bersama terbesar dengan menggunakan algoritma Euclidean.
1) Kalimat Deskriptif
PROGRAM Euclidean
{Diberikan dua buah bilangan bulat tak negative m dan n (m ≥ n). Algoritma
Euclidean mencari pembagi Bersama terbesar, gcd, dari kedua bilangan tersebut,
yaitu bilangan bulat positif terbesar yg habis membagi m dan n}

ALGORITMA :
1. Jika n = 0 maka n adalah jawabannya ; stop
Teteapi jika n ≠ 0, lanjutkan ke Langkah 2
2. Bagilah m dengan n dan misalkan r adalah sisanya
3. Gantin nilai m dengan nilai n dan ganti niiali n dengan nilai r, lalu ulang Kembali
ke Langkah 1.

2) Flowchart

Keterangan :
a. MOD adalah operator pembagian bilangan bulat yg menghasilkan sisa hasil
pembagian. Contohnya, 9 MOD 2 = 1 karena 9 dibagi 2 = 4 dan memberikan sisa = 1
b. Di dalam diagram alir diatas ditambahkan intruksi pembacaan nilai m dan n
3) Pseudocode
PROGRAM Euclidean
{Diberikan dua buah bilangan bulat tak negative m dan n (m ≥ n). Algoritma
Euclidean mencari pembagi Bersama terbesar, gcd, dari kedua bilangan tersebut,
yaitu bilangan bulat positif terbesar yg habis membagi m dan n}

DEKLARASI
m,n : integer {bilangan bulat yg akan dicari pbt-nya}
r : integer {sisa hasil bagi}

ALGORITMA
read (m,n) {asumsi : m ≥ n}
while n ≠ o do
r  m MOD n {bagi m dengan n dan simpan sisanya di r}
m  n {ganti nilai m dengan nilai n}
n  r {ganti nilai n dengan nilai r}
end while
{kondisi akhir pengulangan : n = o}
write (m) {m berisi gcd dari kedua bilangan yg dicari}

Contoh masalah dalam kehidupan sehari hari


Perlu Bawa Payung?
Kamu akan melakukan aktivitas di luar rumah
1. Apakah hujan?
2. Jika tidak hujan, kamu tidak perlu bawa paying
3. Jika hujan, segera cari payung
4. Ketika payung sudah ketemu, bawa payungnya
5. Jika payung tidak ketemu pastikan apakah masih hujan dan akan Kembali berputar
ke poin 2 dan 3

Anda mungkin juga menyukai