Belajar Free Pascal



Panduan Pembinaan Toki
Free Pascal

A. Pendahuluan

Mendengar isitlahnya mungkin kita akan tertuju langsung pada penggunaan atau aplikasi computer, beberapa siswa-siswi begtu antusianya mengikuti program pembinaan ini, tetapi apa di kata setelah beberapa hari, kok begini modelnya. Sebenarnya itu juga yang menjadi pertanyaan beberapa teman saya, ternyata olimpiade computer ini lebih banyak kepada mate-matika dari pada komputernya, kenapa begitu. Penyisihan yang dilakukan oleh tingkat kota / kabupaten ternyata 80% lebih ke analitik (mate-matika) dari pada pengoperasian program pascalnya. Akhirnya beberapa hal yang kami lakukan adalah sbb :
1. Mengadakan pembinaan kepada siswa-siswa yang berminat
2. Menjaring siswa-siswi yang memiliki Nilai Komputer tinggi serta nilai mate-matikanya juga tinggi
3. Mengadakan pree test setelah diadakan pembinaan beberapa kali
4. Menjaring hasil pree test untuk di bina maju ke tingkat Kota/kabupaten

Beberapa siswa memang sempat bingung, free pascal ?, apa itu…., kenapa nggak pakai bahasa pemograman berbasis GUI seperti Visual Basic, Java, Delphi dan sejenisnya ?.
Ternyata beberapa literature menjelaskan alasan kenapa pakai free Pascal :
1. Free Pascal Open Source artinya biasa di dapetkan Gratis
2. Free Pascal merupakan bahasa umum International
3. Compatible dengan macam-macam Operating Sistim (Windows, Linux)
4. Memiliki ukuran kecil sehingga bias di jalankan pada disket//flasdisk
5. Berbasis text (dos) sehingga bias dijalankan pada computer rendah sekalipin (386) dst.
6. Memiliki pengembangan kedepan yang sangat luas
7. Tidak memerlukan hardware yang rewel

Itulah beberapa kronologis kenapa dalam OSN menggunakan aplikasi free pascal yang merupakan turunan langsung dari Turbo Pascal dari Borland.

B. Pembinaan dan Penjaringan

Beberapa pengalaman yang kita rasakan selama membina OSN ini akan kita coba share, namun begitu tidak semua dari sistim ini sempurna. Hal yang perlu di perhatikan sebelum membina siswa adalah sbb :
a. Sistim seleksi
Seleksilah siswa yang akan mengikuti olimpiade ini dengan beberapa metode diantaranya adalah sbb :
o Siswa tersebut harus memiliki nilai mate-matika, fisika lumayan misalnya nilai rata-ratanya 7, atau lebih.
o Siswa tersebut dikelompokan dalam katagori senang dengan computer
o Siswa senang dengan tantangan
o Siswa memiliki logika tinggi
o Akan lebih bagus siswa memiliki buku panduan Free Pascal (bias di download di toki.go.id) atau literature lainya, apalagi didukukung siswa memiliki computer/laptop di rumah.

b. Metode Penjaringan

Metode ini sebenarnya gampang-gampang susah, beberapa kendala yang muncul biasanya sbb :
• Siswa yang pandai dalam mate-matika cenderung memilih OSN Mate-matika
• Siswa yang pintar computer belum tentu pandai dalam pelajaran Mat-matika
• Siswa kelas x (kelas 1) dari SMP belum pernah dikenalkan dasar-dasar pemograman dan Algoritma, sehingga takut untuk maju ke penjaringan, sedangkan siswa kelas xi (kelas 2) hanya memiliki kesempatan 1x ikut olimpiade ini, sedangkan kelas x bias memiliki pengalaman bila pada kelas x ikut, kemudian kelas xi ikut lagi sehingga sudah punya gambaran tentang materi.
• Tidak semua Guru TIK menguasai aplikasi program/pemograman bahasa dan algoritma.
• Guru tidak begitu menguasai mate-matika
• Metode pembinaan di lakukan selepas pulang sekolah sehingga tenaganya udah hanpir habis.
• Materi ini tidak didapatkan di bangku manapun, sedangkan OSN lainya ada mata pelajaranya, misalnya OSN Biologi, ada pelajaran Biologi dan seterusnya, walaupun terus terang materinya sangat tinggi (materi di bangku kuliah).
• Terbatasnya sumber belajar buku referensi dan lain sebagainya, walapun di internet ada beberapa situs.

Oleh sebab itu kendala tersebut diatas bias sedikit di minimalisir dengan metode Pembinaan pada point diatas, syukur di dukung oleh SDM nya. Kami mencoba membuat metode penjaringan sbb :

• Meminta data di Walikelas/BP tentang data siswa dan nilainya
• Membuat kuisiner tentang pilihan mengikuti OSN
• Menanyakan secara lesan ke guru mate-matika dan BP/Bk tentang siswa tersebut
• Membuat pree test sederhana misalnya tentang soal-soal logika serta pertanyaan-pertanyaan sederhana
• Menentukan jumlah siswa yang akan di bina, idealnya adalah 5 sampai 10 siswa saja, namun semua tergantung dari hasil penjaringan.
• Membuat final test untuk menentukan siswa yang bisa masuk pembinaan atau tidak.
• Menentukan pembinaan dan waktu pembinaan yang sangat ideal, misalnya hari jum’at atau sabtu.


• Apabila ada MGMP kota sebaiknya di buat kesepakatan tentang pree test dan materi-materi.



C. Dasar Algoritma

Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh orang yang menulis program, disebut Programer.

Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma (di unduh dari UKDW)

Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998). Algoritma sebenarnya materi yg akan dapatkan kalau kita di bangku kuliah biasanya semester 3 atau 4, namun di mate-matika sudah dikenalkan sedikit tentang algoritma ini.

Paradigma Pemrograman

1. Pemrograman Prosedural
• Berdasarkan urutan-urutan, sekuensial program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan nstruksi yang dikerjakan secara berurutan. Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
2. Pemrograman Fungsional
• Berdasarkan teori fungsi dan logic matematika
• Fungsi merupakan dasar utama program.
3. Pemrograman Terstruktur
• Secara berurutan dan terstrukrtur dengan benar
• Program dapat dibagai-bagi menjadi prosedur dan fungsi.
Contoh: PASCAL dan C
4. Pemrograman Modular
• Pemrograman ini membentuk banyak modul.
• Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
• Sebuah program dapat merupakan kumpulan modul-modul.
Contoh: MODULA-2 atau ADA
5. Pemrograman Berorientasi Obyek
• Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
Contoh: C++, Object Pascal, dan Java.
6. Pemrograman Berorientasi Fungsi
• Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.
Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
7. Pemrograman Deklaratif
• Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.

Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)

Penerapan Algo
Algoritma Logika sebenarnya bisa diterapkan sehari-hari dalam kehidupan kita misalnya, si Ari lapar, apa yang harus dilakukannya :
1. Di akan makan Mie Instan
2. Ari akan membeli Mie di warung
3. Menentukan rasa Mienya
4. Memasaka air
5. Memasak Mie
6. Makan
Langkah-langkah diatas adalah langkah yang umum atau logis/logk, namun bisa aja stepnya dilewati atau di tambah, intinya adalah Ari akan Mie Instan karena Lapar.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.

Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.

Kriteria Algoritma Menurut Donald E. Knuth
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
6. Namun ada beberapa program yang memang dirancang untuk unterminatable: contoh Sistem Operasi

Jenis Proses Algoritma
1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P)
2. Masukkan lebar (L)
3. L ← P * L
4. Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma. Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan

Contoh Pseudo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
4. langkah 5.
5. Tampilkan bilangan pertama
6. Tampilkan bilangan kedua
7.
Contoh Algoritma
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b

Contoh Lain Algortima dan Pseudo-code:
Pseudo-code Algoritma
Nilai A ditambah dengan 5 A ← A + 5
Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari
bilangan yang terbesar
IF A > B THEN PRINT A ELSE PRINT B

Langkah-langkah dalam pemrograman komputer
1. Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy (oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”. Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.
2. Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan. Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
􀂾 meminta masukkan berupa matriks bujur sangkar
􀂾 mencari invers matriks
􀂾 menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.
3. Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut
4. Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.
5. Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.
6. Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentarkomentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan arameter-parameter yang ada pada suatu prosedur dan fungsi.
7. Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada.

SOAL ALGORITMA
1. Buatlah algoritma untuk menghitung konversi suhu.dari Celcius menjadi Reamur dan Farenheit.
Input: suhu dalam Celcius
Proses: R = 4/5 * C dan F = 9/5 * C + 32
Output: suhu dalam Reamur dan Farenheit
2. Buatlah algoritma untuk mencari sisi miring dari suatu segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku.
Input: a dan b, yaitu panjang sisi pembentuk sudut siku-siku
Proses: c = a2 + b2
Ouput: sisi miring (c)
3. Buatlah algoritma untuk menentukan suatu bilangan genap atau ganjil
Input: suatu bilangan
Ouput: genap / ganjil
4. Buatlah algoritma untuk menentukan suatu bilangan adalah bilangan prima atau bukan.
5. Buatlah algoritma untuk untuk menghitung akar-akar persamaan kuadrat dengan
rumus D = B2 – 4 * A * C
Jika D < 0 maka didapat akar imajiner Jika D = 0 maka X1 = X2 yang didapat dari D = -B / (2 * A) Jika D > 0 maka ada dua akar X1 = −B + D/ 2 * A dan X 2 = −B − D/ 2 * A
NEXT
Generasi Bahasa Pemrograman, Proses Kompilasi, FlowChart, mengenal C++ dan C#

Previous
Next Post »

Mohon dengan sangat untuk berkomentar dan saran demi kemajuan bersama,, beri kritik yang bermanfaat dan jangan lupa join blog ini..!
oke??? terima kasih :) ConversionConversion EmoticonEmoticon

Thanks for your comment