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
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik
  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri, hal tsbt dikarenakan teks algoritma tidak sama dengan teks program
  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritma tidak dapat dijalankan oleh komputer
  5. Algoritma sebenarnya digunakan untuk membantu dalam mengkonversi suatu permasalahan ke dalam bahasa pemrograman
  6. Algoritma merupakan hasil pemikiran konseptual, agar dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman
STRUKTUR ALGORITMA (Cont-1)
  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