Natural Language Programming (NPL)

BAHASA NATURAL, ALAMI – NATURAL LANGUAGE



            Bahasa Natural merupakan cara penyajian suatu algoritma yang paling sederhana dan paling mudah dimengerti (bagi saya dan mungkin, kebanyakan dari mereka yang baru belajar algoritma). Mengapa?
Mungkin karena Bahasa Natural  adalah bahasa yang biasa kita gunakan sehari – hari namun tetap sesuai dengan kaidah bahasa yang baku. Ada beberapa hal yang perlu diperhatikan jika kita akan menyajikan suatu algoritma sebuah program dengan bahasa natural, antara lain Start dan End yang harus dituliskan secara explisit. Sepengalaman saya dalam menggunakan Bahasa Natural, Start biasanya dituliskan sebagai ‘inisialisasi’ atau ‘Mulai’ dan merupakan langkah pertama dalam algoritma, sedangkan End sendiri
dituliskan sebagai ‘selesai’ dan dituliskan pada akhir algoritma. Namun sebenarnya tidak ada aturan baku dalam hal penamaan lain dari Start dan End itu sendiri, jadi terserah namun tetap mengandung arti/maksud yang sama.

             Pada artikel sebelumnya telah kita bahas mengenai dasar algoritma dan sedikit tentang cara penyajiannya. Pada artikel lanjutan kali ini, kita akan bahas lebih detail lagi tentang cara penyajian algoritma,
yang meliputi Natural Language (Bahasa Natural, alami), Flowchart, Pseudo-code, serta langsung dengan  Bahasa Pemrograman tertentu. Sekali lagi saya tekankan bahwa yang kita bahas, yaitu Algoritma, sangat penting perannya dalam Pemrograman Komputer. bisa dikatakan bahwa Algoritma merupakan inti dari Pemrograman itu sendiri.
Jadi, sangat disarankan untuk lebih serius dalam mempelajari Algoritma dalam hubungannya dengan Pemrograman Komputer ini. Dalam contoh – contoh di bawah ini mungkin terdapat beberapa istilah yang belum pernah di dengar, seperti variabel, konstanta, dll. Variabel/ variable sendiri adalah sejumlah alokasi space memori yang digunakan untuk menyimpan sebuah data secara sementara, dan nilainya dapat diubah – ubah. Sedangkan konstanta mirip dengan variabel, namun nilainya tetap tidak dapat diubah selama program berjalan.
Oke, tanpa berpanjang kata lagi, langsung aja kita bahas satu per satu cara penyajian algoritma ini.  

        Salah satu contoh sederhana adalah algoritma untuk menentukan sebuah bilangan adalah ganjil atau genap (mungkin ini adalah contoh/ latihan pertama Anda waktu belajar algoritma di kampus, hahaha..).
Jadi diberikan input sebuah bilangan dari user, dan program akan secara otomatis menentukan dan memberikan output berupa informasi genap atau ganjil. Coba perhatikan :

1.  Inisialisasi
2.  Input sebuah bilangan, masukkan ke dalam sebuah variabel, misalkan saja bil.
3.  Apakah bil modulus 2 sama dengan nol?
-  Jika ya, maka bilangan tersebut adalah bilangan genap.
-  Jika tidak, maka sudah dapat dipastikan bahwa bilangan tersebut adalah bilangan ganjil.
4.  Tampilkan jenis bilangan (genap, atau ganjil).
5.  Apakah ingin mengulang proses?
-  Jika ya, kembali ke langkah 2.
-  Jika tidak, langsung ke langkah 5 (selesai).
5.  Selesai.

             Contoh di atas sangat sederhana, dan sangat mudah untuk dimengerti. Mungkin ada yang belum tahu modulus? Bagi yang belum tahu, sekarang saya kasih tahu.. Jadi modulus itu adalah sisa hasil pembagian. Apa hubungannya sama genap ganjil? Oke, jadi yang namanya bilangan genap adalah bilangan yang habis dibagi oleh 2, atau dengan kata lain, sisa pembagiannya adalah nol. Nah, jika ada bilangan yang dimoduluskan dengan 2 hasilnya engga nol, sudah pasti bilangan tersebut adalah ganjil. Hampir seluruh bahasa pemrograman sudah menyediakan operator modulus ini secara built-in. Biasanya dilambangkan dengan simbol persen (%) –> 3 % 2 == 1. Kalo 5 % 3 == ?? bisa ngitung kan? :-p
Untuk Bahasa Natural, saya rasa cukup segitu aja. Menurut pengalaman, saya jarang disuru buat algoritma dengan bahasa natural, lebih sering dengan menggunakan Flowchart. Tapi tetap cara ini harus dikuasai dengan baik!


 ISI :

Natural language programming - Pemrograman Bahasa Alami (NLP) - adalah cara ontologi-dibantu pemrograman dalam hal kalimat bahasa alam, misalnya Bahasa Inggris. Sebuah dokumen terstruktur dengan Content, bagian dan sub-bagian untuk penjelasan kalimat bentuk dokumen NLP, yang sebenarnya adalah sebuah program komputer. Sebuah contoh dari pemrograman bahasa alami adalah dalam "sEnglish" yang pendek untuk "sistem bahasa Inggris".

Unit terkecil dari pernyataan di NLP adalah kalimat. Setiap kalimat dinyatakan dalam bentuk konsep dari ontologi yang mendasari, atribut dalam ontologi itu dan nama benda-benda dalam huruf kapital. Dalam sebuah teks NLP setiap kalimat jelas kompilasi menjadi panggilan prosedur dalam bahasa pemrograman yang mendasari tingkat tinggi seperti [[MATLAB]], [[Oktaf]], [[Scilab]], [[Python (bahasa pemrograman) | Python]] , dll

Bahasa simbolik seperti [[Mathematica]] mampu [bahasa Diartikan [| ditafsirkan]] pengolahan pertanyaan oleh kalimat. Hal ini dapat memungkinkan permintaan interaktif seperti yang diterapkan di [[Wolfram Alpha]] (lihat link eksternal). Perbedaan antara dan NLP adalah bahwa yang kedua membangun sebuah program tunggal atau perpustakaan rutinitas yang diprogram melalui kalimat bahasa alam dengan menggunakan ontologi yang mendefinisikan struktur data yang tersedia dalam bahasa pemrograman tingkat tinggi.

Sebuah teks contoh dari program bahasa NLP Inggris (dalam sEnglish) adalah sebagai berikut:

yang mendefinisikan skema kontrol umpan balik menggunakan [[sliding mode kontrol]] metode. Catatan ini menjelaskan NLP dalam bentuk umum, tanpa spesifik tentang bahasa pemrograman tingkat tinggi yang mendasari.


Mengapa menuliskan NLP ?

Program bahasa Alam gunakan kalimat, seksi, sub seksi, bagian ontologi deskripsi, referensi dan data meta pada penulis, sama seperti dokumen biasa. Oleh karena itu NLPs sama dalam tampilannya manual administratif atau teknis, publikasi teknik atau ilmu pengetahuan, dan dapat digunakan sebagai demikian. Keuntungan ditambahkan adalah, relatif terhadap dokumen biasa, bahwa NLP dokumen juga dapat diinterpretasikan oleh agen perangkat lunak yang sesuai bahwa mesin kontrol.


Apakah paradigma perangkat lunak NLP?

Bahasa pemrograman Alam adalah metode top down penulisan perangkat lunak. Tahapan nya adalah sebagai berikut:
·            Definisi dari sebuah [ontologi []] - taksonomi - konsep yang diperlukan untuk menggambarkan tugas-tugas dalam topik ditangani. Setiap konsep dan semua atribut mereka didefinisikan dalam kata-kata bahasa alami. Ontologi ini akan menentukan struktur data yang NLP dapat digunakan dalam kalimat.
·            Definisi dari satu atau lebih kalimat tingkat atas dalam hal konsep-konsep dari ontologi. Ini kalimat yang kemudian digunakan untuk memanggil kegiatan yang paling penting dalam topik.
·            Mendefinisikan dari masing-masing kalimat tingkat atas dalam hal urutan kalimat.
·            Mendefinisikan setiap kalimat tingkat yang lebih rendah dalam hal kalimat lain atau kalimat sederhana dari kode Jalankan bentuk'''"...". '''dimana ... singkatan kode dalam bahasa pemrograman tingkat tinggi yang terkait.
·            Mengulangi langkah sebelumnya sampai Anda tidak memiliki kalimat tersisa tidak terdefinisi. Selama proses ini masing-masing kalimat dapat digolongkan milik satu bagian dari dokumen yang akan dihasilkan dalam HTML atau format Lateks untuk membentuk program NLP akhir.
·            Pengujian arti setiap kalimat dengan menjalankan kode dengan menggunakan benda uji.
·            Menyediakan perpustakaan panggilan prosedur (dalam bahasa yang mendasari tingkat tinggi) yang diperlukan dalam kode definisi dari beberapa makna rendah tingkat-kalimat.
·            Memberikan judul, data penulis dan menyusun kalimat menjadi sebuah [[HTML]] atau [[LaTeX]] file.
·            Penerbitan program NLP sebagai halaman web di Internet atau sebagai file [[PDF]] dikompilasi dari dokumen LaTeX.


Berapa nilai publikasi program NLP dan dokumen?

Sebuah program NLP adalah suatu [[formal]] tepat keterangan beberapa prosedur yang dibuat penulisnya. Hal ini dapat dibaca manusia dan juga dapat dibaca oleh agen perangkat lunak yang sesuai. Sebagai contoh sebuah halaman web dalam format NLP dapat dibaca oleh perangkat lunak [[asisten] pribadi] agen untuk seseorang dan dia atau dia dapat meminta agen untuk menjalankan beberapa kalimat, yaitu melakukan beberapa tugas atau menjawab pertanyaan. Ada pembaca''agen''tersedia untuk interpretasi sEnglish dokumen HTML NLP berdasarkan bahwa seseorang bisa berjalan di pribadi komputer nya.


Apa kontribusi program NLP untuk''pengetahuan mesin”?

Kelas ontologi dalam sebuah program bahasa alam yang bukan merupakan konsep dalam arti sebagai manusia menggunakan konsep-konsep. Konsep dalam NLP adalah contoh (sampel) konsep manusia generik. Setiap kalimat dalam program NLP adalah baik (1) yang menyatakan hubungan dalam suatu model dunia atau (2) melakukan tindakan di lingkungan atau (3) melakukan prosedur komputasi atau (4) atau memanggil mekanisme menjawab dalam menanggapi pertanyaan.
Satu set kalimat NLP, dengan ontologi terkait didefinisikan, juga dapat digunakan sebagai [pseudo kode []] yang tidak memberikan rincian dalam bahasa pemrograman tingkat tinggi yang mendasari. Dalam aplikasi kalimat-kalimat yang digunakan menjadi abstraksi tingkat tinggi (conceptualisations) dari komputasi prosedur yang bahasa komputer dan mesin independen.

Artikel Terkait



3 komentar:

gatewan.com mengatakan...

pranala -> STRUKTUR DASAR ALGORITMA PEMROGRAMAN

NLP SEMARANG mengatakan...

Setau saya N itu Neuro . ternyata N juga bisa diartikan sebagai Natural

NLP SURABAYA

Nasi Kotak Semarang mengatakan...

manajemen pikiran :)

Posting Komentar

Jadilah pengunjung yang aktif, komentar anda sangat berarti.