PEMOGRAMAN
DASAR JAVA
KONSEP
ALGORITMA (cont-1)
Syarat-Syarat
Algoritma :
1.
Setiap
langkah harus DEFINITE (pasti, tertentu),
2.
dalam
algoritma terdapat instruksi-instruksi yang jelas dan tidak ambigu Minimum
memiliki 1 Output (input boleh tidak ada)
3.
Harus
ada stoping kriteria (bisa berhenti)
KONSEP
ALGORITMA (cont-2)
Jenis-jenis
Algoritma :
1. Sequence, instruksi dikerjakan
berurutan
2. Selection, instruksi dikerjakan
bila kriteria tertentu terpenuhi
3. Iteration, instruksi dikerjakan
selama memenuhi kondisi tertentu
4. Concurrent, mengerjakan banyak
instruksi secara bersama
STRUKTUR
ALGORITMA
- Teks algoritma berisi
deskripsi langkah-langkah penyelesaian masalah
- Tidak ada notasi yang baku
dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang
digunakan dalam menulis algoritma disebut notasi algoritmik
- Setiap orang dapat membuat
aturan penulisan dan notasi algoritmik sendiri, hal tsbt dikarenakan teks
algoritma tidak sama dengan teks program
- Notasi algoritmik bukan
notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritma
tidak dapat dijalankan oleh komputer
- Algoritma sebenarnya
digunakan untuk membantu dalam mengkonversi suatu permasalahan ke dalam
bahasa pemrograman
- Algoritma merupakan hasil
pemikiran konseptual, agar dapat dilaksanakan oleh komputer, algoritma
harus ditranslasikan ke dalam notasi bahasa pemrograman
STRUKTUR
ALGORITMA (Cont-1)
- PERNYATAAN
Setiap langkah dinyatakan dalam
sebuah pernyataan (Statement) / instruksi.
Sebuah pernyataan berisi aksi (action)
yang dilakukan.
Pernyataan > Pemroses >Aksi
Ex 1: Tulis “Hello, World”
--à pernyataan menggambarkan aksi
menulis pesan “ Hello, World”
Ex 2 : Pernyataan
Jika bulan =‘januari’ maka tulis “jumlah hari
=31”
--à terdiri 2 aksi,
aksi-1 : membandingkan
nilai variabel bulan dengan ‘januari’
aksi-2 : tulis pesan
‘jumlah hari=31’ jika perbandingan itu benar
Runtunan
(sequence)
q Memiliki 1 atau lebih pernyataan,
setiap pernyataan ditulis dalam 1 baris atau dipisahkan dengan tanda titik koma
(;)
q Tiap pernyataan dikerjakan secara
berurutan (sekuensial) sesuai dengan urutannya di dalam teks algoritma
q Instruksi dilaksanakan setelah
instruksi sebelumnya selesai
Ex
: Runtunan 5 buah penyataan S1, S2, S3,
S4, S5
Penjelasan
:
q
Pemroses melaksanakan pernyataan S1
q
Pernyataan S2 dilaksanakan setelah pernyataan
S1 selesai
q
Pernyataan S3 dilaksanakan setelah pernyataan
S2 selesai
q
Pernyataan S4 dilaksanakan setelah pernyataan
S3 selesai
q
Pernyataan S5 dilaksanakan dan selesai
berhenti setelah pernyataan S4 selesai
Pemilihan
(selection)
q Instruksi dikerjakan jika kondisi
tertentu dipenuhi
q Pernyataan ditulis dalam
pernyataan-pemilihan (selection statement) (if-then)
q Struktur pemilihan if-then hanya
memberikan 1 pilihan aksi bila kondisi dipenuhi (bernilai benar), tidak
memberikan pilihan aksi lain bila kondisi bernilai salah
If
kondisi then
aksi 1
else
aksi 2
Penjelasan :
- Bila kondisi terpenuhi aksi
1 akan dikerjakan, tetapi kalau tidak (kondisi salah), aksi 2 akan
dikerjakan
Pemilihan
(selection) cont-1
Ex
:
If lampu A nyala then
tekan tombol merah ß aksi 1
else
tekan tombol biru ß aksi 2
Penjelasan :
- Jika lampu A menyala, maka
aksi tekan tombol merah dilakukan, sebaliknya, aksi tekan tombol biru
dilakukan bila lampu A tidak menyala
Pengulangan
(repetition)
q Pengulangan memiliki 3 metode (repeat
N times, for, repeat-until, dan while)
q Struktur repeat N times
repeat N times
aksi
q Struktur for
for kondisi do
aksi
q Struktur repeat-until
repeat
aksi
until kondisi
Penjelasan :
Pengulangan
aksi dilakukan hingga kondi (persyaratan) berhenti terpenuhi
Pengulangan
(repetition) cont-2
q Struktur while
while kondisi do
aksi
Pengulangan
(repetition) cont-2
q Struktur while
while kondisi do
aksi
Example :
- repeat N times
aksi
Algoritma
tulis kalimat 100 kali :
repeat 100 times
Tulis “ saya berjanji tidak akan nakal dan
malas lagi” ß aksi
Example :
- for kondisi do
aksi
Algoritma
:
for i dari 1 sampai 100 do
Tulis “ saya berjanji tidak akan nakal dan
malas lagi” ß aksi
i
adalah pencacah pengulangan yang mencacah pengulangan dari 1 sampai 100
Pengulangan
(repetition) cont-3
Example :
- repeat
aksi
until kondisi
Algoritma
tulis kalimat 100 kali :
repeat
Tulis “ saya berjanji tidak akan nakal dan
malas lagi” ß aksi
until sudah 500 kali ß kondisi
Example :
- for kondisi do
aksi
Algoritma
:
for i dari 1 sampai 100 do
Tulis “ saya berjanji tidak akan nakal dan
malas lagi” ß aksi
i
adalah pencacah pengulangan yang mencacah pengulangan dari 1 sampai 100
Case
Study (1)
Mencari
data alam dan nomor telepon mahasiswa tertentu, dimana data yang diketahui NIM,
berikut data tabel mahasiswa :
|
NIM
|
NAMA
|
ALAMAT
|
TELEPONE
|
|
137920131
|
BEJO MUSIMAN
|
JL.ANGGERK 10
|
2507789
|
|
137920132
|
QODIR MUSLIHAT
|
JL.TUPAREV 20
|
4570000
|
|
137920143
|
MUMUN DIPSY
|
JL.JALAN 2013
|
4801556
|
Tinjau
entry pertama di dalam tabel
If
NIM pada entry tabel = NIM yang dicari then
ambil alamat dan telepon dari NIM tersebut
else
tinjau entry berikutnya di dalam tabel
if NIM pada entry tabel = NIM
yang dicari then
ambil alamat dan telepon dari NIM tersebut
else
tinjau entry berikutnya di dalam
tabel
if NIM pada tabel = Nim
yang dicari then
ambil alamat dan telepon dari NIM
tersebut
Case
Study (2)
Pengulangan
aksi dilakukan sampai ditemukan entry dari NIM yang dicari atau akhir tabel
sudah terlampaui
|
NIM
|
NAMA
|
ALAMAT
|
TELEPONE
|
|
137920131
|
BEJO MUSIMAN
|
JL.ANGGERK 10
|
2507789
|
|
137920132
|
QODIR MUSLIHAT
|
JL.TUPAREV 20
|
4570000
|
|
137920143
|
MUMUN DIPSY
|
JL.JALAN 2013
|
4801556
|
Algoritma
pencarian data di dalam tabel :
baca NIM yang dicari { misalkan NIM = X}
tinjau entry pertama tabel
repeat
if NIM pada entry tabel = X
then
tulis alamat dan telepon dari NIM X
tersebut
else
tinjau entry berikutnya di dalam
tabel
until NIM yang dicari sudah
ditemukan atau akhir tabel sudah terlampaui
Case
Study (3)
Pengulangan
aksi dilakukan sampai ditemukan entry dari NIM yang dicari atau akhir tabel
sudah terlampaui
|
NIM
|
NAMA
|
ALAMAT
|
TELEPONE
|
|
137920131
|
BEJO MUSIMAN
|
JL.ANGGERK 10
|
2507789
|
|
137920132
|
QODIR MUSLIHAT
|
JL.TUPAREV 20
|
4570000
|
|
137920143
|
MUMUN DIPSY
|
JL.JALAN 2013
|
4801556
|
Algoritma
pencarian data di dalam tabel :
baca NIM yang dicari { misalkan NIM = X}
tinjau entry pertama tabel
while NIM yang dicari belum ditemukan dan akhir
tabel belum terlampau do
tulis alamat dan telepon dari NIM X
tersebut
if NIM pada entry tabel = X then
ambil alamat dan telepon dari NIM
tersebut
else
tinjau entry berikutnya di dalam tabel
PENGGUNAAN DATA
DALAM ALGORITMA & KONSEP ALGORITMA
(Pseudocode,
Flowchart)
PSEUDO-CODE
v Pseudo-Code : deskripsi algoritma
dengan cara lebih terstruktur dibandingkan dengan menggunakan natural languange
tetapi tidak seformal programming language
v Notasi algoritmik yang baik
adalah notasi yang mudah dibaca dan mudah pula ditranslasikan ke dalam bahasa
pemrograman
v Notasi algoritmik berupa pseudo-code
mempunyai korespodensi dengan bahasa
pemrograman
v Tidak ada aturan baku membuat pseudo-code
v Ekspresi gunakan simbol
matematika
o Gunakan ß untuk assignment (pemberian nilai)
o Gunakan = untuk kesamaan
(pengujian nilai)
PSEUDO-CODE
(Cont-2)
v Deklarasi Metode :
o Algorithm name (param1, param2)
v Konstruksi pemrograman
o Decission Structure : if … then …[else…]
o While loops : while…do
o repeat loops :
repeat…until
o For loops : for…do
v Metode
o Calls : objectmethode (args)
v Gunakanlah Comment
PSEUDO-CODE
(cont-3)
Ex
:
Sebuah
pernyataan dalam notasi deskriptif : Tulis nilai x dan y
Maka
pseudo-codenya :
println (“x,y ”) ; ß Bahasa Java
| write (x,y) ß algoritmik
Ex
:
Sebuah
pernyataan dalam notasi deskriptif :
Ex
:
Sebuah
pernyataan dalam notasi deskriptif :
Isikan
nilai x ke dalam min
Maka
pseudo-codenya :
min
= x; ß Bahasa Java |
min ß
x (algoritmik )
PSEUDO
-CODE (Cont-3)
Ex
:
Algoritma
menulis “ Hallo STMIK IKMI” :
Pseudo-Code
:
Program
HalloSTMIKIKMI
{
program untuk mencetak “HalloSTMIKIKMI”
masukan : -
keluaran : string ‘Hallo STMIK IKMI’
}
Deklarasi
{tidak ada}
Algoritma
:
Write (“ Hallo STMIK IKMI”)
Translasi
ke Programming Language Java
Public
class HalloSTMIKIKMI {
public static void main (String [] args) {
System.out.println (“Hallo STMIK
IKMI); ß keluaran
}
}
Struktur
Teks Algoritma
Teks
Algoritma disusun oleh 3 Bagian (Blok) :
1. Bagian Judul (header)
2. Bagian Deklarasi (declaration)
3. Bagian Algoritma
PROGRAM Nama Program
{
Penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah apa
yang akan diselesaikan, termasuk masukan dan keluarannya}
DEKLARASI
{
semua nama yang dipakai, meliputi nama tipe, nama konstanta, nama peubah, nama
prosedur dan nama fungsi diumumkan disini}
ALGORITMA
{
berisi langkah-langkah penyelesaian masalah}
Struktur
Teks Algoritma (Cont-2)
Teks
Algoritma disusun oleh 3 Bagian (Blok) :
1. Bagian Judul (header)
Ex
:
2. Bagian Deklarasi (Declaration)
Ex:
DEKLARASI
Input
ß suhu
double celcius, fahrenheit;
3. Bagian Algoritma
Ex:
ALGORITMA
suhu fahreinheit ß print
fahreinheit
ß input double
celcius
= (5.0/9.0)*(fahreinheit-32)
celcius
ßprint
Struktur
Teks Algoritma (Cont-4)
Teks
Algoritma disusun oleh 3 Bagian (Blok) :
1. Bagian Judul (header)
Ex
:
2. Bagian Deklarasi (Declaration)
Ex:
DEKLARASI
Input
ß nilai
Integer
nilai;
3. Bagian Algoritma
Ex:
ALGORITMA
If
nilai (>=75)
Lulus ß print
Else
Tidak Lulus ß print