BAB 1
PENGANTAR MATERI
1.1.Definisi
- Algoritma adalah: sekumpulan perintahyang direncanakan, dan bila dilaksanakan akan menyelesaikan suatu tugas tertentu.
- Pemrograman adalah konsep dan rumusan data yang dijadikan untuk sasaran pembuatan pemrograman.
1.2.Karakteristik algoritma pemrograman
a. Ada input yang diterima
b. Ada output yang dihasilkan
c. Kepastian tak bermakna ganda
d. Terbatas ⟶ proses akan berakhir
e. Efektif ⟶ dapat dikerjakan secara cermat
· Struktur pemrosesan masalah :
MASALAH |
↓
ALGORITMA |
↓
SKEMA DASAR |
↓
PEMROGRAMAN |
↓
KOMPUTER |
1.3. Struktur dasar yang membangun algoritma
Ada tiga macam antara lain :
a. Runtunan (sequence)
Yaitu : aksi aksi dalam algoritma/ pemrogram untuk menghitung selisih waktu proses
Dari dua aksi secara beruntun.
Contoh : A1,A2,….An
b. Pemilihan (selection)
Yaitu : sebuah aksi bias dikerjakan, apa bila kondisi tertentu dipenuhi.
Bentuk umumnya :
1. If ⟶kondisi /pengamatan
Then ⟶aksi
Endif atau fi ⟶akhir dari if
Contoh :
a. If amir memperoleh juara kelas
Then ayah akan meberikan hadiah
Endif
b. If hari hujan
Then pakai lah payung
Endif
c. If tidak ada celana berwarna hitam
Then pakailah celana putih saja
Endif
2. Aksi kondisional yang berkelanjutan (dengan else lawan if)
If ⟶pengamatan jika :
Then ⟶ aksi A Aksi A ⟶true
Else ⟶ aksi B aksi B ⟶ false
Endif ⟶ aksi if dan sebaliknya.
Contoh :
a. If jalanan macet (kondisi)
Then lewatlah dijalan tol (aksi A)
Else lewatlah di jalan biasa (aksi B)
Endif
b. If X>Y
Then ambil X sebagai bilangan terbesar
Else ambil Y sebagai bilangan terbesar
Endif
· Untuk kondisi yang lebih dari dua
Misi :
If lampu lalu lintas berwarna merah
Then berhenti
Else
If lampu lalu lintas warna kuning
Then jalan dengan hati hati
Else silahkan jalan terus
Endif
3. Dalam bentuk jamak (proses pengulangan)
Bentuknya :
While ⟶pengamatan
Do ⟶ aksi
Endwhile ⟶ akhir dari while
Contoh :
a. While dijalan adasetumpuk pasir
Do kepinggirkan pasir tersebut
Endwhile
b. While I≤25
Do I:=1+2
Endwhile
I= bilangan ganjil
Contoh berikutnya pada bab selanjutnya.
c. Pengulangan ( repetation)
Yaitu : pembuatan kondisi yang sama secara berulang – ulang dalam jumlah yang ditentukan.
Bentuknya : repeat ⟶ pengulangan
Times ⟶ banyaknya proses
Contoh : menulis 200 kalimat
Maka : repeat 200 time
Write ``saya telah lulus ujian
Secara umum : repeat
N times
Aksi
Contoh soal
1. Buat algoritma untuk upah karyawan dengan ketenuan sebagai berikut :
- Upah untuk golongan A upah per jam Rp. 4000, gaji tetap Rp. 50000/bulan
- Upah untuk golongan B upah per jam Rp. 5000, gaji tetap Rp. 75000/bulan
- Upah untuk golongan C upah per jam Rp. 6000, gaji tetap Rp. 90000/bulan
- Upah untuk golongan D upah per jam Rp. 7500, gaji tetap Rp. 100000/bulan
Maka upah adalah : upah = gaji tetap + jumlah jam kerja X upah per jam.
Maximum jam kerja 48 jam. Jika lebih maka dianggap lembur, jumlah total nya adalah :
Gaji tetap + 48 X upah per jam + jumlah lebur upah lembur per jam.
Maka algoritmanya :
{ upah karyawan}
Kamus
Const ul : real= 5000.0 {upah lembur per jam }
Nama karyawan : string
Golongan : char [‘A’,’B’,’C’,’D’]
Jam karyawan, lembur : integer
Upah –total : real
GT : real {gaji tetap perbulan}
Algoritma
Input (nama karyawan,golongan,jam karyawan)
Depend ongol
Golongan = ‘A’ : GT ← 50000.0
UJ ← 4000.0
Golongan =’B’ : GT ←75000.0
UJ ← 5000.0
Golongan =’C’ : GT ← 90000.0
UJ ← 6000.0
Golngan =’D’ : GT ← 100000.0
UJ ← 7500.0
Enddepend
If jamkan = 48 then
Upah ← GT + jamkan X UJ
Else
Jam lembur ← jamkan – 48 {jumlah jam lembur}
Upah ← GT + 48 X UJ + jam lembur X UL
Endif
Out put (nama karyawan, upah)
· Coba buatlah programnya dengan bahasa apa saja, dan algoritma tersebut di atas. Jika program tersebut jika, maka keluarannya adalah :
Sesuai dengan algoritma,
Input data
Nama karyawan :
Golongan :
Jam karyawan :
Output
Nama karyawan :
Upah total :
Jika dimasukan data lebih dari 1 mis : 5 maka munculkan dalam bentuk table sebagai laporan sebagai berikut mis:
No | Nama karyawan | golongan | jamkan | upah total |
1 | ||||
2 | ||||
3 |
2. Algoritma untuk menentukan nilai indeks hasil ujian mahasiswa sebagai berikut :
Nilai ujian ≥80, indeks nilai = A
70≤ nilai ujian <80, indeks nilai = B
55≤ nilai ujian <70, indeks nilai = C
40≤ nilai ujian <55, indeks nilai = D
00≤ nilai ujian ≤40, indeks nilai = E
Maka algoritmanya :
{menentukan indeks nilai mahasiswa berdasarkan nilai ujiannya}
Kamus
Nilai : real { nilai ujian dalam numeric}
Indeks : char [‘A’,’B’,’C’,’D’,’E’]
Algoritma
Begin
Input (nilai)
Depend on (nilai)
Nilai ≥80 : indeks←’A’
70≤ nilai <80 : indeks←’B’
55≤ nilai <70 : indeks←’C’
40≤ nilai <55 : indeks←’D’
00≤ nilai <40 : indeks←’E’
Enddepend
Output (indeks)
End.
Jika algoritma tersebut dibuat program dan dijalankan maka keluarnya:
Nilai : 75 nilai :58
Indeks : B indeks :C
Dan seterusnya.
1.4. Type,nama,harga
A. Gunanya utuk mendefinisikan objek yang akan diprogram.
a1). type dasar
bukan bentukan dari type lain.
Contoh :
· Bilangan logika
Nama : Boolean
Domain : [true,false]
Konstanta : T,F
Oprasinya logika hasilnya Boolean, operatornya AND,OR,XOR,NOT,EQ,NEQ,dsb
Contoh operasi
- Operasi AND hasil - Operasi NEQ hasil
T AND T T T NEQ T F
T AND F F T NEQ F T
F AND T F F NEQ T T
F AND F F F NEQ F T
- Operasi Not hasil - Operasi NAND hasil
Not T F T NAND T F
Not F T T NAND F T
- Operasi OR hasil F NAND T T
T OR T T F NAND F T
T OR F T
F OR T T
F OR F F
- Operasi XOR hasil
T XOR T F
T XOR F T
F XOR T T
F XOR F F
- Operasi EQ hasil
T EQ T T
T EQ F F
F EQ T F
F EQ F T
· Bilangan bulat
Nama : integer
Domain : int
Konstanta : 0 3 123 -89 56 999
- Operasi aritmatika
*(kali)
+(tambah)
-(kurang)
^(pangkat)
/(pembagian yang hasilnya real)
Div(pembagian yang hasilnya bulat)
Mod(sisa pembagian bilangan buat)
abs(harga absolut).
Contoh operasi :
Operasi hasil operasi hasil
1*5 5 10 mod 3 1
1+3*5 16 10 div 3 3
1/3 0.333 1+7 div 3 3
- Operasi relasional
< (lebih kecil)
>(lebih besar)
≤(lebih kecil atau sama dengan)
≥(lebih besar atau sama dengan)
=(sama dengan)
< > / ≠(tidak sama dengan)
Contoh operasi :
3<8 (benar) 17=17(benar)
74>101(salah) 7≠8(salah)
9≤9(benar)
9<9(salah)
· Bilangan Real
Nama : real
Domain : R
Konstanta : 0 0.2 3.233 123 -89.0 56.999
- Operasi Aritmatika
*(kali)
/(bagi)
+(tambah)
-(kurang)
^(pangkat)
Contoh : Operasi Hasil
1.*5 5.
1.+3.2*5 17.
10./3. 3.33333
1.+7./3 3.3333
· Karakter/Simbol
Nama : character
Domain : char[ himpunan yang terdefinisi oleh suatu E numerasi]
Misalnya : [“0”…..”9”,’a’….’z’,’A’….’Z’ ENTER,SPACE]
Karakter yang tidak kelihatan pada pengoprasian computer yaitu dinamakan kode ASCII(American System Computare Information International)
Konstanta : ‘A’,P’,’K’ ENTER,’M’
Operasinya
Perbandingan karakter dengan karakter, misalnya Boolean.
Contoh : ‘a’=’a’(benar)’Q’>’Z’(salah)
‘T’=’t’(salah)
‘y’≠’Y’(benar) =(samadengan)
‘m’<’Z’(benar) < >/≠(tidak sama dengan)
a2). Type bentukan
merupakan bentukan dari type dasar.
Contoh : type : string
Domain : utaian karakter yang didefinisikan [character]
Konstanta contoh :
‘AKU’ ‘ANAK HILANG’ ‘BENDA’ ‘K’
Perhitungan string
‘AKU’ =3 ⟶string[3]
‘RUMAH MAKAN’ =11⟶string[11]
‘ANAK HILANG’=10⟶string[10]
‘BUKU_BARU’ =9⟶string[9]
Penggunaan string dilakukan, untuk membatasi jumlahnya character atau data supaya dapat menghemat tempat dimemory dan mengatur lamanya proses oleh computer.
B. Nama
Untuk mengenal objek yang akan di proses.
· Dalam program yang harus diberi nama
- Variabel (peubah)
- Contanta (ketetapan)
- Nama type
- Nama fungsi
- Nama procedure
· Aturan penulisan nama
- Dimulai dengan huruf,tidak boleh dengan angka,spasi atau karakter khusus.
- huruf besar atau kecil tidak di bedakan.
- Tidak boleh mengandung operator aritmatika, tanda baca, karakter khusus.
- Tidak boleh dipisah dengan spasi keculai “_”
- Panjang nama tidak dibatasi.
Contoh :
· Penamaan yang salah
6titik
nilai ujian
PT-1
A1
hari@
· Penamaan yang benar
Titik6 atau titk_6
Nilai_ujian atau nilaiujian
PT_1 atau PT1
Hari
A1
C. Harga
Yaitu nilai besaran dari type yang sudah dikenal,harga diisikan kedalam variabel,dengan cara :
- Penugasan (tandanya←atau:=)
Contoh:
Algoritma
1. K←5
Jarak ←0,03
Ketemu ←false
Namakota ← solo
2. A←A+2,jika A←8
Maka: A←8+2,A←10(baku)
Contoh soal :
1. Berapa harga M dan P,jika M dan Pbernilai type integer sbb:
M←16 P←M*2
M←P+100 P←P+M
Pemecahan :
P←16*2 P←32 M←P+100 M←32+100 M←132
P←P+M P←32+132 P←164 M←132 P←164
2. Tukarkan harga A dan B,misalnya: A=8,B=5 maka hasilnya : A=5,B=8. Jika ditulis algoritma A←B tidak terjadi penukaran karena A=5,B=5
B←A
Jadi harus memakai variabel pembantu yaitu C,menjadi : C←A hasil : C=8
A←B A=5
B←C B=8
Pemecahan :
Soal :
Tidak ada komentar:
Posting Komentar