My Education Video Happy watch :)

Tampilkan postingan dengan label Bahasa Pemograman. Tampilkan semua postingan
Tampilkan postingan dengan label Bahasa Pemograman. Tampilkan semua postingan

Rabu, 04 Juli 2012

Contoh simple CRUD android menggunakan php dan mysql

Contoh aplikasi simple CRUD(Mysql) dengan PHP(JSON) dan MYSQL pada Android

Oke, sebelum kita membuat contoh aplikasi sederhana ini, hal-hal yang perlu diketahui oleh pembaca :

- PHP
- MYSQL
- JSON
- Java(Android)

Tentunya kalian semua udah punya eclipse dkk buat develop apps android, oke langsung aja ke contoh programnya
pertama-tama kalian buat dulu kode php-nya di server lokal kalian
disini saya pake WAMP SERVER

oke langkah pertama buat PHP-nya dulu, baru nanti android-nya, tapi terserah kalian sih :p
Simpan difolder htdocs(xampp) atau www yaa(wamp)
Listing koneksi.php

<?php
 $server = "localhost";
 $username = "root";
 $password = "";
 $database = "crud_android";
 mysql_connect($server, $username, $password);
 mysql_select_db($database) or die("Database tidak ada");
?>



nah buat database + tabelnya deh Database : crud_android Tabel : mahasiswa.

create table mahasiswa(
id int(11) not null primary key,
nama varchar(100),
kelas varchar(100),
npm varchar(100)
);


oke lanjut, abis itu siapin tambah_data.php

<?php

require_once __DIR__."koneksi.php";


//Siapin dulu JSON-nya

//$json['status'] <- menandakan status insert data, jika 1 maka berhasil, jika 0 maka terjadi kesalahan

//$json['pesan'] <- menandakan pesan apabila dilakukan insert data sukses atau tidak

$json = array();

if(isset($_POST['nama'])&&isset($_POST['kelas'])&&isset($_POST['npm'])){
//insert query
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
$npm = $_POST['npm'];

$sqlinsert = "insert into mahasiswa(nama, kelas, npm) values ('$nama','$kelas','$npm')";
$hasil = mysql_query($sqlinsert);

if($hasil){
//Kalo query sukses
$json['status'] = 1;
$json['pesan'] = "Data sudah dimasukkan kedalam database";
echo json_encode($json);
}else{
$json['status'] = 0;
$json['pesan'] = "Kesalahan query";
echo json_encode($json);   
}

}else{
$json['status'] = 0;
$json['pesan'] = "Lengkapi data anda";
echo json_encode($json);
}

Sesudah itu, kita buat project androidnya :)
klo saya pake lib Android 2.2
File -> New -> Project
Android 2.2

Di activity main kita buat 1 tombol, tombol Tambah data
Main.java

Button tambah = (Button)findViewById(R.id.bTambahData);
tambah.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent i = new Intent(Main.this, TambahData.class);
finish();
startActivity(i);
}
});

Di activity TambahData.java ada 3 widget edit text buat ngisi data ke database
Nama, Kelas, NPM

pas di klik ok, akan melakukan insert data ke database mysql

isi listing kode TambahData.java

package com.list.crud;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class TambahData extends Activity{
 
 Button kirim;
 EditText nama, kelas, npm;
 ProgressDialog progress;
 JSONParser jsonParser;
 
 String url = "http://10.0.2.2/CRUD/tambah_data.php";
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.tambahdata);
  kirim = (Button) findViewById(R.id.bKirim);
  nama = (EditText) findViewById(R.id.etNama);
  kelas = (EditText) findViewById(R.id.etKelas);
  npm = (EditText) findViewById(R.id.etNpm);
  jsonParser = new JSONParser();
  
  kirim.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View arg0) {
    new Tambah().execute();
   }
  });
 }
 
 class Tambah extends AsyncTask<String, String, String>{

  @Override
  protected void onPreExecute() {
   // TODO Auto-generated method stub
   super.onPreExecute();
   progress = new ProgressDialog(TambahData.this);
   progress.setMax(100);
   progress.setIndeterminate(false);
   progress.show();
  }

  @Override
  protected String doInBackground(String... arg0) {
   String nm = nama.getText().toString();
   String kls = kelas.getText().toString();
   String nomor = npm.getText().toString();
   
   List<NameValuePair> value = new ArrayList<NameValuePair>();
   value.add(new BasicNameValuePair("nama", nm));
   value.add(new BasicNameValuePair("kelas", kls));
   value.add(new BasicNameValuePair("npm", nomor));
   
   JSONObject js = null;
   try {
    js = jsonParser.getObject(url,"POST",value);
   } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   
   try {
    int status = js.getInt("status");
     if(status == 1){
      Log.i("Sukses", "Produk telah ditambah");
     }else{
      Log.d("Error", "Gagal menambah produk");
     }
   } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   
   return null;
  }
  
  @Override
  protected void onPostExecute(String result) {
   // TODO Auto-generated method stub
   super.onPostExecute(result);
   progress.dismiss();
  }
 }
}

Ini listing kode JSONParser.java

package com.list.crud;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;

public class JSONParser {

	InputStream is;
	String json;
	
	public JSONObject getObject(String url, String method, List<NameValuePair> value) throws IOException {
		
		if(method == "POST"){
			DefaultHttpClient client = new DefaultHttpClient();
			HttpPost post = new HttpPost(url);
			try {
				post.setEntity(new UrlEncodedFormEntity(value));
				HttpResponse response = client.execute(post);
				HttpEntity entity = response.getEntity();
				is = entity.getContent();
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ClientProtocolException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
		}else if(method == "GET"){
			DefaultHttpClient client = new DefaultHttpClient();
			String param = URLEncodedUtils.format(value, "utf-8");
			url += "?" + param;
			HttpGet get = new HttpGet(url);
			HttpResponse response;
			try {
				response = client.execute(get);
				is = response.getEntity().getContent();
			} catch (ClientProtocolException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"));
		StringBuilder sb = new StringBuilder();
		String line;
		while((line = reader.readLine())!=null){
			sb.append(line+"\n");
		}
		is.close();
		json = sb.toString();
		JSONObject object = null;
		try {
			object = new JSONObject(json);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return object;
	}

}



Nah, beres deh, penjelasan listing programnya, pada intinya ketika semua form udah diisi, terus klik tambah maka yang terjadi akan menjalankan kelas yang meng-extend AsyncTask, jika status respon yang dikembalikan adalah 1(Sukses menginsert data baru) maka data baru akan ditambah :)

untuk lebih jelasnya, download aja nih datanya, langsung diimport ke eclipsenya ya :)

Download

Senin, 19 Maret 2012

Pengenalan Delphi - If else statement


1. Pengulangan adalah suatu kondisi dimana statement yang berada didalam sintaks for akan dijalankan
sesuai dengan jumlah perulangan yang telah ditetapkan sebelumnya.

Contoh kita akan melakukan perulangan print kalimat "Hello World" sebanyak 5x, maka yang harus kita
lakukan pertama kali adalah melakukan inisialisasi variabel awal dan batas perulangannya

//Pada delphi sintax untuk melakukan pengulangan adalah dengan format sebagai berikut
for /*inisialisasi variabel*/ to /*batas pengulangan*/ do
begin
//Statement yang akan diulang
end;

Contoh :
for a:=1 to 5 do
begin
//Statement ini akan dijalankan sebanyak 5 kali sesuai dengan jumlah perulangan yang sudah
//didefinisikan sebelumnya
writeln("Hello World");
end;

2. Percabangan adalah suatu kondisi dimana statement /*yang akan dijalankan adalah kondisi yang*/ bernilai true(benar),
apabila kondisi bernilai false(salah) maka statement yang berada didalam blok kesalahanlah yang akan dijalankan,
atau tidak ada statement yang dijalankan sama sekali.

Bentuk percabangan pada delphi terdiri dari 3, yaitu:

- if statement, adalah suatu kondisi dimana kondisi yang bernilai benar saja yang akan dijalankan oleh delphi
  apabila kondisi bernilai salah, maka statement didalam sintax if, tidak dijalankan.

* Engkos
  Contoh : if a:=1 then if nama:='Engkos'
  begin begin
  writeln(a); writeln(nama);
  end; end;
 
  //Maka, apabila a bernilai 1, a akan di write, apabila a!=1 statement diatas tidak akan dijalankan
 
- if else statement, adalah suatu kondisi dimana terdapat dua statement didalamnya, yaitu statement benar
  dan statement yang salah, apabila suatu kondisi bernilai salah, maka blok statement yang akan dijalankan
  yaitu statement didalam blok kesalahan, bukan pada blok statement yang bernilai benar.
 
  Contoh : if a:=1 then
  begin
  readln(a);
  end else if a:=2
  begin
  readln(a);
  end else if a:=3
  begin
  readln(a);
  end;

  //Maka, apabila a bernilai 1, a akan di write, apabila a!=1 maka akan diperiksa statement berikutnya

- if else if statement, adalah suatu kondisi dimana terdapat dua atau lebih kondisi, jadi apabila suatu
  kondisi bernilai salah, maka delphi akan mengecek kondisi yang berikutnya, apabila kondisi yang berikutnya
  bernilai salah juga, maka akan dilanjutkan pada statement kondisi berikutnya, sampai ditemukan suatu
  kondisi yang sesuai, maka statement itulah yang akan dijalankan oleh delphi
 

Senin, 12 Maret 2012

Membuat aplikasi kalkulator mini dengan Delphi


Membuat aplikasi kalkulator mini dengan menggunakan Delphi

1.       Buka aplikasi Delphi
2.       Buat project aplikasi baru dengan cara klik File -> New -> Application, maka dengan otomatis project terbentuk dengan form1
3.       Lalu kita ubah properties Caption form1 pada Object Inspector, lalu ubah dengan nama Aplikasi Kalkulator Mini
4.       Lalu buatlah 2 label dari Component Palette dengan diberi caption Bilangan 1 dan Bilangan 2
5.       Setelah itu buat 2 EditText ubah properties nama pada edit text dengan nama etBil1, dan etBil2
6.       Buat 4 button untuk operator aritmatika, +, -, *, dan /
7.       Langkah berikutnya yaitu dengan membuat action pada tombol yan sudah kita buat
8.       Klik dua kali pada tombol +, kemudian ketikkan script berikut ini

procedure TForm1.TambahClick(Sender: TObject);
  var a, Hasil:integer;

begin
     a := StrToInt(Edit1.Text)+StrToInt(Edit2.Text);
     Hasil := a;
     Panel1.Caption:=IntToStr(hasil);
end;
end.

9.       Lakukan hal yang sama pada operator menghitung lainnya, tinggal diganti operator aritmatila sesuai dengan action tombol yang akan diklik

procedure TForm1.KurangClick(Sender: TObject);
  var a, Hasil:integer;

begin
     a := StrToInt(Edit1.Text)+StrToInt(Edit2.Text);
     Hasil := a;
     Panel1.Caption:=IntToStr(hasil);
end;
end.

procedure TForm1.KaliClick(Sender: TObject);
  var a, Hasil:integer;

begin
     a := StrToInt(Edit1.Text)+StrToInt(Edit2.Text);
     Hasil := a;
     Panel1.Caption:=IntToStr(hasil);
end;
end.




procedure TForm1.BagiClick(Sender: TObject);
  var a,Hasil:float;
       
begin
     a := StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text);
     Hasil := a;
     Panel1.Caption:=FloatToStr(hasil);
end;
end.

Tarraaa
Aplikasi anda sudah selesai dibuat, coba dirun aplikasinya, apabila masih menemukan kesalahan bisa diperbaiki lalu coba dirun kembali, semoga sukses

Created by : Andreas Billy Sutandi :)

Kamis, 08 Maret 2012

Paradigma Bahasa Pemrograman

Hari ini mau posting apa yah?

Wew, hari ini di tempat kuliah abis belajar sama yang namanya Integral, walaupun telat datengnya, bersyukur masuk semua itu pelajarannya, gara gara semaleman mantengin file .swf - begitu juga pas matif maenin matriks, hahahay

asik juga di semet 2 nih, rencana kedepan mau gimana yaah
saat ini sih tetep konsistensi aja sama kegiatan ngopreknya xD,
mencoba eksistensi ngoprek tapi ngga menghilangkan fokus ke pelajaran juga sih,
ngeliat blog jadi pengen posting yah? ah blog sendiri ini, posting posting lagi ah,

eeh maaf kebanyakan curhat yah, masuk ke topik yaah :D

ah iya, mengenai bahasa pemrograman
gini nih, soal bahasa itu sendiri kan sebenernya cuma penghubung komunikasi satu sama lainnya.

Eh, tunggu sebentar kok judul titlenya Paradigma Bahasa Pemrograman sih?
iya, disini saya mau kasih tau tentang bahasa dulu, bentar napa sih, penasaran amat kayanya :D

oke, udah setuju dengan bahasa itu apa?
sekarang perhatikan dengan bahasa yang sedang kita gunakan, bahasa Indonesia kan?

terus klo kita kepengen ngomong sama orang luar, misalnya sama orang Inggris, kira kira mereka ngerti ga tuh bahasa kita? terus kita ngerti ga bahasa mereka?
ahaha, palingan juga manggut manggut :p

Nah begitu juga komputer, kita klo mau kasih perintah ke komputer, harus melalui bahasa, namanya apa?
Bahasa Pemrograman :). Simpel kan?

Sip dah, terus bahasa pemrograman tuh kan ada banyak, entah itu basic, pascal, c#, cpp, python, ato apalah yang lainnya, toh gini aja deh mikirnya, semua bahasa itu sama, anggaplah semua itu bahasa inggris, haha bahasa inggris juga dibagi jadi macem macem kan? ada yang American sama British.

toh they are same, jadi klo menurut saya gini, kan mereka sama tuh, kenapa ngga fokus disatu bahasa aja?
tapi gini, ikut perkembangan jaman aja deh, so semua bahasa boleh kita pelajari, kita bisa jadi ahli generalisasi bahasa, tapi buat apa klo bisa tau semua, tapi ngga bisa menguasai semua?

nah, klo saya sih milih java, kenapa, karena diliat dari sisi implementasinya juga, ada yang buat aplikasi desktop, mobile, web, aplikasi enterprise, dll, dan bisa dikombinasikan dengan bahasa lain contoh buat web dengan jsp, juga library framework seperti struts, jsf, hibernate, spring, dll

dan juga ada pendukungnya buat java, dengan IDE kita bisa mengetikkan program dengan mudah, IDE ini bukan bersifat untuk membunuh programmer, karena kemudahan yang mereka berikan, toh yang dibutuhkan itu mindset kita terhadap suatu aplikasi, asal kita menemukan logik dan cara untuk menyelesaikan suatu masalah itu, itu bukan menjadi masalah yang berarti klo menurut saya.

Ahahay, akhirnya sampai dibagian akhir, cukup cape juga ngetik sambil mikir yah :D, intinya semua pilihan ada ditangan anda, kalo memang berniat mendalami programming, lebih baik kuasai satu bahasa terlebih dahulu sampai benar benar paham konsep programming itu seperti apa, lalu bisa dilanjutkan dengan generalisasi bahasa yang lain, karena sesungguhnya Indonesia itu cukup aneh klo kata saya, mereka lebih mencari orang orang yang generalis, contoh, bisa java, bisa pascal, basic, php, mysql, blablabla, nah itulah indonesia, ngga mau rugi dengan satu sumber, toh yah ikuti sajalah, tapi ada baiknya kamu kamu menguasai satu bahasa dan menjadi spesialisasi dibidangnya, atau di bahasa itu..

Oke sekian dari saya, salam hangat


Billy Andreas :D

Senin, 14 November 2011

Prinsip Bahasa Pemrograman

Halo teman-teman apa kabar nih, waw akhirnya saya bisa menyempatkan diri lagi untuk memposting sesuatu di blog saya ini,, nah kali ini saya akan membahas mengenai apa itu prinsip bahasa pemrograman. Nah bagi teman-teman yang ingin mendalami bidang IT, entah itu dibidang website, database, development, khususnya dibidang programming, teman-teman setidaknya harus tahu apa itu bahasa pemrograman di dalam komputer. Untuk bahasa pemrograman komputer itu sendiri.

Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]:
1. Berorientasi prosedur (procedural oriented)
2. Berorientasi fungsi (functional oriented)
3. Berorientasi logik (logic oriented)
4. Berorientasi obyek (object oriented)

Masing-masing memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap method/function member dalam obyek-obyeknya.

Suatu bahasa pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented, Lisp untuk functional-oriented, Smaltalk untuk object-oriented dan lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada pula yang khusus untuk paradigma pemrograman tertentu.

Memang banyak diperdebatkan mengenai banyaknya bahasa pemrograman yang ada saat ini, mana yang lebih cocok digunakan untuk para pemula seperti saya ini. Sebetulnya semua bahasa pemrograman itu kurang lebihnya sama loh temen-temen.


Tau ga sih temen-temen alasan mengapa bahasa pemrograman diciptakan? agar dapat menulis program? zzzzzzzzzzzzzzz, agar dapat memudahkan pekerjaan manusia?

yap semua itu benar, tapi kalo manurut saya bahasa pemrograman itu diciptakan agar kita dapat lebih mudah berkomunikasi dengan komputer, karena seperti yang teman-teman tahu, komputer hanya mengenal 0 dan 1 saja, komputer itu sebenarnya bodoh, dia tidak memiliki penalaran seperti kita, komputer tidak dapat berfikir, komputer juga tidak dapat memberi pendapat, atau keputusan sendiri.

Oke sepertinya temen-temen udah bisa mengerti apa maksud saya, sekarang kita akan membahas mengenai prinsip-prinsip dasar dalam bahasa pemograman, ternyata yang paling diutamakan dalam menulis bahasa pemrograman itu sendiri adalah Algoritma, dimana didalam Algoritma itu penalaran kita akan menemukan dan memecahkan suatu permasalahan akan terus diasah, jadi sangat penting sekali bagi kita untuk bisa memahami sebuah masalah dan menemukan algoritma dari suatu masalah tersebut itu yang diimplementasikan dalam bahasa pemrograman.

Nah langkah-langkah apa sih yang perlu kita ketahui untuk menentukan algoritma dari suatu permasalahan itu sendiri? dan apa sesungguhnya arti dari Algoritma itu sendiri, mengapa sangat dibutuhkan sekali dalam pemrograman komputer?


Langkah-langkah dalam Pemrograman Komputer

Dalam pemrograman komputer, diperlukan beberapa langkah dan langkah-langkah yang disajikan pada modul ini tidak bersifat mutlak. Artinya Anda tidak harus melakukan dari langkah pertama, kedua, ketiga, dst. Ada beberapa langkah yang harus atau mungkin
diulang sampai beberapa kali. Berikut ini contoh beberapa langkah yang harus dilakukan dalam
pemrograman komputer:

1. Mendefinisikan Masalah.
Mendefinisikan masalah dengan menentukan masalahnya seperti apa, kemudian apa saja yang
harus dipecahkan dengan komputer, yang terakhir adalah apa masukannya dan bagaimana keluarannya.

2. Menentukan Solusi.
Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang
diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan. Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari invers matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan hasilnya pada pengguna.

3. Memilih Algoritma.
Langkah ini merupakan salah satu langkah yang penting dalam pemrograman komputer karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik.


4. Menulis Program.
Pada langkah ini dimulai penulisan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa generasi ketiga. Ada beberapa hal yang harus diperhitungkan sebelum memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.

5. Menguji Program.
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakah
program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat
menampilkan keluaran yang diinginkan? Lebih jauh lagi program harus diuji dengan banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program diyakini benar-benar berjalan sesuai dengan yang diharapkan.

6. Menulis Dokumentasi.
Merupakan hal sepele yang sering dilupakan, karena tidak ada fungsinya pada saat pembuatan program, namun pada masa mendatang akan sangat diperlukan, apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada dua, yaitu di atas kertas dan menjadi satu dalam program (komentar pendek yang menerangkan fungsi perintah-perintah yang ada dalam program tersebut.

7. Merawat program
Setelah program selesai dan digunakan oleh user, maka sering kali muncul bug / kesalahan yang
sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harus direvisi.


Definisi Algoritma

1. Pengertian
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata 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 itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering
dikelirukan dengan Arithmetic, sehingga akhiran – sm berubah menjadi –thm. 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.

2. Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

3. Aturan Penulisan Algoritma
Pada setiap bagian algoritma apabila akan dituliskan komentar mengenai setiap bagian
tersebut dituliskan di antara tanda kurung kurawal, contoh { Komentar }. Notasi algoritmis
yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.

Jumat, 28 Oktober 2011

Sintax dan Semantik


SEMANTIKS

Ø KONSEP SEMANTIKS BAHASA PEMROGRAMAN
Ø PENDEKATAN SYNTAX DIRECTED TRANSLATION
Ø TEKNIK-TEKNIK PENDESKRIPSIAN SEMANTIK BAHASA PEMROGRAMAN

KONSEP SEMANTIKS BAHASA PEMROGRAMAN

         Syntax mendefinisikan suatubentuk    program yang benar dari suatu bahasa.
         Semantik mendefinisikan arti dari     program yang benar secara syntax dari bahasa tersebut.
         Semantik suatu bahasa membutuhkan semacam expressi untuk mengirimkan suatu nilai kebenaran (TRUE, FALSE, NOT atau nilai INTEGER)






PENDEKATAN SYNTAX
DIRECTED TRANSLATION

         Syntax merupakan kumpulan aturan yang mendefinisikan suatu bentuk bahasa dan mendefinisikan bagaimana suatu kalimat dibentuk sebagai barisan/urutan dari pemilihan suatu kata dasar.
         Syntax tidak mengerti apapun tentang isi atau arti dari suatu kalimat; aturan SEMANTIC yang mengartikannya.

ContohdeklarasidalambahasaC :
          if (a>b) max = a ; else max = b ;
§  Ekspressi a > b harus di evaluasi, dan tergantung dari nilai ini, satu dari dua statemen di belakangnya akan dieksekusi.
§  Aturan syntax memberikan bentuk pada statemen tersebut di mana dengan tepat meletakkan tanda “;” sehingga aturan semantic dapat mengartikannya dengan benar.





TEKNIK-TEKNIK PENDESKRIPSIAN SEMANTIK BAHASA PEMROGRAMAN

A.    Operational Semantic
B.    Denotational Semantic
C.    Axiomatic Semantic
D.   Algebraic Semantic
E.     Structured Operational atau Natural Semantic

A.  OPERATIONAL SEMANTIC
          Pendekatan ini mendefinisikan suatu mesin buatan (Abstract) dengan instruksi-instruksi primitif, tidak perlu realistik, tetapi cukup sederhana supaya tidak muncul kesalahpahaman.Deskripsi semantic dari bahasa pemrograman menentukan suatu translasi kekode.

B. DENOTATIONAL SEMANTIC
          Padapendekatanini, diberikan suatu fungsi yang memetakan program-program komputer yang ditunjuk kedalam bentuk nilai-nilai abstrak secara matematika (angka, nilai, kebenaran, fungsi matematika, dan sebagainya)

C. AXIOMATIC SEMANTIC
          Pada pendekatan ini didefinisikan suatu tindakan program yang dibangun dengan property logika yang menyimpan status computer sebelum dan sesudah eksekusi

D. ALGEBRAIC SEMANTIC
          Pada pendekatan ini dipertimbangkan suatu objek komputasi yang menjadi syarat-syarat dalam aljabar multi-sorted. Program meng-implementasikan fungsi yang dapat diwujudkan dengan suatu persamaan di antara syarat-syarat tersebut.

E. STRUCTURED OPERATIONAL atau NATURAL SEMANTIC
Seperti dalam pengambilan keputusan secara alamiah dengan logika. Program diberi suatu arti dari aturan yang diturunkan yang menggambarkan penilaian gagasan suatu bahasa.
Oval: <program> ::=Oval: 2/5
 230
Ø  λ
1.5
{ }
Keadaan atau hubungan antara syntax dan semantic secara matematika dapat digambarkan sebagai berikut:





Jumat, 30 September 2011

Pengenalan Java

Java adalah bahasa pemograman yang berorientasi objek. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung dengan Sun Microsystem saat ini merupakan bagian dari Oracle dan dirilis pada tahun 1995. Java diciptakan berdasarkan bahasa pemograman C dan bahasa pemograman C++. Java merupakan bahasa pemograman yang bersifat umum/non-implementasi seminimal mungkin sehingga Java mampu berjalan di beberapa platform sistem operasi yang berbeda, Java dikenal dengan slogannya Write Once Run Anywhere (WORA). Dibandingkan dengan bahasa pemograman C dan bahasa pemograman C++, Java lebih sederhana dan memakai objek secara murni.

Sejarah Java
Bahasa Java tidak muncul secara tiba-tiba atau karena pertemuan aksidental. Asal usul Java dimulai tahun 1991 ketika perusahaan bernama Sun Microsystem melakukan penelitian terhadap berbagai produk elektronika. James Gosling selaku kepala proyek penelitian ini bersama Patrick Naugthon ditugaskan untuk merancang perangkat lunak aplikasi yang independen, tidak bergantung pada satu perangkat keras saja., agar bisa dipakai pada berbagai peralatan elektronik itu. James Gosling kemudian memakai bahasa pemograman C++ untuk menulis beberapa aplikasi untuk peralatan mikro, namun ternyata dia mengalami banyak kesulitan. Setiap peralatan mikro menggunakan mikrochip yang berbeda, program yang digunakan pun berbeda maka ia harus mengkompilasi ulang program tersebut. Karena itu muncullah ide James Gosling untuk menciptakan bahasa baru,  ia menulisnya berdasarkan bahasa pemograman C++ namun ia melakukan beberapa perbaikan didalamnya. Bahasa pemograman ini kemudian diberi nama Oak (Nama sebuah pohon jati yang terlihat dari jendela ruangan James Gosling).
Pada tahun 1994, ketika Web mulai populer, nama bahasa pemograman Oak diganti menjadi Java, sebabnya adalah nama Oak kurang populerdan nama Oak telah terlebih dahulu digunakan untuk hal lain. Menurut gosip, Gosling mendapatan nama Java ketika ia bingung untuk mencari nama baru untuk bahasa pemograman yang telah ia buat sebelumnya. Hingga pada suatu hari ia pergi ke suatu kafe untuk meminum secangkir kopi, dan ia memesan “Java”.  Hingga timbullah idenya bahwa nama bahasa pemogramannya diganti menjadi Java, ia merasa bahwa bahasa ini cukup cool.
Java kemudian digunakan untuk membuat browser yang bernama WebRunner. Setelah berhasil maka browser ini diberi nama HotJava dengan simbol secangkirteh panas.
Tahun 1995 merupakan tahun yang paling penting dalam perjalanan sejarah Java. Java dan Hot Java dipublikasikan kepada dunia melalui Web. Tak lupa juga Java versi Alpha diluncurkan di awal tahun tersebut. Java pada awalnua hanya diperuntukkan bagi SPARC Solaris, tetapi kemudian  juga diimplementasikan padasistem operasi Windows NT. Pada musim panas tahun 1995 diimplementasikan pada sistem operasi Windows 95 dan Linux. Java versi Beta 1 diumumkan pada musim gugur 1995, disusul dengan versi beta 2 pada bulan Desember. Pada saat  yang sama Microsoft dan IBM (I Blame Microsoft) menyatakan dukungan mereka terhadap bahasa pemograman Java.
Pada tanggal 23 Januari 1996, Java 1.0 resmi diluncurkan dan disediakan di Web untuk siap di download para programmer. NetScape 2.0 salah satu browser, mereka mengadopsi bahasa pemograman Java dan JavaScript. Perkembangan Java tidak berhenti sampai disitu aja. berbagai teknologi yang berkaitan kemudian diperkenalakan, seperti J2EE (Java 2 Enterprise Edition), J2SE (Java Standard Edition), JavaBean, Java Server Page (JSP), dan JME (Java Micro Edition). Bahkan Java sebagai Pemicu  bagi munculnya bahasa-bahasa pemograman berorientasi jaringan seperti Phyton, ASP, XML, C#, dsb

Perkembangan Java dari Masa ke Masa

Bahasa Pemograman Java pertama lahir dari The Sun Project yang berjalan selama 18 bulan dari awal tahun 1991 hingga musimpana 1992. Proyek Tersebut di motori oleh Pattrick Naugthon, Mike Sheridan, James Gosling, dan Bill Joy, beserta sembilan pemograman lainnya dara Sun Microsystem. Salah satu hasil proyeke ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan Proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park, California, Amerika Serikat. Sekitar Musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak.