Siska Damayanti
Minggu, 17 Juli 2011
Web Server untuk Java
Apache bukan barang asing di Linux, hampir semua distro menyertakannya. Namun, Anda perlu menambah program agar mendukung halaman berisi kode Java (JSP/servlet). Salah satu alternatif web server, yang 100% Java adalah Jetty. Tiga besar layanan Internet saat ini adalah Word Wide Web (WWW), E-mail dan Chatting. Menurut data statistik yang dikumpulkan Netcraft, pada awal tahun 2003 ada lebih dari 35 juta web server. Dari jumlah itu, lebih dari 60% menggunakan Apache, dan nyaris 30% adalah combo Linux + Apache + MySQL + PHP (LAMP). Sementara itu untuk e-mail, 80% pangsa server dulu dikuasai Sendmail, namun kini mulai digantikan Postfix atau Qmail. Tren terbaru juga menunjukkan bahwa email berbasis web makin diminati, di mana Combo yang populer adalah Linux + Apache + {Postfix/Qmail} + IMAP + {IMP/SquirrelMail/Postman}.
Membuat CGI dengan Pascal
Ada yang mengatakan bahwa para programmer Pascal mungkin tidak pernah bermimpi dapat membuat aplikasi berbasis web. Memang untuk saat ini tidak ada tool/library khusus yang dapat digunakan oleh programmer Pascal untuk membuat aplikasi berbasis web, kecuali mungkin framework .NET-nya Microsoft. Tapi dengan sedikit mengutak-atik, para programmer Pascal sebetulnya bisa ambil bagian dalam dunia yang satu ini.
Artikel ini saya tulis untuk berbagi pengalaman membuat program CGI dengan Pascal. Awalnya saya penasaran dengan pernyataan bahwa CGI dapat dibuat dengan sembarang bahasa pemrograman1. Jika demikian, tentunya CGI juga dapat dibuat dengan menggunakan Pascal. Maka iseng-iseng saya coba kutak-katik webserver Apache di komputer saya, dan jadilah tulisan ini. Spesifikasi sistem yang saya gunakan adalah Pascal untuk platform DOS dan webserver Apache 1.3.22. Sebagai catatan, saya belum mencoba cara ini pada web server selain Apache, dan tidak berhasil pada web server IIS.
Kumpulan Program Pascal
Kumpulan program pascal ini merupakan kumpulan latihan saat penulis belajar bahasa pemrograman pascal. Penulis menggunakan Turbo Pascal for Windows (TPW) Versi 1.5 sebagai kompilernya. Mungkin ada kekurangan disana sini, tapi mudah-mudahan kumpulan program ini bermanfaat bagi pembaca yang berminat dan baru mempelajari bahasa pemrograman pascal.
Prosedur dan Fungsi di Turbo Pascal
Prosedur dan Fungsi di Turbo Pascal
A. Konsep pemrograman prosedural
Ketika program yang dibuat sudah terlalu panjang ratusan bahkan puluhan ribu baris, sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanya disebut modul, subprogram atau subrutin. Konsep semacam ini biasa disebut dengan pemrograman prosedural. Dalam tulisan ini selanjutnya akan digunakan kata modul supaya lebih ringkas. Turbo Pascal yang digunakan pada percobaan ini adalah versi 7.1, bila anda menggunakan Turbo Pascal 7.0 maka prosesnya tidak jauh berbeda.
Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencari kesalahan, memperbaiki serta membuat dokumentasinya. Pembuatan modul di Turbo Pascal dibagi dua jenis yaitu : Prosedur dan Fungsi. Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama, diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Setiap prosedur diawali dengan kata cadangan (reserver word) Procedure, sedangkan Fungsi diawali dengan kata cadangan Function.
Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena :
1. Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
A. Konsep pemrograman prosedural
Ketika program yang dibuat sudah terlalu panjang ratusan bahkan puluhan ribu baris, sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan, maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanya disebut modul, subprogram atau subrutin. Konsep semacam ini biasa disebut dengan pemrograman prosedural. Dalam tulisan ini selanjutnya akan digunakan kata modul supaya lebih ringkas. Turbo Pascal yang digunakan pada percobaan ini adalah versi 7.1, bila anda menggunakan Turbo Pascal 7.0 maka prosesnya tidak jauh berbeda.
Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencari kesalahan, memperbaiki serta membuat dokumentasinya. Pembuatan modul di Turbo Pascal dibagi dua jenis yaitu : Prosedur dan Fungsi. Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama, diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Setiap prosedur diawali dengan kata cadangan (reserver word) Procedure, sedangkan Fungsi diawali dengan kata cadangan Function.
Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena :
1. Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-modul atau subprogram-subprogam yang lebih sederhana.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
2011 Pemrograman Pascal
Pascal adalah sebuah bahasa pemograman tempo dulu. Mungkin itu saja yang dapat saya definiskan, karena saya yakin pembaca lebih tahu mengenai definisi lengkap dari Pascal. Saya ingin berbagi ilmu walaupun cuma sedikit tentang pemograman dengan Pascal. Melalui tulisan ini, saya mencoba untuk mengulas program, prosedur dan fungsi menarik yang bisa Anda coba dan terapkan dalam pemograman Pascal. Beberapa yang dapat saya sampaikan, diantaranya:
- Fungsi-fungsi String
- Fungsi-fungsi Date
- Fungsi-fungsi Konversi
- Program Permainan
Using Pascal's Triangle
Using Pascal's Triangle
Heads and Tails
Pascal's Triangle can show you how many ways heads and tails can combine. This can then show you "the odds" (or probability) of any combination.For example, if you toss a coin three times, there is only one combination that will give you three heads (HHH), but there are three that will give two heads and one tail (HHT, HTH, THH), also three that give one head and two tails (HTT, THT, TTH) and one for all Tails (TTT). This is the pattern "1,3,3,1" in Pascal's Triangle.
Tosses | Possible Results (Grouped) | Pascal's Triangle |
---|---|---|
1 | H T | 1, 1 |
2 | HH HT TH TT | 1, 2, 1 |
3 | HHH HHT, HTH, THH HTT, THT, TTH TTT | 1, 3, 3, 1 |
4 | HHHH HHHT, HHTH, HTHH, THHH HHTT, HTHT, HTTH, THHT, THTH, TTHH HTTT, THTT, TTHT, TTTH TTTT | 1, 4, 6, 4, 1 |
... etc ... |
Example: What is the probability of getting exactly two heads with 4 coin tosses?
There are 1+4+6+4+1 = 16 (or 24=16) possible results, and 6 of them give exactly two heads. So the probability is 6/16, or 37.5%Combinations
The triangle also shows you how many Combinations of objects are possible.Example: You have 16 pool balls. How many different ways could you choose just 3 of them (ignoring the order that you select them)?
Answer: go down to row 16 (the top row is 0), and then along 3 places and the value there is your answer, 560.Here is an extract at row 16:
1 14 91 364 ... 1 15 105 455 1365 ... 1 16 120 560 1820 4368 ...
A Formula for Any Entry in The Triangle
In fact there is a formula from Combinations for working out the value at any place in Pascal's triangle:It is commonly called "n choose k" and written like this: |
The "!" is "factorial" and means to multiply a series of descending natural numbers. Examples:
|
So Pascal's Triangle could also be an "n choose k" triangle like this: (Note that the top row is row zero) |
Example: Row 4, term 2 in Pascal's Triangle is "6" ...
... let's see if the formula works:Yes, it works! Try another value for yourself.
Polynomials
Pascal's Triangle can also show you the coefficients in binomial expansion:Power | Binomial Expansion | Pascal's Triangle |
---|---|---|
2 | (x + 1)2 = 1x2 + 2x + 1 | 1, 2, 1 |
3 | (x + 1)3 = 1x3 + 3x2 + 3x + 1 | 1, 3, 3, 1 |
4 | (x + 1)4 = 1x4 + 4x3 + 6x2 + 4x + 1 | 1, 4, 6, 4, 1 |
... etc ... |
The First 15 Lines
For reference, I have included row 0 to 14 of Pascal's Triangle1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1 1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1
The Chinese Knew About ItThis drawing is entitled "The Old Method Chart of the Seven Multiplying Squares". View Full ImageIt is from the front of Chu Shi-Chieh's book "Ssu Yuan YĆ¼ Chien" (Precious Mirror of the Four Elements), written in AD 1303 (over 700 years ago, and more than 300 years before Pascal!), and in the book it says the triangle was known about more than two centuries before that. |
The Quincunx
An amazing little machine created by Sir Francis Galton is a Pascal's Triangle made out of pegs. It is called The Quincunx. Balls are dropped onto the first peg and then bounce down to the bottom of the triangle where they collect in little bins.
|
Patterns Within the Triangle
DiagonalsThe first diagonal is, of course, just "1"s, and the next diagonal has the Counting Numbers (1,2,3, etc).The third diagonal has the triangular numbers (The fourth diagonal, not highlighted, has the tetrahedral numbers.) | ||
Odds and EvensIf you color the Odd and Even numbers, you end up with a pattern the same as the Sierpinski Triangle | ||
Horizontal SumsWhat do you notice about the horizontal sums?Is there a pattern? Isn't it amazing! It doubles each time (powers of 2). | ||
Exponents of 11 ⇒ Pascal's TriangleBut what happens with 115 ? Simple! The digits just overlap, like this:The same thing happens with 116 and so on. | ||
Fibonacci SequenceTry this: make a pattern by going up and then along, then add up the squares (as illustrated) ... you will get the Fibonacci Sequence.(The Fibonacci Sequence starts "1, 1" and then continues by adding the two previous numbers, for example 3+5=8, then 5+8=13, etc) |
SymmetricalAnd the triangle is also symmetrical. The numbers on the left side have identical matching numbers on the right side, like a mirror image. |
Langganan:
Postingan (Atom)