Wednesday, November 5, 2014

Pengenalan algoritma

Ahli Sejarah Matematika menemukan asal kata algoritma 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 itulah diperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran usm berubah menjadi uthm.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.
Definisi Algoritma:
  • Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
  • Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis.
  • Algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata. (Webster Dictionary)
Setelah langkah-langkah instruksi atau Algoritma selesai disusun, selanjutnya user harus menyajikan langkah-langkah tesebut dalam satu bahasa yang dikenal oleh komputer.

Kegiatan menulis atau membuat langkah-langkah instruksi tersebut dalam suatu bahasa komputer dikenal dengan nama PEMROGRAMAN. Hasil yang telah dicapai oleh penulisan tersebut disebut dengan PROGRAM

Ciri-ciri Algoritma :
Beberapa ciri algoritma menurut Donald E. Knuth, yaitu :
  • Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas.
  • Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous).
  • Memiliki masukan (input) atau kondisi awal.
  • Memiliki keluaran (output) atau kondisi akhir.
  • Algoritma harus efektif; bila diikuti benar-benar akan menyelesaikan persoalan.
Kriteria Pemilihan Algoritma :
Kriteria atau sifat-sifat algoritma yang terbaik menurut Yulikuspartono:
  1. Output, mengacu pada definisi algoritma dimana suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
  2. Efektifitas dan Efisiensi, efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan (tepat guna). Efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
  3. Jumlah langkahnya berhingga, maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
  4. Berakhir, proses di dalam mencari penyelesaian suatu masalah harus berhenti dan berakhir baik dalam kondisi solusi ada atau tidak ada.
  5. Terstruktur, urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sehingga bagian-bagian proses dapat dibedakan Input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.
Sifat utama suatu algoritma menurut Suarga, yaitu sebagai berikut :
  1. Input, suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai pengubah yang diambil dari himpunan khusus.
  2. Output, suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
  3. Definiteness, langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
  4. Finiteness, suatu algoritma harus memberi kondisi akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan.
  5. Effectiveness, setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya memberi solusi sesuai yang diharapkan.
  6. Generality, langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu.
Ekspresi Algoritma
Ekspresi algoritma dapat dilakukan dengan tiga cara, yaitu:
  1. Bahasa alamiah
  2. Bagan alir (flowchart)
  3. Pseudokode.
Flowchart
Flowchart adalah untaian simbol gambar (chart) yang menunjukkan aliran (flow) dari proses terhadap data.
Simbol-simbol flowchart dapat diklasifikasikan menjadi:
  1. Simbol untuk program
  2. Simbol untuk sistem (peralatan hardware)
Pseudocode
Pseudocode adalah kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah.
Contoh:  Tuliskan nilai X dan Y
Pseudocode:  write (X,Y)

Struktur Algoritma
Struktur teks algoritma selalu disusun oleh tiga bagian (blok), yaitu:
  1. Bagian judul (header), Judul adalah bagian yang terdiri atas nama program dan penjelasan (spesifikasi) tentang program tersebut. Judul diawali dengan kata kunci PROGRAM dan nama program X. Kata PROGRAM ini bukan menyatakan program dalam bahasa komputer, tetapi menyatakan bahwa kita sedang menulis algoritma untuk program pemecahan masalah. Nama program sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh program. Di bawah nama program sebaiknya disertai dengan penjelasan singkat tentang apa masalah diprogram dan apa masukan dan keluarannya.
  2. Bagian Deklarasi, digunakan untuk mengumumkan semua nama yang dipakain di dalam algoritma beserta propertinya (misalnya tipe). Nama tersebut dapat berupa nama konstanta, nama peubah, nama tipe, nama prosedur dan nama fungsi. Karena nama adalah satu kesatuan, maka nama tidak boleh mengandung spasi, tanda baca (seperti titik, koma dan sebagainya), operator (seperti +, -, : dan sebagainya). Karakter garis bawah ( _ ) dapat digunakan untuk mengganti spasi. Selain spasi, kita juga tidak membedakan huruf besar (kapital) dan huruf kecil di dalam notasi algoritmik kita.
  3. Bagian Algoritma, bagian ini berisi instruksi-instruksi pemecahan masalah dalam notasi pseudo-code.
Contoh:
Program nama program;
{penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah apa yang akan diselesaikan, apa masukan dan keluarannya}
(* DEKLARASI *)
[const]
{semua nama tetapan dan harga tetapannya didefinisikan di sini}
[type]
{semua nama tipe bentukan didefinisikan di sini}
[Var]
{semua nama peubah global didefinisikan di sini}
{deklarasi prosedur dan fungsi ditulis disini}
(*ALGORITMA: *)
Begin
{semua instruksi program dituliskan disini}
End.

Error
Dalam pembuatan program, sering kali ditemukan adanya kesalahan pada saat proses pengodean (coding) yang disebut dengan error.
Ada tiga macam error yang terjadi dalam pembuatan program, yaitu:
  1. Syntax error (kesalahan sintaksis), dapat terjadi apabila terjadi kesalahan dalam menggunakan statemen built-in dari suatu bahasa pemrograman yang digunakan. Tipe kesalahan ini adalah tipe kesalahan yang paling mudah diperbaiki.
  2. Runtime error, dapat terjadi apabila terdapat inkonsistensi antara tipe variabel dalam program dengan nilai input yang diberikan. Contoh jenis kesalahan ini adalah ketika suatu variabel dideklarasikan bertipe integer, tetapi ternyata pada saat input data diisi dengan nilai bilangan real atau tipe data string.
  3. Logical error, merupakan kesalahan yang cukup sulit dicari permasalahannya karena dibutuhkan upaya trial and error untuk memperbaikinya. Cara lain untuk memperbaiki kesalahan ini adalah dengan cara membandingkan dengan proses manualnya. Biasanya, kasus terjadinya kesalahan ini merupakan kasus yang sulit diselesaikan karena program tidak menunjukkan adanya kesalahan, tetapi hasilnya tidak sesuai dengan yang diharapkan. Kesalahan ini juga dapat menyebabkan terjadinya suatu program yang dieksekusi tidak pernah selesai dan memberikan output yang tidak pernah berakhir.
Latihan:
Hitung luas persegi panjang dengan menggunakan Bahasa Alamiah, Diagram Alir dan Pseudocode.
Jawab:
Dengan Bahasa Alamiah
  1. Mulai
  2. Masukkan nilai panjang dan lebar persegi panjang
  3. Kalikan nilai panjang dan lebar untuk menghitung luasnya
  4. Hasil dari perhitungan Luas persegi panjang
  5. Selesai
Pseudocode dengan Pascal
Program Luas_persegipanjang;
Uses crt;
var panjang, lebar, luas : integer;
Begin
clrscr;
write(‘Masukkan Panjang : ‘);
readln(panjang);
write(‘Masukkan Lebar : ‘);
Readln(lebar);
Luas:=panjang*lebar;
writeln(‘Luas persegi panjang : ‘,luas);
Readln;
End.

Sunday, August 18, 2013

"Hello World" pada Java menggunakan JCreator



Untuk dapat membuat suatu program menggunakan java, kita perlu mengenal dasar dari pemrograman java. Bahasa pemrograman Java adalah bahasa pemrograman yang case sensitive, artinya bahasa java tidak mentoleransi kesalahan penggunaan huruf kapital. 
   
                                                Belajar JAVA itu mudah
Berikut contoh pengaplikasian pemrograman JAVA dengan menggunakan JCreator.
Kita perlu menginstal JDK (Java Development Kit) dan JCreator.

Setelah semua terinstall, buka JCreator anda.
1. Halaman Utama JCreator

2. Klik File>>New>>File atau Ikon New file yang berada di sudut kanan atas, yang kemudian akan membuka tab berikut
Sesudah dipilih java yang digunakan, klik next, lalu isi kolom Name untuk nama class yang akan dibuat, beserta Location yang dipilih, lalu klik finish

Di bawah ini adalah satu contoh program dasar sederhana yang dibuat menggunakan bahasa pemrograman java. Kita akan mencoba menampilkan kata "Hello World"

Tuliskan Kode Berikut :
public class hello2
{
 /**
 * Program java pertamaku, program dasar.
 */
  public static void main( String[] args )
   {
    //menampilkan String Hello World pada layar
    System.out.println("Hello World");
   }
}
Untuk mengeceknya klik Build>>Build File jika sukses dan tidak ada error maka bisa langsung di jalankan dengan meng-klik Run>>Run File


 Selamat Mencoba !!!!

bagi yg  mau menyalin harap dicantumkan sumber nya ya.. terima kasih :)

Dasar Pemrograman Java


Komentar Pada Java
Komentar adalah catatan yang ditulis pada kode dengan tujuan sebagai bahan dokumentasi. Teks ini bukan bagian dari program dan tidak mempengaruhi jalannya program. Penulisan komentar :
~ Dengan diawali dengan //. Semua teks setelah // dianggap sebagai komentar. Sebagai contoh,
Code:
// this is single comment

~ Dengan diawali dengan /* dan diakhiri dengan */. Semua teks yang ada diantara dua tanda tersebut dianggap sebagai komentar. Sebagai contoh,
Code:
/* this is an example of a
multiline comments */

Java Identifier
Java Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class dsb. Contoh dari pengidentifikasi adalah : Hello, main, System, out.
Pendeklarasian Java adalah case-sensitive. Hal ini berarti bahwa pengidentifikasi : Hello tidak sama dengan hello. Pengidentifikasi harus dimulai dengan salah satu huruf, underscore “_”, atau tanda dollar “$”. Hurufnya dapat berupa huruf besar maupun huruf kecil. Karakter selanjutnya dapat menggunakan nomor 0 smpai 9.

Keyword dalam Java
Keyword adalah pengidentifikasi yang telah dipesan untuk didefinisikan sebelumnya oleh java untuk tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama variabel anda, class, method dsb. 

Catatan: true, false, dan null bukan termasuk kata kunci akan tetapi mereka termasuk kata-kata khusus, jadi anda tidak dapat menggunakan mereka sebagai nama variabel pada program anda

Tipe Data Primitif
Bahasa pemrograman java mendefinisikan delapan tipe data primitif. Mereka diantaranya adalah, boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long (integral), double and float (floating point).
1. Logika – boolean tipe data boolean diwakili oleh dua pernyataan : true dan false. Sebagai contoh adalah,
Code:
boolean result = true;
Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai result sebagai tipe data   boolean dan memberinya nilai true.
     
2. Textual - char
Tipe data character (char), diwakili oleh karakter single Unicode. Tipe data ini harus memiliki ciri berada dalam tanda single quotes(’ ’). Sebagai contoh,
Code:
‘a’ //Huruf a
‘\t A’ //tab A
Untuk menampilkan karakter khusus seperti ' (single quotes) atau " (double quotes), menggunakan karakter escape \. Sebagai contoh,
Code:
'\'' //untuk single quotes
'\"' //untuk double quotes
Meskipun, String bukan merupakan tipe data primitif (namun merupakan suatu Class), kita akan memperkenalkan mengenai pada bagian ini.String mewakili tipe data yang terdiri atas beberapa karakter. Mereka tidak termasuk tipe data primitif, melainkan suatu class. Mereka memiliki literal yang terdapat diantara tanda double quotes(“ ”).
Sebagai contoh,
Code:
String message=“Hello world!”
3. Integral – byte, short, int & long
tipe data yang terintegrasi dalam java menggunakan tiga bentuk- yaitu desimal, oktal atau heksadesimal.
Sebagai contoh,
Code:
2 //nilai desimal 2
077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal
0xBACC //karakter 0x mengindikasikan nilai heksadesimal
4. Floating Point – float dan double
tipe Floating point memiliki double sebagai default tipe datanya. Floating-point literal terdiri atas salah satunya desimal point atau salah satu dari pilihan berikut ini,
Code:
E or e //(add exponential value)
F or f //(float)
D or d //(double)
Contohnya adalah,
Code:
3.14 //nilai floating-point sederhana (a double)
6.02E23 //A nilai floating-point yang besar
2.718F //A nilai float size sederhana
123.4E+306D //A nilai double yang besar dengan nilai redundant D
Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua bernilai positif. Contoh tersebut ekuivalen dengan 6.02E+23

Variabel
Variabel adalah item yang digunakan data untuk menyimpan pernyataan object. variabel memiliki tipe data dan nama. tipe data mengindikasikan tipe dari nilai yang dapat dibentuk oleh variabel itu sendiri. nama variabel harus mengikuti aturan untuk pengidentifikasian
1. Deklarasi dan Inisialisasi Variabel
Untuk deklarasi variabel adalah sebagai berikut,
Code:
[=initial value];
Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam tanda [] bersifat optional.
Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapa variabel,
Code:
public class Main
{
public static void main(String[] args)
{
//deklarasi a tipe data dengan nama variable
// result dan tipe data boolean
boolean result;
//deklarasi tipe data dengan nama variabel
// option dan tipe data char
char option;
option = 'C'; //menandai 'C' sebagai option
//deklarasi tipe data dengan nama variabel
//grade, double tipe data dan telah di inisialisasi
//to 0.0
double grade = 0.0;
}
}
2. Menampilkan Data Variable
Untuk mengeluarkan nilai dari variabel yang diinginkan, kita dapat menggunakan perintah sebagai berikut,

Code:
System.out.println()
System.out.print()
Berikut ini adalah contoh program,
Code:
public class Main
{
public static void main(String[] args)
{
int value = 10;
char x;
x = 'A';
System.out.println( value );
System.out.println( "The value of x=" + x );
}
}
Program tersebut akan mengeluarkan teks berikut pada layar,
Code:
10
The value of x=A
3. System.out.println() vs. System.out.print()
Apa yang membedakan diantara perintah System.out.println() and System.out.print()? Yang pertama menambahkan baris baru pada akhir data untuk dikeluarkan, sementara selanjutnya tidak.
Perhatikan pernyataan tersebut,
Code:
System.out.print("Hello ");
System.out.print("world!");
Pernyataan tersebut akan menghasilkan output berikut ini pada layar,
Code:
Hello world!
Sekarang perhatikan pernyataan berikut,
Code:
System.out.println("Hello ");
System.out.println("world!");
Pernyataan ini akan menghasilkan output sebagai berikut pada layar,
Code:
Hello
world!