Selasa, 30 Maret 2010

Script Kejadian ” Berbelanja makanan di Restoran” (Tugas PKB minggu ke-8)

Script adalah skema representasi pengetahuan yang sama dengan frame, yaitu merepresentasikan pengetahuan berdasarkan karakteristik yang sudah dikenal sebagai pengalaman-pengalaman. Perbedaannya, frame menggambarkan objek sedangkan script menggambarkan urutan peristiwa. Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, objek, dan tindakan-tindakan yang terjadi dalam suatu peristiwa.

Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, obyek, dan tindakan-tindakan yang terjadi dalam suatu peristiwa. Elemen-elemen script meliputi:

1. Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script.
2. Track, yaitu variasi yang mungkin terjadi dalam suatu script.
3. Prop, berisi obyek-obyek pendukung yang digunakan selama peristiwa terjadi.
4. Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa.
5. Scene, yaitu adegan yang dimainkan yang menjadi bagian dari suatu peristiwa.
6. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi.

Script :Berbelanja makanan ke Restoran

Track (Jalur) : Supermarket

Role (Peran) : Pelanggan, Kasir, Pelayan, Koki

Props (Pendukung) : Loket kasir, Daftar Menu,Meja MAkan,Daftar pesanan, makanan, dan uang.

Kondisi Input:

* Pelanggan lapar
* Pelanggan memiliki uang

Adegan 1: Persiapan Pelanggan

* Pelanggan memarkir kendaraan
* Pelanggan memasuki Restoran
* Pelanggan meminta Daftar Menu

Adegan 2 : Persiapan Pelayan

* Pelayan mempersilahkan masuk
* Pelayan Memberikan Daftar menu

Adegan 3 : Pelanggan Memesan Makanan

* Pelanggan Memilih Menu
* Pelanggan Memanggil Pelayan
* Pelanggan Memberikan Daftar pesanan makanan

Adegan 4: Memepersiapkan Pesanan

* Pelayan masuk Ke dapur
* Pelayan memberikan daftar pesanan ke koki
* Koki mengambil daftar pesanan
* Koki memasak pesanan
* koki pemberikan pesanan ke pelayan
* Pelayan mengambil makanan dari dapur
* Pelayan membawa makanan ke meja pelanggan

Adegan 7: Pelangan Makan

* Pelanggan mengambil makanan dari pelayan
* Pelanggan menyantap makanan dari pelayan

Adegan 4: Transaksi

* Pelangan meminta bill ke pelayan
* Pelayan memberikan bill ke pelanggan
* Pelangan Membayar bill ke pelayan
* Pelayan memberikan pembayaran ke kasir
* Kasir menerima pembayaran dari pelayan
* Kasir memproses pembayaran
* Kasir memberikan informasi transaksi pembayaran tunai atau kredit ke pelayan
* Pelayan memberikan informasi transaksi pembayaran tunai atau kredit ke pelanggan

Adegan 5: Pelanggan selesai MAkan

* Pelanggan menerima uang kembalian dan informasi transaksi pembayaran tunai atau kredit
* Pelanggan mengecek informasi transaksi pembayaran tunai atau kredit
* Pelanggan meninggalkan Restoran


Hasil :

* Pelanggan merasa puas
* Pelanggan bosan (pilihan)
* Pelanggan kekurangan dana
* Pelanggan merasa kenyang

Selasa, 23 Maret 2010

Jaringan Semantik (Tugas PKB minggu ke 7)


Jaringan semantik merupakan gambaran pengetahuan grafis yang menunjukkan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingkaran-lingkaran yang menunjukkan objek dan informasi tentang objek-objek tersebut

Berikut ini adalah contoh kalimat yang akan dibuatkan jaringan semantik :

budi pergi kekampus menggunakan Mobil berjenis avanza.Mobil adalah Kendaraan memiliki Roda berjumlah empat , budi adalah mahasiswa teknik Informatika, budi mempunyai kakak bernama ani. Ani lulusan teknik informatika. Budi memiliki handphone bermerek Nokia berjenis GSM berseri N73. Ani berkerja di perusahaan bernama nokia. Ani memakan buah apel berwarna merah. Buah adalah tanaman berjenis dikotil.ibu membeli buah di pasar.

gambar jaringan simantik dari kalimat diatas adalah :

klik pada gambar untuk memperjelas gambar di atas

Minggu, 21 Maret 2010

Tugas Bahasa Inggris Bisnis 2

Nama : Ahmad Qusyairi
NPM : 50406053
Kelas : 4IA01

Identify the subject, verb, complement and modifier in each of the following sentence. Remember that not every sentence has a complement or modifier.

Example: Jill / is buying / a new hat / in the store

(subject) (verb phrase) (complement) (modifier of place)

Question:

1. George is cooking dinner tonight

2. Henry and Marcia have visited the president

3. We eat lunch in this restaurant today

4. Pat should have bought gasoline yesterday

5. Trees grow

6. It was raining at seven o’clock this morning

7. She opened her book

8. Harry is washing dishes right now

9. She opened her book

10. Paul, William, and Marry were watching television a few minutes ago.

Answer:

1. George/ is cooking/ dinner /tonight
(subject) (verb phrase) (complement) (modifier of time)

2. Henry and Marcia/ have visited/ the president
(subject) (verb phrase) (complement)

3. We /eat/ lunch /in this restaurant /today
(subject) (verb phrase) (complement) (modifier of place)(modifier of time)

4. Pat /should have bought /gasoline /yesterday
(subject) (verb phrase) (complement) (modifier of time)

5. Trees /grows
(subject) (verb phrase)

6. It/ was raining /at seven o’clock this morning
(subject) (verb phrase) (modifier of time)

7. She /opened /her book
(subject) (verb phrase) (complement)

8. Harry /is washing /dishes /right now
(subject) (verb phrase) (complement) (modifier of time)

9. She /opened /her book
(subject) (verb phrase) (complement)

10. Paul, William, and Marry/ were watching /television /a few minutes ago
(subject) (verb phrase) (complement) (modifier of time)

Selasa, 16 Maret 2010

OpenMP (Open Multi-Processing)


CLIENT SERVER

1. Pengertian OpenMP


OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk Unix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler,perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.


Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5 yang merupakan pengabungan fotran, C, dan C++/ pada mei 2008 versi 3.0 yang terdapat didalmnya konsept tasks dan task construct.

OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat mengunakan fungsi ( omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. "Work-sharing constructs" dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++


2. Bagian OpenMp

Unsur inti OpenMP adalah pembuatan konstruksi thread, distribusi beban kerja (pembagian kerja), pengelolaan data-environment, thread sinkronisasi, bagian user-level runtime dan variabel environment.

Sebuah direktif kompiler C / C + + ini disebut Pragma (pragmatis informasi). Compiler mengarahkan specifikasi untuk OpenMP dalam C / C + + yang ditulis dalam kode sebagai berikut:



# Pragma omp


OpenMP spesifik pragmas yang tercantum di bawah ini:


Pembuatan Thread

Pembuatan Thrend oleh omp paralel. Hal ini digunakan membagi task secara paralel.Proses utama akan dinyatakan sebagai master Thread dengan thread ID 0.

Contoh: Display "Hallo word" menggunakan beberapa thread.

  int main (int argc, char * argv [])

(
# Pragma omp paralel
printf ( "Halo, dunia. \ n");
return 0;
)

Work-sharing Constructs

digunakan untuk menentukan kerja secara independent untuk menetapkan satu atau semua thread.

§ omp for atau omp do: digunakan untuk memisahkan loop iterasi antara thread, sering disebut loop constructs.

§ sections: menugaskan secara berturut-turut independent blok code kepada thread lain

§ single: menetapkan sebuah blok kode yang dijalankan oleh hanya satu thread.

§ master: mirip dengan singgle, tetapi blok kode akan dieksekusi hanya oleh thread master.

Contoh: inisialisasi nilai array yang besar secara paralel, menggunakan setiap thread untuk melakukan sebagian dari pekerjaan

 
int main (int argc, char * argv []) (

const int N = 100000;
int i, a [N];

# Pragma omp paralel untuk
for (i = 0; i i + +)
a [i] = 2 * i;

return 0;
)


OpenMP clauses

OpenMP adalah model pemrograman memori bersama, sebagian besar variabel dalam kode OpenMP terlihat oleh semua thread secara default. Tetapi kadang-kadang variabel private diperlukan untuk menghindari race conditions dan ada kebutuhan untuk melewatkan nilai-nilai antara part dan region paralel berurutan (blok kode dijalankan secara paralel), sehingga lingkungan data pengelolaan dikenal sebagai sharing attribute clauses dengan menambahkan Clouses OpenMP direktif.

Berbagai jenis klausa-klausa:

Data sharing attribute clauses

  • shared: data di dalam wilayah paralel digunakan bersama-sama, yang berarti terlihat dan dapat diakses oleh semua thread secara bersamaan. Secara default, semua variabel dalam wilayah work sharing region adalah shared kecuali loop iteration counter.
  • private: data di dalam wilayah paralel adalah untuk pribadi masing-masing thread, yang berarti masing-masing thread akan memiliki salinan lokal dan menggunakannya sebagai variabel sementara. Variabel private tidak diinisialisasi dan nilai tidak dipertahankan untuk digunakan di luar wilayah paralel. Secara default, iterasi loop counter pada loop OpenMP adlah private.
  • default: memungkinkan para programmer untuk menyatakan bahwa data default scope sehingga parallel region akan saling shared, atau none untuk C / C + +, atau shared, firstprivate, private, atau none untuk Fortran. Pilihan none memaksa programmer untuk mendeklarasikan setiap variabel di wilayah paralel menggunakan data sharing attribute clauses.
  • firstprivate: seperti private kecuali untuk melakukan inisialisasi nilai aslinya.
  • lastprivate: seperti private kecuali nilai asli diperbarui setelah dibuat.
  • reduction: cara yang aman menggabungkan kerja dari semua thread setelah dibuat.

Sinkronisasi klausa

  • critical section: blok kode yang tertutup akan dilaksanakan oleh satu thread pada satu waktu, dan tidak secara simultan dilaksanakan oleh beberapa thread. Hal ini sering digunakan untuk melindungi data dari berbagi race conditions.
  • atomic: mirip dengan critical section, tetapi memberitahu compiler untuk menggunakan instruksi perangkat keras khusus untuk performa yang lebih baik. Compiler dapat memilih untuk mengabaikan pengguna dan menggunakan critical section saja.
  • ordered: blok yang terstruktur dilaksanakan dalam urutan iterasi akan dieksekusi dalam loop berurutan
  • barrier: setiap thread menunggu sampai semua thread lainnya dari sebuah tim telah mencapai titik ini. Sebuah work-sharing construct memiliki implicit barrier synchronization di akhir.
  • nowait: menetapkan bahwa thread menyelesaikan pekerjaan yang ditugaskan dapat dilanjutkan tanpa menunggu semua thread dalam tim untuk menyelesaikan. Dengan tidak adanya clausa ini, thread menghadapi masalah sinkronisasi pada akhir work sharing construct.

Scheduling clauses

  • schedule(type, chunk): Ini berguna jika work sharing construct melakukan do-loop atau for-loop. interasi dalam work sharing construct.ditugaskan untuk thread sesuai dengan metode scheduling yang ditetapkan oleh ketentuan ini. Tiga jenis penjadwalan adalah:
  1. statis: Di sini, semua thread mealokasikan interasi sebelum mereka menjalankan iterasi loop. iterasi dibagi di antara thread yang sama secara default. Namun, integer untuk menentukan parameter " chunk " akan mengalokasikan " chunk " sesuai jumlah pengulangan susunan thread tertentu.

2. dinamis: Di sini, beberapa iterasi dialokasikan untuk sejumlah kecil thread. Setelah selesai thread tertentu maka dialokasikan iterasinya, ini berguna untuk mendapatkan satu dari iterasi yang tersisa. Parameter "chunk" mendefinisikan jumlah pengulangan susunan yang dialokasikan kepada thread pada suatu waktu.

3. guided: Sebuah potongan susunan iterasi dialokasikan untuk setiap thread secara dinamis. Ukuran sepotong berkurang secara eksponensial dengan alokasi untuk masing-masing berturut-turut ukuran minimum yang ditentukan dalam parameter "bongkahan"

JIKA kontrol

§ if: Hal ini akan menyebabkan thread melakuakan tugas hanya jika kondisi terpenuhi. Kalau tidak menjalankan blok kode seterusnya..

Inisialisasi

  • firstprivate: data private untuk masing-masing thread, tapi diinisialisasi dengan menggunakan nilai dari variabel dengan menggunakan nama yang sama dari master thread.
  • lastprivate: data private untuk setiap thread. Nilai dari data pribadi ini akan disalin ke variabel global dengan menggunakan nama yang sama di luar region paralel jika iterasi saat ini adalah yang terakhir dalam iteration loop. Sebuah variabel dapat firstprivate dan lastprivate.
  • threadprivate: Data adalah data global, tetapi pribadi paralel di masing-masing daerah selama runtime. Perbedaan antara threadprivate dan private adalah ruang lingkup global yang terkait dengan threadprivate dan nilai yang disimpan paralel di suatu region daerah.

Data copying

  • copying: mirip dengan variabel firstprivate untuk private, threadprivate variabel yang belum diinisialisasi, kecuali menggunakan copying untuk melewatkan nilai dari variabel global yang sesuai. Tidak melakuakn copyout diperlukan karena nilai suatu variabel threadprivate dipelihara selama pelaksanaan seluruh program.
  • copyprivate: digunakan dengan sendiri untuk mendukung penyalinan data nilai dari object private di satu thread (thread tunggal) untuk object yang sesuai pada thread lain dalam tim.

Reduction

  • reduction (operator | intrinsic: list): variabel memiliki salinan lokal di setiap thread, tetapi nilai-nilai dari salinan lokal akan diringkas (dikurangi) ke dalam variabel global. Hal ini sangat berguna jika operasi tertentu (ditentukan dalam "operator" clausa khusus ini) pada datatype yang berjalan dengan interaktif sehingga nilai pada iterasi tertentu tergantung pada nilai pada iterasi sebelumnya. Pada dasarnya, langkah-langkah yang mengarah ke kenaikan operasional adalah paralisme, tetapi thraed mengumpulkan dan menunggu sebelum memperbarui datatype, lalu akan menambahkan datatype dalam rangka untuk menghindari race condition. Ini akan diperlukan dalam parallel fungdi Integrasi Numerik dan Persamaan Diferensial, sebagai contoh umum.

Lain-lain

  • flush: Nilai variabel ini dipulihkan dari register ke memori untuk menggunakan nilai ini di luar sebuah bagian paralel
  • master: Executed hanya oleh master thread (thread yang bercabang selama pelaksanaan OpenMP direktif). Tidak implisit barrier; anggota tim lainnya (thread) tidak diperlukan untuk mencapainya.

User-level runtime routines

Digunakan untuk memodifikasi / memeriksa jumlah thread, mendeteksi jika konteks eksekusi berada dalam wilayah paralel, berapa banyak prosesor pada sistem yang sekarang, set / unset kunci, fungsi waktu, dll

Lingkungan variabel

Sebuah metode untuk mengubah fitur eksekusi aplikasi OpenMP. Digunakan untuk mengontrol loop iterasi penjadwalan, nomor standar thread, dll. Misalnya OMP_NUM_THREADS digunakan untuk menentukan jumlah thread untuk suatu aplikasi

3. Sample Program

Hello World

ni adalah program dasar, bahwa latihan paralel, private dan barrier directive, serta fungsi omp_get_thread_num dan omp_get_num_threads .

This is a basic program, that exercises the parallel, private and barrier directives, as well as the functions omp_get_thread_num andomp_get_num_threads (not to be confused).

C

  # include 

# include

int main (int argc, char * argv []) (
int th_id, nthreads;
# omp paralel Pragma swasta (th_id)
(
th_id = omp_get_thread_num ();
printf ( "Hello World dari thread% d \ n", th_id);
# Pragma omp penghalang
if (th_id == 0) (
nthreads = omp_get_num_threads ();
printf ( "Ada% d threads \ n", nthreads);
)
)
return 0;
)

C + +

 # include 

# include
int main (int argc, char * argv []) (
int th_id, nthreads;
# omp paralel Pragma swasta (th_id)
(
th_id = omp_get_thread_num ();
std:: cout << "Hello World dari thread" < "\ n";
# Pragma omp penghalang
if (th_id == 0) (
nthreads = omp_get_num_threads ();
std:: cout << "Terdapat" < "benang \ n";
)
)
return 0;
)

Fortran 77

       PROGRAM HELLO

INTEGER ID, NTHRDS
INTEGER OMP_GET_THREAD_NUM, OMP_GET_NUM_THREADS
C $ OMP PARALEL SWASTA (ID)
ID = OMP_GET_THREAD_NUM ()
PRINT *, 'HALO DUNIA DARI BENANG', ID
C $ OMP HAMBATAN
IF (ID. EQ. 0) MAKA
NTHRDS = OMP_GET_NUM_THREADS ()
PRINT *, 'ADA', NTHRDS, 'THREADS'
END
C $ OMP END PARALEL
END

Gratis formulir Fortran 90

  Program hello90

menggunakan omp_lib
integer:: id, nthreads
! $ omp paralel swasta (id)
id = omp_get_thread_num ()
write (*, *) 'Halo Dunia dari thread', id
! $ omp penghalang
if (id == 0) maka
nthreads = omp_get_num_threads ()
write (*, *) 'Ada', nthreads, 'benang'
end if
! $ omp akhir paralel
Program akhir

Tugas Minggu ke 6 Pengantar Kecerdasan Buatan 1

Saya mendapat Tugas Pengantar Kecerdasan Buatan, yang berisi tentang representasi logika. isi tugasnya sebagai berikut:

Soal :

A. Representasikan fakta berikut menggunakan logika predikat dan logika proposisi !
1. Karjo adalah seorang laki-laki
2. Karjo adalah orang jawa
3. Karjo lahir tahun 1840
4. Setiap laki-laki pasti akan mati
5. Semua orang jawa mati pada saat krakatau meletus tahun 1883
6. Setiap orang pasti mati setelah hidup lebih dari 150 tahun
7. Sekarang tahun 2010
8. Mati berarti tidak hidup
9. Jika seseorang mati maka beberapa waktu kemudian dia pasti dinyatakan telah mati

B. Buktikan bahwa Karjo masih hidup atau mati saat ini !

Jawaban :

A.

1. laki-laki(Karjo)
2. jawa(Karjo)
3. lahir(Karjo,1840)
4. ∀x : laki-laki(x) → pastimati(x)
5. meletus(Krakatau, 1883) ∧ ∀x : [jawa(x) → mati(x, 1883)]

dapat dipecah menjadi 2 :

5.a. meletus(Krakatau, 1883)

5.b. ∀x : [jawa(x) → mati(x, 1883)]
6. ∀x : ∀tahun1 : ∀tahun2 : pastimati(x) ∧ lahir(x, tahun1) ∧ lahir(x, tahun2) ∧ lebihdari(tahun2 – tahun1, 150) → mati(x, tahun2)
7. sekarang ≡ 2010
8. ∀x : ∀y : [mati(x,y) → ¬hidup(x,y) ] ∧ [¬hidup(x,y) → mati(x,y)]
9. ∀x : ∀tahun1 : ∀tahun2 : mati(x, tahun1) ∧ lebihdari(tahun2 – tahun1) → mati(x, tahun2)

B.

Dari pernyataan-pernyataan diatas akan dibuktikan bahwa Karjo tidak hidup atau telah mati pada saat ini, dengan penalaran backward : ¬hidup (karjo, sekarang)

¬hidup (Karjo, sekarang)

↑ (8, subtitusi)
mati(Karjo, sekarang)

↑ (9, subtitusi)
mati(Karjo, tahun1) ∧ lebihdari(sekarang, tahun1)

↑ (5b, subtitusi)
jawa(Karjo) ∧ lebihdari(sekarang, 1883)

↑ (2)
lebihdari(sekarang, 1883)

↑ (7, subtitusi)
lebihdari(2010, 1883)

↑ (menghitung lebihdari)
Nil

(Nilai NIL pada akhir proses pembuktian menunjukkan bahwa pembuktian sukses)

Jadi, kesimpulannya : Karjo pada saat ini telah mati.

Minggu, 14 Maret 2010

Pengenalan Spring

Pengertian Spring

Spring merupakan sebuah framework (kerangka kerja) yang digunakan untuk membangun sebuah aplikasi Enterprise. Spring termasuk framework yang lightweight (ringan) untuk mendukung secara penuh dalam pengembangan aplikasi Enterprise siap pakai.Spring bersifat modular, sehingga kita dapat menggunakan bagian-bagian yang di butuhkan tanpa harus membawa sisanya. Anda dapat menggunakan wadah IOC, dengan Struts di atas, tetapi Anda dapat juga hanya menggunakan kode yang terintegrasi Hibernate atau lapisan abstraksi JDBC

Spring dapat digunakan untuk melakukan pengaturan deklarasi manajemen transaksi, remote access dengan menggunakan RMI atau layanan web lainnya, fasilitas mailing, dan beragam opsi untuk pengaturan data ke database. Menawarkan fitur yang lengkap dari Framework MVC dan memungkinkan Anda untuk mengintegrasikan AOP secara transparan ke dalam software.


Fitur-fitur dari Spring Framework :

  • Transaction Management : Spring framework menyediakan sebuah layer abstrak yang generik untuk manajemen transaksi, sehingga memudahkan para developer dalam melakukan manajemen transaksi.
  • JDBC Exception Handling : layer abstrak JDBC menawarkan exception yang bersifat hierarki sehingga memudahkan penanganan error.
  • Integration with Hibernate, JDO, and iBatis : Spring menawarkan layanan integrasi terbaik dengan Hibernate, JDO dan iBatas
  • AOP Framework : Spring merupakan framework AOP Terbaik yang pernah ada.
  • MVC Framework : Spring hadir dengan framework aplikasi web MVC, yang dibangun di atas inti Spring. Spring merupakan framework yang sangat fleksibel dalam pengaturan strategi interface, dan mengakomodasi beberapa teknologi view seperti JSP, Velocity, Tiles, iText, dan POI.

Arsitektur Spring :

1. Spring AOP

Salah satu komponen utama Spring adalah AOP Framework, AOP framework digunakan:

- Untuk menyediakan layanan Enterprise, terutama sebagai pengganti EJB. Layanan terpenting dalam layanan ini adalah untuk mendekralitf manajemen transaksi, yang telah disediakan dalam abstraksi spring transaction.

- Untuk memungkinkan pengguna dalam menerapkan AOP dalam penggunaan OOP.


2. Spring ORM

Spring ORM berhubungan dengan akses database dan menyediakan lapisan layer terintegrasi dengan ORM yang populer termasuk JDO, Hibernate dan iBatis.


3. Spring Web

Merupakan bagian dari modul pengembangan Web Spring termasuk Spring Web MVC


4. Spring DAO

DAO (Data Access Object) mendukung standarisasi akses data yang menggunakan teknologi seperti JDBC, Hibernate dan JDO.


5. Spring Context

Paket ini didasari pada paket beans untuk menambah dukungan sumber pesan dan untuk pola desain Observer, dan kemampuan untuk mendapatkan sumber daya yang konsisten dengan menggunakan API.


6. Spring Web MVC

Menyediakan implementasi MVC untuk aplikasi web.


7. Spring Core

Paket Spring Core ini merupakan komponen paling penting dari Spring Framework.

Komponen ini menyediakan fitur Dependency Injection. BeanFactory memisahkan dependensi seperti inisialisasi, pembentukan dan akses object dari logika program anda.


Membuat “Hello Word” Menggunakan Spring Framework

Langkah-langkahnya adalah :

1. Buat project baru di Eclipse IDE dan beri nama ”Spring”.

2. Buat folder baru di dalam project Spring dan beri nama “lib”

3. Extract “spring-framework-3.0.0.RELEASE-with-docs.zip” yang telah diunduh,

4. Masuk ke dalam folder “dist”

5. Copy :

- org.springframework.beans-3.0.0.RELEASE.jar

- org.springframework.core-3.0.0.RELEASE.jar

6. Paste di dalam folder lib yang telah dibuat di dalam folder Spring.

7. Kemudian masuk ke dalam folder ”spring-framework-3.0.0.RELEASE-with-docs\spring-framework-3.0.0.RELEASE\projects\spring-build\lib\ivy”

8. Copy file commons-logging.jar

9. Paste di dalam folder lib yang di dalam folder Spring.

10. Tambahkan semua libraries yang telah di copy pada langkah ke-3 ke Java Build Path dengan cara :

11. Klik kanan pada project Spring kemudian pilih properties.

12. Pilih ”Java Build Path” -> klik pada tombol ”Add JAR’s” -> pilih linbraries yang ingin ditambahkan ke

13. Java Build Path.

14. Buat Java Package baru di dalam project Spring, dan beri nama ”net.tes”.

15. Buat File Java dengan nama Spring.java di dalam package ”net.tes”

16. Ketikkan program berikut ini:


17. Buat File XML dengan nama HelloWorld.xml di dalam Spring/src, dan ketikkan program di bawah ini.



18. Buat File Java SpringTest.java di dalam package ”net.tes”

19. Ketikkan program berikut ini


20. Jalankan Program tersebut


maka akan tampil :