Dasar Algoritma dan Pemrograman ke-01


ALGORITMA DAN PEMROGRAMAN

Algoritma

input -> proses -> output

buat algoritma untuk menghitung luas persegi ?
__L = s x s
__input -> s
__proses -> L = s x s
__output -> L

variabel L dan s bertipe numerik (bulat atau pecahan)

Tipe data
_.karakter
____= 1 –> char 1 byte = 8 bit -> diapit dengan tanda kutip satu
____>= 1 –> string -> diapit dengan tanda kutip ganda
_.angka
____diskrit
____kontinyu

_.boolean 1 bit

Kondisional / Percabangan

ada keadaan tertentu (kondisi / syarat) yang harus dipenuhi
syarat bertipe —> boolean

ada dua tipe / jenis struktur percabangan
_1. if-else
_2. switch-case

deklarasi struktur ‘if-else
___if (kondisi) {
_____aksi…..
___} else {
_____aksi…..

___}

struktur java
/* implementasi di bahasa Pemrograman Java */
class D3MI4002 {
__public static void main (String[] alim) {
____int angka = 9;
____if (angka % 2 == 0) {
______System.out.println (“bilangan genap”);
____} else {
______System.out.println (“bilangan ganjil”);
____}
__}
}

class D3MI4002Java {
__public static void main (String[] alim) {
____int angka = 9;
____if (angka == 7) {
______System.out.println (“angka tujuh”);
____} else {
______System.out.println (“bukan angka tujuh”);
____}
__}

}

nilai dari angka == 7 adalah boolean, yakni bisa berupa ‘true’ atau ‘false
terkait boolean, apa saja operator yang dapat dioperasikannya ?
__AND  &&
__OR ||
__XOR
__geser bit ? dan lainnya


referensi
__’Head First Java’ pdf <- silahkan download

__’Algoritma dan Pemrograman’ <- rinaldi munir, moch sjukani, antony pranata

bahasa algoritmik

Algoritma CekBilanganGenap
Kamus Data
__angka : integer
Deskripsi
__input (angka)
__if (angka mod 2 = 0) then
____output (‘bilangan genap’)
__else
____output (‘bilangan ganjil’)

__endif

operator mod -> Operator di Matematika -> modulo -> sisa bagi

Algoritma CekBilanganGenap
Kamus Data
__angka, hasil : integer
Deskripsi
__input (angka)
__hasil <- angka mod 2
__if (hasil = 0) then
____output (‘bilangan genap’)
__else
____output (‘bilangan ganjil’)

__endif

skema dengan ‘flowchart’ ?? -> di papan tulis

algoritma itu bisa disajikan dalam bentuk:
_1. pseudo-code
_2. flowchart

_3. narasi deskriptif

contoh penyajian algoritma dalam bentuk ‘narasi deskriptif

Algoritma CekBilanganGenap

__1. inputkan suatu bilangan bulat positif
__2. lakukan komputasi modulo bilangan tersebut terhadap angka 2
__3. periksa atau cek hasil tahapan ke-2
__4. jika hasil di tahapan ke-3 bernilai 0 maka tampilkan ‘bilangan genap’

__5. jika tidak, maka tampilkan ‘bilangan ganjil’

Hitung Keliling, Diagonal, dan Luas ‘Persegi Panjang’

/* dengan bentuk pseudo-code */

Algoritma PersegiPanjang

Kamus
__panjang, lebar, keliling, luas, diagonal: real

Deskripsi
__input (panjang, lebar)
__keliling <- (2 * panjang) + (2 * lebar)
__output (keliling)
__diagonal <- sqrt (panjang * panjang + lebar * lebar)
__output (diagonal)
__luas <- panjang * lebar
__output (luas)


/* dengan flowchart */ -> ada di papan tulis

/* dengan narasi */

Algoritma PersegiPanjang

__1. input dua bilangan bulat positif, yakni p dan l
__2. lakukan proses perhitungan, keliling <- (2 x p) + (2 x l)
__3. tampilkan hasil di tahapan nomor 2
__4. lakukan proses perhitungan, diagonal <- sqrt ( (p x p) + (l x l) )
__5. tampilkan hasil di tahapan nomor 4
__6. lakukan proses perhitungan, luas <- p x l

__7. tampilkan hasil di tahapan nomor 6

/* implementasi di bahasa Java */
class PersegiPanjang {
__public static void main (String[] alim) {
____double panjang, lebar;
____panjang = 100;
____lebar = 10;
____double keliling = (2 * panjang) + (2 * lebar);
____System.out.println (keliling);
____double diagonal = Math.sqrt (panjang * panjang + lebar * lebar);
____System.out.println (diagonal);
____double luas = panjang * lebar;
____System.out.println (luas);
__}

}


Leave a Reply