Senin, 14 November 2011

Fungsional Program

FUNCTIONAL PROGRAM

 Pemrograman fungsional merupakan paradigma pemrograman yang memperlakukan perhitungan sebagai evaluasi fungsi matematika dan menghindari perubahan data. Sebuah program fungsional terdiri dari Ungkapan  E (mewakili kedua algoritma dan input ). Pemrograman fungsional  ditandai dengan nilai-nilai, fungsi dan bentuk fungsional.
            Banyak bahasa pemrograman mendukung pemrograman fungsional dan imperatif tetapi sintaks dan fasilitas bahasa biasanya dioptimalkan untuk hanya satu dari salah satu program, dan faktor-faktor sosial seperti konvensi coding dan perpustakaan sering kali memaksa programmer menuju salah satu program.
Bahasa pemrograman fungsional merupakan hasil abstraksi generalisasi dan pemetaan tipe data.
 Bahasa pemrograman fungsional yang penting untuk alasan berikut:
•        Fungsional program didistribusikan dengan tugas membebaskan  programmer dari
  modus perintah berpikir sekuensial kaku yang diperlukan untuk tugas perintah.
•        Pemrograman fungsional berguna untuk pengembangan spesifikasi eksekusi dan
  implementasi prototipe.
•        Pemrograman fungsional memiliki area aplikasi penting. Pemrograman kecerdasan
  buatan yang dilakukan dalam bahasa pemrograman fungsional dan teknik AI untuk
  bermigrasi ke aplikasi dunia nyata.
•        Pemprograman fungsional mendorong pemikiran pada tingkat yang lebih tinggi dari
  abstraksi dengan menyediakan fungsi tatanan lebih tinggi yang dimodifikasi dan
  menggabungkan program yang telah ada.

 Bahasa pemrograman fungsional berdasarkan Lambda - kalkulus. Lambda Kalkulus  berkembang dari sebuah upaya Alonzo Church dan Stephen Kleene pada awal 1930-an untuk meresmikan gagasan komputabilitas (juga dikenal sebagai constructibility dan calculability efektif).
            Perhitungan semantik operasional dalam kalkulus lambda adalah dengan menulis pengurangan ekspresi lambda untuk bentuk normal. Untuk lambda kalkulus, ekspresi lambda dikurangi dengan substitusi. Artinya, kasus dari parameter dalam program diganti dengan argumen. Berdasarkan Lamda Kalkulus skema merupakan keturunan LISP, meskipun memiliki fitur penting, pada bagian ini kita mengabaikan fitur ini dan berkonsentrasi pada kalkulus seperti fitur lambda Skema. Skema memiliki dua jenis benda, atom dan daftar. Atom diwakili oleh string atau karakter. Sedangkan daftar diwakili oleh urutan dari atom atau dipisahkan dengan karakter dan tertutup dalam tanda kurung.
            Lambda kalkulus adalah pengaruh langsung pada bahasa pemrograman LISP( List Prosessing ), panggilan dengan parameter nama melewati mekanisme Algol-60, dan substitusi tekstual dilakukan oleh generator makro.  Eksplisit penggunaan dan sistematis lambda kalkulus dalam ilmu komputer dimulai pada awal tahun 1960 oleh Peter Landin, Christopher Strachy dan lainnya yang memulai teori semantik formal untuk sebuah bahasa pemrograman yang disebut semantik denotational.  Semantik Denotational, disebut operasional`\ dinamis ', karena ia melihat fungsi sebagai urutan operasi. Tujuan dari bahasa semantik denotational yaitu, untuk memberikan nilai ekspresi masing - masing didalam suatu program. Kita dapat mengekspresikan semantik dari kalkulus lambda sebagai fungsi matematika, Eval, atau dari ekspresi ke nilai.
 Desain perangkat keras baru yang muncul untuk mendukung pelaksanaan langsung dari lambda kalkulus atau combinators mendukung eksekusi paralel dari program fungsional, menghilangkan beban (sisi-effects, sinkronisasi, komunikasi) untuk mengontrol paralelisme dari programmer. LISP (list processing) dirancang oleh John McCarthy pada tahun 1958. Pemakaian LISP diminati diberbagai bidang seperti mekanisasi pembuktian teorema, pemodelan kecerdasan manusia dan pengolahan bahasa alami. Dalam setiap bidang ini, list processing dipandang sebagai kebutuhan mendasar.
 Haskell Berbeda dengan LISP dan Scheme, Haskell merupakan bahasa pemprograman fungsional modern. Haskell merupakan bahasa modern yang dirancang oleh ahli logika Haskell B. Curry dan komite internasional. Tujuan desain haskell adalah untuk memiliki bahasa Haskell fungsional yang menggabungkan ide - ide baru, baik dalam mencari bahasa fungsional atau untuk pengajaran, penelitian dan aplikasi. Haskell memiliki instalasi overhead yang digabungkan dengan sistem tipe polimorfis, murni fungsional I / O, array, abstraksi data dan dapat menyembunyikan informasi.

Kamis, 03 November 2011

INGATLAH!!!!!!!!!

rakyat jelata bukan untuk di tindas
orang miskin bukan untuk di hina
tetapi jangan sampai anda tercengang bila rakyat jelata berusaha bangkit dari kemiskinannya dan mengalahkan anda wahai orang-orang yang merasa hebat dan bangga akan apa yang engkau miliki,karma itu berlaku dan tidak ada yang mustahil di dunia ini.
INGAT!!!!!!!!!!!!! 
rakyat jelata bukan untuk di tindas
orang miskin bukan untuk di hina
WE'LL SEE...SOON

Rabu, 02 November 2011

ISD Individu,Keluarga dan Masyarakat

1. Pertumbuhan Individu

  • Pengertian Individu
Sebenarnya apakah arti individu itu? Individu sendiri berasal dari bahasa latin, yaitu “individuum”, atau “yang tak terbagi”. Hal ini berarti individu merupakan suatu kesatuan terkecil dan terbatas, dengan kata lain manusia perseorangan, begitulah pendapat Dr. A. Lysen. Individu tidak hanya memiliki peranan khas di lingkungan sosialnya, tetapi juga memiliki pola dan tingkah laku serta kepribadian yang berbeda.
  • Pengertian Pertumbuhan
Pertumbuhan adalah suatu perubahan dimana hal itu menuju ke arah yang lebih baik. Perubahan juga bisa disebut dengan istilah yang kita kenal sebagai proses. Untuk lebih lanjut, pertumbuhan itu sendiri terbagi dalam tiga aliran makna:
a) Aliran Asosiasi
Proses asosiasi adalah terjadinya perubahan secara bertahap pada seseorang akibat pengaruh baik dari pengalaman yang telah ia dapatkan. Menurut aliran asosiasi, pertumbuhan pada dasarnya merupakan proses asosiasi.
b) Aliran Psikologis Gestalt
Menurut aliran ini, pertumbuhan adalah proses diferensiasi, yaitu proses perubahan secara perlahan-lahan pada manusia dalam mengenal sesuatu, mulai dari keseluruhan kemudian diikuti bagian-bagian yang terdiri di dalamnya.
c) Aliran sosiologi
Aliran ini beranggapan bahwa pertumbuhan merupakan proses sosialisasi, yaitu perubahan dari sifat yang awalnya asosial menjadi sosial.
  • Faktor yang Mempengaruhi Pertumbuhan
Pertumbuhan dipengaruhi oleh faktor-faktor. Ada 3 faktor yang menjadi penentu dalam suatu pertumbuhan:
a) Pendirian Navitistik
Pertumbuhan individu ditentukan oleh suatu faktor yang dibawa sejak lahir.


b) Pendirian Empiristik dan Environmentalistik
Pendapat ini berlawanan dengan navitistik. Para ahli berpendapat bahwa pertumbuhan individu bergantung pada lingkungan, sementara faktor sejak lahir tidak berpengaruh.
c) Pendirian Konvergensi dan Interaksionisme
Pendapat konvergensi dan interaksionisme berpandangan dinamis dan menyatakan bahwa interaksi antara faktor bawaan lahir dan faktor lingkungan adalah penentu dari pertumbuhan individu.

2. Fungsi Keluarga

  • Pengertian Fungsi Keluarga
Dalam berkeluarga, sering kita temui pekerjaan-pekerjaan yang harus dilakukan. Suatu pekerjaan yang harus dilakukan itulah yang disebut fungsi. Sehingga fungsi keluarga adalah pekerjaan atau tugas yang harus dilaksanakan dalam keluarga tersebut.
  • Macam-Macam Fungsi Keluarga
Pekerjaan yang harus dilaksanakan oleh keluarga tersebut dapat digolongkan ke beberapa fungsi, yaitu:
a) Fungsi Biologis
Dengan adanya fungsi ini, diharapkan suatu keluarga dapat mempersiapkan perkawinan untuk anak-anaknya. Karena dengan adanya perkawinan, akan terbentuk suatu keturunan. Persiapan perkawinan oleh orang tua untuk diajarkan pada anak-anaknya adalah dengan cara memberikan pengetahuan seks tentang suami istri, pengetahuan untuk mengatur kehidupan rumah tangga bagi suami istri, serta kewajiban suami istri itu sendiri.
b) Fungsi Pemeliharaan
Keluarga diwajibkan untuk melindungi anggota keluarganya dari ancaman seperti gangguan udara (diatasi dengan penyediaan rumah untuk tempat tinggal), gangguan penyakit (dengan menyediakan obat-obatan), dan gangguan bahaya (dengan cara penyediaan tembok rumah, dst.)
c) Fungsi Ekonomi
Keluarga berusaha memenuhi kehidupan pokok manusia yang berupa sandang, pangan, dan papan.
d) Fungsi Keagamaan
Berdasarkan Pancasila, setiap keluarga diwajibkan untuk memeluk suatu agama. Hal ini juga untuk membuktikan  wujud ketakwaan kepada Tuhan Yang Maha Esa.
e) Fungsi Sosial
Dengan fungsi ini, keluarga berusaha untuk mempersiapkan anak-anaknya bekal dengan memperkenalkan nilai dan sikap yang dianut oleh masyarakat serta mempelajari peranan-peranan yang diarapkan akan mereka jalani kelak bila sudah deawasa. Dengan demikian terjadilah yang disebut dengan istilah sosialisasi.

3.  Individu, Keluarga dan Masyarakat

  • Pengertian Keluarga
Ada banyak pendapat mengenai pengertian dari keluarga. Menurut Sigmund Freud keluarga itu terbentuk karena adanya perkawinan pria dan wanita. Bahwa perkawinan itu menurut beliau adalah berdasarkan pada libido seksualitas. Dengan demikian keluarga merupakan manifestasi daripada dorongan seksual sehingga landasan keluarga itu adalah keidupan seksual suami istri. Sementara, Durkheim berpendapat bahwa keluarga adalah lembaga sosial sebagai hasil faktor-faktor politik, ekonomi dan lingkungan. Ki Hajar Dewantara, sebagai tokoh pendidikan berpendapat bahwa keluarga adalah kumpulan beberapa orang yang merasa terikat akibat dari satu turunan.
  • Pengertian Masyarakat
Masyarakat adalah suatu kelompok manusia yang telah memiliki tatanan kehidupan, norma-norma, dat istiadat yang sama-sama ditaati dalam ingkungannya. Drs. JBAF Mayor Polak menyebut masyarakat (Society) adalah wadah segenap antar hubungan sosial terdiri atas banyak sekali kolektiva-kolektiva serta kelompok dan tiap-tiap kelompok terdiri atas kelompok-kelompok lebih baik atau sub kelompok.
  • Pengertian Individu
Sama seperti yang telah dijelaskan di atas. Individu sendiri berasal dari bahasa latin, yaitu “individuum”, atau “yang tak terbagi”. Hal ini berarti individu merupakan suatu kesatuan terkecil dan terbatas, dengan kata lain manusia perseorangan, begitulah pendapat Dr. A. Lysen. Individu tidak hanya memiliki peranan khas di lingkungan sosialnya, tetapi juga memiliki pola dan tingkah laku serta kepribadian yang berbeda.

ISD Pemuda dan Sosialisasi

PEMUDA DAN SOSIALISASINYA DALAM PERMASALAHAN GENERASI NASIONAL

A. Pengertian Pemuda
Telah kita ketahui bahwa pemuda atau generasi muda merupakan konsep-konsep yang selalu dikaitkan dengan masalah nilai. hal ini merupakan pengertian idiologis dan kultural daripada pengertian ini. Di dalam masyarakat pemuda merupakan satu identitas yang potensial sebagai penerus cita-cita perjuangan bangsa dan sumber insani bagi pembangunan bangsanya karma pemuda sebagai harapan bangsa dapat diartikan bahwa siapa yang menguasai pemuda akan menguasai masa depan.
Ada beberapa kedudukan pemuda dalam pertanggungjawabannya atas tatanan masyarakat, antara lain:
a. Kemurnian idealismenya
b. Keberanian dan Keterbukaanya dalam menyerap nilai-nilai dan gagasan-gagasan yang baru
c. Semangat pengabdiannya
d. Sepontanitas dan dinamikanya
e. Inovasi dan kreativitasnya
f. Keinginan untuk segera mewujudkan gagasan-gagasan baru
g. Keteguhan janjinya dan keinginan untuk menampilkan sikap dan keperibadiannya yang mandiri
h. Masih langkanya pengalaman-pengalaman yang dapat merelevansikan pendapat, sikap dan tindakanya dengan kenyataan yang ada.

B. Sosialisasi Pemuda
Sosialisasi adalah proses yang membantu individu melalui media pembelajaran dan penyesuaian diri, bagaimana bertindak dan berpikir agar ia dapat berperan dan berfungsi, baik sebagai individu maupun sebagai anggota masyarakat. Ada beberapa hal yang perlu kita ketahui dalam sosialisasi, antara lain: Proses Sosialisasi, Media Sosialisasi dan Tujuan Sosialisasi.
a) Proses sosialisasi
Istilah sosialisasi menunjuk pada semua factor dan proses yang membuat manusia menjadi selaras dalam hidup ditengah-tengah orang kain. Proses sosialisasilah yang membuat seseorang menjadi tahu bagaimana mesti ia bertingkah laku ditengah-tengah masyarakat dan lingkungan budayanya. Dari proses tersebut, seseorang akan terwarnai cara berpikir dan kebiasaan-kebiasaan hidupnya.
Semua warga negara mengalami proses sosialisasi tanpa kecuali dan kemampuan untuk hidup ditengah-tengah orang lain atau mengikuti norma yang berlaku dimasyarakat. Ini tidak datang begitu saja ketika seseorang dilahirkan, melainkan melalui proses sosialisasi.
b) Media Sosialisasi
• Orang tua dan keluarga
• Sekolah
• Masyarakat
• Teman bermain
• Media Massa.
c) Tujuan Pokok Sosialisasi
• Individu harus diberi ilmu pengetahuan (keterampilan) yang dibutuhkan bagi kehidupan kelak di masyarakat.
• Individu harus mampu berkomunikasi secara efektif dan mengenbangkankan kemampuannya.
• Pengendalian fungsi-fungsi organik yang dipelajari melalui latihan-latihan mawas diri yang tepat.
• Bertingkah laku secara selaras dengan norma atau tata nilai dan kepercayaan pokok ada pada lembaga atau kelompok khususnya dan pada masyarakat umum.

C. Internalisasi
Adalah proses norma-norma yang mencakup norma-norma kemasyarakatan yang tidak berhenti sampai institusional saja, akan tetapi mungkin norma-norma tersebut sudah mendarah daging dalam jiwa anggota-anggota masyarakat.
a. Pendekatan klasik tentang pemuda
Melihat bahwa muda merupakan masa perkembangan yang enak dan menarik. Kepemudaan merupakan suatu fase dalam pertumbuhan biologis seseorang yang bersifat seketika dan suatu waktu akan hilang dengan sendirinya, maka keanehan-keanehan yang menjadi ciri khas masa muda akan hilang sejalan dengan berubahnya usia.
Menurut pendekatan yang klasik ini, pemuda dianggap sebagai suatu kelompok yang mempunyai aspirasi sendiri yang bertentangan dengan aspirasi masyarakat. Selanjutnya munculah persoalan-persoalan frustasi dan kecemasan pemuda karena keinginan-keinginan mereka tidak sejalan dengan kenyataan. Dan timbulah konflik dalam berbagai bentuk proses. Di sinilah pemuda bergejolak untuk mencari identitas mereka.

b. Dalam hal ini hakikat kepemudaan ditinjau dari dua asumsi pokok.
Penghayatan mengenai proses perkembangan manusia bukan sebagai suatu koninum yang sambung menyambung tetapi fragmentaris, terpecah-pecah dan setiap pragmen mempunyai arti sendiri-sendiri.
Asumsi wawasan kehidupan adalah posisi pemuda dalam arah kehidupan sendiri. Perbedaan antar kelompok-kelompok yang ada, antar generasi tua dan pemuda, misalnya hanya terletak pada derajat ruang lingkup tanggung jawabnya.
Generasi tua sebagai angkatan-angkatan yang lalu (passing generation) yang berkewajiban membimbing generasi muda sebagai generasi penerus. Dan generasi pemuda yang penuh dinamika hidup berkewajiban mengisi akumulator generasi tua yang mulai melemah, disamping memetik buah-buah pengalamannya, yang telah terkumpul oleh pengalamannya.
Pihak generasi tua tidak bisa menuntut bahwa merekalah satu-satunya penyelamat masyarakat dan dunia. Dana melihat generasi muda sebagai perusak tatanan sosial yang sudah mapan, sebaliknya generasi muda juga tidak bisa melepaskan diri dari kewajiban untuk memelihara dunia. Dengan demikian maka adanya penilaian yang baku (fixed standard) yang melihat generasi tua adalah sebagai ahli waris. Dari segala ukuran dan nilai dalam masyarakat, karena itu para pemuda menghakimi karena cenderung menyeleweng dari ukuran dan nilai tersebut karena tidak bisa diterima. Bertolak dari suatu kenyataan, bahwa bukan saja pemuda tapi generasi tua pun harus sensitif terhadap dinamika lingkungan dengan ukuran standard yang baik.
Dengan pendapat di atas jelas kiranya bahwa pendekatan ekosferis mengenai pemuda, bahwa segala jenis ”kelainan” yang hingga kini seolah-olah menjadi hak paten pemuda akan lebih dimengerti sebagai suatu keresahan dari masyarakat sendiri sebagai keseluruhan. Secara spesifiknya lagi, gejolak hidup pemuda dewasa ini adalah respon terhadap lingkungan yang kini berubah dengan cepat.

D. Pemuda Dan Identitas
Telah kita ketahui bahwa pemuda atau generasi muda merupakan konsep-konsep yang selalu dikaitkan dengan masalah dan merupakan beban modal bagi para pemuda. Tetapi di lain pihak pemuda juga menghadapi pesoalan seperti kenakalan remaja, ketidakpatuhan kepada orang tua, frustasi, kecanduan narkotika, masa depan suram. Semuanya itu akibat adanya jurang antara keinginan dalam harapan dengan kenyataan yang mereka hadapi.
Kaum muda dalam setiap masyarakat dianggap sedang mengalami apa yang dinamakan ”moratorium”. Moratorium adalah masa persiapan yang diadakan masyarakat untuk memungkinkan pemuda-pemuda dalam waktu tertentu mengalami perubahan.
Menurut pola dasar pembinaan dan pengembangan generasi muda bahwa generasi muda dapat dilihat dari berbagai aspek sosial, yakni:
1. Sosial psikologi
2. sosial budaya
3. sosial ekonomi
4. sosial politik

 Masalah-masalah yang menyangkut generasi muda dewasa ini adalah:
a. Dirasakan menurunnya jiwa nasionalisme, idealisme dan patriotisme di kalangan generasi muda
b. Kekurangpastian yang dialami oleh generasi muda terhadap masa depannya
c. Belum seimbangnya jumlah generasi muda dengan fasilitas pendidikan yang tersedia
d. Kurangnya lapangan dan kesempatan kerja.
e. Kurangnya gizi yang dapat menghambat pertumbuhan badan dan perkembangan kecerdasan
f. Masih banyaknya perkawinan-perkawinan di bawah umur
g. Adanya generasi muda yang menderita fisik dan mental
h. Pergaulan bebas
i. Meningkatnya kenakalan remaja, penyalahagunaan narkotika
j. Belum adanya peraturan perundang-undangan yang mengangkut generasi muda.
 Peran pemuda dalam masyarakat
a. Peranan pemuda yang didasarkan atas usaha pemuda untuk menyesuaikan diri dengan lingkungan.
b. Peranan pemuda yang menolak unsur menyesuaikan diri dengan lingkungannya
c. Asas edukatif
d. Asas persatuan dan kesatuan bangsa
e. Asas swakarsa
f. Asas keselarasan dan terpadu
g. Asas pendayagunaan dan fungsionaliasi
 Arah Pembinaan Dan Pengembangan Generasi Muda
Arah pembinaan dan pengembangan generasi muda ditunjukan pada pembangunan yang memiliki keselarasn dan keutuhan antara ketiga sumbu orientasi hidupnya yakni.
a. Orientasi ke atas kepada Tuhan Yang Masa Esa.
b. Orientasi dalam dirinya sendiri
c. Orientasi ke luar hidup di lingkungan
Peranan mahasiswa dalam masyarakat
a. Agen of change
b. Agen of development
c. Agen of modernization

Selasa, 01 November 2011

KDP (Konsep Dasar Pemrograman)

Konsep Dasar Bahasa Pemrograman
Originating 
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input. 
Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.
Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.
Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)
Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.
Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.

Pengertian dasar program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.



Tujuan pembuatan program
  1. Membuat solusi dari pemecahan kasus yang timbul.
  2. Meningkatkan kualitas dan performance dari kinerja kerja.
  3. Membantu proses pengambilan keputusan.

Tipe Data Pemrograman

Integer : merupakan tipe data berupa bilangan atau angka yang tidak memiliki titik desimal atau pecahan, contohnya 10, 12, +205, -205 dan sebagainya.
Real : merupakan tipe data berupa bilangan atau angka yang bisa memiliki titik desimal atau pecahan, contohnya 56.7 , 78.9 , +34.8 , -34.8 dan sebagainya.
Subrange : : merupakan tipe data berupa bilangan atau angka yang punya jangkauan nilai tertentu sesuai dengan definisi pada pemrogram.
Enumerasi : merupakan tipe data enumerated ( skalar ) menunjukan kumpulan dari nilai yang urutannya sudah pasti.
Boolean : merupakan tipe data yang hanya mempunyai dua kemungkinan, benar (true ) atau salah (false ), biasanya tipe data ini di pergunakan untuk perbandingan.
Character ( char ) : merupakan tipe data karakter, dimana semua yang berada pada tombol  keyboard atau semua karakter yang terdapat pada kode ASCII.
String : merupakan tipe data yang berisi sederet karakter yang terletak diantara tanda kutip satu.

Model Komputasi

Ada tiga model dasar komputasional-- fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai-nilai dan operasi yang berhubungan, masing-masing model komputasional mempunyai satu set operasi yang digunakan untuk menggambarkan komputasi.

a. Model Fungsional : terdiri dari satu set nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi. Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi sebagai hasil (higher-order function). Suatu program adalah koleksi definisi fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.

b. Model Logika : terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan logis. Program terdiri dari definisi hubungan dan suatu komputasi adalah suatu bukti(suatu urutan kesimpulan).

c. Model Imperatif : terdiri dari satu set nilai-nilai yang mencakup suatu keadaan dan operasi tugas untuk memodifikasi pernyataan. Pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri dari urutan tugas dan suatu komputasi terdiri dari urutan pernyataan.

Prinsip Bahasa Pemrograman

Suatu bahasa program harus dirancang untuk memudahkan agar dapat dibaca dan ditulis untuk para pemakai manusianya dan pelaksanaan efisien pada perangkat keras yang tersedia.
Keadaan dapat dibaca dan ditulis dimudahkan oleh prinsip yang berikut.

Prinsip Kesederhanaan
Bahasa harus didasarkan atas yang paling sedikit
Prinsip Orthogonal
Fungsi mandiri harus dikendalikan oleh mekanisme mandiri.
Prinsip Keteraturan
Satu set object disebut reguler berkenaan dengan kondisi beberapa jika, dan hanya jika, kondisi dapat digunakan untuk masing-masing unsur set.
Prinsip Sifat Ekstensibilitas(dapat diperpanjang)
Object baru dari tiap kelas sintaktis mungkin dibangun (digambarkan) dari dasar dan digambarkan membangun dengan suatu cara sistematis.


Prinsip keteraturan dan ekstensibilitas memerlukan konsep dasar bahasa harus diterapkan secara konsisten dan yang bersifat universal.
Pada halaman berikut kita akan belajar bahasa pemrograman sebagai perwujudan model komputasional, ilmu semantik sebagai hubungan antara model komputasional dan sintaksis, dan berhubungan pragmatis.


Prinsip Clarity, Simplicity dan Unity
Bahasa pemrograman harus dapat menolong programmer untuk membuat suatu desain program jauh sebelum programmer melakukan coding.
Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.
 
Sintaks , Semantiks, Pragmatiks

Ada 3 hal yang berhubungan dengan konsep bahasa pemrogramanan: sintaks, semantiks dan pragmatis. Dalam mengajarkan 3 konsep ini saya menggunakan analogi bahasa yang biasa kita pakai sehari-hari.
Sintaks
Sintaks sebuah bahasa berhubungan dengan struktur bahasa. Sebagai contoh, untuk membentuk sebuah kalimat yang valid dalam bahasa kita memakai struktur: [subyek] + [kata kerja] + [kata benda]. Dengan memakai struktur ini, kita bisa membentuk kalimat, sebagai contoh: Saya makan nasi. Dalam hubungannya dengan bahasa pemrograman, kita musti memenuhi sintaks (baca: aturan struktur bahasa) agar program dapat berjalan. Sebagai contoh, dalam bahasa BASIC, untuk mengassign sebuah variabel dengan sebuah nilai, kita memakai operand ‘=’, tetapi kalau dalam Pascal, kita pakai ‘:=’. Contoh dalam BASIC: a=1, tapi dalam bahasa Pascal, a:=1.
Semantik
Semantik sebuah bahasa menggambarkan hubungan antara sintaks dan model komputasi. Sederhananya, semantik menjelaskan arti dari program.
Analoginya sebagai berikut. Apabila kita memakai sintaks [subyek] + [kata kerja] + [kata benda], kita bisa menghasilkan kalimat-kalimat.
Apabila kita mengasilkan kalimat Saya makan nasi, maka kalimat ini memenuhi aturan sintaks. Tapi, apabila saya membuat kalimat Saya makan batu, secara sintaks kalimat ini sudah benar. Namun, secara semantik, kalimat ini tidak mengandung makna yang berarti.
Dalam hubungannya dengan bahasa pemrograman, kadang ada kalanya seorang programmer tidak bisa mengaitkan sintaks dengan model komputasi. Kesalahan logika bisa dengan mudah terjadi.
Sebagi contoh ada bahasa pemrograman sebagai berikut:
if(a=5) {
echo ‘Nilai a=5′;
}
Apabila program ini dijalankan, apa yang terjadi? Bergantung bahasa apa yang digunakan. Apabila bahasa yang dipakai adalah bahasa C, maka output yang keluar selalu Nilai a=5, walaupun nilai variabel a sebelumnya selain 5. Kenapa itu bisa terjadi? Itu karena operator ‘=’ dalam bahasa C berarti mengassign sebuah variabel yang ada di sebelah kiri dengan nilai yang ada di sebelah kanan. Dalam bahasa C, secara sintaks operasi ini sudah benar.
Tapi, apabila yang dimaksud adalah programmer ingin mengevaluasi nilai variabel a, maka seharusnya memakai operator logika ‘==’. Jadi, program yang sebenarnya menjadi
if(a==5){
echo ‘Nilai a=5′;
}
Pragmatik
Pragmatik berhubungan dengan kemudahan implementasi dan efisiensi. Dalam analoginya dengan bahasa, kita bisa saja memberitahukan ke seseorang “Jangan merokok” apabila ada peraturan yang melarang seseorang merokok di dalam sebuah ruangan. Kalimat singkat seperti itu sebenarnya sudah cukup efisien. Tapi, dalam kesempatan lain kita bisa saja memakai kalimat “Mohon Anda jangan merokok di sini karena menurut peraturan pemerintah daerah nomor XXX tahun XXX dinyatakan bahwa merokok di tempat umum akan mengakibatkan pelanggaran peraturan, selain itu dari sisi kesehatan… blah blah blah”.
Dalam hubungannya dengan bahasa pemrograman, seorang programmer harus bisa memastikan efisiensi dalam melakukan peng-coding-an. Dalam bahasa C, programmer diberikan kekuasaan untuk mengalokasikan memori. Sebagai akibatnya, apabila programmer lalai dalam mengontorl variabel-variabel yang dihasilkan dari hasil assignment pointer, maka akan terjadi kebocoran memori. Ini diakibatkan apabila seorang programmer mengcreate sebuah variabel pointer, dan kemudian menghapusnya, informasi tersebut masih ada dalam memori, hanya saja sudah tidak bisa diakses lagi.
Ketika saya sedang mendalami konsep pemrograman secara pragmatis, menariknya, saya mendapati teori broken window. Teori ini akan saya jelaskan lebih lanjut di tulisan berikutnya dengan kategori Personal.