Halaman

Rabu, 02 Maret 2011

Ilmu TIK






Artikel








AGUS SUMARSONO









Rabu, 02 Maret 2011





Foto BareNg @4 di SikuCINg BEach






Selasa, 01 Mareti 2011




KALKULUS

Kalkulus (Bahasa Latin: calculus, artinya "batu kecil", untuk menghitung) adalah cabang ilmu matematika yang mencakup limit, turunan, integral, dan deret takterhingga. Kalkulus adalah ilmu mengenai perubahan, sebagaimana geometri adalah ilmu mengenai bentuk dan aljabar adalah ilmu mengenai pengerjaan untuk memecahkan persamaan serta aplikasinya. Kalkulus memiliki aplikasi yang luas dalam bidang-bidang sains, ekonomi, dan teknik; serta dapat memecahkan berbagai masalah yang tidak dapat dipecahkan dengan aljabar elementer.



Kalkulus memiliki dua cabang utama, kalkulus diferensial dan kalkulus integral yang saling berhubungan melalui teorema dasar kalkulus. Pelajaran kalkulus adalah pintu gerbang menuju pelajaran matematika lainnya yang lebih tinggi, yang khusus mempelajari fungsi dan limit, yang secara umum dinamakan analisis matematika.
Sejarah perkembangan kalkulus bisa ditilik pada beberapa periode zaman, yaitu zaman kuno, zaman pertengahan, dan zaman modern. Pada periode zaman kuno, beberapa pemikiran tentang kalkulus integral telah muncul, tetapi tidak dikembangkan dengan baik dan sistematis. Perhitungan volume dan luas yang merupakan fungsi utama dari kalkulus integral bisa ditelusuri kembali pada Papirus Moskwa Mesir (c. 1800 SM). Pada papirus tersebut, orang Mesir telah mampu menghitung volume piramida terpancung.[1] Archimedes mengembangkan pemikiran ini lebih jauh dan menciptakan heuristik yang menyerupai kalkulus integral.[2]


Pada zaman pertengahan, matematikawan India, Aryabhata, menggunakan konsep kecil tak terhingga pada tahun 499 dan mengekspresikan masalah astronomi dalam bentuk persamaan diferensial dasar.[3] Persamaan ini kemudian mengantar Bhāskara II pada abad ke-12 untuk mengembangkan bentuk awal turunan yang mewakili perubahan yang sangat kecil takterhingga dan menjelaskan bentuk awal dari "Teorema Rolle".[4] Sekitar tahun 1000, matematikawan Irak Ibn al-Haytham (Alhazen) menjadi orang pertama yang menurunkan rumus perhitungan hasil jumlah pangkat empat, dan dengan menggunakan induksi matematika, dia mengembangkan suatu metode untuk menurunkan rumus umum dari hasil pangkat integral yang sangat penting terhadap perkembangan kalkulus integral.[5] Pada abad ke-12, seorang Persia Sharaf al-Din al-Tusi menemukan turunan dari fungsi kubik, sebuah hasil yang penting dalam kalkulus diferensial. [6] Pada abad ke-14, Madhava, bersama dengan matematikawan-astronom dari mazhab astronomi dan matematika Kerala, menjelaskan kasus khusus dari deret Taylor[7], yang dituliskan dalam teks Yuktibhasa.[8][9][10]


Pada zaman modern, penemuan independen terjadi pada awal abad ke-17 di Jepang oleh matematikawan seperti Seki Kowa. Di Eropa, beberapa matematikawan seperti John Wallis dan Isaac Barrow memberikan terobosan dalam kalkulus. James Gregory membuktikan sebuah kasus khusus dari teorema dasar kalkulus pada tahun 1668.


Leibniz dan Newton mendorong pemikiran-pemikiran ini bersama sebagai sebuah kesatuan dan kedua orang ilmuwan tersebut dianggap sebagai penemu kalkulus secara terpisah dalam waktu yang hampir bersamaan. Newton mengaplikasikan kalkulus secara umum ke bidang fisika sementara Leibniz mengembangkan notasi-notasi kalkulus yang banyak digunakan sekarang.


Ketika Newton dan Leibniz mempublikasikan hasil mereka untuk pertama kali, timbul kontroversi di antara matematikawan tentang mana yang lebih pantas untuk menerima penghargaan terhadap kerja mereka. Newton menurunkan hasil kerjanya terlebih dahulu, tetapi Leibniz yang pertama kali mempublikasikannya. Newton menuduh Leibniz mencuri pemikirannya dari catatan-catatan yang tidak dipublikasikan, yang sering dipinjamkan Newton kepada beberapa anggota dari Royal Society.


Pemeriksaan secara terperinci menunjukkan bahwa keduanya bekerja secara terpisah, dengan Leibniz memulai dari integral dan Newton dari turunan. Sekarang, baik Newton dan Leibniz diberikan penghargaan dalam mengembangkan kalkulus secara terpisah. Adalah Leibniz yang memberikan nama kepada ilmu cabang matematika ini sebagai kalkulus, sedangkan Newton menamakannya "The science of fluxions".


Sejak itu, banyak matematikawan yang memberikan kontribusi terhadap pengembangan lebih lanjut dari kalkulus.


Kalkulus menjadi topik yang sangat umum di SMA dan universitas zaman modern. Matematikawan seluruh dunia terus memberikan kontribusi terhadap perkembangan kalkulus.[11]







Minggu, 06 Februari 2011




PASCAL


Bahasa program merupakan suatu wahana untuk menuangkan pikiran manusia yang dapat dimengerti oleh mesin komputer sehingga bernilai guna. Suatu bahasa program akan terikat aturan dari paradigma bahasa. Ada berbagai macam paradigma bahasa : Prosedural, Fungsional, Deklaratif, Object Oriented, Konkuren. Paradigma yang diajarkan dalam Matakuliah Algoritma dan Pemrograman ini adalah paradigma prosedural.
Perlu diperhatikan perbedaan antara belajar bahasa program dengan belajar memprogram!!! Belajar bahasa program hanya belajar tentang sintak (aturan) dari bahasa sedangkan belajar memprogram akan tercakup beberapa hal yang didalamnya terkandung tentang belajar bahasa program itu sendiri. Yang harus diperhatikan oleh mahasiswa yang sedang belajar memprogram, yaitu :
• Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi. Kegiatan dilakukan di kelas, melalui permainan. Contoh : Mengurutkan tinggi badan mahasiswa dari tinggi ke pendek atau sebaliknya. Permainan dapat dilakukan secara manual maupun dengan komputer.
• Analisis masalah secara lebih formal dan membuat spesifikasi dan algoritma dalam notasi yang ditetapkan. Mahasiswa harus menuliskan solusi algoritmiknya dalam notasi standar di kelas. Penulisan notasi algoritmik bertujuan untuk menyeragamkan pemahaman tentang algoritma program yang terbebas dari sintak (aturan) penulisan bahasa program .
• Menulis program, yaitu menterjemahkan notasi algoritmik ke dalam sintak bahasa program.
• Debugging dan menguji coba program. Hal ini bertujuan untuk mendapatkan program yang benar. Program dikatakan benar jika terbebas dari salah lojik dan sintak bahasa. Secara ideal mahasiswa hanya diberi kesempatan untuk me-run program sebanyak 2 kali : pertama untuk membersihkan program dari kesalahan sintak dan kedua untuk mendapatkan program benar. Pada tahap ini diharapkan tidak terjadi kesalahan lojik jika analisa benar.
• Mengamati peristiwa eksekusi, perlu dilakukan untuk meningkatkan kepercayaan bahwa jika analisa benar maka sisa pekerjaan menjadi mudah. Pada pemrograman prosedural, aspek ini penting untuk memahami fenomena eksekusi dan perubahaan nilai suatu struktur data.
• Membaca program : orang akan dapat menulis dengan baik kalau sering membaca. Hal ini juga berlaku dalam memprogram. Kegiatan yang dapat dilakukan di kelas adalah dengan saling tukar menukar teks algoritma, dan saling mengkritik algoritma teman. Mahasiswa harus berlatih sendiri pada kegiatan belajar bersama.
• Membuktikan kebenaran program secara formal , satu-satunya hal yang menjamin kebenaran, tetapi kontradiktif dan sulit diterapkan dalam kehidupan sehari-hari. Program yang hanya lima baris pembuktiannya bisa sehalaman, sehingga seringkali tidak pernah diterapkan dalam aplikasi nyata. Aktifitas ini dicakup dalam matakuliah Analisis Algoritma.





Petunjuk Praktikum :

Dari pengantar dapat disimpulkan bahwa pekerjaan memprogram tidak 100 % di depan komputer (artinya mahasiswa tidak langsung memecahkan permasalahan di komputer) melainkan ada fase sebelum di depan komputer yaitu fase “Analisa”. Untuk program yang kecil anda bisa langsung memecahkan di depan komputer namun bagaimana untuk program yang besar ? Secara konvensional, isi fase “Analisa” berupa oret-oretan di kertas yang menjelaskan tentang solusi permasalahan. Untuk itu maka ditetapkan langkah-langkahnya,
• Fase I ( analisa sederhana ): Hasil proses dari fase ini adalah oretan Notasi Algoritmik yang siap diterjemahkan ke dalam bahasa program pascal. Fase ini dilakukan sebelum masuk ke laboratorium. Di Lab, mahasiswa hanya diperkenankan membawa oretan Notasi Algoritmik untuk masalah yang bersangkutan ditambah Catatan kuliah dan Buku pendukung lainnya( artinya mahasiswa tidak diperkenankan membawa lembaran source code yang telah tercetak untuk masalah yang bersangkutan)
• Fase II ( pembuatan source code) : Meliputi penterjemahan notasi algoritmik, debugging dan run, dan testing program. Dilakukan di dalam Lab selama waktu yang ditentukan untuk setiap praktikum. Hasil dari fase ini adalah Source Code yang benar dan Kasus uji.
• Fase III (dokumentasi ): merupakan rekaman hasil kegiatan dari setiap fase di atas. Mahasiswa harus membuatkan laporan yang terdiri dari : “Analisa Masalah yang dilengkapi dengan Notasi Algoritmik”, “Source Code”, “Kasus Uji”, dan “Kesimpulan” jika perlu. Source Code dan kasus Uji harus merupakan hasil Print-Out Komputer di Lab, sedangkan yang lainnya bebas (boleh dengan tulisan tangan). Fase ini dilakukan di luar Lab.
• Fase IV (pengumpulan laporan ): Laporan diserahkan ke Assistan Lab untuk Pascal dalam waktu yang telah ditentukan. Pengumpulan laporan di luar waktu yang telah ditentukan tidak akan diterima.





Contoh : Harus dibuatkan program pascal untuk memilah suatu bilangan bulat (integer) yang terdiri dari bilangan negatif, nol dan positif. Bilangan diinputkan dari keyboard. Hasil pemilahan harus ditampilkan ke layar.


I. Analisa Masalah


Memilah bilangan menjadi 3 bagian, yaitu wilayah negatif , nol dan positif. Wilayah negatif akan dicirikan oleh suatu aturan jika bilangan yang diinputkan dari keyboard adalah lebih kecil dari nol ( dalam bahasa Matematik “bilangan < 0 “ ). Wilayah positif adalah jika bilangan lebih besar dari nol atau “bilangan > 0 “ sedangkan wilayah nol adalah bilangan samadengan nol ( yaitu bilangan yang bukan bagian dari “bilangan > 0 dan bilangan < 0”). Jika perlu gambarlah garis bilangannya!!! 1.1. Spesifikasi : Input : suatu nilai bertipe integer yang ditampung dalam variabel “Bil” Proses : memilah klasifikasi bilangan. Output : “Negatif “ jika Bil < 0 “Positif” jika Bil > 0
“Nol” jika Bil = 0


1.2. Notasi Algoritmik :



Program PilahBilangan

{ dibaca Bil(Integer), bilangan bulat secara sembarang dari keyboard }

{ harus dituliskan klasifikasi Bil : apakah negatif, positif atau nol }

Kamus

Bil : Integer

Algoritma / Proses

Input (Bil)


If Bil < 0 Then Output(‘ Bilangan Negatif’) Else if Bil > 0 Then

Output(‘ Bilangan Positif’)

Else Output(‘ Bilangan Nol’)


Endif

Endif



2. Source Code



Program PilahBilangan;

{ Name of File : c:\pilah.pas }

{ Create by : Pulan bin Wulan }

{ Date : 12 Agustus 2000 }

{ Description : }


{ dibaca Bil(Integer), bilangan bulat secara sembarang dari keyboard }

{ harus dituliskan klasifikasi Bil : apakah negatif, positif atau nol }

uses crt;

{Kamus}

Var

Bil : Integer;

Begin

{Algoritma / Proses}

{-----Input (Bil)---- }


write('Masukan bilangan : ');

readln(Bil);

If Bil < 0 Then {-----Output(' Bilangan Negatif')----} write('Bilangan itu adalah bilangan Negatif') Else if Bil > 0 Then

{------Output(' Bilangan Positif')-----}

write('Bilangan itu adalah bilangan Positif')

Else { ---- Output(' Bilangan Nol')---- }

write('Bilangan itu adalah bilangan Nol');


readln { untuk menahan laju proses berikutnya }

end.



3. Kasus Uji



Harus diujikan kasus-kasus yang dapat mewakili domain permasalahan. Pada kasus ini domain permasalahannya adalah bilangan Integer. Berarti harus diinputkan bilangan-bilangan yang termasuk ke dalam kriteria Integer. Dalam spesifikasi disebutkan diinputkan bilangan Integer(artinya program tidak akan berfungsi dengan benar jika dimasukan nilai selain Integer).


Kasus uji bilangan yang diinputkan :

• Harus dicobakan minimal satu bilangan untuk wilayah Negatif

• Harus dicobakan minimal satu bilangan untuk wilayah Positif


• Harus dicobakan satu bilangan 0 untuk wilayah Netral



Hasil program :



Masukan bilangan : -2000

Bilangan itu adalah bilangan Negatif



Masukan bilangan : 4000

Bilangan itu adalah bilangan Positif




Masukan bilangan : 0

Bilangan itu adalah bilangan Nol





Memunculkan kasus uji merupakan usaha untuk mendeteksi program dari kesalahan lojik yang tidak sesuai dengan spesifikasi. Pendeteksian kebenaran program didasarkan atas kecocokan kasus uji dengan domain permasalahan yang ada dalam spesifikasi. Contoh : Jika program di atas di jalankan, kemudian user memasukan nilai 4.8 ( dibaca empat koma delapan, merupakan bilangan real). Komputer akan memberikan warning kesalahan dari input data user karena tidak cocok. Pada kasus ini program tidak salah, yang salah adalah user : Mengapa user memasukan bilangan Real ? Padahal spesifikasi program mengharapkan masukan bilangan Integer.
Kesimpulan : Program akan disebut benar jika jalannya program sesuai dengan spesifikasi.




Format penulisan laporan bebas, yang penting isinya meliputi hal-hal yang telah disebutkan di atas. OK!
Praktikum : I Topik : Assignment, Input dan Output Tanggal : Waktu : Soal 1. (Merupakan soal Warming Up Pemrograman Pascal, jika anda benar membuatkan program ini maka kepercayaan diri anda akan muncul, selamat mencoba!). Buatlah program untuk menuliskan kalimat “Assalammualikum wR. WB” ke layar. Soal 2. Buatlah program untuk mendeklarasikan sebuah variabel bertipe integer dan isilah variabel tersebut dengan cara assignment kemudian mencetak nilai variabel tersebut. Cobalah assignment variabel tersebut dengan bilangan real, apa yang terjadi, amatilah !!! Soal 3, Soal4, Soal5. Idem no 2, dengan tipe data lainnya (real, karakter, boolean). Cobalah untuk mengisi variabel dengan nilai yang berbeda dengan tipe data variabel tersebut !!! Soal 6. Dibaca bilangan yang menyatakan tinggi badan seseorang dalam centimeter. Nilai tinggi badan dimungkinkan dalam pecahan (100,4 ; 160,67 ; 120, 45). Buatlah program yang tepat untuk mendeklarasikan variabel, mengisi variabel dan mencetak isi variabel sesuai permasalahan tersebut. Praktikum : II Topik : Konstanta & Kalkulasi, Operator & Ekspresi Tanggal : Waktu : Soal 1. Buatlah program yang mendeklarasikan suatu bilangan bertipe real, mengisi bilangan bertipe real tersebut dari keyboard, lakukan operasi tambah – kurang – bagi – kali- kurangdari-lebihdari. Tampilkan hasil dari setiap operasi ke layar. Soal 2. Program untuk menghitung luas lingkaran. Luas lingkaran didefinisikan sbb : L= pi * r * r, dimana pi adalah konstanta yang bernilai 3,1415 sedangkan r adalah jari-jari lingkaran. Soal 3. Idem dengan soal no 2. Misal L=65.5678 maka penulisan luas lingkaran di layar adalah sbb : 65.57 ( lebar tulisan adalah 9 digit dengan 2 digit di belakang koma)
Soal 4. Bool1 dan Bool2 adalah variabel yang masing-masing berisi nilai TRUE dan FALSE. Buatlah program untuk melakukan operasi AND, OR, XOR, NOT terhadap variabel tersebut. Soal 5. Diketahui nilai variabel n= 8 (desimal). Buatlah program untuk menggeser bit bilangan 8 dalam desimal sebanyak 2 ke kiri dan 3 ke kanan.. Praktikum : III
Topik : Kondisional Tanggal : Waktu : Soal 1. Program yang membaca nilai integer dan menuliskan nilainya jika positif.



Soal 2. Program yang membaca nilai integer dan menuliskan ‘Nilai a positif’ jika a >= 0 dan ‘Nilai a negatif’ jika a < 0. Soal 3. Program yang membaca nilai integer dan menuliskan ‘Nilai a positif’ jika a > 0 , ‘Nilai a negatif ‘ jika a < 0, dan ‘Nilai Nol ‘ jika a=0. Soal 4. Dibaca tiga buah harga a, b dan c, harus dituliskan secara terurut mulai dari yang terkecil sampai dengan yang terbesar. Ketiga bilangan yang dibaca selalu berlainan harganya.



Soal 5. Idem no 4. Bagaimana jika ketiga bilangan yang dibaca adalah sama ? Soal 6. Dibaca suatu nilai bertipe integer. Jika dimasukan harga 1 maka tulis di layar ‘SATU’ Jika dimasukan harga 2 maka tulis di layar ‘DUA’ Jika dimasukan harga 3 maka tulis di layar ‘TIGA’ …………… Jika dimasukan harga 9 maka tulis di layar ‘SEMBILAN’ Jika dimasukan harga 0 maka tulis di layar ‘NOL’ Jika dimasukan harga selain 0 s/d 9 maka tulis di layar ‘BILANGAN SELAIN 0 s/d 9’ Soal 7. Buatlah program untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000 jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya kurang dari 50 tahun akan mendapat bonus Rp. 300.000 Praktikum : II
Topik : Pengulangan (Repeat-Until, While, For) Tanggal : Waktu : Soal 1. Program untuk mencetak bilangan bulat dari 1 s/d N menggunakan struktur pengulangan Repeat-Until, While dan For. Nilai N diinputkan dari keyboard. Soal 2. Program untuk mencetak bilangan bulat dari N s/d 1 menggunakan struktur pengulangan Repeat-Until, While dan For. Nilai N diinputkan dari keyboard. Soal 3. Program untuk mencetak bilangan bulat sbb: 1 3 5 7 9 11 13 15 menggunakan struktur pengulangan Repeat-Until, While dan For. Soal 4. Program untuk mencetak bilangan bulat sbb: 15 13 11 9 7 5 3 1 menggunakan struktur pengulangan Repeat-Until, While dan For. Soal 5. Program untuk memasukan bilangan yang lebih besar dari nol. Program akan terus menerus minta inputan jika nilai yang dimasukan lebih kecil atau samadengan nol.




SHOLAT

wahai saudaraku, ingatlah

bahwa tak selamanya kau berdiri tegak

tak selamanya kau muda

dan tak selamany aku tetap berjaya


sebentar lagi kau harus RUKU'

mulai menua

perjalanan karirmu sebentar lagi pensiun

mungkun kau sempat berdiri kembali

tapi itupun tidak lama

karena engkau harus segera SUJUD

lambangkelemahan diri, masa udzur

dan penghujung sebuah perjalanan

akhirnya, suka atau terpaksa


kaupun harus memungkasi

perjalanan hidupmu.

itulah isyarat yang terkandung

dalam gerakan sholat

maka renungkanlah

(The Spirit of Akhlaq)





Jumat, 26 Juni 2009











































Tidak ada komentar:

Posting Komentar