Author: tiapop

Declarative and Imperative Programming

Posted on Updated on


Declarative Programming (What)

Declarative programming adalah sebuah paradigma pemrograman yang mengungkapkan logika dari sebuah komputasi tanpa menggambarkan aliran kontrol.

Declarative Programming sering menganggap teori-teori logika formal, dan perhitungan seperti pemotongan dalam ruang logika. Pemrograman deklaratif telah menjadi kepentingan tertentu baru-baru ini, karena dapat sangat menyederhanakan penulisan program paralel.

Hal ini kontras dengan pemrograman imperatif, yang memerlukan algoritma yang diberikan secara eksplisit.

Declarative Programming lebih mendeskripsikan apa yang program dapat kerjakan, daripada

Bagaimana untuk menyelesaikannya

Contoh:

* Program yang menjelaskan apa yang harus dilakukan perhitungan dan bukan bagaimana untuk menghitung itu

* Setiap bahasa pemrograman yang tidak memiliki efek samping (atau lebih spesifik, adalah referentially transparan)

Common bahasa deklaratif termasuk orang-orang ekspresi reguler, logika pemrograman, dan pemrograman fungsional.

an umbrella term that includes a number of other programming paradigms:

1. Functional programming

Functional programming adalah paradigma programming yang melakukan komputasi sebagai evaluasi dari mathematical functions dan menghindari keadaan (state) dan perubahan (mutable) data. Penekanan aplikasi daari functions, sangat kontras dengan gaya imperative programming, yang menekannkan perubahan keadaan (state)

Functional programming, dan khususnya pemrograman fungsional murni, adalah upaya untuk mengurangi atau menghilangkanefek samping, maka dianggap deklarative.

Functional programming juga digunakan dalam industry domain-specific programming language seperti R (statistics), Matematika (simbolik matematika), J and K (financial analysis), dan XSLT (XML). Widespread declarative domain spesific languages seperti SQL dan Lex/Yacc, menggunakan beberapa element dari functional progrmmaing, khususnya dalam menjauhkan perubahan nilai. Spreadsheets dapat juga ditampilkan sebagai functional programming language.

2. Logic programming

Logic programming, dalam arti luas, adalah penggunaan logika matematis untuk

pemrograman komputer. Logika digunakan sebagai declarative representation language murni, dan teorema-prover atau model-generator digunakan sebagai pemecah masalah. Pemecahan masalah tugas dibagi antara para programmer, yang bertanggung jawab hanya untuk memastikan kebenaran program dinyatakan dalam bentuk logis, dan teorema-prover atau model-generator, yang bertanggung jawab untuk memecahkan masalah secara efisien.

Namun, logic programming, dalam arti sempit adalah menggunakan logic baik sebagai declarative dan procedural representation language. Hal ini didasarkan pada fakta bahwa backwards reasoning theorema-prover diterapkan pada kalimat deklaratif dalam bentuk implikasi:

Contoh

Jika B1 dan … dan Bn kemudian H

memperlakukan implikasi pengurangan tujuan-prosedur:
untuk menampilkan / memecahkan H, menampilkan / memecahkan B1 dan … dan Bn.

Misalnya, memperlakukan implikasi:
Jika Anda menekan tombol sinyal alarm,
maka Anda siaga sopir kereta api dari kemungkinan darurat

sebagai prosedur:
Untuk memperingatkan pengemudi kereta dari kemungkinan darurat,
tekan tombol sinyal alarm.

3. Constraint programming

Dalam Constraint programming hubungan antara variable-variabel dinyatakan dalam bentuk kendala, menentukan properti dari solusi dapat ditemukan. Himpunan knedala ini dipecahkan dengan memberi nilai untuk setiap variabel solusi sehingga konsisten dengan jumlah kendala.

Constraint programming sering digunakan sebagai pelengkap paradigma lain :  functional, logical atau bahkan imperative programming.

4. Domain-specific languages

  • Contoh Bahasa Declarative

–        regular expressions,

–        a subset of SQL,

–        CSS,

–        HTML,

–        MXML,

–        XAML,

–        XSLT,

–        SVG

5. Hybrid languages

Makefiles, sebagai contoh, menetapkan dependensi dalam declarative fashion, tetapi mencakup daftar imperatif untuk mengambil tindakan juga. Demikian pula, yacc menetapkantata bahasa bebas konteks declaratively, tetapi termasuk potongan kode dari sebuah host bahasa, yang biasanya penting (seperti C).

Pemrograman deklaratif program sering menganggap teori-teori logika formal, dan perhitungan seperti pemotongan dalam ruang logika. Pemrograman deklaratif telah menjadi kepentingan tertentu baru-baru ini, karena dapat sangat menyederhanakan penulisan program paralel.

Imperative Programming (How)

Imperative programming adalah paradigma programming yang mendeskripsikan komputasi dalam terminologi pernayataan yang merubah program state (keadaan). Dengan kata lain imperative mood dalam bahasa biasa mengekspresikan perintah untuk melakukan aksi, imperative programs mendefinisikan urutan dari perintah untuk komputer agar bisa dieksekusi.

Terminasi yang digunakan berbeda dengan declarative programming, yang mengekspresikan apa yang ingin dikerjakan, tanpa meresepkan bagaimana untuk melakukannya dari rangkaian aksi yang diterima.

Functional dan logical programming adalah contoh pendekatan declarative.

Contoh Procedural Programming Languages additional imperative programming languages.

–          C++

–          Perl

–          Python

–          PHP

–          Java

–          Ruby

Procedural Programming

Prosedural programming adalah imperative programming dalam program yang dibangun dari satu atau lebih procedure (juga dikenal sebagai subroutines atau functions).

Procedural programming dapat dipertimbangkan sebagai langkah ke arah declarative programming. Programmer sering menyebutkan, sederhana dari melihat nama, arguments dan pengembalian tipe dari procedure (dan related comments), keterangan procedure mengharuskan untuk melakukan tanpa perlu melihat detail dari bagaimana procedure untuk mencapai hasil tersebut. Dalam waktu yang sama, program lengkap masih imperative karena ia mengatur pernyataan untuk dieksekusi dan memerintah eksekusi untuk lebih luas lagi.

Declarative dan Imperative Programming

Posted on Updated on


Teman-teman, maaf karena pakenya inggris soalnya dapet referensi nya bahasa inggris. Takutnya kalau di translete malah kurang bener maksud yang seharusnya.

Deklarative Programming (What)

declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow.

Declarative programming is a non-imperative style of programming in which programs describe the desired results of the program, without explicitly listing command or steps that need to be carried out to achieve the results.

Functional and logical programming languages are characterized by a declarative programming style.

Sebagai contoh :

–          A program that describes what computation should be performed and not how to compute it

–          Any programming language that lacks side effects (or more specifically, is referentially transparent)

–          A language with a clear correspondence to mathematical logic.

Common declarative languages include those of regular expressions, logic programming, and functional programming.

Declarative programming is an umbrella term that includes a number of better-known programming paradigms.

1. Functional programming

functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.

Functional programming has its roots in the lambda calculus, a formal system developed in the 1930s to investigate function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus.

Functional programming, and in particular purely functional programming, attempts to minimize or eliminate side effects, and is therefore considered declarative. Most functional languages, however, do permit side effects in practice.

Functional programming also finds use in industry through domain-specific programming languages like R (statistics), Mathematica (symbolic math), J and K (financial analysis)], and XSLT (XML). Widespread declarative domain specific languages like SQL and Lex/Yacc, use some elements of functional programming, especially in eschewing mutable values. Spreadsheets can also be viewed as functional programming languages.

2. Logic programming

Logic programming languages such as Prolog state and query relations. The specifics of how these queries are answered is up to the implementation and its theorem prover, but typically take the form of some sort of unification. Like functional programming, many logic programming languages permit side effects, and as a result are not strictly declarative.

Logic programming is, in its broadest sense, the use of mathematical logic for computer programming. Logic is used as a purely declarative representation language, and a theorem-prover or model-generator is used as the problem-solver. The problem-solving task is split between the programmer, who is responsible only for ensuring the truth of programs expressed in logical form, and the theorem-prover or model-generator, which is responsible for solving problems efficiently.

However, logic programming, in the narrower sense in which it is more commonly understood, is the use of logic as both a declarative and procedural representation language. It is based upon the fact that a backwards reasoning theorem-prover applied to declarative sentences in the form of implications:

If B1 and … and Bn then H

treats the implications as goal-reduction procedures:

to show/solve H, show/solve B1 and … and Bn.

For example, it treats the implication:

If you press the alarm signal button,

then you alert the driver of the train of a possible emergency

as the procedure:

To alert the driver of the train of a possible emergency,

press the alarm signal button.

3. Constraint programming

In Constraint programming relations between variables are stated in the form of constraints, specifying the properties of a solution to be found. The set of constraints is then solved by giving a value to each variable so that the solution is consistent with the maximum number of constraints.

Constraint programming is often used as a complement to other paradigms: functional, logical or even imperative programming.

4. Domain-specific languages

Some well-known examples of declarative domain specific languages (DSLs) include regular expressions, CSS, and a subset of SQL (SELECT queries, for example). DSLs have the advantage of being useful while not necessarily needing to be Turing-complete, which makes it easier for a language to be purely declarative.

Many markup languages such as HTML, MXML, XAML, XSLT, SVG or other user interface markup languages are often declarative. HTML, for example, only describes what should appear on a webpage and doesn’t specify the possible interactions with it.

Some software systems now combine traditional user interface markup languages such as HTML with declarative markup that defines what (but not how) the back-end server systems should do to support the declared interface. Such systems, typically using a domain specific XML namespace, include abstractions of SQL database syntax or parameterised calls to web services using REST and SOAP.

5. Hybrid languages

Makefiles, for example, specify dependencies in a declarative fashion , but include an imperative list of actions to take as well. Similarly, yacc specifies a context free grammar declaratively, but includes code snippets from a host language, which is usually imperative (such as C).

Imperative programming (How)

imperative programming is a programming paradigm that describes computation in terms of statements that change a program state. In much the same way that imperative mood in natural languages expresses commands to take action, imperative programs define sequences of commands for the computer to perform.

The term is used in opposition to declarative programming, which expresses what needs to be done, without prescribing how to do it in terms of sequences of actions to be taken. Functional and logical programming are examples of a more declarative approach.

Imperative, procedural, and declarative programming

Procedural programming is imperative programming in which the program is built from one or more procedures (also known as subroutines or functions). The terms are often used as synonyms, but the use of procedures has a dramatic effect on how imperative programs appear and how they are constructed. Heavily procedural programming, in which state changes are localized to procedures or restricted to explicit arguments and returns from procedures, is known as structured programming. From the 1960s onwards, structured programming and modular programming in general, have been promoted as techniques to improve the maintainability and overall quality of imperative programs. Object-oriented programming extends this approach.

Procedural programming could be considered as a step towards declarative programming. A programmer can often tell, simply by looking at the names, arguments and return types of procedures (and related comments), what a particular procedure is supposed to do – without necessarily looking at the detail of how the procedure achieves its result. At the same time, a complete program is still imperative since it ‘fixes’ the statements to be executed and their order of execution to a large extent.

Seberapa Yakin Kamu Bisa ??

Posted on Updated on


Temen-temen, misalnya kalau kalian tuh dapet tes wawancara untuk masuk universitas yang kalian ingin kan. (Universitas nya semacam ikatan dinas yang melalui beberapa tahap, mulai dari tes akademik, psikotest, test kesehatan, hingga pantukhir)

Nah kalau kalian dihadapkan dengan pertanyaan :

Seberapa besar kamu yakin untuk masuk, diterima kuliah disini ??

Nah apa sih jawaban kaliaan ?! ada yang mau berpendapat ??!!

Silahkan

Nah saat ditanya kayak gitu posisi gue cukup tertekan, karena pertanyaan tersebut dilontarkan saat wawancara psikotest (2 hari sebelumnya ada tes psikologi tertulis, dan sekarang test psikologi wawancaranya), jadi gue tuh ditanya langsung sama psikolognya. Tentu untuk ngejawabnya tuh gak bisa asal bunyi aja, karena jawaban kita tuh kan diperhitungkan untuk menentukan akan diloloskan untuk ke tahap selanjutnya atau tidak.(Tes psikologi ini adalah tahap dua, test tahap pertama adalah test akademik, kayak pelajaran IPA, Matematika, Bahasa)

Udah gitu, gue kan test nya di luar kota (Bogor) sedangkan gue kan tinggal di Bandung. Jadi mau gak mau gue untuk beberapa hari tinggal di sekitar kampus tersebut, dan juga bergaul dengan kawan-kawan seperjuangan yang mau masuk ke kampus tersebut.

Disitu sedikit banyak gue mengenal karakter kawan-kawan seperjuangan tersebut. Gue ambil kesimpulan bahwa mereka semua yang ada disini sekarang tuh adalah orang-orang yang tangguh, gimana enggak ?!, Para peserta yang lolos untuk ikut seleksi tahap dua ini ada sekitar 400 orang, dari 1000 peserta yang diseleksi dari tahap satu. Yah kalau gue ngobrol-ngobrol ama mereka, mereka tuh termasuk orang yang berprestasi terus-terusan di sekolahnya, sedangkan gue.? Yah di ambang-ambang gitu deh, tapi tetep optimis donk, udah sampai ke tahap ini..

Jadi mereka semua bukan orang-orang sembarangan deh, sehingga sulit banget rasanya untuk ngejawab pertanyaan tersebut.

Setelah melalui pemikiran panjang akhirnya gue jawab juga :

Mmmmm,, menurut saya, Seberapa yakinkah saya masuk diterima di kampus ini. saya optimis untuk bisa diterima di kampus ini, karena saya sampai disini pun dengan penuh perjuangan, saya pun berusaha penuh untuk bisa sampai ke tahap ini. Saya gak main-main lho untuk ingin masuk di tempat ini,

tapi saya gak bisa mengatakan seberapa besar keyakinan saya untuk masuk disini. Karena saya tidak kemampuan temen-temen lainnya yang berjuang sampai sini. Apakah kemampuan mereka lebih baik atau tidak. Yang jelas saya optimis karena saya sudah berusaha sebisa saya mampu untuk dapat lolos lagi ketahap berikutnya.

Tiba- Tiba Amnesia

Posted on


Sekarang ini gw mulai tertarik dengan dunia tulis menulis, tapi gw bingung juga apa yang akan gw tulis. Sebenernya dalam kepala ini kayaknya banyak ide yang ingin dijadiin tulisan. Tapi giliran udah bersiap untuk menumpahkan ide dalam bentuk tulisan, tiba-tiba jadi merasa amnesia. Tiba-tiba jadi bingung tadi mau ceritain apaaa gitu. Ampun deh .. Parah

Tapi gak apalah karena sebagai pemula, memang masih banyak yang perlu dipelajari lagi, harus bertahap untuk bisa jadi orang yang dengan mudahnya menuangkan ide-ide yang ada di kepala ke dalam sebuah tulisan. Yaa semoga aja makin lama makin terbiasa untuk menceritakan apa yang ada di kepala ini kedalam sebuah tulisan.

Syukurilah Apa yang Kita Punya

Posted on Updated on


Apa yang kita punya saat ini sudah sepatutnya kita syukuri, karena sebenarnya apa yang kita punya itu sudah hal yang lebih baik yang dikasih Allah ke kita.

Kadang kita suka berfikir gak puas dengan apa yang telah kita capai, tapi sebenarnya hal itu sangat salah.

Jadi syukurilah apa yang udah kita punya, terkadang kita juga sering berpikir coba kalau gini, coba kala gitu. Padahal kalau yang gini atau yang gitu yang terjadi belum tentu itu yang lebih baik.

Pentingnya Seni Berbicara (Retorika)

Posted on Updated on


Retorika dan Berbicara

Terkadang kita sering tidak sadar seberapa pentinghkah berbicara dalam kehidupan kita. Banyak orang berbicara semaunya, seenaknya tanpa memikirkan apa isi dari pembicaraan mereka tersebut. Sebenarnya berbicara mempunyai artian mengucapkan kata atau kalimat kepada seseorang atau sekelompok orang, untuk mencapai tujuan tertentu (misalnya memberikan informasi atau memberi motivasi). Tapi sering kali kita mengalami kesulitan dalam mengungkapakan maksud dan isi pikiran kita kepada orang lain. Bahkan sering pula maksud yang kita sampaikan berbeda dengan yang ditangkap oleh pendengar.

Oleh karena itu berbicara sangatlah penting karena yang membedakan manusia dari hewan maupun makhluk lainnya adalah kesanggupan berbicara. Manusia adalah makhluk yang sanggup berkomunikasi lewat bahasa dan berbicara. Tetapi yang lebih mencirikan hakikat manusia sebagai manusia penuh adalah kepandaian dan keterampilan dalam berbicara. Pengetahuan bahasa saja belum cukup! Kebesaran dan kehebatan seseorang sebagai manusia juga ditentukan oleh kepandaiannya dalam berbahasa, oleh keterampilannya dalam mengungkapkan pikiran secara tepat dan meyakinkan. Seni keterampilan berbicara sering disebut dengan Retorika.

Quintilianus, seorang bapak ilmu retorika berkebangsaan Romawi mengatakan, “Hanya orang yang pandai bicara adalah sungguh-sungguh manusia.” Di dalam dunia musik ada lelucon yang berbunyi, “Bermain piano itu tidak sulit! Orang hanya menempatkan jari yang tepat, pada saat yang tepat, di atas tangga nada yang tepat.”

Lelucon dari dunia musik diatas juga dapat dikenakan ke dalam ilmu retorika : ”Berbicara itu sama sekali tidak sulit! Orang hanya harus mengucapkan kata-kata yang tepat, pada saat yang tepat, kepada pendengar yang tepat.”

Memang untuk terampil dalam berbicara tidaklah semudah itu.Untuk menjadi seorang yang pandai bicara, dibutuhkan latihan yang sistematis dan tekun. Sejarah sudah membuktikannya! Orang-orang kenamaan seperti : Demosthenes, Cicero, Napoleon Bonaparte, winston Churchill, Adolf Hitler, J.F Kennedy, Marthin Luther King adalah orang-orang yang menjadi retor terkenal lewat latihan tang teratur, sistematis dan tekun.

Lalu mengapa kita perlu mempelajari retorika ?

Sering orang mengatakan, ”Dia tahu banyak, hanya tidak dapat mengungkapkan dengan baik. Dia tidak dapat mengungkapkan pikirannya secara meyakinkan.” Sangatlah menyedihkan, apabila orang memiliki pengetahuan yang berguna, tetapi tidak dapat mengkomunikasikannya secara mengesankan dan meyakinkan kepada orang lain. Hal tersebut merupakan salah satu contoh mengapa retorika itu perlu.

Jadi apakah sebenarnya retorika itu ??

Retorika berarti kesenian untuk berbicara baik (Kunst, gut zu redden atau Ars bene dicendi), yang dicapai berdasarkan bakat alam (talenta) dan keterampilan teknis (ars, techne). Sekarang ini retorika diartikan sebagai kesenian untuk berbicara baik , yang dipergunakan dalam proses komunikasi antarmanusia.

Kesenian berbicara ini bukan hanya berarti berbicara lancar tanpa jalan pikiran yang jelas dan tanpa isi, melainkan suatu kemapuan untuk berbicara dan berpidato secara singkat, jelas, padat dan mengesankan.

Retorika modern mencakup ingatan yang kuat, daya kreasi dan fantasi yang tinggi, teknik pengungkapan yang tepat dan daya pembuktian serta penilaian yang tepat. Retorika modern adalah gabungan yang serasi antara pengetahuan, pikiran, kesenian, dan kesanggupan berbicara.

Dalam bahasa percakapan atau bahasa populer, retorika berarti pada tempat yang tepat, pada waktu yang tepat, atas cara yang lebih efektif, mengucapkan kata-kata yang tepat, benar dan mengesankan. Itu berarti kita harus dapat berbicara jelas, singkat dan efektif. Jelas  supaya mudah dimengerti; singkat untuk menghemat waktu dan sebagai tanda kepintaran; dan efektif karena apa gunanya kalau berbicara tidak membawa efek?

Dalam konteks ini sebuah pepatah Cina mengatakan, ”Orang yang menembak banyak belum tentu seorang penembak yang baik, dan Orang yang berbicara banyak tidak selalu berarti seorang yang pandai bicara.”

Alasan untuk mempelajari retorika:

Quintilianus mengatakan : ”Tidak ada anugrah yang lebih indah, yang diberikan oleh para dewa, daripada keluhuran berbicara.”

St. Agustinus, yang juga seorang retor, mengatakan : ”Kepandaian berbicara adalah seni yang mencakup segala-galanya.”

Sebuah pepatah tua mengatakan, ”Berbicaralah, supaya saya dapat melihat dan mengenal anda.”

Martin Luther berpendapat, ”Siapa yang pandai berbicara adalah seorang manusia; sebab berbicara adalah kebijaksanaan; dan kebijaksanaan adalah berbicara.”

Di atas selembar Papirus yang ditemukan di dalam sebuah makam tua di Mesir tertulis, ”Binalah dirimu menjadi seorang ahli pidato, sebab dengan tiu engkau akan menang.”

Lalu mengapa kita perlu belajar retorika? Mengapa kita mau menguasai ilmu pandai bicara?

Di dalam masyarakat umumnya dicari para pemimpin atau orang-orang berpengaruh, yang memiliki kepandaian di dalam hal berbicara. Juga di bidang-bidang lain seperti perindustrian, perekonomian dan bidang sosial, kepandaian berbicara atau keterampilan mempergunakan bahasa secara efektif sangat diandalkan.

Menguasai kesanggupan berbahasa dan keterampilan berbicara menjadi alasan utama keberhasilan orang-orang terkenal di dalam Sejarah Dunia seperti : Demosthenes, Socrates, J. Caesar, St. Agustinus, St. Ambrosius, Martin Luther, Martin Luther King, J.F Kennedy, Soekarno dan lain-lain.

Dalam Sejarah Dunia justru kepandaian berbicara atau berpidato merupakan instrumen utama untuk mempengaruhi massa. Bahasa dipergunakan untuk meyakinkan orang lain. Ketidakmampuan dalam mempergunakan bahasa,membuat ketidakjelasan dalam mengungkapkan masalah atau pikiran dapat membawa dampak negatif dalam hidup dan karya seorang pemimpin. Oleh karena itu, pengetahuan tentang retorika dan ilmu komunikasi yang memadai akan membawa keuntungan bagi pribadi bersangkuatan dalam beberapa bidang tertentu.

Banyak pria dan wanita dalam Sejarah memperoleh suskes besar dalam hidup dan kariernya sebagai pemimpin, berkat penguasaan ilmu retorika. Sebab penguasaan teknik berbicara akan mempertinggi kepercayaan terhadap diri dan memberi rasa  pasti kepada orang yang bersangkutan. Bagi para pemimpin, retorika adalah alat penting untuk mempengaruhi dan menguasai manusia. Bagi para penjual, kepandaian berbicara merupakan sarana penting untuk menjual-belikan barang dagangannya.

Barangsiapa yang menguasai ilmu retorika dan mempergunakannya secara wajar akan mendapat sukses dalam hidup dan karyanya !

Reference :

RETORIKA

Terampil berpidato, Berdiskusi,Berargumentasi, Bernegosiasi

Karangan Dori Wuwur Hendrikus

Selamat Datang

Posted on


Selamat Datang Tiapop,s Blog

🙂

🙂

🙂

😀

Hello world!

Posted on


Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!