PRAK. ALGORITMA DAN PEMROGRAMAN (JAVA) By Faizah, S.Kom MATERI POKOK Pengantar Algoritma Konsep Bahasa Pemrograman Flowchart Tipe Data, Keywords, Konstanta, Variabel Struktur Input/Output Percabangan Perulangan Pemrograman Modular Fungsi: parameter, kembalian fungsi by value Array 1 dimensi Array 2 dimensi Manipulasi String SILABUS Pengantar Algoritma dan Konsep Bahasa Pemrograman Flowchart dan Pengenalan Java Tipe Data, Keywords, Konstanta dan Input/Output Percabangan Sederhana Percabangan Kompleks dan Switch Loop Sederhana Loop Kompleks MID/TUGAS BESAR Modular Programming Fungsi by value: parameter, void dan non-void Array 1 Dimensi Array 2 Dimensi Java Applet GUI UAS/RESPONSI AKHIR WHAT’S PROGRAM ? Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program). Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa). Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan. Mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan. PROGRAMMING LANGUAGE Adalah alat untuk membuat program Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll. Perbedaan: cara memberikan instruksi Persamaan: bertujuan menghasilkan output yang sama PROGRAMMING PARADIGM Pemrograman Prosedural Pemrograman Fungsional Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program. Pemrograman Terstruktur Berdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan. Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah. Secara berurutan dan terstrukrtur. Program dapat dibagai-bagi menjadi prosedur dan fungsi. Contoh: PASCAL dan C Pemrograman Modular Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul-modul. Contoh: MODULA-2 atau ADA PROGRAMMING PARADIGM Pemrograman Berorientasi Obyek Pemrograman Berorientasi Fungsi Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi Contoh: C++, Object Pascal, dan Java. Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini. Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain. Pemrograman Deklaratif Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma. Contoh: PROLOG DEFINISI ALGORITMA Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompatlompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998) Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1) CONTOH ALGORITMA 1).Masalah menghitung Luas dan keliling lingkaran Misal : input =R, output = L dan K, Proses : L = pi* r2 K = 2 * pi * r Algorithmanya: Secara Struktur bahasa: Tetapkan nilai pi = 3.14 Bacalah nilai R (jari-jari) Hitung luas(L) Hitung keliling(K) Tulis L dan K Secara Pseudocode: pi 3.14 input R L pi* r2 K 2 * pi * r Output L dan K NOTE Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbedabeda namun bertujuan menghasilkan output yang sama KRITERIA ALGORITMA (DONALD E. KNUTH) Input: algoritma dapat memiliki nol atau lebih inputan dari luar. Output: algoritma harus memiliki minimal satu buah output keluaran. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1 PENGENALAN JAVA Java adalah satu dari beberapa kemajuan terpenting di bidang software komputer dalam 20 tahun terakhir. Sama pentingnya dengan HyperText Markup Language(HTML) yang sangat sukses dalam penerbitan homepage static di World wide Web (WWW). Java meledakkan internet dengan isi yang lebih menarik dan interaktif. Ada tiga kombinasi kunci yang membuat Java menjadi teknologi yang secara fundamental berbeda dari yang lain yang ada saat ini. Pertama dan yang paling menarik adalah semua orang dapat menggunakan applet yang kecil, aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan. Sejak awal, Applet dapat disusun dan didstribusikan secara aman dalam bentuk homepage semudah aspek-aspek HTML. Kedua, Java adalah bahasa pemrograman yang ampuh dan memiliki kekuatan desain berorientasi objek dengan sintaks yang sederhana dan mudah dikenal disertai dukungan lingkungan yang kokoh serta enak digunakan. Java memungkinkan programmer untuk membuat program dan komponen dan applet baru yang lebih menarik. Ketiga, Java adalah kumpulan class objek yang ampuh sehingga dapat melayani programmer dengan uraian yang jelas untuk menerangkan berbagai fungsi sistem yang umum seperti pembuatan window, penggunaan jaringan dan input / output. Kunci class-class ini adalah kemampuannya yang dapat melayani aplikasi lintas platform untuk beragam variasi yang umum digunakan sebagai antarmuka sistem. KELEBIHAN JAVA Sederhana dan Ampuh Aman Berorientasi Objek Kokoh Interaktif Netral Terhadap Berbagai Arsitektur Terinterpretasi dan Berkinerja Tinggi Mudah Dipelajari PENGENALAN OOP Pemrograman berorientasi objek sangat ampuh dan merupakan paradigma alami untuk membuat program yang dapat bertahan terhadap kemungkinan perubahan yang berkaitan dengan pertumbuhan dan pertambahan umur sistem apapun. Bahasa berorientasi objek sejati menyediakan mekanisme yang dikenal sebagai enkapsulasi, inheritansi dan polimorfisme. TIPE DATA DALAM JAVA Java memiliki delapan tipe data sederhana, yaitu: byte, short, int, long, char, float, double dan Boolean. Berikut ini adalah pembahasan masing-masing tipe data : int int adalah tipe 32 bit bertanda yang memiliki rentang nilai dari -2147483648 sampai 2147483647. tipe ini paling banyak digunakan untuk menyimpan besaran integer sederhana karena nilainya dapat mencapai trilyunan. Tipe data int sangat baik digunakan untuk pertambahan array dan pencacahan. Contoh deklarasi variable int : int i; int j = 0x55aa0000; TIPE DATA DALAM JAVA long long adalah tipe data 64 bit bertanda yang memiliki rentang nilai cukup besar. Ada beberapa kasus dimana int tidak cukup besar untuk menampung nilai yang diinginkan. Ketika menghitung pernyataan integer dengan bilangan yang cukup besar operasi perkalian dapat menghasilkan bilangan ribuan trilyun. Jika menggunakan int maka akan terjadi overflow karena data hanya berukuran 32 bit. Oleh karena itu anda sebaiknya menggunakan tipe long untuk mengolah data dengan kuantitas besar. Contoh deklarasi long : long m; long n = 0x55aa000055aa0000; double double merupakan tipe data untuk bilangan pecahan dengan ketelitian ganda karena tipe data ini memilili lebar 64 bit dengan ketelitian 1.7E-308 sampai 1.7E+308.ketelitian ganda ini digunakan untuk fungsi matematis transidental seperti sin, cos dan sqrt. Contoh deklarasi double: double d; double pi = 3.141595365358972; TIPE DATA DALAM JAVA byte byte adalah tipe 8 bit bertanda yang memiliki rentang nilai dari -128 sampai 127. sebaiknya digunakan jika kita menangani aliran aliran byte asing dari network atau file. Variable byte dideklarasikan dengan kata kunci byte. Contoh deklarasi variabel byte : byte b; byte c = 0x55; short short adalah tipe 16 bit bertanda yang memiliki rentang nilai dari -32768 sampai 32767. Tipe ini mungkin merupakan tipe yang paling jarang digunakan karena bersifat big-endian, format data bit-atas di depan sehingga tidak mungkin diolah ada mesin-mesin little-endian seperti PC. Contoh deklarasi variabel short : short a ; short t = 0x55aa; TIPE DATA DALAM JAVA karakter Tipe integer terkecil di dalam Java adalah byte yang menyimpan besaran 8 bit. Java menggunakan Unicode untuk merepresentasikan karakter pada string, maka tipe char 16 bit tidak bertanda digunakan untuk menyimpan puluhan ribu karakter dari kumpulan karakter Unicode internasional. rentang nilai char ini adalah 0 sampai 65535. Tidak ada char negatif. Kumpulan karakter standar yang dikenal sebagai ASCII hanya meliputi rentang nilai dari 0 sampai 127 dan memiliki pengembangan kumpulan karakter 8 bit, ISO latin dari 0 sampai 255. Contoh deklarasi variable char : char c; char c3 = 'a'; char c4 = '\n' ; boolean Java memiliki tipe data sederhana untuk besaran logika yang disebut Boolean. Tipe ini memiliki dua buah kemungkinan nilai yaitu true dan false, keduanya merupakan kata simpanan. Tipe inilah yang dikeluarkan oleh operator perbandingan seperti (a < b). Contoh deklarasi variable boolean : boolean done = false; CONTOH PROGRAM class SimpleType { public static void main (String args[] ) { byte b=0x55; short s=0x55ff; int i = 1000000; long l = 0xffffffffL; char c = 'a'; double d = .00001234; boolean bool = true; System.out.println("byte b = "+b); System.out.println("short s = "+s); System.out.println("int i = "+i); System.out.println("long l = "+l); System.out.println("char c = "+c); System.out.println("double d = "+d); System.out.println("boolean bool = "+bool); } } NEXT KONSEP OOP VARIABEL PENULISAN SINTAKS JAVA