Lecture Notes: Introduction To Algorithm and Java Programming
Lecture Notes: Introduction To Algorithm and Java Programming
LECTURE NOTES
LEARNING OUTCOMES
1. LO1: Describe the algorithm in problem solving
2. LO2: Explain the usefulness of java syntax
OUTLINE MATERI :
-
Programming language
Introduction to Java
o Java language specification and API
o Java Edition, JRE and JDK
ISI MATERI
Introduction to Algorithm
Pada pertemuan pertama ini kita akan mempelajari/mereview mengenai algoritma terlebih
dahulu sebelum masuk kedalam materi pokok matakuliah ini, yaitu Java. Apa itu algoritma?
Ketika Anda ingin melakukan sesuatu, Anda secara tidak langsung mengimplemetasikan
algoritma. Langkah-langkah yang Anda lakukan untuk mencapai suatu tujuan dapat
diterjemahkan menjadi sebuah algoritma. Contohnya adalah ketika Anda ingin makan, maka
Anda akan melakukan beberapa langkah secara terurut. Dimulai dari mengambil piring dan
sendok, kemudian Anda akan mengambil nasi dan menaruhnya kedalam piring Anda.
Dilanjutkan dengan menyendokkan nasi sesuap demi sesuap ke dalam mulut Anda, dan hal ini
dilakukan hingga nasi didalam piring Anda habis. Algoritma adalah sebuah kumpulan instruksi
yang terurut dan jelas serta rinci untuk mendeskripsikan proses untuk mencapai output yang
diinginkan dari input yang diberikan.
menampilkan hasil penjumlahan tersebut. Pada akhirnya langkah akan berakhir dengan
mematikan kalkulator tersebut.
Sebuah algoritma pasti memiliki sebuah input dan ada output yang dituju. Selain itu algoritma
juga harus jelas terdefiniskan. Sebuah algoritma yang baik harus jelas, tepat dan tidak
membingungkan. Selain itu algoritma itu sendiri harus memberikan solusi yang benar untuk
seluruh kasus yang ada, dan tentutnya harus memiliki akhir.
Apa itu programming? Programming merupakan sebuah kreasi dari program yang dapat di
eksekusi oleh komputer dan memenuhi tujuan yang diinginkan dari program tersebut. Algoritma
yang sudah dibuat dapat diubah kedalam sebuah program dimana instruksi-instruksi tersebut
akan dijalankan oleh komputer. Tentunya, karena instruksi tersebut akan dieksekusi oleh
komputer, dan komputer tidak mengerti bahasa manusia, maka kita harus menggunakan bahasa
pemograman. Sebenarnya apa itu bahasa pemograman? bahasa pemograman dapat dikatakan
menyerupai bahasa inggris dimana pada level tingkat tinggi (high-level language), bahasa
tersebut lebih ke human language in English, sehingga mudah dipelajari dan memprogram.
Beberapa bahasa level tingkat tinggi yang cukup ternama adalah COBOL, FORTRAN, Pascal,
C, C++ dan Java (Bahasa pemograman yang dipelajari dalam matakuliah ini).
Algoritma yang Anda pikirkan dapat Anda tuangkan kedalam bentuk pseudocode dan flow chart
sebelum akhirnya Anda ubah kedalam bahasa pemograman yang Anda inginkan.
Pseudocode
Pseudocode merupakan rangkaian bahasa manusia sederhana yang singkat dan jelas sehingga
mudah dimengerti. Beberapa kata kunci yang digunakan untuk menerima input dan output dalam
sebuah pesudocode yaitu read, get, print, write, dll. Sedangkan flow chart banyak digunakan
oleh banyak programmer untuk mendesign sebuah algoritma. Bila pseudocode menggunakan
kata-kata untuk menggambarkan algoritma tersebut, flow chart menggunakan simbol-simbol dan
sedikit kata-kata untuk mengilustrasikan sebuah algoritma.
Sebelum Anda memulai untuk mendesign algoritma, maka perlu Anda ketahui bahwa komputer
dapat mengoperasikan 6 operasi dasar yaitu:
1. Komputer dapat meminta inputan dari System/keyboard, ataupun membaca dari file.
2. Komputer dapat menghasilkan sebuah output dan menampilkannya ke layar monitor,
ataupun menuliskannya ke dalam sebuah file.
3. Komputer dapat melakukan operasi perulangan.
4. Komputer dapat melakukan operasi seleksi.
5. Komputer juga dapat membandingkan nilai dari dua buah variable.
6. Komputer dapat melakukan inisialisasi atau mengalokasikan sebuah nilai ke dalam
memori.
Berikut adalah contoh dari Pseudocode yang bertujuan untuk menelpon dan menentukan sebuah
bilangan bernilai ganjil atau genap.
Menelpon
BEGIN
Hold up the phone
WHILE not dial
Press dial button
WHILE not connected
Waiting dial
IF connected THEN
WHILE not finish
Talking
Hold down the phone
END
Menentukan_bilangan_ganjil_genap
BEGIN
Number = Input Number
Result = Number % 2
IF Result = 0
THEN Print The number is even
number
ELSE
THEN Print The number is odd
number
END
Untuk sebuah pesudocode selalu dimulai dengan keyword BEGIN dan untuk mengakhiri
digunakan keyword END. Berdasarkan pseudocode untuk menelpon, maka langkah pertama
adalah mengangkat ganggang telepon. Kemudian terdapat sebuah pengecekan kondisi disertai
dengan perulangan, dimana ketika telepon belum terdengar nada panggil maka tekan kembali
nomor panggilan. Tetapi bila sudah terdengar nada panggil maka terdapat pengecekan berikutnya
yaitu apakah telepon telah tersambung pada orang yang dituju. Bila belum maka akan dilakukan
perulangan yaitu menunggu hingga telepon tersambung ke orang yang dituju (diangkat). Bila
sudah tersambung maka terdapat pengecekan dimana bila pembicaraan belum berakhir maka
teruskan berbicara. Pada akhirnya telepon ditutup kembali.
Untuk menentukan bilangan ganjil dan genap, digunakan perhitungan modulus (%) yaitu
mencari sisa dari hasil pembagian. Seperti yang kita ketahui bahwa sebuah bilangan dapat
dikategorikan sebagai bilangan ganjil bila terdapat hasil bagi antara bilangan tersebut dengan 2.
Maka
pada
pseudocode
Menentukan_bilangan_ganjil_genap,
tahap
pertama
adalah
menyimpan inputan dari user ke dalam variable Number. Kemudian menghitung sisa pembagian
dari bilangan tersebut, dimana hasilnya akan disimpan ke dalam variable Result. Bila sudah
mengetahui hasil Resultnya, maka langkah selanjutnya adalah pengecekan apakah hasil sisa
tersebut adalah 0 (bilangan genap) atau 1 (bilangan ganjil).
Flow Chart
Seperti yang sudah dibahas sebelumnya bahwa sebuah flow chart dapat menggambarkan
algoritma yang diilustrasikan dalam bentuk gambar. Kita perlu mengetahui symbol yang
digunakan dalam sebuah flow chart, yaitu sebagai berikut:
Setiap symbol tersebut mempunyai makna yang berbeda-beda. Berikut adalah penjelasan singkat
mengenai symbol tersebut:
1. Terminator digunakan untuk mengartikan kapan sebuah algoritma dimulai atau
dihentikan. Biasa kita gunakan untuk BEGIN dan END.
2. Flow line digunakan untuk memberikan arah aliran algoritma dan data yang ada.
(menghubungkan symbol yang satu dengan yang lainnya).
Introduction to Java
Pada mulanya Java dikembangkan oleh semua tim yang dipimpin oleh James Gosling dibawah
naungan Sun Microsystems. Pada tahun 1991, Java diberi nama Oak dan dikembangkan di area
embedded chips pada peralatan elektronik. Namun pada tahun 1995, nama Oak diganti menjadi
Java dan di design ulang kembali untuk membantu dalam pengembangan aplikasi internet. Java
menjadi popular saat ini dan tidak hanya mendukung apliasi Web Programming,tetapi juga untuk
mendukung pengembangan aplikasi stand-alone antar platform baik di server, desktops ataupun
mobile device.
Komputer mempunyai aturan khusus dimana bila aturan tersebut tidak diikuti dalam menulis
sebuah program, maka computer tidak dapat menjalankan program tersebut karena tidak dapat
dimengerti oleh computer. Oleh karena itu, Java language specification muncul sebagai definisi
teknikal dari bahasa program tersebut yang terdiri dari sintaks dan semantic dari bahasa
pemograman Java. Java API terdiri dari kelas-kelas yang sudah didefinisikan dan interface untuk
membantu developer dalam melakukan pengembangan aplikasi. Spesifikasi bahasa pemograman
Java stabil sedangkan Java API masih terus diperkaya/dikembangkan.
Terdapat beberapa Java edition, yaitu Java Standard Edition (Java SE), Java Enterprise Edition
(Java EE) dan Java Micro Edition (Java ME). Banyak versi dari Java SE, yang paling akhir saat
ini adalah Java SE 7. Tetapi untuk sintaks dan fungsi yang akan dipelajari dalam matakuliah ini
adalah Java SE 6 dimana masih banyak digunakan oleh developer. Setiap versi dari Java SE
dirilis bersama dengan JDK (Java Development Toolkit). JDK adalah sebuah library, yang terdiri
dari set of program yang dibuat untuk mendukung pengembangan dan pengetesan sebuah
program Java. Selain JDk, dapat pula menggunakan Java development tools, seperti Eclipse,
NetBeans, atau TextPad. Untuk mengeksekusi program Java, diperlukan Java Runtime
Environment (JRE).
How Java Works
Ketika kita membuat sebuah program denganmenggunakan bahasa Java, maka kita tentu akan
mempunya sebuah file dengan extension .java (yaitu source code kita). Komputer tidak dapat
mengerti bahasa pemograman secara langsung, maka bahasa Java tersebut perlu diubah menjadi
byte code agar dapat dibaca oleh Java Virtual Machine (JVM). Proses perubahan dari Java
source code ke bentuk byte code disebut compile. Java merupakan high-level language,
sedangkan bytecode termasuk dalam low-level language. Di dalam java, terdapat Java Compiler
yang ditugaskan untuk menghasilkan Java bytecode. Extension untuk java bytecode yang
dihasilkan adalah .class. File bytecode tersebut yang kemudian dieksekusi oleh JVM untuk
menghasilkan output dari program yang anda buat.
Gambar diatas merupakan ilustrasi dari proses penulisan program sehingga dihasilkan output
yang diinginkan. Tahapan dimulai dari proses penulisan program. Program yang telah dibuat
akan disimpan ke dalam disk Anda. Ketika program Anda di compile oleh Java compiler (javac),
maka javac akan menghasilkan bytecode yang secara otomatis juga tersimpan didalam disk
Anda. Bila terjadi kesalahan pada proses kompilasi, maka Anda perlu memodifikasi ulang
program Anda. Kesalahan yang dapat membuat kompilasi error misalnya adalah penulisan
sintaks yang salah. Anda perlu membenarkan kesalahan tersebut dan kemudian mengkompilasi
ulang program Anda. Setelah itu bytecode akan di eksekusi oleh JVM sehingga menghasilkan
output yang diinginkan. Bila terjadi kesalahan pada saat runtime (runtime error), maka Anda
perlu kembali ke tahap pertama yaitu memodifkasi ulang program Anda. Contoh kesalahan yang
menyebabkan runtime error adalah kesalahan logic. Misalnya Anda membagi sebuah angka
dengan 0.
Gambar diatas adalah contoh dari program Java sederhana yang hanya mencetak tulisan
Welcome to Java. Sintaks yang digunakan untuk mencetak adalah System.out.println. Struktur
dari program Java terdiri dari kelas dan fungsi Utama. Penamaan kelas harus sama dengan nama
file yang dibuat. Kemudian untuk menuliskan komentar dapat menggunakan tanda //. Semua
kata yang dibuat sebagai komentar tidak akan dieksekusi. Untuk lebih jelasnya mengenai
pengembangan program dalam bahasa Java akan dibahas pada pertemuan selanjutnya.
SIMPULAN
1. Sebuah algoritma dapat dituangkan dalam bentuk pseudocode atau flow chart.
2. Java adalah bahasa pemograman yang tidak bergantung pada sebuah platform, Anda
hanya perlu menulis program sekali dan menjalankannya dimana saja.
3. Java source file dengan extension file .java.
4. Sebuah compiler adalah program software yang menerjemahkan bahasa pemograman
Java ke dalam bentuk bahasa mesin (bytecode).
5. JVM akan mengeksekusi bytecode yang dihasilkan oleh compiler.
6. Proses pengembangan program dilakukan melalui 3 tahap utama, penulisan/modifikasi
program, kompilasi dan eksekusi program.
DAFTAR PUSTAKA
Daniel Liang, Y., 2011, Introduction to java programming, vol.08, Pearson Education,
New Jersey. Chapter 1.
Lesley Anne Robertson, 2006, Simple program design : a step by step approach, Vol.05,
Course Technology.