Dosen : Rinci Kembang Hapsari, S.Si LOGIKA & ALGORITMA Dosen : Rinci Kembang Hapsari, S.Si
Apa itu “Algoritma”???
Algoritma “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis harus dapat ditentukan bernilai salah atau benar.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus : Mengerti setiap langkah dalam Algoritma Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Mekanisme Pelaksanan Algoritma Oleh Pemroses Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Belajar Bahasa Pemrograman??? Belajar Memprogram ??? Belajar Bahasa Pemrograman???
Belajar Memprogram Dan Belajar Bahasa Pemrograman Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama Bersifat pemahaman persoalan, analisis dan sintesis titik berat : designer program Belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. titik berat : coder
Pemrograman Merupakan suatu proses guna mengimplementasikan algoritma dengan menggunakan suatu bahasa pemrograman
Jenis Bhs Pemrograman Bahasa Tingkat Rendah Bahasa Tingkat Tinggi Dirancang agar setiap instruksi langsung dikerjakan oleh komputer, tanpa translator Bahasa mesin Bahasa Tingkat Tinggi Membuat pemrograman lebih mudah dipahami. Perlu diterjemahkan oleh translator bahasa (compiler)
(Baca, tulis, hitung, perbandingan, . . . ) ALGORITMA Translasi (interpreter) Program dalam Bahasa Tingkat Tinggi Kompilasi(compiler) + linking Program dalam Bahasa Mesin Interprestasi oleh CPU Operasi (Baca, tulis, hitung, perbandingan, . . . )
Produk yang dihasilkan pemrogram : program dengan rancangan yang baik (metodologis, sistematis) Dapat dieksekusi oleh mesin Berfungsi dengan benar Sanggup melayani segala kemungkinan masukan Disertai dokumentasi Belajar memprogram, titik berat : designer program
Algoritma Aksi : Contoh : 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 : 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.
Notasi Algoritma Independen Terhadap Bahasa Pemrograman Dan Mesin Komputer Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Meskipun setiap komputer berbeda teknologinya,tetapi secara umum semua komputer dapat melakukan operasi-operasi dasar dalam pemrograman seperti : operasi pembacaan data, operasi perbandingan, operasi aritmatika,
Pemrograman Prosedural(1) Algoritma berisi urutan langkah-langkah penyelesaian masalah. Algoritma adalah proses yang procedural. Definisi Prosedural menurut Kamus Besar Bahasa Indonesia : Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.
Pemrograman Prosedural (2) Program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instrusi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan pemrograman procedural.
ATURAN PENULISAN PROGRAM
Aturan Penulisan Algoritma Algoritma berisi langkah-langkah penyelesaian masalah. Langkah- langkah tsb dapat ditulis dalam notasi apapun, asalkan mudah dibaca Notasi algoritma berkoresponden berkoresponden dengan notasi bahasa pemrograman secara umum.
Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian tersebut dituliskan diantara tanda kurung kurawa Contoh : { Komentar }
Bagian dari Penulisan Algoritma
Judul (Header) Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
Catatan : Untuk memisahkan antara kata dalam judul algoritma menggunakan tanda “_” bukanlah suatu keharusan. Anda dapat menuliskan LuasLingkaran atau Luas_Lingkaran. Tetapi sebaiknya anda tidak menggunakan spasi “ “ untuk memisahkan antara kata di dalam nama algoritma.
Kamus (Deklarasi) Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan : Nama type Nama konstanta Nama variabel Nama fungsi Nama prosedur Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain / range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan).
Algoritma (Deskripsi) Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural dapat berupa : Instruksi dasar seperti input/output, assignment Sequence (runtutan) Analisa kasus Perulangan Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan menentuan urutan langkah pelaksanaan perintah.
Contoh Penyelesaian Masalah Oleh Algoritma Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti Keluaran.
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan dan menuliskan hasilnya ke piranti keluaran.