Está en la página 1de 12

1446T Algorithm and Programming

LECTURE NOTES

Introduction to Algorithm and Java Programming

1446T Algorithm and Programming

LEARNING OUTCOMES
1. LO1: Describe the algorithm in problem solving 2. LO2: Explain the usefulness of java syntax

OUTLINE MATERI : Algorithm and the characteristic Programming language Six basic operation Expression of algorithm (Pseudocode and Flowchart) Introduction to Java o Java language specification and API o Java Edition, JRE and JDK Creating, compiling, and executing Simple Java program

1446T Algorithm and Programming

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.

Contoh diatas menunjukkan sebuah algoritma untuk mengoperasikan kalkulator guna menghitung hasil penjumlahan dari angka yang dimasukkan. Dimulai dari menyalakan kalkulator, kemudian menekan tombol clear (C) untuk memastikan bahwa perhitungan dimulai dari 0. Sebuah perulangan dimana instruksi yang diberikan adalah mengenai penginputan angkaangka yang ingin dijumlahkan. Langkah tersebut terdiri dari peng-entry-an jumlah dollar, dilanjutkan dengan tanda desimal (.), jumlah cents, dan diakhiri dengan tanda plus (+) untuk menjumlahkan. Setelah semua angka sudah dimasukkan, maka kalkulator tersebut akan

1446T Algorithm and Programming

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.

1446T Algorithm and Programming

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

1446T Algorithm and Programming

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).

1446T Algorithm and Programming

3. Preparation: digunakan untuk persiapan seperti menginisialisasikan value, dll. 4. Process: Untuk menggambarkan sebuah proses. 5. Input/Output data: menggambarkan bahwa data tersebut adalah output / input. 6. Decision: digunakan untuk menunjukan sebuah seleksi. 7. On page connector: digunakan untuk menghubungkan/melanjutkan flow chart pada halaman yang sama. 8. Off page connector: digunakan untuk menghubungkan/melanjutkan flow chart pada halaman yang berbeda. Berikut adalah contoh flow chart dari dua pesudocode diatas (menelpon dan menentukan ganjil genap):

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.

1446T Algorithm and Programming

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.

1446T Algorithm and Programming

Creating, Compiling and Executing

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.

1446T Algorithm and Programming

Simple Code Example

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.

1446T Algorithm and Programming

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.

1446T Algorithm and Programming

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.

También podría gustarte