Minggu, 28 September 2014


Apache Tomcat merupakan salah satu servlet/web container yang paling populer di lingkungan pemrograman web java. Apache Tomcat  berada di bawah naungan Apache Software Foundation yang di sana terdapat project-project open source lainnya. Sebelum kita dapat membuat aplikasi web java, kita harus menginstall servlet/web container. Walaupun sebenarnya jika anda tidak ingin repot-repot, anda cukup mendownload IDE Netbeans yang telah terbundled menjadi satu dengan Apache Tomcat.

Apa Beda “Apache Tomcat Server” dengan “Apache Web Server”?

Apakah kita perlu menginstall dua-duanya?

Apache Tomcat Server pada intinya adalah Web Server (seperti Apache Web Server) hanya memiliki kelebihan mendukung aplikasi Servlet.
Mana yang perlu kita install: Apache Tomcat Server atau Apache Web Server?
Tergantung aplikasi-aplikasi yang kita simpan dan sering kita jalankan di dalam server kita.
Pada dasarnya: Apache Web Server dibangun untuk melayani aplikasi-aplikasi httpd seperti PHP atau Perl, sedangkan Apache Tomcat dibangun untuk aplikasi-aplikasi Servlet seperti JSP.
Namun Apache Tomcat selain utamanya melayani Servlet, juga mampu melayani PHP namun diperlukan beberapa usaha.

Jadi ada 2 pilihan jika kita ingin Server kita mau melayani Servlet sekaligus PHP:

Option 1: menginstall dua-duanya, yakni Apache Tomcat server dan Apache Web Server + PHP
Option 2: hanya menginstall Apache Tomcat server namun memodifikasinya untuk integrasi dengan PHP.

Yang harus diwaspadai, umumnya hosting server hanya support Web Server tidak termasuk Servlet!
Apache di Ms Windows

Ada beberapa Aplikasi Apache yang dapat berjalan di Windows yaitu :

Apache2triad
XAMPP
WAMPP
Dll

Apache di Linux

Di linux pun ada beberapa Aplikasi Apache, yaitu :
LAMPP
XAMPP

Atau kita bisa juga menginstall satu persatu seperti apache ( httpd ), PHP dan mysql melalui Source code yang dapat di download di Internet secara Gratis.

Sumber : http://arisaputra0553.blogspot.com/

Jumat, 26 September 2014

Pengertian JSP

    

    JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di Platform Java, serta merupakan bagian teknologi J2EE (Java 2 Enterprise Edition). Teknologi JSP menyediakan cara yang lebih mudah dan cepat untuk membuat halaman-halaman web yang menampilkan isi secara dinamik. Teknologi JSP didesain untuk mempermudah dan mempercepat pembuatan aplikasi berbasis web yang bekerja dengan berbagai macam web server.

    Ada tiga cara untuk menggunakan teknologi Java dalam lingkungan web, yaitu applet, servlet dan JSP:

a.       Applet merupakan program Java yang disisipkan pada halaman HTML dengan menggunakan tag <APPLET>. Kita dapat membuat sebuah program yang kompleks dengan menggunakan bahasa Java kemudian jika ingin ditampilkan dalam halaman web, kita menyimpan program tersebut dalam bentuk applet dan menyisipkannya pada halaman-halaman HTML. Applet ini akan dieksekusi oleh Java Virtual Machine (JVM) pada browser. Sayangnya seringkali komputer client tidak didukung oleh JVM, sehingga applet tersebut tidak dapat dijalankan.

b.      Servlet adalah program yang ditulis dengan bahasa Java yang dijalankan pada server yang terkoneksi web. Pada servlet, komputer client tidak membutuhkan JVM, karena semua kode program akan dieksekusi di sisi server. Output yang akan disampaikan kepada browser client adalah murni HTML. Servlet ini akan dikompilasi dalam bentuk class. Servlet secara umum mampu meningkatkan sisi interaktif dan dinamis halaman web. Kelemahan dari servlet adalah teks-teks HTML yang berisi tampilan halaman harus dibuat dengan menggunakan bahasa pemrograman Java. Hal ini menyulitkan jika kita ingin mengubah tampilan bagian HTML-nya, karena berarti kita harus membuka kembali kode program java di servlet.

c.        JSP merupakan solusi dari servlet. Kita tidak perlu mengkodekan teks-teks HTML pada program, tapi cukup menyisipkan kode JSP pada teks HTML. Artinya bagian static yang berupa tag-tag HTML akan terpisah dari kode JSP. Kita dapat membuat halaman web static dengan HTML / Web editor, kemudian kita sisipi dengan kode JSP untuk membuat halaman menjadi web dinamis. application server, browser dan development tool.
Dua alasan penting yang membuat JSP banyak digunakan oleh para pengembang aplikasi Web:

1.      JSP menggunakan bahasa Java. Bagi para pemrogram yang telah mengenal Java,  sangatlah mudah untuk membuat aplikasi Web dengan JSP mengingat dasar JSP adalah bahasa Java. Dengan demikian mereka tidak perlu lagi belajar bahasa baru untuk membuat aplikasi Web.

2.       JSP mendukung multiplatform. Dalam hal ini JSP memang bukan satu-satunya perangkat lunak pembuat aplikasi Web yang bersifat multiplatform. PHP, misalnya, juga bersifat multiplatform. Keunggulan dari adanya dukungan multiplatform adalah memungkinkan kode dapat dipindah-pindahkan ke berbagai platform tanpa perlu melakukan perubahan apapun pada kode tersebut. Sebagai contoh, Anda bisa menulis kode JSP yang pada awalnya ditujukan untuk dijalankan pada Windows, dan kemudian dipindahkan ke lingkungan lain, misalnya Linux.


Catatan :

Mulai Java Server Pages 2.0, pengembang JSP bisa mengimplementasikan halaman Web tanpa memakai bahasa Java.


Arsitektur JSP

    Sebelum melangkah lebih jauh tentang bagaimana membuat kode sumber JSP, ada baiknya bagi Anda untuk mengenali arsitektur JSP, sehingga Anda mengetahui mekanisme kerja JSP.
Pemakai yang ingin mengakses halaman Web mula-mula mengirimkan permintaan halaman Web melalui protokol HTTP (HyperText Transfer Protocol) dalam bentuk JSP (berekstensi .jsp). Permintaan ini akan disampaikan ke Web server. Kemudian Web server mengambil dokumen JSP dan mengirimkan ke JSP Servlet Engine. Bagian inilah yang melakukan pemrosesan kode-kode JSP (termasuk di dalamnya melakukan pengompilasian) dan membentuk kode HTML. Berikutnya, kode HTML ini disampaikan oleh Web server ke klien yang memintanya. Kode HTML ini selanjutnya diproses oleh browser sehingga pemakai bisa memperoleh informasi dari halaman Web yang dikehendakinya.

Catatan 

Pengompilasian kode JSP hanya dilakukan sekali saja, yaitu pada pemanggilan dokumen yang pertama kali. Oleh karena itu pemakai yang memanggil dokumen yang baru saja dibuat atau diperbaharui akan merasakan bahwa tanggapan terhadap permintaan halaman Web cukup lama. Untuk menghindari keadaan seperti ini, pengembang dapat memanggil terlebih dulu dokumen tersebut setelah dilakukan perubahan.
Detail pemrosesan oleh JSP Servlet engine adalah sebagai berikut:

1. Melakukan pemilahan (parsing) kode JSP,
2. Membangkitkan kode sumber Servlet,
3. Mengkompilasi kode sumber Servlet menjadi sebuah kelas,
4. Membuat instan servlet,
5. Memberikan keluaran servlet ke Web server.
Kenapa menggunakan JSP?

a.     Sejak JSPs merupakan dokumen text seperti HTML, para pengembang menghindari format dan manipulasi yang memungkinkan String yang sangat panjang untuk menghasilkan output. Content HTML sekarang tidak ditempelkan dengan berbagai macam kode dari Java. Hal ini membuatnya lebih mudah untuk dipelihara.

b.    JSPs lebih dikenal oleh semua orang dengan pengetahuan dari HTML, hanya dengan mempelajari markup dynamic. Hal ini membuatnya mungkin untuk para desainer site untuk membuat template HTML dari sebuah site, dengan para pengembang memprosesnya suatu saat nanti untuk memasukkan tags yang menghasilkan dynamic content. Hal ini juga memudahkan dalam pengembangan web page.

c.     JSPs memiliki built-in yang mendukung untuk penggunaan komponen software yang dapat digunakan kembali(JavaBeans). Hal ini tidak hanya membiarkan para pengembang menghindari kemungkinan menemukan kembali inti/kemudi dari tiap aplikasi, mempunyai software pendukung untuk memisahkan komponen software untuk menghandle logic promotes separation dari presentasi dan business logic.

d.    JSPs, merupakan bagian solusi dari Java untuk pengembang aplikasi web, merupakan multi-platform yang tak terpisahkan dan dapat dijalankan pada berbagai container servlet
yang compatible, dengan mengabaikan vendor atau sistem operasinya.

e.     Dalam kaitannya dengan cara kerja JSPs, mereka tidak membutuhkan kompilasi dari para pengembang. Kompilasi ini telah ada untuk kita pada kontainer servlet. Modifikasi JSPs dideteksi secara otomatis. Hal ini secara relatif membuatnya mudah untuk dibangun.


Kelebihan JSP

JSP dapat berjalan pada sembarang platform.
JSP cenderung memiliki performansi yang lebih baik, karena JSP dilakukan kompile terlebih dahulu menjadi servlet yang berupa bytecode.
Didukung bahasa Java yang memilki kemampuan OOP dan tingkat reuseability tinggi.
Dapat menggunakan JavaBean untuk mengenkapsulasi kode-kode java.


Kelemahan JSP

Proses kompile terhadap halaman JSP mengakibatkan client harus menunggu lebih lama pada saat pertama kali di lakukan loading. Hal ini tentu saja menyebabkan kecepatan proses JSP secara menyeluruh berkurang.

Sumber : adiboga.blogspot.com
   
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris : database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU GeneralPublic License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak seperti PHP atau Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius. MySQL dapat didownload di situs resminya, Fitur-fitur MySQL antara lain :

  • Relational Database System. Seperti halnya software database lain yang ada di pasaran, MySQL termasuk RDBMS.
  • Arsitektur Client-Server. MySQL memiliki arsitektur client-server dimana server database MySQL terinstal di server. Client MySQL dapat berada di komputer yang sama dengan server, dan dapat juga di komputer lain yang berkomunikasi dengan server melalui jaringan bahkan internet.
  • Mengenal perintah SQL standar. SQL (Structured Query Language) merupakan suatu bahasa standar yang berlaku di hampir semua software database. MySQL mendukung SQL versi SQL:2003.
  • Mendukung Sub Select. Mulai versi 4.1 MySQL telah mendukung select dalam select (subselect)
  • Mendukung Views. MySQL mendukung views sejak versi 5.0
  • Mendukung Stored Prosedured (SP). MySQL mendukung SP sejak versi 5.0   

Mendukung Triggers. MySQL mendukung trigger pada versi 5.0 namun masih terbatas. Pengembang MySQL berjanji akan meningkatkan kemampuan trigger pada versi 5.1.

Ø  Mendukung replication.
Ø  Mendukung transaksi.
Ø  Mendukung foreign key.
Ø  Tersedia fungsi GIS.
Ø  Free (bebas didownload)
Ø  Stabil dan tangguh
Ø  Fleksibel dengan berbagai pemrograman
Ø  Security yang baik
Ø  Dukungan dari banyak komunitas
Ø  Perkembangan software yang cukup cepat.


Tipe Data

    Beberapa jenis tipe data dalam MySQL memiliki tipe tersendiri dalam tiap
field di table databasenya.
MySQL mengenal beberapa type data field, yaitu :


1. Tipe data numerik

Tipe data numerik dapat dibedakan menajdi dua kelompok, yaitu tipe data
integer dan tipe data floating point. Tipe data integer untuk data bilangan
bulat sedangkan tipe data floating point digunakan untuk bilangan desimal.
Tipe data numeric dapat kita sajikan dalam table di bawah ini :
Tipe data Kisaran nilai
Tinyint (-128) – 127 atau 0-225
Smallint (-32768) – 32767 atau 0 – 65535
Mediumint (-8388608)-8388607 atau 0-16777215
Int (-2147683648)-(2147683647) atau 0-4294967295
Bigint (-9223372036854775808)-(9223372036854775807)
atau
0 - 18446744073709551615
Float(x) (-3.402823466E+38)-(-1.175494351E-38),0,dan
1.175494351E-38 – 3.402823466E + 38
Float Idem
Double (-1.7976E+308)–(-2.22E-308),0,dan(2.22E-308)-
(1.79E+308)
Besar kebutuhan memori penyimpanan untuk masin-masing tipe data di atas
sebagai berikut :
Column type Storage required
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(4) 4 bytes
FLOAT(8) 8 bytes
FLOAT 4 bytes
DOUBLE 8 bytes
DOUBLE PRECISION 8 bytes
REAL 8 bytes
DECIMAL(M,D) M bytes (D+2, if M < D)
NUMERIC(M,D) M bytes (D+2, if M < D)


2. Tipe data string

Yang termasuk dalam tipe data string adalah tipe-tipe data berikut :
Tipe kolom Kebutuhan memori penyimpanan
CHAR(M) M bytes, 1 <= M <= 255
VARCHAR(M) L+1 bytes, where L <= M and 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 bytes, where L < 2^8
BLOB, TEXT L+2 bytes, where L < 2^16
MEDIUMBLOB,
MEDIUMTEXT
L+3 bytes, where L < 2^24
LONGBLOB,
LONGTEXT
L+4 bytes, where L < 2^32
ENUM
('value1','value2',...)
1 or 2 bytes, depending on the number of enumeration
values (65535 values maximum)
SET
('value1','value2',...)
1, 2, 3, 4 or 8 bytes, depending on the number of set
members (64 members maximum)


3. Tipe data waktu

Yang termasuk dalam tipe data tanggal dan waktu adalah sebagai berikut :

Column type Storage required

DATETIME 8 bytes
DATE 3 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte
Tipe data char() dan varchar() pada prinsipnya sama. Yang menjadi
perbedaannya adalah pada jumlah memori yang dibutuhkan untuk penyimpanan.
Memori penyimpanan yang dibutuhkan tipe data char() bersifat statis, besarnya
tergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut
dideklarasikan. Sebaliknya, tipe data varchar() besar memori penyimpanan
tergantung terhadap berapa karakter yang digunakan ditambah 1 byte yang berisi
data jumlah karakter yang digunakan.


(Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.


Terdapat 3 (tiga) jenis perintah SQL, yaitu :

1. DDL atau Data Definition Language

    DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
  • CREATE
  • ALTER
  • RENAME
  • DROP

2. DML atau Data Manipulation Language
    DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
  • SELECT
  • INSERT
  • UPDATE
  • DELETE

3. DCL atau Data Control Language
    DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). Perintah SQL yang termasuk dalam DCL antara lain :
  • GRANT
  • REVOKE

Sumber : fyrmansgithu77746.blogspot.com

Rabu, 17 September 2014


   
   Komponen JDK antara lain compiler(javac), interpreter(java) disebut juga java virtual machine atau java runtime environment, applet viewer(appletviewer), debugger(jdb), java class library(jcl), header dan stub generator(javah), dan yang paling penting yaitu java documentation(javadoc).

Penjelasan penggunaan komponen JDK :

1.   Kompilator (javac)
      Bertugas untuk melaksanakan kompilasi
      *.java menjadi *.class
      Syntax umum : javac nama.java
2. Interpreter (java)
      Bertugas untuk menjalankan bytecode (*.class)
      Syntax umum : java nama.class
3.    Applet Viewer
      Digunakan untuk menjalanakan applet viewer, namun sekarang sudah digantikan browser.
      Syntax umum : appletviewer nama.html
4.    Java Debugger
      Bertugas untuk melakukan debugging aplikasi java. Syntax umum : jdb option
5.    Java Class File Diassembler (javap)
      Bertugas membuat daftar method dan attribute public dari suatu kelas.
      Syntax : javap namaKelas
6.    Java Header and Stub Generator
      Bertugas menerjemahkan bahasa yang ditulis dalam bahasa java menjadi bahasa C.
      Syntax umum : javah namaKelas
7.    Java Documentation Generator
      Menampilkan pustaka kelas, interface, constructor, dan method standard yang telah dibuat vendor.
      Dari hasil instalasi, dokumentasi ini dapat dilihat di pada  C:\java\docs\api\index.html atau
C:\Program Files\NetBeans3.6\docs\junit\index.html
8.    Source Code Java API
      Source code ini dapat diperoleh dari file src.zip.

Untuk pemrogram pemula lingkungan pemrograman java dapat diringkas menjadi :

  1. Editing source code menggunakan editor teks.
  2. Compiling menggunakan keyword javac melalui command promp (dapat juga dari editor teks).
  3. Executing menggunakan :
           a.    Keyword java melalui command prompt (dapat juga dari editor teks)
           b.   Browser atau applerviewer untuk applet.

Token

Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa java yaitu identifier, keyword, literal dan tipe data, operator, serta separator.

Identifier

Identifier adalah token yang merepresentasikan nama sesuatu. Sesuatu tersebut adalah variabel, atau konstanta, atau attribute, atau method, atau kelas, atau package, atau interface, atau nama file, dan lain-lain.
Keyword
Kata kunci digunakan untuk suatu tujuan tertentu. Ada 51 keyword dalam java yaitu :
abstract continue for new switch
boolean default goto null synchronized
break do if package this
byte double implements private threadsafe
byvalue else import protected throw
case extends instanceof public throws
catch false int return transient
car final interface short true
class finally long static try
const float native super void
        while

Literal dan Tipe Data Primitif

Literal adalah nilai variabel/attribute atau nilai konstanta atau nilai objek data. Ada tiga besaran literal dalam java yaitu angka, karakter, dan string.
Angka terdiri dari byte, short, int, long, float, double, dan boolean (dianggap angka true = 1 atau false = 0)
Semua variabel dan konstanta  yang akan digunakan harus dipesan terlebih dahulu dalam deklarasi.
Bentuk umum :
TipeData namaVar = ungkapan_atau_nilai;
TipeData namaVar1, namaVar2, …;
[modifier] static final TipeData NAMAKONSTANTA = nilai;
Contoh deklarasi :
double a=3, b=4;
double c = Math.sqrt(a*a+b*b);
static final PHI=3.14;
static final double CM_PER_INC = 2.54;

Berikut tabel jangkauan dan ukuran dari semua tipedata sederhana dalam java :

Tipe Data Primitif
Jangkauan
Ukuran (bit)
byte
-128 s/d 127
8
short
-32767 s/d 32767
16
int
-2147483648 s/d 2147483647
32
long
-9223372036854775808 s/d
9223372036854775807
64
char
sebuah Unicode
16
float
3.4e-038 s/d 3.4e+038
32
double
1.7e-308 s/d 1.7e+308
54
boolean
false = 0 atau true = 1
8


Operator

Operator melakukan komputasi terhadap satu/dua objek data. Operan yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim method.
Berikut tabel dan hirarki operator :
Prioritas
Kelompok Operator
Keterngan
1
.  []  () Sekaligus
2
++var, –var, ~, instanceof preincrement, predecrement, unary, instance dari kelas …
3
(type) (casting)  
4
! Not
5
*, /, % perkalian, pembagian, modulus
6
+, - penjumlahan, pengurangn
7
<<, >>, >>> geser untuk bil biner
8
<, >, <=, >= pembandingan
9
==, != kesamaan, ketidaksamaan
10
& and
11
^ exclusive or
12
| unconditional or
13
&& conditional and
14
|| conditional or
15
? : shorthand untuk if..then…else…
16
=, +=, -=, *=, /=, %=, ^= operator penugasan
17
&=, |=, <<=, >>=, >>>= operator penugasan
18
var++, var– postincrement, postdecrement


Separator

   Separator menginformasikan ke compiler java mengenai adanya kelompok kode program.
Berikut adalah daftar separator di java :

Notasi
Nama
Deskripsi
(…)
kurung mengelompokkan parameter method.
{…}
kurung kurawal mengelompokkan nilai-nilai suatu array, mendefinisikan blok kode kelas ataupun kode method.
[…]
kurung siku mendeklarasikan tipe array
:
titik koma mengakhiri pernyataan, merangkai pernyataan-pernyataan di dalam for.
,
koma memisahkan identifier-identifier di bagian deklarsi variable.
.
titik memisahkan nama-nama package, memisahkan kelas dari objek,
dan objek dari method.

Keyword break, continue, dan return
Kelompok keyword ini pada prinsipnya merupakan kendali jump (variasi lain dari goto), sehingga berakibat pengabaian sisa instruksi.



Sumber : untungmuhaimin.blogspot.com
   
   Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Hal ini ditekankan padaah. Hal ini ditekankan adala urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
   Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Hal pertama yang ditekankan adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Definisi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

Contoh :

Algoritma TUKAR ISI BEJANA

   Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.

DESKRIPSI :

– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.

  Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Algoritma  Tukar Isi Bejana
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
  1. Tuangkan larutan dari bejana A ke dalam bejana C.
  2. Tuangkan larutan dari bejana B ke dalam bejana A.
  3. Tuangkan larutan dari bejana C ke dalam bejana B.
Ciri Penting Algoritma
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
  • Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
  • Algoritma memiliki nol atau lebih masukkan.
  • Algoritma memiliki nol atau lebih keluaran.
  • Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal)




   Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang dengan 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. Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah dengan komputer perlu merumuskan langkah langkah penyelesaian masalah dalam sekumpulan instruksi. Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.

   Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman dapat dikategorikan dalam :
  • Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
  • Bahasa tingkat menengah[MLL] : Assembly
  • Bahasa tingkat rendah [LLL] : Machine Code
Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.
  • Interpreter; Menterjemahkan baris per baris instruksi [Bahasa Basic]
  • Compiler; Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
    Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

   Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

NOTASI ALGORITMA NARASI

Contoh; Algoritma Kelulusan_mhs

   Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus. jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan

NOTASI ALGORITMA PSEUDOCODE

Contoh; Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut  dinyatakan lulus jika tidak maka dinyatakan tidak lulus}

DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)

NOTASI ALGORITMA FLOWCHART

Aturan Penulisan Algoritma :

  • Judul algoritma : Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
  • Deklarasi : Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
  • Deskripsi : Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Sumber : ariesboys234.blogspot.com

Senin, 15 September 2014

   Tari Bali adalah tarian yang berasal dari Bali. Tari Bali tidak selalu bergantung pada alur cerita. Tujuan utama penari Bali adalah untuk menarikan tiap tahap gerakan dan rangkaian dengan ekspresi penuh. Kecantikan tari Bali tampak pada gerakan-gerakan yang abstrak dan indah. Tari-tari Bali yang paling dikenal antara lain pendet, gabor, baris, sanghyang dan legong. Tari Bali sebagian besar bermakna religius. Sejak tahun 1950-an, dengan perkembangan pariwisata yang pesat, beberapa tarian telah ditampilkan pada kegiatan-kegiatan di luar keagamaan dengan beberapa modifikasi.

Gerakan dasar Tarian Bali

  • Macam-Macam Gerakan pada Seni Tari Bali :
1.     Gerakan Kaki
2.     Gerakan Tangan
3.     Gerakan Leher
4.     Gerakan Jari
5.     Gerakan Badan

A.    Contoh-Contoh Gerakan Kaki

1.     Tampak Sirang Pada berarti telapak kaki menyerong dengan tumit kaki kiri dan kanan    menempel, biasanya gerakan ini ada pada setiap tarian pria

2.     Ngumbang pada dasarnya  berarti berjalan, ngumbang biasanya ada pada setiap tarian bali, karena berjalan adalah gerakan dasar pada tarian bali
3.    Tayog artinya berjalan goyang, biasanya ada pada tarian pendet dan pada seluruh tarian wanita
4.     Nyrengseng berarti bergeser cepat, gerakan ini termasuk dasar dari sebuah tarian bali


B.     Contoh Gerakan Tangan


1.     Luk Nagastru berarti telapak tangan berputar ke arah dalam, gerakan ini adalah contoh gerakan dasar pada tarian Bali

2.     Nepuk Kampuh berarti gerakan tangan menepuk kampuh atau kamen di dada, biasanya gerakan ini ada pada tarian baris (pria)
3.     Mungkah Lawang berarti gerakan pembuka pada tarian
4.      Nabdab Gelungan artinya gerakan meraba gelungan yang dipakai di kepala pada saat menarikan sebuah tarian bali


C.     Contoh Gerakan Jari


1.     Jeriring berarti gerakan bergetar yang terdapat pada jari dengan halus

2.     Manganjali berarti tangan menyembah, biasanya dilakukan ketika sebelum melakukan atau melaksanakan sebuah tarian di Bali
                   
3.  Nyempurit berarti gerakan jari menempelkan ibu jari dengan jari tengah

D.    Contoh  Gerakan Badan


1.     Ngotag pinggang berarti gerakan menggoyangkan pinggang pada saat berjalan atau melakukan sebuah gerakan tari

2.     Nyrengseng berarti merebahkan badan ke kiri atau ke kanan secara bergantian dan teratur mengikuti irama gamelan

E.     Contoh Gerakan Leher


1.     Ngepik berarti leher rebah ke kanan dan ke kiri pada saat berjalan atau menari
2.     Ngelidu berarti  menoleh ke kanan dan ke kiri pada saat dalam tarian

3.     Ngetget berarti melihat ke bawah, dalam tarian gerakan ini adalah gerakan dasar

Sabtu, 13 September 2014


Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. 

Pengertian

   Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

   UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

UML

   Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).

Diagram UML


   UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
  1. Use Case Diagram untuk memodelkan proses bisnis. 
  2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
  3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
  4. Collaboration Diagram untuk memodelkan interaksi antar objects.
  5. State Diagram untuk memodelkan perilaku objects di dalam sistem.
  6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
  7. Class Diagram untuk memodelkan struktur kelas.
  8. Object Diagram untuk memodelkan struktur object.
  9. Component Diagram untuk memodelkan komponen object.
  10. Deployment Diagram untuk memodelkan distribusi aplikasi.
   Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.

Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.

   Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.

Sequence Diagram

   Diagram Class dan diagram Object merupakan suatu gambaran model statis.Namun ada juga yang bersifat dinamis, seperti Diagram Interaction.Diagram sequence merupakan salah satu diagram Interaction yangmenjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirimdan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.

Collaboration Diagram

   Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.

Class Diagram

   Class diagram menggambarkan struktur statis class di dalam sistem. class merepresentasikan sesuatu yang ditangani oleh sistem. class dapat berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau package (group bersama sebagai satu unit). sebuah sistem biasanya mempunyai beberapa class diagram.

Jumat, 12 September 2014



Pemrograman berorientasi objek 

(object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas dan objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep Pemrograman Berorientasi Objek (OOP)

   Kata Program dan Pemrograman mungkin sudah tidak asing didengar, tetapi apakah sebenarnya Program itu dan apa bedanya dengan Pemrograman ? Program adalah suatu bentuk aplikasi atau bisa juga disebut software yang dibuat dengan menggunakan Bahasa Pemrograman dan dapat menyelesaikan suatu Tugas, Fungsi, Perhitungan dengan menggunakan komputer. Bahasa Pemrograman merupakan kumpulan perintah-perintah yang dimengerti komputer untuk melakukan tugas-tugas tertentu. Sedangkan Pemrograman atau Programming merupakan teknik untuk membuat suatu Program dengan menggunakan Bahasa Pemrograman.

   Pemrograman berorientasi objek (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek. Untuk lebih memudahkan pemahaman tentang objek, saya beri sebuah contoh : Meja, Kursi, Jam Dinding dan yang lainnya merupakan contoh objek. Objek yang disebutkan tadi umumnya berada didalam sebuah ruangan, ruangan apabila kita melihatnya dari sebuah rumah bisa juga dikategorikan sebuah objek dan rumah jika dilihat dari cara pandang yang lebih luas lagi juga merupakan objek. Jadi sebuah Objek merupakan suatu bentuk atau model yang tergantung dari cara pandang objek dimaksud. Meja, Kursi, Jam Dinding ada dalam sebuah Ruangan. Ruang A, Ruang B, dan Ruang yg lain berada dalam sebuah Rumah. Rumah 1, Rumah 2 dan Rumah yang lain juga berada didalam suatu tempat yang lebih luas yaitu Bumi, dst. Dan bukan tidak mungkin didalam Objek Jam Dinding terdapat objek-objek yang lain yang lebih kecil misalnya Batterai, Gear, dll. Cara pandang kita dari sebuah Ruangan, Rumah atau Bumi merupakan Class apabila kita melihatnya dalam Pemrograman.

   Setiap objek memiliki Atribut dan Method. Atribut adalah segala sesuatu yang berhubungan dengan
karakteristik objek. Seperti Tipe, Model, Pintunya, Kusennya menggunakan kayu apa?, Warna Catnya, merupakan salah satu atribut dari Rumah. Sedangkan Method dari Rumah adalah dapat melindungi dari panas, hujan, angin. Jadi Method merupakan Fungsi atau segala sesuatu yang dapat dilakukan Objek. Tanpa harus berteori lagi, kita coba langsung pemahaman tentang Objek dalam Pemrograman dan untuk Bahasa Pemrogramannya saya menggunakan Java. Mengapa Java? Karena pengelolaan Objek didalam Java lebih mudah dipahami. 


Konsep dasar dari Pemrograman berorientasi objek menekankan konsep berikut:
 

•    Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

•    Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.


•    Atribut -  adalah data yang dimiliki oleh object dalam kelas.
Dari pengertian tersebut diatas dapat diberikan contoh sebagai berikut.
Kelas : Manusia
Object : Rini, Budi
Atribut : Rini memiliki atribut nama, Alamat, Umur
Source : agenilmu dan pengubahan seperlunya

Karakteristik Pemrograman Berorientasi Objek (OOP)


•    Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
•    Enkapsulasi (Pembungkusan) - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.


•    Polimorfisme (Banyak rupa) melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.


•    Pewarisan (Inheritance) - Model Pemrograman berorientasi objek juga menerapkan konsep pewarisan. Dalam sebuah program, suatu kelas dapat diturunkan menjadi kelas-kelas baru lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya. Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object. Pewarisan ( inheritance) terdiri dari :


1. Superclass


    Adalah class yang letaknya di atas class tertentu di dalam hierarki.


2. Subclass


    Adalah class yang letaknya di bawah class tertentu di dalam hierarki.
Berikut Contoh Program OOP sederhana dengan menggunakan Java :

subclass
datadiri.java

public class datadiri {
    String nama="Ahmad Budi Prastyo Samudro",
           nim="11120476",
           kls="11.7F.01",
           ttl="Kediri 02 Mei 1991",
           agm="Islam",
           almt="Jl. Gatot Subroto no. 101 Bendungan Hilir"; 
}

class
biodata.java

public class biodata {
    public static void main(String[]args){
    datadiri bio=new datadiri();
    System.out.println("My Biodata");
    System.out.println("Nim               : "+bio.nim);
    System.out.println("Nama Lengkap      : "+bio.nama);
    System.out.println("Kelas             : "+bio.kls);
    System.out.println("Tempat,Tgl Lahir  : "+bio.ttl);
    System.out.println("Agama             : "+bio.agm);
    System.out.println("Alamat            : "+bio.almt);
    }
}