Dasar Algoritma ECasnadi

22
Created by: Edi Casnadi.(Email:[email protected]) 2012 Algortma Dasar Page 1 DASAR-DASAR ALGORITMA 3.1. Pendahuluan Banyak cabang dari ilmu komputer yang mengacu pada terminologi algoritma, misalnya algoritma routing (pesan di dalam jaringan komputer), algoritma brensenham untuk menggambar garis lurus (bidang grafika komputer), algoritma modelview untuk modeling animasi, itulah contoh berbagai jenis algoritma. Marilah kita tinjau terlebih dahulu asal-usul dari kata algoritma, menurut beberapa sumber, asal kata algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda menghitung menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al -Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The Book of Restoration and Reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran sm berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma. Sehingga algoritma dikatakan langkah-langkah logis untuk penyelesaian suatu masalah yang disusun secara sistematis dan logis. Perhatikan contoh penyelesaian untuk suatu masalah gaya benda ( F ), yaitu: 1. Diketahui terlebih dahulu dari percepatan dengan cara mengukur percepatan suatu benda tertentu (dalam meter/sekon kuadrat), misalnya 100 m/s 2 2. Kemudian timbanglah benda tersebut, sehingga menghasilkan suatu nilai massa (dalam kg), misalnya 2 kg 3. Setelah itu buat proses perhitungan gaya sebagai berikut: F = a .m

description

tentang dasar algoritma

Transcript of Dasar Algoritma ECasnadi

Page 1: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 1

DASAR-DASAR ALGORITMA

3.1. Pendahuluan

Banyak cabang dari ilmu komputer yang mengacu pada terminologi algoritma, misalnya algoritma

routing (pesan di dalam jaringan komputer), algoritma brensenham untuk menggambar garis lurus

(bidang grafika komputer), algoritma modelview untuk modeling animasi, itulah contoh berbagai jenis

algoritma.

Marilah kita tinjau terlebih dahulu asal-usul dari kata algoritma, menurut beberapa sumber, asal kata

algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti

proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda menghitung menggunakan

angka Arab.

Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para

ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang

terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat

menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang

artinya “Buku pemugaran dan pengurangan” (The Book of Restoration and Reduction). Dari judul buku

itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm

muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah

menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun

kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga

kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.

Sehingga algoritma dikatakan langkah-langkah logis untuk penyelesaian suatu masalah yang disusun

secara sistematis dan logis.

Perhatikan contoh penyelesaian untuk suatu masalah gaya benda ( F ), yaitu:

1. Diketahui terlebih dahulu dari percepatan dengan cara mengukur percepatan suatu benda tertentu

(dalam meter/sekon kuadrat), misalnya 100 m/s2

2. Kemudian timbanglah benda tersebut, sehingga menghasilkan suatu nilai massa (dalam kg), misalnya

2 kg

3. Setelah itu buat proses perhitungan gaya sebagai berikut:

F = a .m

Page 2: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 2

Dimana: a = perecpatan(m/s2)

m = massa benda (kg)

F = gaya (N)

4. Masukan nilai a dan nilai m, misalnya a =100 m/s2 dan m =2 kg seperti berikut:

F = a . m menjadi F = 100 m/s2 . 2 kg

F = 200 N

5. Selesai

Keterangan:

Cobalah perhatikan langkah-langkah di atas, merupakan sebuah analisis dari suatu permasalahan, untuk

menghitung suatu gaya.

Analisis perhitungan gaya ( F ) di atas kita akan buat algoritma sederhana, maka menjadi sebegai berikut:

Mulai / Start

Memberikan judul algoritma dan mendefinisikan setiap variabel yang akan terlibat. Variabel a untuk

percepatan dan variabel m untuk massa, sedangkan F untuk gaya benda.

Inputan / Masukan

Menginputkan nilai a (percepatan) dan m (massa), misalnya untuk a = 100 dan m = 2

Proses

Dengan cara mengkalikan antara percepatan benda dan massa benda untuk menghasilkan nilai gaya

F, seperti proses perhitungan berikut:

Sehingga F = 100 . 2, maka nilai F = 200

Proses ini berguna untuk menghitung rumus tertentu, pada kasus buku ini yaitu menghitung gaya F.

Outputan / keluaran

Menampilkan nilai dari suatu proses tertentu ke layar monitor/print, dalam kasus ini yaitu untuk

menampilkan nilai F (gaya) = 200

Berhenti/Stop

Diakhiri dengan stop untuk berhenti dari proses perhitungan gaya, karena suatu algoritma harus

berhenti pada kondisi tertentu.

Contoh di atas merupakan langkah-langkah dari algoritma dalam menyelesaikan suatu permasalahan

perhitungan gaya (F)benda.

Meskipun kita tidak dapat menyebutkan langkah-langkah pekerjaan di atas secara detail, tetapi dalam

konteks ini, semua pernyataan di atas adalah suatu algoritma karena prosesnya dikerjakan secara

sistematis dan logis.

Sekarang kita mengerti bahwa sebuah algoritma harus mengerjakan suatu proses dan berhenti pada

kondisi tertentu. Secara umum, sesuatu yang mengerjakan proses disebut pemroses (processor).

Pemrosesan tersebut dapat berupa manusia, komputer, robot, atau alat-alat mekanik lainnya. Pemrosesan

dilakukan pada suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan

pemrosesan tersebut.

F=a.m

Page 3: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 3

Pada dasarnya, sebuah algoritma merupakan deskripsi dari pelaksanaan suatu proses. Bahwa algoritma

disususn oleh langkah-langkah instruksi yang logis dan sistematis. Setiap langkah instruksi tersebut

mengerjakan suatu tindakan (aksi/statement). Bila suatu statement dilaksanakan, maka sejumlah operasi

yang bersesuaian dengan aksi/statement itu akan dikerjakan oleh pemrosesan. Efek dari pengerjaan suatu

aksi dapat diamati dengan membandingkan keadaan pada saat aksi sebelum dimulai disebut t0 dan

keadaan pada saat aksi selesai di kerjakan disebut t1.

contoh :

t0 : keadaan sebelum aksi dikerjakaan

Aksi/Statement

t1 : keadaan setelah aksi dikerjakaan

Sebagai contoh berfikir secara logika dalam algoritma yaitu: kita akan membahas tentang algoritma

pertukaran isi bejana.

Diketahui dua buah bejana, yaitu bejana A berisi berwarna merah, bejana B berisi berwarna biru, seperti

gambar berikut:

Bejana A Bejana B

Maka untuk menyelesaikan pertukaraan isi bejana di atas memerlukan suatu bejana kosong untuk

melakukan pertukaran isi bejana di atas. Sehingga kita tambahkan suatu Bejana Kosong atau kita sebut

dengan Bejana Temp:

Bejana A Bejana B Bejana Temp

Setelah Bejana Temp sudah ada, maka proses berikutnya menukarkan isi bejana dengan langkah-langkah

sebagai berikut:

Langkah 1 : Pindahkan isi Bejana A ke Bejana Temp. (Temp A) Temp

Bejana A Bejana B Bejana Temp

Kita lihat langkah 1, sehingga isi Bejana A akan dituangkan atau dipindahkan ke Bejana Temp.

Artinya Bejana A tidak berisi warna merah lagi karena isinya sudah dipindahkan ke Bejana Temp,

sehingga warna merah pindah ke Bejana Temp.

Merah Biru

Merah Biru

Biru Merah

Page 4: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 4

Langkah 2 : Pindahkan isi bejana B ke bejana A. ( A B )

Bejana A Bejana B Bejana Temp

Kemudian isi dari Bejana B dituangkan Ke Bejana A, sehingga Bejana B kosong dan Bejana A berisi

warna biru.

Langkah 3 : Pindahkan isi bejana Temp ke bejana B. (B Temp)

Bejana A Bejana B Bejana Temp

Setelah itu pindahkan Bejana Temp Ke Bejana B, sehingga Bejana Temp tidak berisi cairan lagi dan

Bejana B berisi warna merah, dengan demikian isi Bejana sudah tertukar antara Bejana A dan Bejana

B.

Langkah 4 : Selesai.

Algoritma di atas merupakan permasalahan atau kasus dalam bentuk pertukaran isi dua bejana, tetapi

dalam pertukaran isi tabung tersebut membutuhkan sebuah bejana kosong untuk menampung data yang

bersifat sementara selama proses pertukaran berlangsung yang disebut Bejana Temp/Kosong. Bejana

Temp ini nantinya akan kembali kosong ketika proses pertukaran isi bejana selesai dilaksanakan. Pada

kasus pertukaran isi bejana ini bisa diterapkan dalam berbagai kasus lain seperti menentukan nilai rata-

rata, penjumlahan sejumah data, melakukan pencarian, pengurutan data dan lain-lain. Jadi Anda jangan

terpaku atau terjebak dalam algoritma pertukaran isi bejana saja, tetapi algoritma pertukaran isi bejana

merupakan bentuk dasar logika sederhana atau satu kasus dari seribu kasus.

Pada kasus pertukaran isi bejana di atas kita rubah dalam bentuk media lain yaitu sebuah variabel A untuk

menggantikan Bejana A, variabel B untuk menggantikan Bejana B, sedangkan variabel C untuk

menggantikan Bejana Temp, untuk lebih mudahnya sebagai berikut:

A = Bejana A

B = Bejana B

C = Temp/Bejana kosong

Marilah kita analisis pertukaran dalam bentuk variabel ini, yaitu:

Pertukaran isi bejana dalam bentuk variabel A, B dan C yang memiliki tipe data String atau berupa

kumpulan karakter atau gabungan beberapa kata-kata, kemudian kita isi variabel A dengan kata “merah”

dan untuk variabel B kita isi dengan kata “biru”, seperti berikut:

A = ”merah”

B = ”biru”

Biru Merah

Biru Merah

Page 5: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 5

Catatan:

ingat C merupakan variabel kosong atau tempat penyimpanan data sementara selama proses

berlangsung, jadi variabel C dalam inputan awal dan hasil akhir tidak usah dituliskan kecuali dalam

proses saja.

Kita tidak bisa melakukan pertukaran isi variabel A dan B kecuali dengan bantuan variabel C yang

merupakan tempat penampungan data sementara.

Berikut dalam bentuk algoritma untuk pertukaran isi variabel A dan B, yaitu:

Data awal sebelum pertukaran

A = “merah”

B = “biru”

Data ditambahkan dengan variabel C

A = “merah”

B = “biru”

C = { kosong }

Langkah 1 : dengan printah (C =A ) maka akan menghasilkan

A = { kosong }

B = “biru” C = “merah”

Maka isi dari A akan berpindah ke variabel C, setelah itu variabel A akan kosong, seperti

pernyataan di atas.

Langkah 2 : dengan printah (A = B) maka akan menghasilkan

A = “biru”

B = { kosong }

C = “merah”

Maka isi dari B akan pindah ke variabel A, dan isi dari variabel B akan kosong, seperti

peryataan di atas.

Langkah 3 : dengan printah (B = C) maka akan menghasilkan

A = “biru”

B = “merah”

C = { kosong }

Maka isi dari C akan pindah ke variabel C, dan isi dari variabel C akan kosong kembali, seperti

masalah di atas.

Langkah 3 : Proses selesai.

Hasil dari pertukaran isi variabel A dan B di atas, yaitu:

A = “biru”

B = “merah”

Di atas merupakan sedikit contoh logika sederhana, untuk menukarkan isi bejana diantara dua Bejana,

dengan isi berbeda dan perpindahan dari isi dengan variabel A dan variabel B. Kalau kita perhatikan

proses di atas terjadi secara sistematis dan logis, yang merupakan bagian dari definisi algoritma.

Page 6: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 6

Penulisan algoritma di atas dapat diringkas dalam teknik penulisaan prosesnya, sebagai berikut:

//input

A ”merah”

B ”biru”

//proses

C A

A B

B C

//output

A ”biru”

B ”merah”

//selesai

Akhir algoritma

Dengan perkembangan bahasa pemrograman yang sangat pesat setiap saat dan masalah yang dihadapi

perusahaan dengan permasalahan yang lebih kompleks dan rumit saat ini, maka dalam setiap pembuatan

program memerlukan pengetahuan yang lebih, seperti salah satunya mengikuti perkebangan algoritma

dan teknik pemecahkan algoritma untuk permasalahan-permasalahan yang dihadapi oleh manusia.

Istilah program komputer adalah rangkaian kata perintah yang telah dimengerti oleh komputer untuk

dikerjakannya. Kata-kata perintah tersebut membentuk suatu bahasa yang disebut dengan bahasa

pemrograman. Sebagai mana bahasa pada manusia yang memiliki beragam bahasa, bahasa pemrograman

juga terdiri atas banyak bahasa yang berbeda tergantung bahasa pemrogramannya yang memiliki aturan

masing-masing jadi Anda jangan bingung dengan bahasa pemrograman. Perkembangan komputer saat ini

belum diberi hak inisiatif, sehingga jika ada sedikit saja kesalahan penulisan perintah oleh pemrogram, ia

tidak mau memakluminya atau berusaha memperbaiki sendiri karena kesalahan tersebut, serta-merta ia

“ngambek” dan tidak mau mengerjakan perintah-perintah lainnya.

3.2. Implementasi Algoritma Ke Bahasa Pemrograman

Dalam pembuatan algoritma dibutuhkan suatu implementasikan ke dalam suatu bahasa pemrograman

agar menjadi suatu program yang mempunyai kehandalan, berkualitas dan juga sekaligus untuk menguji

apakah algoritma yang kita buat tersebut berhasil atau tidak. Apakah algoritma yang sudah kita

implementasikan ke dalam bahasa pemrograman tersebut mempunyai logika keluaran yang kita harapkan.

Jadi algoritma dan pemrograman sangat erat hubungannya, ingat jangan salah kaprah dalam pembuatan

program, saya melihat banyak siswa, mahasiswa dan para pembuat program komputer masih banyak

mengabaikan dalam pembuatan algoritma, sehingga mengakibatkan banyak kesalahan yang tidak kita

harapkan dan melakukan perombakan coding yang berlebihan, bahkan menjadi pusing sendiri dalam

pembuatan programnya, ujung-ujungnya membuat program dimulai dari awal lagi, hal ini dikarenakan

pembuatan program tersebut dimulai dari membuat program tanpa melakukan analisis dan pembuatan

algoritma terlebih dahulu. Ya, jadilah programan yang kita buat hanya sekali pakai saja dan program

tersebut tidak tahan lama alias menjadi sampah.

Page 7: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 7

Dengan kasus di atas tersebut mulai sekarang marilah kita belajar algoritma dengan lebih baik dan benar.

Pada dasarnya bahasa pemrograman dibedakan menjadi:

Bahasa tingkat rendah (low level language): bahasa yang berorientasi ke mesin. Bahasa ini

dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui

penerjemah (translator). Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya

lebih dekat ke bahasa mesin dan sulit dipahami oleh manusia. Sedangkan bahasa rakitan dimasukan

ke dalam kelompok ini, karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin,

meskipun untuk melaksanakan instruksinya masih diperlukan penerjemah ke dalam bahasa mesin.

Contohnya adalah bahasa Pemrograman Assembly.

Bahasa tingkat menengah (middle level language) adalah bahasa pemrograman yang menggunakan

aturan-aturan gramatikal dalam penulisan pernyataan, mudah dipahami dan memiliki instruksi-

instruksi tertentu yang dapat diakses oleh komputer. Contohnya adalah bahasa C dll

Bahasa tingkat tinggi (high level language): bahasa yang berorientasi ke manusia (seperti bahasa

inggris). Hanya saja bahasa tingkat tinggi, tidak dapat langsung dilaksanakan oleh komputer. Ia

perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa, ke dalam bahasa mesin sebelum

akhirnya dieksekusi oleh CPU. Contoh bahasa Pascal, visual basic 6, delphi dll. Berikut gambaran

pengoperasian bahasa tingkat tinggi, yaitu:

Implementasi (terjemah algo ke pemrograman)

Kompilasi

Interpretasi oleh CPU

Gambar 3.1 Proses implementasi bahasa tingkat tinggi

Object Oriented Language (bahasa berorientasi objek): yaitu bahasa yang berorientasi pada objek,

bahasa pemrograman yang populer saat ini. Seperti Visual Basic.net, Visual Foxpro, Delphi, Visual

C++, Java,C##, Pyton dll.

Sifat dasar dari sebuah algoritma, yaitu:

1. Algoritma harus berhenti after a finite number of steps artinya sebuah algoritma harus berhenti pada

angka tertentu dan dalam kondisi tertentu.

2. Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous).

Algoritma

Program bahasa tingkat

tinggi

Program bahasa mesin

Operasi perhitungan

Page 8: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 8

3. Sebuah algoritma minimal memiliki nol atau lebih input yang diberikan kepada algoritma sebelum

dijalankan.

4. Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input.

5. Setiap algoritma diharapkan miliki sifat efektif, atau setiap langkah harus sederhana sehingga dapat

dikerjakan dalam sejumlah waktu yang masuk akal.

Contoh-1:

Algoritma untuk menghitung nilai rata-rata dari jumlah data. Sebelum melakukan perhitungan rata-rata,

sebaiknya data sudah dimasukan atau tersimpan dalam memori atau perhitungan secara langsung.

Langkah 1, definisikan variabel n untuk menampung nilai banyaknya jumlah data, jml untuk menampung

penjumlahan rata-rata, dataN untuk mengisi nilai satu persatu, sedangkan variabel rata_rata untuk

menampung hasil dari perhitungan rata-rata.

Langkah 2, masukan nilai dataN dan jml yang akan dirata-ratakan, seperti berikut:

Pendefinisikan awal untuk dataN=23 dan jml = 0,

Tabel 3.1 Menghitung rata-rata

n dataN jml = jml + dataN

1

2

3

4

23

40

20

10

23

63

83

93

Langkah 3, melakukan perhitungan

Rumus untuk rata-rata: rata_rata = jml / n

Kita sudah diketahui bahwa nilai akhir dari n adalah 4 dan jml adalah 93, sehingga nilai rata_rata =

93 / 4, maka menghasilkan nilai rata_rata = 23.25.

Langkah 4, menampilkan nilai rata_rata ke alat keluaran seperti monitor, yaitu rata_rata = 23.25

Langkah 5, berhenti dari algoritma.

Penulisan algoritma rata-rata secara lengkap, yaitu

ALGORITMA Nilai_Rata_Rata

{ untuk menghitung nilai rata-rata dari sejumlah data tertentu }

DEKLARASI

n, dataN, jml, i integer; // mendeklarasikan semua variabel

rata_rata float

DESKRIPSI

readln(n 4) // input banyaknya data n = 4

for (i=0; i<=n; i++) do // inputan dengan pengulangan i

Page 9: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 9

readln(dataN) // inputan dataN yang akan proses (23,40,20,10)

jml = jml + dataN // melakukan penjumlahan 23+40+20+10

end_for // akhir dari pengulangan for

rata_rata = jml / n // nilai rata-rata

println(rata_rata) // menampilkan nilau rata-rata

End_algo

Hasil outputnya:

23.25

Contoh-2

Untuk menentukan bilangan ganjil, yaitu kita analisis terlebih dahulu untuk bagaimana menampilkan

bilangan ganjil, yaitu:

1. Jika suatu nilai dibagi dua menghasilkan sisa bagi atau desimal maka bilangan tersebut termasuk

bilangan ganjil, dan akan ditampilkan pada layar.

Contoh 3/2 = 1,5 //menghasilkan sisa bagi atau desimal yaitu 5.

2. Jika suatu nilai dibagi dua, menghasilkan sisa bagi nol maka ia bukan termasuk bilangan ganjil, dan

nilai tersebut tidak dapat ditampilkan dalam layar atau monitor. Contoh 4/2 = 2 //tidak

menghasilkan sisa bagi.

3. Jika pada kondisi angka tertentu maka perulangan, berhenti.

Catatan : mod adalah sisa bagi.

misakanl: 1 / 2 = 0.5, maka sisa baginya memiliki satu digit yaitu .5.

Kita tuliskan permasalahan bilangan ganjil, dalam notasi algoritma secara lengkap untuk menampilkan

bilangan ganjil, yaitu:

ALGORITMA Bilangan_Ganjil

{ menampilkan bilangan ganjil, dengan rumus “i mod 2 = 1” dengan i

adalah bil bulat jika manghasilkan sisa bagi maka ditampilkan }

DEKLARASI

i integer;

DESKRIPSI

for (i=0; i<=4; i++) do // inputan dengan pengulangan i

if ( i mod 2 = 1 ) then // kondisi bilangan ganjil

println(“Bil Ganjil ”, i) // menampilkan data i ganjil

end_if

end_for

End_Algo

Untuk lebih jelasnya, kita lihat tabel untuk menampilkan bilangan ganjil, sebagai berikut:

Misal: i = data masukan, dengan nilai=4

Tabel 3.2. Menampilkan bilangan Ganjil

Page 10: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 10

I kondisi ( i mod 2 = 1 ) Bil Ganjil

0 0 mod 2, hasil sisa bagi 0 Bukan

1 1 mod 2, hasil sisa bagi 1 Ya

2 2 mod 2, hasil sisa bagi 0 Bukan

3 3 mod 2, hasil sisa bagi 1 Ya

4 4 mod 2, hasil sisa bagi 0 Bukan

Maka hasil akhir dari proses di atas, akan menampilkan sejumlah bilangan ganjil dalam monitor atau alat

keluaran, yaitu:

1

3

Karena 1 dan 3, yang memenuhi syarat kondisi bilangan ganjil (i mod 2 = 1) tersebut. Algoritma Bilngan

Ganjil di atas, kita implementasikan ke dalam bahasa Java, yaitu:

public class Bilangan_Ganjil{

public static void main(String[] args) {

int i;

for (i=1; i<8; i++) {

if (i % 2 ==1) { // % adalah tanda modulus

System.out.println(“Bil Ganjil: ” + i ); // menampilkan bil ganjil

}

}

}

}

Hasil output

Bil Ganjil: 1

Bil Ganjil: 3

Bil Ganjil: 5

Bil Ganjil: 7

Process completed.

Untuk mempelajari coding di atas, kita sabar dulu ya… Kita akan membahasnya nanti pada bab-bab

berikutnya, kita hanya memberikan contoh bahwa suatu algoritma bisa diimplementasikan ke dalam

pemrograman Java.

Contoh algoritma di atas, merupakan langkah awal sebelum dibuat ke dalam pemrograman, Ada yang

mengatakan bahwa algoritma, merupakan jantung dari ilmu komputer atau informatika, hal ini mungkin

dikarena sangat pentingnya peranan dari algoritma. Pemrogram tanpa menggunakan algoritma diibaratkan

sebagai nasi tanpa lauk-pauk, jelas gak enak…, segitunya…ha… Banyak cabang ilmu komputer yang

mengacu pada terminologi algoritma tersebut. Namun, jangan beranggapan bahwa algoritma selalu

identik dengan ilmu komputer saja.

Page 11: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 11

Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma, seperti

merakit komputer, merakit mobil dan cara-cara membuat kue atau masakan yang dinyatakan dalam suatu

resep juga dapat disebut sebagai algoritma, membuat roti. Pada setiap resep makanan selalu ada urutan

langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan

yang diinginkan, maka itu bukan disebut algoritma. Ibu-ibu yang mencoba suatu resep masakan akan

membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca.

Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Dalam

mengerjakan suatu proses yang sesuai dengan algoritma yang diberikan kepadanya, seorang juru masak

membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan

not balok. Jadi karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh

pemroses. Jadi sesuatu pemroses harus memenuhi beberapa hal berikut ini:

1. Menentukan judul permasalahan

2. Mengerti setiap langkah yang dilakukan (algoritma)

3. Variabel sudah terdefinisi dan terisi nilai

4. Mengerjakan operasi, bersesuaian dengan langkah-langkah yang ditentukan

5. Berhenti pada kondisi pengulangan tertentu

3.3. Mekanisme Pelaksanan Algoritma Oleh Pemroses

Komputer hanyalah salah satu pemroses, agar dapat dilaksanakan oleh komputer, algoritma harus ditulis

dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau

implementasi teknis algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat

dilaksanakan oleh komputer.

Secara garis besar komputer tersusun atas empat komponen utama:

Piranti masukan

Piranti keluaran

Unit pemrosesan utama dan

Dan memori.

Unit pemrosesan utama (central processing unit –CPU) adalah ”otak” komputer, yang berfungsi

mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca,

analisi dan operasi menulis. Memori adalah komponen program (berisi operasi-operasi yang akan

dikerjakan oleh CPU) dan data atau informasi (sesuatu yang dioperasi oleh operasi-operasi). Piranti

masukan dan keluaran (I/O devices) adalah alat yang memasukan data atau program ke dalam memori,

dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya.

Contoh keyboard, scanner, mouse, joystick, disk dll, contoh alat keluaran adalah monitor, printer dan

plotter dll. Berikut dasar proses aliran data, yaitu:

Piranti

masukan Unit Pemroses

(CPU)

Piranti

keluaran

Memori

Page 12: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 12

Gambar 3.2 Komponen-komponen utama komputer

Mekanisme kerja keempat komponen di atas sangat jelas sekali, dimulai dari piranti masukan kemudian

ke CPU dan kemudian ke memori untuk menyimpan data sementara dan dikembalikan lagi ke CPU dan

setelah itu dikirim ke piranti keluaran.

3.4. Memprogram dan Bahasa Pemrograman

Belajar memprogram sangatlah mudah, yang penting kita ada niat dan bersabar. Belajar memprogram

tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi

pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan

dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan-aturan

tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan

instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja, contohnya

belajar pemrograman Java maka kita akan belajar bagaimana menggunakan Java, memahami bahasa Java,

compiler apa saja yang bisa digunakan dan lain-lain.

Ada bebrapa hal yang harus diperhatikan dalam belajar memprogram yaitu:

Belajar memahami bahasa pemrograman

Belajar tentang strategi bagaimana pemecahan masalah, metodologi dan sistematika pemecahan

masalah kemudian menuliskannya dalam notasi yang disepakati bersama

Bersifat pemahaman persoalan, analisis dan sintesis dan belajar mendesigner program

Belajar bagaimana menuangkan algoritma ke dalam suatu pemrograman

Belajar memakai suatu bahasa pemrograman, aturan sintaks, tata cara untuk memanfaatkan

instruksi yang spesifik untuk setiap bahasa

Belajar dititik berat pada coding atau pengkodean

Belajar bagaimana testing program

Produk yang dihasilkan pemrogram sebaiknya memenuhi syarat sebagai berikut:

Program dengan rancangan yang baik (metodologis, sistematis)

Dapat dieksekusi oleh mesin

Penggunaan memori yang tidak berlebihan

Berfungsi dengan benar

Sanggup melayani segala kemungkinan masukan

Disertai dokumentasi

Menghandle semua kesalahan yang terjadi melalui pesan

Belajar memprogram, titik berat : designer program

3.5. Penggunaan Dalam Notasi Algoritma

Notasi algoritma ini dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Analogikanya seperti

daftar bahan membuat sebuah meja. Sebuah resep membuat meja dapat ditulis dalam berbagai macam

bahasa pemrograman seperti bahasa Inggris, Prancis, Jerman, Indonesia, Jepang, Belanda, Brazil,

Vietnam, Cina, Jawa, Sunda dll. Apapun bahasa resep tetap dalam rangka membuat meja, meja yang

akan dihasilkan tetap sama walupun berbeda bahasa resep membuat meja, sebab algoritmanya sama

Page 13: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 13

(dengan catatan semua aturan pada resep diikuti). Mengapa bisa demikian? Karena setiap tukang kayu

(yang merupakan pemrosesan) mampu melakukan operasi dasar yang sama, seperti memotong kayu,

memaku kayu, dan kemudian membuat meja tersebut. Jadi, resep membuat meja tidak terikat pada bahasa

yang digunakannya, hal inilah mengapa notasi algoritma tidak terpengaruh pada bahasa yang digunakan.

Demikian pula dengan komputer. Setiap komputer berbeda teknologinya, tetapi secara umum semua

komputer dapat melakukan operasi-operasi dasar dalam pemrograman seperti pembacaan data, operasi

perbandingan, operasi aritmatika, analisis pasar dan sebagainya. Dengan perkembangan komputer itu

tidak mengubah operasi-operasi dasar itu melainkan yang berubah yaitu hanyalah kecepatan, energi,

biaya, atau tingkat ketelitian.

Menjadi catatan bahwa notasi algoritma bukanlah bahasa pemrograman, sehingga siapa pun dapat

membuat notasi algoritma yang berbeda. Hal yang terpenting dari notasi tersebut adalah ia mudah dibaca

dan dimengerti oleh orang lain. Selain itu, meskipun notasi algoritma bukan notasi baku sebagaimana

pada notasi bahasa pemrograman, namun ketaatan terhadap notasi, perlu diperhatikan untuk menghindari

kekeliruan.

Dalam notasi algoritma dalam penulisannya terbagi menjadi beberapa hal, yaitu:

a. Natural

b. Algoritma pseudo code

c. Flowchart

d. Fundamental

Algoritma sebetulnya banyak teknik yang kita gunakan dalam penulisannya tergantung pada kebiasaan

setiap negara dan aturan internasional yang disepakati, tetapi pada dasarnya penulisan algoritma terbagi

menjadi tiga hal, seperti di atas.

Notasi algoritma di atas akan dipelajari pada bab selanjutnya. Sabar aja...ya..

Catatan:

Mudah-mudahan Anda mengerti apa itu notasi algoritma. Ingat cara kerja komputer selalu berurutan

dan tidak loncat kesana dan loncat kesini. Kecuali pada syarat tertentu.

Seorang programmer yang baik, harus memiliki bekal dasar-dasar pemrograman yang kuat biak dalam

bidang logika maupun teknik penulisan algoritma.

3.6. Penulisan Teks Algoritma

Algoritma suatu konsep atau blue print, bukan sebuah program tetapi hanya sebuah rancangan sebelum

membuat program, algoritma tersebut yang nantinya dapat diimplementasikan ke dalam berbagai bahasa

pemrograman, seperti Java, Pascal, Delphi, Visual Basic, C##, PHP dan lain-lain. Untuk kebanyakan

orang sering salah pengertian tentang algoritma ini. Sebagai contoh ada seorang mahasiswa yang sedang

belajar algoritma dan pemrograman Java, suatu ketika saya bertanya pada mahasiswa tersebut “apa

algoritma itu?” dan mahasiswa tersebut dengan bangga menjawab “Algoritma adalah belajar bahasa Java

pak”, saya pun berkata “kata siapa?”, kemudian jawab mahasiswa “kata dosen algoritma, pak”. Wah..

waah.. mahasiswa ini mungkin salah pengertian apa yang disampaikan dosen tersebut dan tidak bisa

membedakan mana algoritma dan mana pemrograman atau mungkin murid tersebut tidak mau belajar

tentang algoritma dengan baik. Saya hanya bisa senyum saja.. dengan pernyataan di atas, entah siapakah

Page 14: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 14

yang salah, dengan kasus seperti ini. Jadi supaya bisa membedakan mana algoritma dan mana

pemrograman, marilah kita belajar algoritma yang sunguh-sunguh, sebetulnya algoritma itu sangat mudah

di pelajari dan Anda jangan asal belajar saja.

Sebetulnya algoritma merupakan rancangan awal dari suatu masalah dalam dunia nyata yang nantinya

algoritma tersebut dapat diimplementasikan ke dalam berbagai bahasa pemrograman dan program akan

memerintahkan komputer untuk melakukan sesuatu sesuai apa yang kita tulis dalam program tersebut

atau disebut dengan penulisan source code.

Catatan: Jadi algoritma tidak sama dengan program, ingat ya…!!!

Dalam penulisan algoritma banyak cara yang dilakukan dalam hal penulisan algoritma baik dengan

algoritma teks maupun dengan algoritma flowchart atau penulisan algoritma dengan metode lainnya,

teknik penulisan algoritma ini kita akan bahas pada bab berikutnya.

3.7. Penggambaran Algoritma

Algoritma berisi tentang suatu deskripsi(menggambarkan) mengenai langkah-langkah untuk penyelesaian

suatu masalah tertentu. Deskripsi tersebut dapat ditulis dalam notasi apa pun, asalkan mudah dimengerti

dan dipahami oleh manusia. Tidak ada notasi yang baku dalam penulisan teks algoritma sebagaimana

pada notasi bahasa pemrograman (notasi yang digunakan dalam penulisan algoritma disebut notasi

algoritmik).

Setiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Hal ini dapat dimengerti

karena teks algoritma tidak sama dengan teks program. Karena program adalah implementasi dari

algoritma dalam suatu notasi bahasa pemrograman tertentu. Namun, algoritma merupakan rancangan

yang menggambarkan jalannya program, agar notasi algoritma tersebut mudah ditranslasikan ke dalam

notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi

bahasa pemrograman secara umum.

Berikut adalah contoh bahasa pemrograman secara umum, yaitu:

Menampilkan data

Penulisan teks untuk menampilkan variabel x dan y

Maka dalam notasi algoritmik menjadi :

print(x, y)

penulisan print merupakan suatu printah yang akan mencetak nilai x dan y ke piranti keluaran (monitor

atau printer) dalam algoritma untuk keluaran boleh menggunakan kata write atau print ataupun out

tergantung dari si pembuat algoritmanya, karena untuk implementasinya menggunakan bahasa Java,

alangkah baiknya kita mengunakan kata print, karena kata print lebih dekat dengan bahasa Java dan

untuk seterusnya guna menampilkan data atau nilai menggunkan kata println atau print dalam penulisan

algoritmanya.

Dalam penulisan dalam bahada Java hampir sama dengan bahasa pemrograman lainnya, hanya saja yang

membedakannya adalah masalah sintaks bahasa, kita analisis penulisan algoritma di atas untuk

menampilkan data dan kita coba untuk mengimplementasikan dalam berbagai bahasa pemrograman yaitu:

1. Pascal : write(x,y)

2. Java : system.out.print(x,y)

3. bahasa C : printf(x,y)

4. Basic : write(x,y) dll

Page 15: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 15

Contohnya lainnya yaitu

Dua buah algoritma sederhana, diberikan untuk mengilustrasikan teks algoritma.

Algoritma pertama, adalah untuk mencetak tulisan, “Hello World”, yaitu:

Maka penulisan dalam algoritmanya yaitu:

println(“Hello World’)

maka dengan printah println, maka kata “Hello World” akan ditampilkan pada monitor komputer atau

alat keluaran.

Algoritma untuk mencetak suatu variabel A

Dengan proses hasil sebuah perhitungan yang ditampung pada variabel A, yaitu:

Proses perhitngan:

A = (2 * 3) + 5,

maka penulisan dalam algoritmanya yaitu:

A (2 * 3) + 5, // proses perhitungan di variabel A

println( A ) // menampilkan variabel A

Pada printah di atas akan menampilkan angka 11 di layar monitor yang merupakan hasil dari suatu

proses, dan bukan variabel A nya yang ditampilkan melainkan hasil proses (( 2 * 3) + 5) perhitungan

yang ditampung pada variabel A yang berisi nilai 11. Perlu diingat juga dalam penulisan A pada

perintah println, ditulis tanpa menggunakan petik dua (“ “) atau petik tunggal („ „), karena variabel A

memiliki nilai dan bukan suatu pernyataan, seperti “Hello world”, jadi Anda harus bisa membedakan,

mana yang menggunakan tanda petik, mana yang tidak menggunakan tanda petik.

Catatan:

Untuk println, adalah suatu printah yang menampilkan data dan setelah printah statement tersebut

diproses maka cursor akan pindah baris baru, sedangkan print yaitu setelah printah statement diproses

maka cursor tetap pada baris tersebut atau tidak ganti baris baru. Lebih jelasnya kita lihat pada latihan-

latihan pemrograman saja.

Algoritma Hello World! sebetulnya hampir selalu ditemukan pada buku-buku bahasa pemrograman, apa

lagi dalam bahasa Java. Kadang kala kita sering menjumpai dalam suatu pemrograman, ketika pertama

kali kita membuka suatu pemrograman tertentu misalnya bahasa Java maka secara default program Java

akan menampilkan kata “Hello World!” ke layar monitor. Program “Hello World!”, pertama kali

ditemukan oleh Brian W. Kernighan, yaitu penemu bahasa C [KER88].

Sebagai contoh membuat algoritma untuk mencatak kata “Hello World!” ini, yaitu sebagai berikut:

ALGORITMA HelloWorld

{ untuk menampilkan/mencetak kata-kata “Hello World!” yang berupa tipe

data string” }

DEKLARASI

{ Tidak ada }

DESKRIPSI

Page 16: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 16

print(“ 1 Hello World!”) //print, menampilkan tetapi kursor tidak ganti baris

println(“ 2 Hello World!”) //println, menampilkan dg posisi kursor ganti baris

print(“ 3 Hello World!”) //print, menampilkan tetapi kursor tidak ganti baris

End_Algo

Hasil Output

1 Hello World! 2 Hello World!

3 Hello World!

Keterangan:

Algoritma di atas untuk menampilkan atau mencetak ke layar berupa kata “1 Hello World!”, “2 Hello

World!”, dan “3 Hello World!”, misalnya alat keluaran seperti monitor, jelas sekali bukan……

Membaca Data

Penulisan teks atau membaca data seperti:

baca atau inputan nilai x dan y

maka dalam notasi algoritmik menjadi :

read(x,y)

Untuk penulisan read ini berarti untuk menginputkan data atau membaca data (keyboard, scanner dll)

dalam penulisan algoritma boleh menggunakan kata read atau readln atau input dan diikuti

menggunakan lambang (panah) yaitu lambang proses input nilai atau menggunakan lambang = (sama

dengan). Jadi read merupakan suatu perintah untuk menginputkan atau membaca data, dalam hal ini

berupa variabel x dan y baik dibaca melalui keyboard maupun dengan alat inputan lainnya.

Marilah kita analisis penggunaan printah read(inputan) tersebut dan kita implementasikan dalam berbagai

macam pemrograman tertentu yaitu:

a. Pascal : read(x,y)

b. Java : JOptionPane.showInputDialog(“x,y” );

atau menggunakan

InputStreamReader reader = new InputStreamReader(System.in);

BufferedReader input = new BufferedReader(reader);

Penggunaan read dalam algoritma, yaitu

Contoh-1:

read(b 5)

Artinya variabel b akan diisi dengan nilai 5, berarti variabel b bertipe data integer (bilangan bulat)

Contoh-2:

read(c 7.5)

Artinya variabel c akan diisi dengan nilai 7.5, berarti variabel c bertipe data float atau real.

Contoh-3:

read(a ”Selamat datang”)

Artinya variabel a akan diisi dengan nilai “Selamat datang”, berarti variabel a bertipe data string.

Page 17: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 17

Belajar melalui contoh-contoh Contoh-1: printah read atau inputan dalam algoritma, yaitu

ALGORITMA LatRead

{ untuk membaca data dari alat inputan dengan beberapa tipe data }

DEKLARASI

{ Tidak ada }

DESKRIPSI

read(nama=”Ani Java”) // membaca sebuah data nama

read(alamat=”Bandung”) // membaca sebuah data alamat

End_algo

Contoh-1 dalam bahasa Java

import javax.swing.*;

public class LatRead{

public static void main(String[] args) {

String nama, alamat;

nama = JOptionPane.showInputDialog("Nama Anda ?"); // read nama

alamat = JOptionPane.showInputDialog("Alamat Anda ?"); //read alamat

}

}

Contoh-2: printah read atau inputan dan outputan dalam bahasa Java dengan method, yaitu

import javax.swing.*;

public class DataPribadi {

public static String nama, alamat;

public static void masuk() {

nama = JOptionPane.showInputDialog("Nama Anda ?"); // read nama

alamat = JOptionPane.showInputDialog("Alamat Anda ?");//read alamat

}

public static void keluar() {

System.out.println("Nama :" + nama);

System.out.println("Alamat :" + alamat);

}

public static void main(String[] args) {

masuk();

keluar();

}

}

Contoh-3: dalam algoritma,

Menampilkan data dengan nilai yang sudah terdefinisi (1,4,6,8,4) yang akan ditampung dalam variabel

(a,b,c,d,e), yaitu

Page 18: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 18

ALGORITMA susunanAngka

{ untuk menampilkan/mencetak susunan angka dalam tipe data string” }

DEKLARASI

a, b, c, d, e integer

DESKRIPSI

read(a , b, c, d, e) //memasukan data a, b, c, d, e dengan bil bulat(1,4,6,8,4)

println(a, b, c, d, e) // menampilkan variabel a, b, c, d, e

End_algo

Contoh-4: algoritma inputan data “Hello World!” dengan variabel kata yang bertipe String, dan

diinputkan melalui keyboard, yaitu:

ALGORITMA HelloWorld

{ untuk menampilkan atau mencetak kata-kata “Hello World!” yang berupa

tipe data string }

DEKLARASI

kata String // kata memiliki tipe data teks

DESKRIPSI

read (kata =“Hello World!”) // inputan data berupa string

End_algo

Contoh-4: Dalam bahasa Java,

public class HelloWorld {

public static void main(String[] args ) {

String kata; // definisi kata dengan tipe data string

kata = “Hello World!”; // inputan data berupa string

System.out.println(kata); // ini tambahan saja, menampilkan kata

}

}

Hasil outputnya

Hello World!

Jadi jelas sudah.. perbedaan antara algoritma dan bahasa Java, kalau belum jelas Anda pelajari lagi.

Lihatlah perbedaan antara penulisan “Hello World!” pada algoritma dan bahasa Java di atas.

Pada dasarnya kalau kita perhatikan dalam struktur teks algoritma terdiri dari beberapa hal, yaitu :

a. Judul Algoritma

Bagian ini memuat judul dari suatu algoritma yang menggambarkan masalahnya, ingat judul harus

simpel, jelas dan tidak boleh ada spasi

b. Deklarasi atau menggunakan kata Kamus

Page 19: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 19

Mendeklarasikan suatu variabel dan memiliki tipe data tertentu seperti: string, integer, float, maupun

double dll

c. Deskripsi atau menggunakan kata Algo

Deskripsi merupakan tempat inputan, pemprosesan dan outputan atau tempat beradanya suatu

statement.

d. Penutup algoritma

Suatu algoritma harus ada stop atau penutup algoritma. Inilah yang menjadi ciri algoritma yang baik.

Penutupan biasanya tergantung algoritmanya bisa menggunakan End_algo atau Stop

Belajar melalui latihan-latihan dalam bahasa Java

Latihan-1, Menampilkan data variabel c dari perhitungan a dan b dalam Java yaitu:

import javax.swing.*;

public class perhitungan {

public static void main(String[] args){

int a, b, c;

a = 28; // read(a = 28)

b= 70; //read(b = 70)

c= (a * b) + ( a * a); // proses perhitungan

System.out.println("nilai c = " + c); // menampilkan data c

}

}

Latihan-1, Menggunakan method dalam Java, yaitu:

import javax.swing.*;

public class perhitungan {

public static void hasil(){

int a, b, c;

a = 28; // read(a = 28)

b= 70; //read(b = 70)

c= (a * b) + ( a * a); // proses perhitungan

System.out.println("nilai c = " + c); // menampilkan data c

}

public static void main(String[] args){

hasil(); //memanggil method hasil()

}

}

Latihan-2, Menghitung luas segitiga dengan membaca dari JOptionPane menggunakan method .

import javax.swing.*;

public class Konversi_Luas {

public static float a, t, L; //variable global

Page 20: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 20

public static void hitung(){

String angka1 = JOptionPane.showInputDialog("alas ? ");

String angka2 = JOptionPane.showInputDialog("tinggi ? ");

a = Float.parseFloat(angka1);

t = Float.parseFloat(angka2);

}

public static void hasil(){

L = (a * t)/2;

System.out.println("Luas = " + L);

}

public static void main(String[] args){

hitung();

hasil();

}

}

Latihan-3, Membuat inputan dan menampilkannya.

import javax.swing.*;

public class inputantulis {

public static void latihan3(){

String tulis = JOptionPane.showInputDialog("Tsulisan Anda ? ");

System.out.println("Anda menulis = " + tulis);

}

public static void main(String[] args){

latihan3();

}

}

Latihan-4, Membuat program inputan, nama dan umur, yiatu:

import javax.swing.*;

public class inputandata {

public static void main(String[] args){

System.out.println("----DAFTAR PRIBADI----");

String angka1 = JOptionPane.showInputDialog("nama Anda ? ");

String angka2 = JOptionPane.showInputDialog("umur Anda ? ");

System.out.println("Nama Anda = " + angka1 );

System.out.println("Umur Anda = " + angka2 );

}

}

Page 21: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 21

Latihan-4.1, Menggunakan method dalam bahasa Java, yaitu

Membuat program inputan, nama dan umur, dengan pemanggilan suatu method

import javax.swing.*;

public class inputandata {

public static String nama, umur;

public static void masuk(){ //sebuah method masuk

nama = JOptionPane.showInputDialog("nama Anda ? ");

umur= JOptionPane.showInputDialog("umur Anda ? ");

}

public static void tampil() { //sebuah method tampil

System.out.println("Nama Anda = " + nama );

System.out.println("Umur Anda = " + umur );

}

public static void main(String[] args) {

System.out.println("----DAFTAR PRIBADI----");

masuk(); //memanggil method masuk()

tampil(); //memanggil method tampil()

}

}

Latihan-4.2, Menggunakan class dalam bahasa Java

Membuat program inputan, nama dan umur, dengan pemanggilan suatu method

import javax.swing.*;

public class data{ //mendefinisikan untuk class data

public static String nama, umur;

public static void masuk(){ //sebuah method masuk

nama = JOptionPane.showInputDialog("nama Anda ? ");

umur= JOptionPane.showInputDialog("umur Anda ? ");

}

}

public class inputandata { //mendefinisikan class inputdata

public static void tampil() { //sebuah method tampil

data dt = new data();

System.out.println("Nama Anda = " + dt.nama );

System.out.println("Umur Anda = " + dt.umur );

}

public static void main(String[] args) {

Page 22: Dasar Algoritma ECasnadi

Created by: Edi Casnadi.(Email:[email protected]) 2012

Algortma Dasar Page 22

System.out.println("----DAFTAR PRIBADI----");

data dt = new data();

dt.masuk(); //memanggil method masuk()dikelas data

tampil(); //memanggil method tampil() dikelas input data

}

}

Hasil output

----DAFTAR PRIBADI----

Nama Anda = edi c

Umur Anda = 25

Process completed.

Soal Latihan 3

1. Buatlah algoritma untuk menghitung jarak tempuh kendaraan, dari jarak tertentu!.

2. Buat pemrograman dalam bahasa Java dengan method untuk menghitung empat persegi panjang,

hitunglah:

a. Luas

b. Keliling

c. Panjang diagonal

Dengan aturan:

Inputan/read (panjang dan lebar)

Untuk inputan harus diisi dengan alat inputan yaitu keyboard dan nilai inputan nilai sembarang

Output/println (luas, keliling, diagonal)