Abstracted from :
- Roadmap Pengajaran Pemrograman Untuk TOKI-Inggriani Liem and Yohanes Nugroho, TOKI Biro ITB-Temu OSN Pekanbaru Riau 2004
- Tic Tac Toe Concept - http://en.wikipedia.org/wiki/Tic-tac-toe
- Go to Play TTT 1 - http://boulter.com/ttt/
- Go to Play TTT 2 - http://www.neave.com/games/tictactoe/
- Puzzle9 Concept- http://en.wikipedia.org/wiki/Fifteen_puzzle
- Go to Play Puzzle 9 - 1 - http://puzzle9.com/
- Puzzle9Forum-http://wiki.answers.com/Q/What_is_the_answer_to_puzzle_9_in_Professor_Layton_and_the_Curious_Village
- Sorting Algorithm Concept - http://en.wikipedia.org/wiki/Sorting_algorithm
- Sorting Algorithm Animations-Java- - http://www.sorting-algorithms.com/
- Sorting Algorithm Demo-Java- http://www.cs.ubc.ca/~harrison/Java/sorting-demo.html
- Design-Program-Pascal-http://en.wikipedia.org/wiki/Pascal_%28programming_language%29
- Design Program-Turbo Pascal - http://portal.acm.org/citation.cfm?id=42209
- Go to Turbo Pascal Games 1 - http://www.fraserking.co.uk/turbo-pascal-games.htm
- Go to Turbo Pascal Games 2 - http://www.devq.net/pascal/doc.php?cid=21
- Go to Turbo Pascal Games 3 - http://www.cs.albany.edu/~mosh/Pascal/
- Go to Turbo Pascal Games 4 - http://www.fileguru.com/apps/turbo_pascal_games/p3
- Go to Turbo Pascal Games - Tetris - http://www.filebuzz.com/findsoftware/Turbo_Pascal_Snake_Game_Source_Code/1.html
- Go to Turbo Pascal Games Mario - http://www.wieringsoftware.nl/mario/
- Pascal Forums & Links - http://pascal-central.com/plinks.html
- Turbo Pascal 6 Tutorial - http://library.thinkquest.org/27297/
*** English Version ***
Before entering into a more in-depth discussion, then follow the guidelines below:
- In Stage One, students are invited to do things that fun, exciting to find a solution. For example, before students write algorithms for Tic Tac Toe Game or Puzzle 9 Figures, then Student asked to play with the real game. To a question of "Sorting", Students may be invited to do so with a card, where on one side of the "Student" and play, to experiment, understand the problem, and produce solutions that will be programmed. Activities without computers need to be abandoned because of the presence of computers, it can be fostered the growth of the power of reason Pupils toward a solution.
- On the Design Program activities, Students analyze problems in order to produce a maximal and optimal design. If the analogy with painting, then at this stage, "Student" should result in "Sketches" of Framework Programme (which is not necessarily written with a computer). By using computers, this will be the framework seketsa Main Program, Procedures and Functions in the form of feedback. That must be considered:
- Program Already Medium or Large scale should begin with a complete design and implemented in stages. When not able to go beyond this stage, it will produce a tangled Program.
- Programming Science Grow replace "Art" Programming or Programming by trial and error ("Trial and Error").
- The program must be generated from the Process Understanding of Problems, Analysis and Synthesis and poured into the Code in Computer Languages in Systematic and Methodological.
- After the Design Program is completed, then it can begin to be done Writing Program / Implementation, in which students perform Coding, Debugging and Testing. This phase will become easier when done by computer, because computers can help find the detail error. Therefore, at this stage, "Design Must be True". When the design is not good, then the implementation will be difficult. When the design is wrong, it will automatically not be implemented. Implementation of the Good main capital is to have a set of basic algorithms (Primitive) Instructions that have been memorized. Primitive presence in the form of Library and Module will enable Modular Implementation and Test By Gradual. For Very Small Sekala Program (Level Primitive), this phase usually come to the surface, because the program design blend with the Program Implementation.
- To become a good writer, a Programmer Candidate must be a lot of reading literature. Therefore, students should practice reading a lot of Existing Programs, even memorizing Section Primitive. The activity of this Reading Program, Student Program learn either Text or Not Use Computers or observe the program execution section. Especially for the execution of the Program, it must use the computer.
- Text readings are performed without the computer program called Static Readings, where someone tried to understand what the program (without executing). For this, his understanding is done per instruction, or per module. Analogues with reading treks where Student Learning Ordinary Spell of Instructions Per instructions, or understand the discourse that exists in the understanding of the meaning of program text. As a small example, a module that do the "Swap (Exchange)" two integer values A and B using a Temporary Variable Temp. Final state Initial state and will be used deduce that the program does a "SWAP" or exchange value of two variables. Second reading levels can be achieved gradually.
- Observing Program Executions are usually carried out with the debugger, and enables readings that are not sequential / sequence per module. Students ability to understand the execution and display the variable value when executed, will train students can find ERRORS IN THE IMPLEMENTATION PHASE.
- There are two other activities that must be done without using computers is:
- Calculating the complexity of the program and
- Proving the truth of programs that have been made.
- To make the program efficient and Effective, it must understand and calculate the complexity of the Program. This calculation is Mathematics, and conducted on a Static Text Program. By knowing the complexity of various algorithms, it could ultimately choose to EVERY CASE BEST ALGORITHM.
- A program does not have to be run to determine whether the program is True or False. This can be proved in Mathematics. When already know the Truth A Program before starting coding, it will not spend time trying different kind of way or do the "Trial and Error". Therefore, it should not give up.
*** Indonesia Version ***
Sebelum masuk ke pembahasan yang lebih mendalam, maka ikuti pedoman di bawah ini :
- Pada Tahap Pertama, Murid diajak melakukan hal-hal yang menyenangkan, menggembirakan untuk mencari solusi. Misalnya, sebelum Murid menulis Algoritma untuk Permainan Tic Tac Toe atau Puzzle 9 Angka, maka Murid diminta bermain dengan permainan yang sesungguhnya. Untuk suatu persoalan "Sorting" , Murid dapat diajak untuk melakukannya dengan Kartu, di mana di satu sisi "Murid" bermain-main, mencoba-coba, memahami persoalan, dan menghasilkan solusi yang nantinya akan diprogram. Kegiatan tanpa Komputer perlu harus ditinggalkan karena dengan adanya Komputer, maka dapat dipupuk tumbuhnya daya nalar Murid menuju solusi.
- Pada kegiatan Program Design, Murid menganalisis persoalan guna menghasilkan Design yang maksimal dan optimal. Bilamana dianalogikan dengan Melukis, maka pada tahap ini,"Murid" harus menghasilkan "Sketsa" berupa Kerangka Program (yang belum tentu dituliskan dengan Komputer). Dengan menggunakan Komputer, seketsa ini akan menjadi Kerangka Program Utama, Prosedur dan Fungsi Dalam Bentuk Komentar. Yang harus diperhatikan :
- Program Yang Sudah Bersekala Menengah atau Besar harus dimulai dengan design yang utuh dan diimplementasikan secara bertahap. Bilamana tidak mampu melampaui Tahap Ini, maka akan menghasilkan Program Yang Kusut
- Ilmu Pemrograman Berkembang menggantikan "Seni" Memprogram atau Memprogram secara coba-coba ("Trial and Error")
- Program harus dihasilkan dari Proses Pemahaman Permasalahan, Analisis dan Sintesis serta dituangkan menjadi Kode dalam Bahasa Komputer secara Sistematis dan Metodologis
- Setelah Program Design selesai, maka dapat mulai dilakukan Program Writing/Implementasi, di mana Murid melakukan Coding, Debugging dan Testing. Tahap ini akan menjadi lebih mudah bilamana dilakukan dengan Komputer, karena Komputer dapat membantu menemukan detail kesalahan. Oleh sebab itu, pada Tahap Ini,"Design Harus Benar". Bilamana design kurang baik, maka implementasinya akan menjadi sulit. Bilamana design salah, maka secara otomatis tidak bisa diimplementasikan. Modal utama Implementasi Yang Baik adalah memiliki sekumpulan Algoritma Dasar (Primitif) Instruksi yang sudah dihafal. Adanya Primitif yang berupa Library dan Modul akan memungkinkan Implementasi Moduler dan Test Secara Bertahap. Untuk Program Sekala Sangat Kecil (Tingkatan Primitif), fase ini biasanya yang muncul ke permukaan, karena Program design menyatu dengan Program Implementation.
- Untuk menjadi Penulis yang baik, seorang Calon Programmer harus banyak membaca Literatur. Oleh sebab itu, Murid harus banyak berlatih membaca Program Yang Sudah Ada, bahkan menghafalkan Bagian Primitif. Dalam kegitan Program Reading ini, Murid mempelajari Teks Program baik Memakai Komputer maupun Tidak atau mengamati Bagian Eksekusi Program. Khusus untuk Eksekusi Program, maka harus memakai Komputer.
- Pembacaan Teks Program yang dilakukan tanpa Komputer dinamakan Pembacaan Statik, di mana seseorang mencoba memahami apa yang dilakukan Program (tanpa mengeksekusi). Untuk ini, pemahamannya dilakukan per instruksi, atau per modul. Analoginya dengan membaca Teks Biasa di mana Murid Belajar Mengeja atas Instruksi Per Instruksi, atau mengerti Wacana yang ada dalam Teks yakni pemahaman arti Program. Sebagai contoh kecil, sebuah Modul yang melakukan "Swap (Pertukaran)" dua buah Nilai Integer A dan B menggunakan sebuah Temporary Variable Temp. Keadaan Awal dan Keadaan Akhir akan dapat dipakai MENDEDUKSI bahwasanya program melakukan "SWAP" atau menukar Nilai Kedua Variabelnya. Kedua tingkatan pembacaan ini dapat dicapai secara BERTAHAP.
- Mengamati Eksekusi Program biasanya dilakukan dengan DEBUGGER, dan memungkinkan pembacaan yang tidak sekuensial/berurutan per Modul. Kemampuan Murid dalam memahami Eksekusi dan menampilkan Nilai Variabel pada saat dieksekusi akan melatih Murid bisa menemukan KESALAHAN DALAM TAHAPAN IMPLEMENTASI.
- Ada dua aktivitas lain yang harus dilakukan tanpa memakai Komputer yaitu :
- Menghitung kompleksitas program dan
- Membuktikan kebenaran Program yang telah dibuat.
- Untuk membuat Program Yang Effisien dan Effektif, maka harus memahami dan menghitung Kompleksitas Program. Perhitungan ini bersifat Matematik, dan dilakukan terhadap Teks Program secara Statik. Dengan mengetahui Kompleksitas Aneka Algoritma, maka akhirnya bisa memilih ALGORITMA TERBAIK untuk SETIAP KASUS.
- Suatu Program tidak harus dijalankan untuk mengetahui apakah Program tersebut Benar atau Salah. Hal ini bisa dibuktikan secara Matematik. Bilamana sudah mengetahui Kebenaran Sebuah Program sebelum mulai MENGKODE, maka tidak akan menghabiskan waktu mencoba berbagai Macam Cara atau melakukan "Trial and Error". Karena itu, tidak boleh menyerah.
No comments:
Post a Comment