Jumat, 19 Oktober 2012

PENGENALAN program PROLOG (Programming in Logic)


Prolog merupakan bahasa pemrograman logika atau sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.
prolog menjadi populer di Eropa untuk aplikasi AI. Sedangkan di Amerika Serikat, para peneliti juga mengembangkan bahasa lain untuk aplikasi yang sama yaitu LISP. LISP mempunyai kelebihan dibandingkan prolog , tetapi LISP lebih sulit dipelajari.
Pada mulanya, Prolog adalah bahasa yang sangat murni yang didasarkan pada keindahan logika. Sejak ditemukannya pada tahun 1970-an oleh ketiga orang di atas, Prolog berkembang dengan lambat dan hanya digunakan oleh para peneliti dari universitas-universitas terkenal karena hanya merekalah yang dapat mengerti arti dari pentingnya Prolog. Dalam masa pengembangannya, para peneliti banyak menemukan kebutuhan-kebutuhan baru yang perlu ditambahkan di Prolog.
Pada awalnya, Prolog dan LISP sangat lambat dalam eksekusi program dan memakan memori yang besar sehingga hanya kalangan tertentu yang menggunakannya. Dengan adanya Compiler Prolog, kecepatan eksekusi program dapat ditingkatkan, namun Prolog masih dipandang sebagai bahasa yang terbatas (hanya digunakan di kalangan perguruan tinggi dan riset).
Pada awal tahun 1980-an, dunia industri mulai menyadari kelebihan-kelebihan yang dimiliki oleh Prolog dibandingkan dengan bahasa konvensional lainnya. Dengan terlibatnya dunia industri, maka timbul tuntutan-tuntutan baru, misalnya tuntutan akan eksekusi waktu yang lebih cepat, kebutuhan memori yang lebih kecil dan kebutuhan praktis lainnya. Namun hal ini justru menimbulkan 2 kelompok yang mempunyai filosofi yang berbeda.
Di satu sisi, mereka menganggap bahwa Prolog merupakan bahasa penelitian sehingga mereka menginginkan banyak hal tercakup dalam Prolog sehingga Prolog dapat digunakan secara luwes untuk berbagai keperluan penelitian. Di sisi lainnya, mereka yakin bahwa Prolog seharusnya dapat menjadi bahasa yang berguna untuk mengembangkan berbagai macam aplikasi yang bukan penelitian.
Pandangan umum Prolog, hanya digunakan di kalangan perguruan tinggi dan riset, tiba-tiba berubah di tahun 1981 pada konverensi internasional I dalam system generasi kelima di Tokyo, Jepang. Jepang yang saat itu mengalami kesulitan bersaingdalam pemasaran komputer dengan Amerika Serikat, mencanangkan rencana pengembangan teknologi hardware dan software untuk tahun 1990-an. Dan bahasa yang dipilih adalah Prolog.
Sejak saat itu, banyak orang menaruh minat pada prolog dan saat itu telah dikembangkan versi prolog yang mempunyai kecepatan dan kemampuan yang lebih tinggi, lebih murah dan lebih mudah digunakan, baik untuk komputer mainframe maupun komputer pribadi sehingga Prolog menjadi alat yang penting dalam program aplikasi kecerdasan buatan (AI) dan pengembangan system pakar (expert system).

  • Perbedaan Prolog dengan Bahasa Lain

Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran):
Bahasa Pemrograman Prolog :
  1. 1. diperlukan algoritma/prosedur untuk memecahkan masalah (procedural languange)
  2. 2. program menjalankan prosedur yang sama berulang-ulang dengan data masukan yang berbeda-beda.
  3. Prosedur dan pengendalian program ditentukan oleh programmer dan perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.
  1. Object oriented languangeatau declarative languange.
  2. Tidak terdapat prosedur, tetapi  hanya kumpulan data-data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban
  3. Programmer menentukan tujuan (goal), dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
  4. Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
  5. Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik.
  6. Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu). Contoh : Pembuatan program catur dengan Prolog

  • Keunggulan Prolog
Keunggulan Prolog terletak pada kemampuannya untuk mengambil kesimpulan (jawaban) dari data-data yang ada. Karena program dalam bahasa prolog tidak memerlukan prosedur (algoritma). Prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non-numerik.
Misalnya, dalam pembuatan program catur dengan prolog untuk menentukkan gerakan catur anda tidak perlu menganalisa semua kemungkinan atau menentukkan suatu prosedur tertentu untuk untuk menentukan gerakan berikutnya. Tetapi anda cukup menuliskan aturan umum permainan catur dan lebih baik lagi jika ditambah dengan aturan yang diperoleh dari pengalaman. Prolog akan menentukan sendiri langkah yang akan diambil berdasarkan data-data yang ada saat itu dan aturan-aturan yang diberikan.
  • Aplikasi Prolog
  1. Sistem Pakar (Expert System).
Sistem Pakar (Expert System) yaitu program yang menggunakan teknik pengambilan kesimpulan dari data yang didapat seperti yang dilakukan oleh seorang ahli dalam memecahkan masalah. Komputer dapat diprogram untuk berbuat seperti orang yang ahli dalam bidang tertentu. Komputer yang demikian dapat dijadikan seperti konsultan atau tenaga ahli di bidang tertentu yang dapat menjawab pertanyaan dan memberikan nasehat yang dibutuhkan.
Tujuan utama sistem pakar bukan untuk menggantikan kedudukan seseorang ahli atau pakar tetapi hanya untuk memasyarakatkan pengetahuan dan pengalaman pakar-pakar tersebut. System pakar memungkinkan orang lain meningkatkan produktifitasnya, memperbaiki kualitas keputusannya, sistem pakar bias memecahkan masalah yang rumit meskipun tidak ada seorang ahli.
2.   Pengolahan bahasa alami (Natural Language processing).
Natural Language Processing merupakan program yang dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari (bahasa apapun). Sebagai contoh adalah Lotus HAL, yaitu program Bantu untuk Lotus 1-2-3 agar dapat menerima perintah bahasa inggris seperti bahasa biasa.
Program pengolahan bahasa alami menggunakan teknik AI dalam analisis input bahasa yang dimasukan melalui keyboard, program tersebut berusaha mengidentifikasi sintak, semantil dan konteks yang terkandung dalam suatu kalimat agar bias sampai pada kesimpulan untuk bias memberikan jawaban.
3.  Robotik

Dalam robotik, Prolog digunakan untuk mengolah data masukan yang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan. Apalagi kalau robot menemukan peristiwa yang tidak diharapkan atau situasi yang berbeda.
4.  Pengenalan Pola (Pattern Recognition).
Pengenalan pola banyak diterapkan dalam bidang robotic dan pengolahan citra (image processing). Misalkan, bagaimana computer dapat membedakan gambar sebuah benda dan gambar benda yang lain, atau sebuah obyek yang berada diatas obyek lain.
5.  Belajar
Bidang ini berkaitan dengan program yang dapat belajar dari kesalahan yang pernah dilakukan, dari pengamatan atau dari hal-hal yang pernah dilakukan. Secara singkat, berarti membuat sebuah computer mampu untuk mengambil manfaat dari pengalaman yang pernah ditemuinya.
6.  Game
Suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional. Game adalah permainan video yang dimainkan pada komputer, dan bukan pada konsol permainan. Game dibuat berdasarkan logika yang dikembangkan dan diterapkan ke dalam bentuk visual.
  • Macam-macam Prolog
1.  Strawberry prolog
2.  Visual prolog
3.  SWI prolog
4.  Turbo prolog


sumber:
http://id.wikipedia.org/wiki/Prolog 
http://forum.himatif.or.id/viewtopic.php?f=10&t=895&sid=14c116b92f8ff04c1a5a76573b95d55b

Sabtu, 23 Juni 2012

DEFINISI QUEUE


Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai
berikut :
EnQueue Memasukkan data ke dalam antrian
DeQueue Mengeluarkan data terdepan dari antrian
Clear Menghapus seluruh antrian
IsEmpty Memeriksa apakah antrian kosong
IsFull Memeriksa apakah antrian penuh

Implementasi Queue dengan Double Linked List
Selain menggunakan array, queue juga dapat dibuat dengan linked list. Metode linked list yang digunakan adalah double linked list. Operasi-operasi Queue dengan Double Linked List :
• IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.


• IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.
• EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).
• DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).
OPERASI DASAR PADA ANTREAN
Ada 4 operasi dasar yang dapat dilakukan pada Struktur Data Antrean, yaitu :
1. CREATE(Antrean)
2. ISEMPTY(Antrean)
3. INSERT(Elemen,Antrean)
4. REMOVE(Antrean)

Pandang misalnya Antrean Q = [ Q1 , Q2 , .., QNOEL ], maka
1. CREATE(Antrean)
Adalah suatu operator untuk membentuk dan menunjukan suatu Antrean Hampa Q.
Berarti : NOEL(CREATE(Q) = 0
FRONT(CREATE(Q)) = tidak terdefinisi
REAR(CREATE(Q)) = tidak terdefinisi
2. ISEMPTY(Antrean)
Adalah operator yang menentukan apakah Antrean Q hampa atau tidak. Operand dari operator ini merupakan Antrean, sedangkan hasilnya merupakan Type data Boolean.
ISEMPTY(Q)=True,jika Q hampa, yaitu jika NOEL(Q)=0
False, jika Q tidak hampa, yaitu jika NOEL(Q) <> 0
Maka ISEMPTY(CREATE(Q)) = True.
3. INSERT(Elemen,Antrean)
Operator yang menginsert (mengisi) elemen E kedalam Antrean Q. Elemen E ditempatkan dibagian depan dari Antrean. Hasil dari Operasi ini adalah Antrean yang lebih panjang.
REAR(INSERT(E,Q)) = E
QNOEL Adalah E

ISEMPTY(INSERT(E,Q)) = False

Kamis, 21 Juni 2012

Pengaruh Teknologi terhadap Budaya Organisasi

Penggunaan istilah 'teknologi' (bahasa Inggris: technology) telah berubah secara signifikan lebih dari 200 tahun terakhir. Sebelum abad ke-20, istilah ini tidaklah lazim dalam bahasa Inggris, dan biasanya merujuk pada penggambaran atau pengkajian seni berguna.

Teknologi, paling luas, dapat didefinisikan sebagai entitas, benda maupun takbenda, yang diciptakan secara terpadu melalui perbuatan dan pemikiran untuk mencapai suatu nilai. Dalam penggunaan ini, teknologi merujuk pada alat dan mesin yang dapat digunakan untuk menyelesaikan masalah-masalah di dunia nyata.
Budaya Organisasi adalah sebuah pola asumsi dasar yang diciptakan, ditemukan atau dikembangkan oleh suatu kelompok tertentu sebagai landasan dalam berperilaku dalam organisasi. Dimana akan diturunkan kepada anggota baru sebagai cara bagaimana melihat, berpikir, dan merasa dalam organisasi.
 
Fungsi-fungsi budaya: 

1. Batas
Budaya berperan sebagai penentu batas-batas; artinya, budaya menciptakan perbedaan atau yang membuat unik suatu organisasi dan membedakannya dengan organisasi lainnya.
  
2. Identitas
Budaya memuat rasa identitas suatu organisasi.

3. Komitmen
Budaya memfasilitasi lahirnya komitmen terhadap sesuatu yang lebih besar daripada kepentingan individu. 

4. Stabilitas
Budaya meningkatkan stabilitas sistem sosial karena budaya adalah perekat sosial yang membantu menyatukan organisasi dengan cara menyediakan standar mengenai apa yang sebaiknya dikatakan dan dilakukan individu. 

5. Pembentuk sikap dan perilaku
Budaya bertindak sebagai mekanisme alasan yang masuk akal (sense-making) serta kendali yang menuntun dan membentuk sikap dan perilaku individu.
Teknologi terhadap kreatifitas individu dan team
Kreativitas merupakan salah satu kebutuhan pokok manusia, yaitu kebutuhan akan perwujudan diri (aktualisasi diri) dan merupakan kebutuhan paling tinggi bagi manusia (Maslow, dalam Munandar, 2009). Pada dasarnya, setiap orang dilahirkan di dunia dengan memiliki potensi kreatif. Kreativitas dapat diidentifikasi (ditemukenali) dan dipupuk melalui pendidikan yang tepat (Munandar, 2009).

referensi:
http://id.wikipedia.org/wiki/Teknologi
Read Bain, "Technology and State Government," American Sociological Review 2
(December 1937): 860. http://id.wikipedia.org/wiki/Budaya_organisasi
www.gunadarma.ac.id/library/articles/.../Artikel_92206033.pdf
http://insearch.unibi.ac.id/jurnal/2012/02/12/47/detail/teknologi_informasi_dan_komunikasi_inovasi_bagi_dunia_pendidikan