Kamis, 18 September 2014

Algoritma Pemrograman Java

Pengertian

Algoritma adalah  kumpulan langkah-langkah yang disusun secara sistematis (terurut) dan logis untuk menyelesaikan permasalahan.

A. Perbedaan Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :

Program = Algoritma + Bahasa (Struktur Data)

Pembuatan algoritma mempunyai banyak keuntungan di yaitu :
-  Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya      penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
-  Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
-  Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma :

  • Teks algoritma berisi deskripsi langkah-langkah dan 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. Karena teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  • Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :

a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.

b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.

c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.

d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.

e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.

f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.

B. Penyajian Algoritma

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah.

Berikut ini merupakan beberapa contoh simbol flowchart yang disepakati di dunia pemrograman :




Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
  • Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadifile di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:


  • Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
C. Proses Pembuatan Flowchart Program

Secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :
1.Input
2.Proses pengolahan
3.Output



Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
5. END, mengakhiri kegiatan pengolahan.


D.Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:

1. Struktur Runtunan (Sequence Process)
Proses beruntun  adalah sederetan pernyataan yang urutan pelaksanaannya / eksekusinya dilakukan secara beruntun dari baris pertama, kedua dan seterusnya hingga baris terakhir.
Jika saya aplikasikan kedalam sebuah diagram alir (flowchart) maka akan menjadi seperti gambar di bawah ini :



flowchart di atas menggambarkan proses mencari nilai kuadrat dari bilangan x yang diinput. Proses tersebut dijalankan secara berurutan mulai dari input x, mengalikan x dan menyimpannya di variabel hasil selanjutnya variable hasil tersebut akan dicetak.

2. Struktur Pemilihan (Selection process)
Saat algoritma kita dijalankan ada saat dimana suatu instruksi baru boleh dijalankan jika kondisi tertentu terpenuhi. Contohnya saat kita menerima raport atau nilai semester, disana akan ada kondisi yang menyatakan jika nilai kita lebih besar dari 80 maka kita mendapat A, jika nilai lebih besar dari 70 maka kita mendapat B, dan seterusnya. Kasus pemilihan seperti ini sudah biasa kita alami di kehidupan sehari-hari, namun bagaimana jika kita ingin mengimplementasikannya kedalam bentuk algoritma?. Dibawah ini merupakan contoh proses pemilihan untuk menentukan ukuran dua buah bilangan yang saya buat kedalam bentuk diagram alir.




Flowchart diatas menjelaskan proses untuk menginput nilai variable A dan variable B. setelah itu nilai yang telah kita input akan diseleksi jika nilai A lebih besar dari B maka nilai A akan diisikan kedalam variable lain yang bernama maks, sedangkan jika nilai A tidak lebih besar dari B maka akan diseleksi lagi dan jika nilai B yang lebih besar dari A maka nilai B akan diisikan kedalam variable maks. Variable maks yang telah berisi nilai A atau B tersebut nantinya akan ditampilkan. Namun jika nilai B juga tidak lebih besar dari A itu artinya nilai A dan B adalah sama dan komputer tidak akan menampilkan output apa-apa.

3. Struktur Perulangan (Repetition process)

Dalam algoritma, struktur perulangan ini sangat bermanfaat jika kita ingin melakukan sebuah proses yang sama berulang-ulang dengan kondisi tertentu, contohnya jika kita ingin program yang kita buat terus berjalan selama pengguna tidak memilih pilihan keluar, contoh sederhana lainnya adalah jika kita ingin mencetak bilangan dari 1 sampai 100 dan masih banyak lagi yang lainnya.
Untuk lebih mempermudah pemahaman anda, dibawah ini merupakan gambar flowchart yang menggunakan struktur perulangan untuk menampilkan bilangan 1 sampai 100.




Flowchart diatas kita telah memiliki variabel angka yang terlebih dahulu kita isi dengan nilai 1, setelah itu komputer akan mencetak variabel angka tersebut dan mengisi angka dengan nilai hasil penjumlahan angka tersebut dengan nilai 1 (angka = angka + 1). Setelah itu kondisi akan diperiksa untuk mengetahui apakah angka memiliki nilai yang lebih besar dari 100 atau tidak, jika tidak komputer akan kembali untuk mencetak angka dan melakukan penjumlahan lagi sedangkan jika tidak maka proses akan berhenti.


E. Tipe Data Primitif dan Escape Sequence Java.

Tipe Data Primitif

char : Menyatakan sebuah karakter.
double : Menyatakan bilangan real (biasanya ada koma komanya) dengan ketelitian tinggi (15 digit)
float : Menyatakan bilangan real dengan ketelitian rendah (6-7 digit)
byte : Menyatakan bilangan bulat antara -128 sampai dengan +127
short : Menyatakan bilangan bulat antara -32768 sampai dengan +32767
int : Menyatakan bilangan bulat antara -2147483648 sampai dengan +2147483647
boolean : Menyatakan logika true atau false
long : Menyatakan bilangan bulat antara -263 sampai 263-1

Tipe data primitive yang disebutkan diatas ternyata memiliki default value sebagai berikut :

Data TypeDefault Value (for fields)
byte0
short0
int0
long0L
float0.0f
double0.0d
char'\u0000'
String (or any object)  null
booleanfalse
Terkadang data kita bisa menggunakan beberapa tipe data. Tetapi dalam pemrograman Java satu jenis data hanya boleh memiliki satu jenis tipe data saja, yang tentunya nanti jika ada kebutuhan bisa dilakukan konversi tipe data.


Escape Sequence
Escape sequence pada Java biasanya digunakan ketika kita ingin menuliskan karakter tertentu yang tidak bisa diketikkan secara langsung (karena karakter itu memiliki arti tertentu jika di compile pada bahasa Java).
Misal kita ingin menuliskan " (petik dua) menggunakan System.out.print(), kita tidak dapat menuliskannya dengan cara seperti ini System.out.print(" " "); cara penulisan seperti itu akan membuat program kita error. .
Untuk menghindari error tersebut maka ada yang disebut escape sequence.

Berikut list dari escape sequence di Java

Description
\tInsert a tab in the text at this point.
\bInsert a backspace in the text at this point.
\nInsert a newline in the text at this point.
\rInsert a carriage return in the text at this point.
\fInsert a formfeed in the text at this point.
\'Insert a single quote character in the text at this point.
\"Insert a double quote character in the text at this point.
\\Insert a backslash character in the text at this point.


Java Language Basic

Java Development Kit versi 1.6 keatas. 
Java Development Kit merupakan perangkat lunak yang digunakan untuk melakukan proses kompilasi dari kode java menjadi bytecode yang dapat dimengerti dan dapat dijalankan oleh java runtime environtment.

Java Runtime Environtment
Java Runtime Environtment merupakan perangkat lunak yang digunakan untuk menjalankan aplikasi yang dibangun menggunakan java. Versi JRE harus sama atau lebih tinggi dari JDK yang digunakan untuk membangun aplikasi agar aplikasi dapat berjalan sesuai dengan yang diharapkan.

NetBeans IDE
NetBeans IDE merupakan perangkat lunak yang digunakan untuk membangun perangkat lunak yang lain. NetBeans IDE dapat digunakan untuk membangun perangkat lunak berbasis java Standard Edition, Java Enterprise Edition, Java Micro Edition, Java FX, PHP, C/C++, Ruby Groovy dan Python.

Langsung saja saya akan memberikan sepotong kode java sederhana seperti dibawah ini :

public class SelamatDatang {
                  public static void main (String [] args) {
                         System.out.println(“Selamat Datang Di Belanja Pagi”);
                   }
           }

Pada kode diatas, kita telah membuat sebuah program java sederhana yang menampilkan tulisan “Selamat Datang Di Belanja Pagi” pada console. Dimana terdapat beberapa aturan dalam membuat program java yaitu :

Nama file harus sama dengan nama kelas program. Misal pada kode diatas nama kelasnya adalah SelamatDatang, maka nama file harus SelamatDatang.java
Hanya boleh terdapat satu kelas public pada sebuah file
Kelas yang menjadi program harus memiliki metode public static void main(String[] args)
Terminal pada java menggunakan tanda ; (titik koma).
Selanjutnya saya akan menjelaskan macam-macam tipe data yang terdapat pada bahasa pemrograman java yaitu :

 Tipe Data                       Keterangan

  boolean                          true atau false
  char                                karakter
  byte                                -128 – 127
  short                               -32768 – 32767
  int                                   -2147483648 – 2147483647
  long                                -9223372036854775808 – 92233720367854775807
  double                            -4.9E-324 – 1.7976931348623157E308
  float                                1.4E-45 – 3.4028235E38

String bukanlah merupakan tipe data di Java, String merupakan Object. Namun String memiliki keunikan yaitu String dapat langsung dibuat tanpa harus membuat Object.

Selanjutnya saya akan menjelaskan tentang Variabel dimana dalam Java Variabel diartikan sebagai sesuatu yang digunakan untuk menampung sebuah data. Sebuah variabel harus ada dalam sebuah kelas atau metode. Pembuatan sebuah variabel di Java terlihat pada kode dibawah ini.

Tipevariabel namavariabel;

Tipe variabel dapat juga berupa tipe data atau kelas, misal :

  int nilai;
          char indexNilai;

Untuk menambahkan nilai ke sebuah variabel, maka dapat menggunakan tanda  “=” (sama dengan), misal jika kita akan menambahkan nilai 100 pada variabel nilai dan A pada variabel indexNilai, maka dapat terlihat pada kode dibawah ini.

 int nilai;
           char indexNilai;

           nilai = 100;
           indexNilai = ‘A';

Atau dapat juga dengan langsung saat pembuatan sebuah variabel seperti contoh berikut :
 int nilai = 100;
           char indexNilai = ‘A';

Tidak ada komentar:

Posting Komentar