Oleh : Oktavian Lantang
Algorism ( bahasa arab...menghitung) Algorist (orang yg menghitung angka arab) Al-Khuwarizmi...Algorism...Algorithm diserap dalam bahasa Indonesia sebagai algoritma.
Algoritma adalah : Langkah – langkah logis untuk menyelesaikan masalah yang disusun secara sistematis dan logis
Aksi : Kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan berakhir pada saat T1) Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan Contoh mengupas kentang dapat dijelaskan : Ambil kantong kentang dari rak Ambil panci dari almari Kupas kentang Kembalikan kantong kentang ke rak
Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas ruang lingkupnya) Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek netto yang direncanakan ( Initial State dan Final State) Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan ditaruh di rak dapur dimana ibu Tati akan mengupasnya Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan. Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut pandang.
Bagaimana cara pandang kita terhadap penyelesaian masalah pemrograman Ada banyak cara untuk menyelesaikan suatu masalah, sehingga ada banyak paradigma yang ada
Terdiri dari : paradigma prosedural paradigma fungsional paradigma deklaratif paradigma objek
Memandang penyelesaian masalah sebagai hasil dari serangkaian langkah yang menyelesaikan sub masalah Contoh : Pascal, C, dll. Merupakan paradigma biasanya lebih dekat dengan mekanisme eksekusi mesin (secara hardware, komputer bekerja secara sekuensial/berurutan) Menggunakan langkah-langkah yang berurutan yang disebut sebagai suatu Algoritma
Memandang penyelesaian masalah sebagai komposisi dan aplikasi yang memetakan masalah ke jawaban Contoh : LISP
Memandang penyelesaian masalah sebagai hasil inferensi terhadap fakta dan aturan yang diberikan Contoh : prolog
Memandang penyelesaian masalah sebagai hasil interaksi dari kelas yang membentuk objek
Komputer bagaikan seorang anak kecil yang “terlalu LUGU”, sehingga semua hal harus diberitahu dari awal Komputer hanya bisa menjalankan instruksi dalam bahasa mesin rumit Solusi : Assembly ( Low Level Language ) masih rumit juga (belum mendekati bahasa manusia) Solusi : Bahasa Tingkat Tinggi ( High Level Language ), menterjemahkan sintaks penulisan program, jika sintaks benar maka program diterjemahkan ke bahasa mesin
Interpreter Menterjemahkan program baris- per-baris Contoh : PHP Kompilator Membaca seluruh baris program kemudian diterjemahkan secara keseluruhan Contoh : Pascal, C
Kompilator vs Interpreter Kompilator + Interpreter Debugger Editor, Kompilator, dan IDE Contoh Kompilator Pascal : FreePascal, Delphi, TPW, TP, Lazarrus
Interpreter Pengembangan program lebih cepat (tidak perlu kompilasi) Kecepatan eksekusi program lebih lambat (setiap kali program perlu dijalankan, interpreter harus bekerja lagi) Kompilator Waktu pengembangan relatir lama (perlu kompilasi) Progam dapat langsung dieksekusi dengan cepat (karena sudah dalam bahasa mesin)
Ada bahasa yang dikompilasi, namun tidak dalam bahasa mesin (bahasa perantara) Lalu diinterpretasi oleh suatu interpreter untuk menjalankanya Sebagian pekerjaan interpreter (validasi program sudah dilakukan oleh Kompilator, sehingga interpreter hanya perlu mengeksekusi program saja Contoh : Java, C#, VB.Net
Proses untuk menemukan kesalahan program
Editor : program yang mampu menerima teks dari manusia, dan menyimpannya ke dalam bentuk digital yang dimengerti oleh komputer Editor saat ini memungkinkan adanya proses koreksi terhadap sintaks program Bentuk kode program yang kita masukkan ini disebut : source code Editor dan kompilator merupakan dua program yang terpisah dan berbeda
Adalah program yang menggabungkan fungsi editor dan kompilator (atau ada juga +Debugger) dalam satu paket Contoh : Turbo Pascal, Turbo C, PHP Editor, Eclipse, Netbeans, Java Studio
Gabungan editor, kompilator/interpreter, debugger visual programming Contoh : Delphi, Visual Studio, Delphi for PHP, dll.
Melakukan generate source program dari suatu DESAIN Desain bisa berupa : ERD UML Reverse Engineering secara langsung dari Database Contoh : ERD & DB PHP Maker, PHP Code Generator, ASP Maker, JSP Maker, MS Access, dll. UML Jbuilder, NetBeans, Rational Rose, Model Maker, Java Studio, dll.