Wednesday, 20 March 2013

Diksi dan Penggunaan Bahasa Efektif Dalam Karya Ilmiah

Filled under:


Diksi dan Penggunaan Bahasa Efektif Dalam Karya Ilmiah


BAB I
PENDAHULUAN

Kata merupakan satu unit dalam bahasa yang memiliki stabilitas intern dan mobilitas posisional. Maksudnya, kata memiliki komposisi tertentu, baik secara fonologis maupun morfologis, dan secara relatif memiliki distribusi yang bebas, yaitu dapat digunakan sesuai dengan kepentingan. Kata-kata itu dapat ditata dalam suatu konstruksi yang lebih besar sesuai dengan kaidah-kaidah sintaksis suatu bahasa.
Konstruksi yang demikian akan terlihat dalam proses komunikasi, akan tetapi yang sangat penting dari penataan kata-kata itu ialah pengertian (sense) yang tersirat dari penggunaan kata tersebut. Dengan demikian, setiap orang yang terlibat dalam komunikasi akan dapat saling memahami dan aktivitas komunikasi akan berjalan dengan baik dan lancar.
Pernyataan diatas mengisyaratkan bahwa tiap kata mngungkapkan suatu gagasan atau ide. artinya, kata merupakan media penyalur gagasan, hal ini sejalan dengan uraian keraf yang menyatakan bahwa semakin banyak kata yang dikuasai seseorang, semakin banya ide atau gagasan yang dikuasai dan yang sanggup diungkapkannya.[1] Maka yang menjadi pokok permasalahan pada makalah ini dapat dirumuskan :
1.      Apa yang dimaksud dengan diksi dan kalimat efektif?
2.      Apa peranan diksi dalam Penulisan Karya Ilmiah?
3.      Bagaimanakah penggunaan bahasa efektif dalam karya ilmiah?


BAB II
PEMBAHASAN

2.1        Pengertian Diksi
Dalam Kamus Besar Bahasa Indonesia (KBBI) diksi diartikan sebagai pilihan kata yang tepat dan selaras dalam penggunaannya untuk mengungkapkan gagasan sehingga diperoleh efek tertentu seperti yang diharapkan. Dari pernyataan itu tampak bahwa penguasaan kata seseorang akan mempengaruhi kegiatan berbahasanya, termasuk saat yang bersangkutan membuat karangan.[2]
Menurut Wikipidea, Diksi dalam arti aslinya dan pertama, merujuk pada pemilihan kata dan gaya ekspresi oleh penulis atau pembicara. Arti kedua, arti "diksi" yang lebih umum digambarkan dengan enunsiasi kata - seni berbicara jelas sehingga setiap kata dapat didengar dan dipahami hingga kompleksitas dan ekstrimitas terjauhnya. Arti kedua ini membicarakan pengucapan dan intonasi, daripada pemilihan kata dan gaya.[3]
Setiap kata memiliki makna tertentu untuk membuat gagasan yang ada dalam benak seseorang. Bahkan makna kata bisa saja “diubah” saat digunakan dalam kalimat yang berbeda. Hal ini mengisyaratkan bahwa makna kata yang sebenarnya akan diketahui saat digunakan dalam kalimat. Lebih dari itu, bisa saja menimbulkan dampak atau reaksi yang berbeda jika digunakan dalam kalimat yang berbeda.
Berdasarkan hal itu dapat dikatakan bahwa diksi memegang tema penting sebagai alat untuk mengungkapkan gagasan dengan mengharapkan efek agar sesuai.
Didalam karangan ilmiah, kata yang digunakan harus berbentuk formal dan digunakan secara konsisten (taat asas). Oleh karena itu, pilihan kata dalam penulisan karangan ilmiah harus baik dan benar, sehingga makna yang diacunya tepat dan jelas.[4]
Diksi merupakan pemilihan kata dan kejelasan lafal untuk memperoleh efek tertentu dalam bahasa lisan dan tulisan. Untuk mendapatkan efek tertentu itu, seseorang yang akan berbicara atau menulis harus memilih kata yang dapat mewakili gagasannya dengan tepat. Disamping itu, ia juga memerlukan kemampuan untuk membedakan nuansa-nuansa makna dari gagasan yang disampaikan dan menemukan kata yang sesuai dengan konteks pemakaiannya.
Contoh :
1.      Kata pahit bersinonim dengan kata getir. Ketika ingin menggunakan kedua kata tersebut kita harus memperhitungkan konteksnya kata pahit dan getir berterima pada konstruksi pengalaman yang pahit dan pengalaman yang getir, tetapi tidak berterima pada konstruksi obat itu getir.
2.      Kata meneliti, menyelidiki, dan mendiagnosis secara praktis mengacu kepada aktifitas yang hampir sama, akan tetapi ketiga kata tersebut tidak bisa saling menggantikan. Maksunya, masing-masing kata memiliki penggunaan yang berbeda sesuai dengan nuansa makna yang dikandungnya. Kata meneliti digunakan untuk menyebut aktifitas yang terencana, sistematis, dan menggunakan metode ilmiah. Hasil dari aktivitas ini dikomunikasikan dalam bentuk tertulis yang disebut dengan laporan penelitian.
         Kata menyelidiki digunakan untuk menyebut aktifitas yang mengacu kepada upaya-upaya  mencari bukti-bukti yang mendukung pernyataan seseorang. Aktivitas ini dilakukan oleh orang-orang yang berwenang menangani kasus hokum, seperti polisi. Produk dari aktivitas ini dikenal dengan hasil penyelidikan.
               Kata mendiagnosis terkait dengan aktivitas para medis-dokter-yang dilakukan atas dasar keluhan fasiennya. Aktivitas itu dilakukan dalam rangka menyimpulkan jenis penyakit yang diderita fasien melalui gejala-gejala yang dirasakan fasiennya atau indikator-indikator lain yang terlihat dari fisik fasien. Hasil dari aktivitas ini dikenal dengan diagnosis.[5]
2.2        Peran Diksi dalam Karangan Ilmiah
Karangan ilmiah merupakan kounikasi antara penulis dan pembaca. Agar komunikasi itu efektif dan efisien, maka seorang penulis perlu berhat-hati dalam memilih kata, sehingga pembaca mampu mencerna kata atau rangkaian kata yang digunakan penulis untuk mengungkapkan gagasannya.
Dalam memilih kata ini, seorang penulis harus memperhatikan hal-hal yang menjadi syarat dari diksi, syarat-syarat itu ialah :
a.       Ketepatan
         Ketepatan dimaksudkan sebagai pemilihan kata yang dapat mewakili gagasan penulis dengan benar, sehingga tidak terjadi perbedaan tafsir antara penulis dengan pembaca.
b.      Kesesuaian
Kesesuain diartikan sebagai pilihan kata yang cocok denagn konteks, seperti situasi pemakaian, sasaran penulis, dan lain-lain.
Contoh :
Kata Kamu, Anda,dan Saudara, merupakan kata-kata yang bersinonim, yaitu kata yang digunakan untuk menyebut lawan bicara, tetapi bukanlah sinonim mutlak. Nilai-nilai social menjadikan ketiga kata itu memiliki nuansa yang berbeda.
Seperti :
Saya sama besar dengan kamu
Saya sama besar dengan anda
Saya sama besar dengan saudara


2.3        Pengertian Kalimat Efektif
Menurut Razak, kalimat efektif adalah kalimat yang mampu mengekspresikan kejiwaan manusia lainnya, dengan demikian, hanya kalimat yang berdaya gunalah yang diklasifikasikan kepada kalimat efektif.[6]
Sedangkan menurut Zulfahmi, Kalimat efektif adalah kalimat yang mampu mengantarkan isi dan tujuan komunikasi dengan baik.[7] Untuk mengungkapkan atau mengkomunikasikan gagasan pengarang maka diperlukan kalimat yang baik.
Pernyataan diatas mengisyaratkan bahwa kalimat merupakan media yang menampung gagasan pengarang. Dalam formulasi lain, kalimat dapat disefenisikan sebagai wujud dari perasaan, sikap, dan pikiran si pengarang yang akan dikomunikasikan dalam bentuk bahasa tulis.
Sehubungan dengan itu, Keraf menegaskan bahwa seorang pengarang perlu menguasai beberapa aspek bahasa, antara lain :
a.       Kosa kata yang digunakan
b.      Kaidah-kaidak sintaksis bahasa itu secara aktif
c.       Gaya penyampaian
d.      Penalaran.[8]
Penguasaan terhadap keempat aspek tersebutlah yang memungkinkan seorang pengarang mampu menuangkan ide kedalam bentuk kalimat yang dapat mewakili gagasannya dengan tepat dan mampu menarik perhatian pembaca. Kalimat yang seperti itulah yang dapat diklasifikasikan kepada kalimat yang efektif.



2.4        Syarat Kalimat yang Efektif
Kalimat efektif memiliki kemampuan untuk melahirkan dan memicu kembali gagasan-gagasan pembaca yang identik dengan gagasan pengarang. Disamping itu, kalimat efektif juga memiliki kemampuan untuk menghilangkan kemonotonan sebuah tulisan atau karangan.
Untuk kepentingan tersebut, pengarang harus mampu memodifikasi kalimat yang digunakannya. Dalam hal ini, Keraf mengemukakan bahwa ada beberapa hal yang perlu diperhatikan, yaitu; Kesatuan gagasan, koherensi antar unsur pembentuk kalimat, penekanan, variasi kalimat, peralelisme, dan penalaran.[9]
a.       Kesatuan Gagasan
Kesatuan gagasan dibentuk melalui unsur-unsur yang membangun kalimat dengan memperhatikan ide pokok kalimat tersebut, sehingga kalimat tersebut hanya mengandung satu ide pokok. Dengan kata lain, kesatuan gagasan sebuah kalimat ditandai dengan keberadaan satu ide pokok dalam sebuah kalimat.
Kesatuan gagasan dalam  kalimat itu dapat dibentuk dengan berbagai cara, meskipun kalimat, secara praktis dibangun oleh unsur-unsur fungsional yang disebut sebagai subjek (S), prediket (P), objek (O), pelengkap (Pel), dan keterangan (K).[10]
Kesatuan gagasan dalam kalimat dapat berbentuk kesatuan tunggal, kesatuan gabungan, kesatuan pilihan, dan kesatuan yang mengandung pertentangan.
Kesatuan tunggal terdapat pada kalimat tunggal, yaitu kalimat yang terdiri dari  satu pola kalimat saja, yaitu : SP, SPO, SPPel, SPK, SPPelK, atau SPOK.
Kesatuan gabungan, kesatuan yang mengandung pertentangan, dan kesatuan pilihan terdapat pada kalimat majemuk, yaitu : kalimat yang terdiri dari dua pola atau lebih, seperti : SP-SP, SPO-SPPel, SP-SPOK, dsb. Untuk lebih mengetahui perbedaan antara kesatuan-kesatuan itu, amati contoh-contoh berikut :
1)      Sebagai homo loquens, manusia memiliki kemampuan berbahasa. (kesatuan tunggal).
2)      Suatu hal yang tidak dapat dibantah oleh para ilmuan ialah ilmu sarat dengan nilai-nilai. (kesatuan tunggal).
3)      Ketika ujian semester berlansung, semua mahasiswa terpaku pada kertas jawabannya, sedangkan pengawas hilir mudik memperhatikan mahasiswa. (kesatuan yang mengandung pertentangan)
4)      Hary menerima bingkisan dari ibunya kemaren, dan telah membukanya beberapa jam yang lalu. (kesatuan gabungan)
5)      Kamu pergi ke kampus atau ikut denganku ke tempat Andre. (kesatuan pilihan).
b.      Koherensi
Koherensi ialah adanya hubungan yang jelas antara unsur yang satu dengan yang lain dalam membangun ide pokok kalimat. Kepaduan itu menunjukkan hubungan yang erat antara unsure-unsur pembentuk kalimat, yaitu antara subyek-prediket, prediket-obyek, dan keterangan unsure pokok.
Koherensi antar unsur pembentuk kalimat sangat terkait dengan kesatuan gagasan yang terkandung dalam kalimat tersebut. Jika antar unsur pembentuk kalimat tidak mamiliki koherensi secara jelas, maka kalimat tersebut. akan sanggup mewakili gagasan penulis.[11]
Sehubungan dengan itu, ada beberapa aspek yang perlu diperhatikan seseorang sebelum menuangkan gagasannya kedalam sebuah kalimat yang efektif, yaitu :
1)            Pola kalimat
2)            Penggunan kata depan dan kata penghubung
3)            Penempatan keterangan : oposisi dan aspek
4)            Penggunaan kata yang tidak berlebih-lebihan

c.       Penekanan Bahagian Kalimat
Penekanan mengacu kepada upaya yang dilakukan untuk menonjolkan unsur yang dipentingkan dalam sebuah kalimat. Penekanan itu dapat dilakukan dengan berbagai bentuk, antara lain dengan mengubah posisi kalimat (unsure yang dipentingkan), menggunakan repetisi (pengulangan bentuk yang sama), menggunakan pertentangan, dan menggunakan pertikel penegas.
Contoh :
1.      Bagi alam pikiran Minangkabau, yang dimaksud dengan harta ialah benda-benda yang tidak bergerak, seperti : tanah, sawah, ladang, dan rumah.
2.      Yang dimaksud dengan harta-bagi  alam pikiran Minangkabau-ialah benda-benda tidak bergerak, seperti : tanah, sawah, lading, dan rumah. (mengubah posisi kalimat)
d.      Variasi Kalimat
Variasi ditujukan agar kalimat yang digunakan dapat menarik perhatian pembaca, sehingga sifat monotoni kalimat dapat diminimalkan. Variasi kalimat dapat dilakukan dengan menggunakan kata yang bersinonim atau penjelasan yang berbentuk frase, keragaman bentuk kalimat (panjang pendeknya kalimat), penggunaan bentuk kata (me- dan di-), dan dengan mengubah posisi kalimat.
Dengan demikian, sebuah gagasan sebenarnya dapat dituangkan dengan aneka ragam kalimat.
Contoh :
a.       Menulis adalah aktivitas yang mengasyikkan
(menulis menjadi penekanan, penulis = subjek)
b.      Menulis, baik dalam koridor normatif maupun kreatif, merupakan aktivitas yang mngasyikkan.
(menulis dijelaskan dengan frase)
c.       Meskipun banyak aktivitas lain yang menarik, menulis tetap merupakan aktivitas yang mengasyikkan.
(ditulis dalam bentuk kalimat majemuk)
d.      Aktivitas yang mengasyikkan adalah menulis
(mengubah possisi kalimat)
e.       Paralelisme
Paralelisme adalah penempatan gagasan-gagasan yang memiliki fungsi dan esensi yang sama dalam suatu struktur/konstruksi gramatikal yang sama. maksudnya, gagasan-gagasan yang memiliki fungsi dan nilai yang sama ditulis sejajar secara gramatikal.



BAB III
PENUTUP

3.1  Kesimpulan
Dari uraian diatas dapat disimpulkan bahwa diksi adalah pilihan kata yang tepat dan selaras dalam penggunaannya untuk mengungkapkan gagasan sehingga diperoleh efek tertentu seperti yang diharapkan. Dari pernyataan itu tampak bahwa penguasaan kata seseorang akan mempengaruhi kegiatan berbahasanya, termasuk saat yang bersangkutan membuat karangan.
Dalam memilih kata, seorang penulis harus memperhatikan hal-hal yang menjadi syarat dari Diksi, yaitu :
a.    Ketepatan dalam pemilihan kata yang dapat mewakili gagasan penulis dengan benar, sehingga tidak terjadi perbedaan tafsir antara penulis dengan pembaca.
b.   Kesesuaian pemilihan kata yang cocok dengan konteks, seperti situasi pemakaian, sasaran penulis, dan lain-lain.
Kalimat efektif adalah kalimat yang mampu mengantarkan isi dan tujuan komunikasi dengan baik.
Beberapa syarat Kalimat yang Efektif adalah :
1.   Kesatuan Gagasan
2.   Koherensi
3.   Penekanan Bahagian Kalimat
4.   Variasi Kalimat
5.   Paralelisme

Posted By Untari WidiastutiWednesday, March 20, 2013

LISP

Filled under:


LISP


Bahasa pemrograman LISP adalah bahasa pemrograman yang mengikuti kaidah pada Algoritma Euclidean. Bahasa pemrograman ini menggunakan struktur data sederhana yang disebut sebagai list, bersama dengan operator-operator sederhana dan notasi fungsi. Dengan adanya struktur list tersebut, struktur algoritma dalam bahasa pemrograman LISP dapat direpresentasikan dalambentuk pohon (tree).
Struktur Data dalam Pemrograman LISP
Struktur pemrograman LISP terdiri kode-kode dan data yang membentuk suatu ekspresi. Ekspresi ini dapat berupa sebuah atom, yaitu deretan satu atau beberapa karakter, atau sebuah list yang terdiri dari beberapa ekspresi dan boleh kosong. Di bawah ini beberapa contoh ekspresi dalam LISP :
aaa
()
(aaa)
(abc def)
(a b (c) d)
LISP bekerja dengan menempatkan sebuah ekspresi sebagai operator di awal fungsi, dan diikuti oleh argumen-argumen atau operand-operand di belakangnya. Secara umum direpresentasikan sebagai berikut :
(operator operand1 operand2 operand3 ...)
Operand yang dioperasikan dapat berupa sebuah list yang di dalamnya terdapat sebuah fungsi lain. Apabila kita wakilkan operator dengan X dan operand dengan bilangan bulat maka bentuk diatas dapat menjadi sebagai berikut :
(X 1 2 3 ...)
Dimana 1 mengandung (X 4 5 6 ...) dan memberikan bentuk keseluruhan (X (X 4 5 6 ...) 2 3 ...). Ini merupakan konsep yang sama dengan operasi dalam Algoritma Euclidean, sederhana tapi sangat efisien untuk digunakan.
Algoritma Euclidean dalam LISP
Berikut ini adalah realisasi Algoritma Euclidean
dalam notasi pseudo-code [1]:
procedure Euclidean (input m, n : integer, output PBB
: integer)
{
Mencari PBB (m, n) dengan syarat m dan n bilangan
tak negatif dan m ≥ n
Masukan : m dan n, m ≥ n, dan m, n ≥ 0
}
Deklarasi
r : integer
Algoritma
while n ≠ 0 do
r ← m mod n
m ← n
n ← r
endwhile
{
n = 0, maka PBB (m, n) = m
}
PBB ← m
Untuk lebih jelasnya, berikut ini adalah contoh aplikasi algoritma tersebut. Kita berikan masukan untuk algoritma tersebut bilangan integer 50 dan 7.
Maka hasilnya adalah sebagai berikut :
m ← 50
n ← 7
n ≠ 0
r ← 50 mod 7 = 1
m ← 7
n ← 1
n ≠ 0
r ← 7 mod 1 = 0
m ← 1
n ← 0
n = 0
stop
PBB = m
Aplikasi dari Algoritma Euclidean ini dapat kita lihat ketika kita memroses sebuah fungsi dalam LISP dimana operand yang ada mengandung fungsi lain yang harus dioperasikan terlebih dahulu. Kita akan melihat contoh kasusnya pada operasi aritmatika
dengan input berikut :
(+ (- 9 7) (* 1 8))
Struktur Data Tree dalam LISP
Secara umum, bentuk sebuah fungsi dalam LISP adalah sebuah list berisi operand-operand berupa ekspresi, dan kesemua operand tersebut berpusat pada operator yang diletakkan di awal list tersebut. Karena semua operand dioperasikan bergantung pada operator yang ada, maka kita dapat mengandaikan sebuah hubungan subordinasi antara operator dan operand dalam suatu fungsi, dimana operator akan menempati posisi yang lebih tinggi (menjadi “parent”), sedangkan operand menempati posisi yang lebih rendah (menjadi “children”).
LISP menyimpan bentuk data berupa list sebagai bagian dari sebuah pohon dalam komputer dengan setiap elemennya berisi sebuah address dan decrement. Sebuah elemen dalam list dapat kita representasikan sebagai kotak yang mengandung dua elemen tersebut.
Sebuah list dapat diekspresikan dengan menggunakan sebuah pointer yang mengacu pada car (elemen pertama) dari ekspresi list tersebut, dan memberikan pointer yang mengacu pada cdr (elemen sisanya) dari list tersebut. Sebuah list juga dapat mengandung subekspresisubekspresi
yang sama, misalnya ((M .N ) X (M . N).
Dengan hubungan tersebut, sebuah list tidak perlu didefinisikan dua kali. Apabilaterdapat list yang identik dengan list yang telah didefinisikan, maka untuk memanggil list tersebut cukup dengan mengacu kepada pointer tempat list tersebut berada. Sebuah list juga dapat berupa list sirkuler. List seperti ini tidak umum digunakan, tetapi bisa muncul sebagai hasil dari operasi tertentu. Beberapa keuntungan menggunakan struktur data tree seperti ini antara lain :
1. Dengan menggunakan metode susunan tree seperti ini, maka ukuran dan jumlah ekspresi yang akan ditangani oleh program tidak perlu ditentukan dari awal. Struktur data tree ini memungkinkan operasi dengan ekspreseiekspresi yang terus membesar.
2. Register yang sudah selesai digunakan dapat langsung dikosongkan, sehingga dapat menghemat memori yang terpakai saat menjalankan program. Apabila struktur data disimpan secara linier, maka akan sulit untuk ditentukan kapan register yang dipakai di dalam fungsi dapat dikembalikan untuk dipakai dalam proses-proses lain.
3. Sebuah ekspresi yang menjadi subekspresi dari ekspresi lainnya hanya perlu
dialokasikan sekali saja.
Salah satu kekuatan dalam bahasa pemrograman LISP adalah kemampuan untuk menerima definisi fungsi yang menggunakan fungsi dari dirinya sendiri. Fungsi seperti ini disebut fungsi rekursif. Hal seperti ini bisa dilakukan dengan memanggil nama atau label dari fungsi tersebut (apabila telah didefinisikan sebelumnya) di dalam fungsi itu sendiri, atau dengan cara tidak langsung, menggunakan definisi fungsi berantai yang akan berujung pada fungsi-fungsi yang asli. Fungsi ini mengikuti kaidah Algoritma Euclidean dimana fungsi tersebut akan mengulangi dirinya sendiri terhadap hasil operasinya apabila hasil yang diinginkan belum terpenuhi. Penggunaan fungsi rekursif ini sangat efisien, karena kita tidak perlu mendefinisikan fungsi baru untuk menjalankan proses yang sama berulangkali. Dengan demikian proses coding dapat dipercepat dan memori yang diperlukan untuk menyimpan program dapat dihemat.
Salah satu contoh penggunaan fungsi rekursif ada pada fungsi pencarian/search. Berikut ini contoh fungsi search sederhana sebuah atom dalam sebuah list menggunakan fungsi car dan cdr dalam LISP. Fungsi car adalah fungsi yang akan mengembalikan elemen pertama dari suatu list. Elemen pertama tersebut adalah ekspresi yang berupa atom ataupun list. Sedangkan fungsi cdr adalah kebalikan dari fungsi car. Fungsi cdr akan mengembalikan nilai suatu list kecuali elemen pertamanya. Fungsi search dalam notasi pseudo-code adalah sebagai berikut.
function search (input x : list, y : atom output :
boolean)
while search ← false do
car x
if car x = y then
true
{
Mengembalikan nilai true apabila nilai y
yang dicari terdapat dalam car x
}
else
search cdr x
{
Melakukan search terhadap elemen sisanya
apabila y belum didapati
}

Fungsi search di atas akan mencocokkan atom pertama yang ditemukan dalam list yang dioperasikan dengan atom y yang dicari. Apabila atom y tersebut sama dengan elemen pertama dari list, maka fungsi akan mengembalikan nilai true. Sedangkan apabila atom y belum ditemukan, maka fungsi akan mencari di dalam sisa dari list tersebut setelah diambil atom pertamanya pada operasi sebelumnya.

Posted By Untari WidiastutiWednesday, March 20, 2013

Programming Logic

Filled under:


PROLOG

Nama Prolog merupakan singkatan dari "Programming in Logic". Ide untuk mengembangkan pemrograman dalam logika, pertama kali dilakukan oleh Robert Kowalski di Edinburgh, Skotlandia pada tahun 1970-an. Ia mengembangkan pemrograman tersebut secara teoritis yang kemudian dilanjutkan dalam demonstrasi eksperimen oleh Maarten van Emden, juga dari Edinburgh. Kemudian Alain Colmerauer dari Marseilles, Perancis membuat implementasinya.
fakta dan aturan untuk selanjutnya diselesaikan oleh Prolog secara deduktif sehingga menghasilkan suatu kesimpulan. Hal ini berbeda dengan bahasa procedural seperti Pascal, Fortran, C, atau yang sejenis, dimana pemrogram memberi perintah atau penugasan untuk memecahkan persoalan langkah demi langkah, sehingga sering disebut sebagai programming with assignment. Disamping itu, berbeda dengan pemrograman fungsional, pemrograman logika ini menggunakan relasi, bukan fungsi sehingga sangat sesuai untuk implementasi sistem pakar.
LOGIKA PREDIKAT
Logika predikat (kalkulus predikat) merupakan bagian dari komputasi logika yang juga mencakup aljabar Boole (logika proposisional), dimana fakta dan aturan dinyatakan melalui predikat seperti:
lelaki(Joko) // fakta
menikah(Joko, Tuti) // fakta
x y [menikah(x,y) lelaki(x)] ~ lelaki(y) // aturan
y x [orang(y) ibu(x,y) // aturan
Kalimat pertama menunjukkan adanya fakta bahwa Joko adalah seorang lelaki, dan kalimat kedua menyatakan bahwa Joko menikah dengan Tuti. Kalimat ketiga dan keempat menunjukkan suatu aturan atau kaidah yang umum berlaku, bahwa untuk setiap pasang orang x dan y, jika x menikah dengan y dan x adalah lelaki, maka dapat dipastikan bahwa y adalah bukan seorang lelaki. Sedangkan kalimat terakhir manyatakan bahwa untuk setiap y, ada x sehingga jika y adalah orang maka y mempunyai seorang ibu x (x ibu dari y).
Simbol predikat yang digunakan dalam kalimat-kalimat tersebut adalah lelaki, menikah, orang, dan ibu yang sering disebut sebagai relasi, sedangkan Joko dan Tuti disebut sebagai simbol konstanta.


BAHASA DEKLARATIF
Seperti yang dijelaskan sebelumnya bahwa pokok perbedaan Prolog dari bahasa lain adalah karena bersifat deskriptif atau deklaratif, sedang bahasa lain umumnya bersifat prosedural atau imperatif. Sebagai bukti bahwa Prolog merupakan bahasa deklaratif adalah dalam menyatakan fakta dan aturan seperti berikut:
1. Jika ingin menyatakan bahwa Prawiro adalah bapak dari Joko, maka dalam Prolog
dituliskan sebagai:
bapak(prawiro, joko).
2. Jika ingin menerangkan suatu kaidah bahwa A adalah kakek dari Z maka harus dibuat dahulu logika dalam bahasa Indonesia sehingga menjadi suatu aturan seperti berikut:
A adalah kakek dari Z jika A adalah bapak dari X dan X adalah bapak Z
atau
A adalah kakek dari Z jika A adalah bapak dari X dan X adalah ibu Z
Aturan tersebut ditulis dalam Prolog sebagai:
kakek(A,Z) :- bapak(A,X), bapak(X,Z).
kakek(A,Z) :- bapak(A,X), ibu(X,Z).
DASAR PEMROGRAMAN PROLOG
Pada bagian ini akan diuraikan dasar-dasar pemrograman Prolog, aturan umum penulisan
program, bagaimana melakukan dialog dengan Prolog, dan beberapa pengertian dasar
yang berkaitan dengan program Prolog.
Fakta
Fakta adalah suatu kenyataan atau kebenaran yang diketahui, dan menyatakan hubungan (relasi) antara dua atau lebih obyek. Fakta dapat pula menunjukkan sifat suatu obyek.
Aturan
Aturan merupakan logika yang dirumuskan dalam bentuk relasi sebab-akibat dan
hubungan implikasi. Misalnya dapat dibuat aturan bahwa jika A adalah bapak dari X dan
X adalah bapak atau ibu dari Z maka dapat dipastikan bahwa A adalah kakek dari Z.
Contoh untuk ini adalah:
kakek(A,Z) :- bapak(A,X), bapak(X,Z).
kakek(A,Z) :- bapak(A,X), ibu(X,Z).
Klausa (clause)
Aturan yang ditulis ini berupa klausa (clause) dan terdiri dari kepala (kakek) dan tubuhyang dipisahkan oleh tanda :- (bapak dan ibu). Klausa adalah suatu frase (ungkapan) atau susunan kata yang di dalam Prolog dapat berupa fakta atau aturan, yang selalu diakhiri dengan tanda titik (.). Suatu tubuh klausa dapa terdiri dari beberapa sub-klausa yang dihubungkan satu sama lain menggunakan tanda koma (,) yang berarti hubungan and dan tanda titik koma (;) yang menunjukkan hubungan or. Penggabungan dalam tubuh klausa yang dirangkai dengan and disebut sebagai konjungsi, sedangkan jika dirangkai dengan or disebut disjungsi. Berikut disajikan contoh penggabungan disjungsi
untuk menuliskan aturan kakek sebelumnya:
orangtua(P,Q) :- bapak(P,Q); ibu(P,Q).
kakek(A,Z) :- bapak(A,X), orangtua(X,Z).
Relasi
Relasi adalah tabel dengan n buah kolom dan terdiri dari beberapa baris fakta maupun aturan. Secara umum, suatu relasi dinyatakan dalam bentuk aturan atau fakta sebagai berikut:
P if Q1 and Q2 and ... and Qk untuk k>= 0
Sedangkan dalam notasi EBNF dapat dituliskan sebagai:
Rule::=Term:-Term {Term}
Term::=Number|Atom|Var|Atom(Term)
Term::=Term{Term}
atau dalam Prolog ditulis sebagai:
P:-Q1,Q2,...,Qk
Fakta adalah aturan untuk k=0, artinya fakta selalu berlaku tanpa harus memenuhi
kondisi tertentu, atau
Fact::=Term.
Variabel
Argumen suatu predikat dapat berupa konstanta (atom), variabel, atau obyek lain. Atom disebut juga sebagai obyek nyata, sedangkan variabel disebut obyek umum. Suatu atom, variabel, atau obyek lain dalam Prolog disebut term, sehingga argumen selalu berupa term.
Dalam Prolog terdapat dua variabel, yaitu:
1. Variabel bernama, yaitu variabel yang diberi nama seperti X, Orang, dan sebagainya
2. Variabel tak bernama (placeholder), dilambangkan dengan tanda garis bawah (_).
Setiap term yang ditulis dengan awalan huruf kapital selalu dianggap sebagai variable bernama dalam Prolog, sedangkan awalan dengan huruf kecil dianggap sebagai suatu relasi atau konstanta. Variabel tak bernama digunakan untuk mengabaikan nilai suatu variabel, yang berarti bisa bernilai apa saja. Berikut adalah contoh penggunaan variable bernama dan tidak bernama.
member(X,[X|_]).
member(X,[_|Y]):-member(X,Y).
QUERIES
Query atau pertanyaan digunakan untuk memperoleh jawaban dari suatu problem (secara deduktif). Dalam notasi EBNF, query didefinisikan sebagai:
Query::=Term {Term}
sedangkan dalam Prolog, query dinyatakan dalam goal. Ada dua jenis goal, yaitu internal yang dituliskan langsung di dalam tubuh program, sedangkan goal eksternal dituliskan di luar program dan diberikan pada saat program dijalankan. Berikut ini beberapa contoh goal:
Contoh 1 (goal internal)
father(Bapak,Chris), write(Bapak)
grandfather(Kakek,Chris), write(kakek)

Posted By Untari WidiastutiWednesday, March 20, 2013