Algoritma Pemrograman [BS204]

dokumen-dokumen yang mirip
24/09/2017 PERCABANGAN

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Struktur Program. Rinta Kridalukmana

Pemrograman Fery Updi,M.Kom

Algoritma Pemrograman

Proses, Instruksi, dan Aksi

RUBRIK PENILAIAN UJIAN TENGAH SEMESTER KU1072/PENGENALAN TEKNOLOGI INFORMASI B SEM /2014

STRUKTUR DASAR PEMROGRAMAN

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

PHP (HYPERTEXT PREPROCESSOR)

Pemrograman Dasar C. Minggu 1: Pengenalan C Programming

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

P - 3 Bab 2 : Pengantar Pemrograman C

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

IT234 ALGORITMA DAN STRUKTUR DATA

Pemrograman Fery Updi,M.Kom

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Algoritma Pemrograman

Algoritma Pemrograman

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Struktur Dasar Program Prosedural dan Disain Bagan Sederhana

P3 Pengantar Pemrograman C

Dasar Pemrograman. Nisa ul Hafidhoh

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

JAVA BASIC PROGRAMMING Joobshet

MODUL DUA VARIABEL DAN TIPE VARIABEL

LAPORAN PRAKTIKUM RESMI TIPE DATA, KONSTANTA DAN VARIABEL

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pemrograman Prosedural PENDAHULUAN. Tim Pengajar KU1071 Sem

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

ALGORITMA & PEMROGRAMAN

Pengantar dalam Bahasa Pemrograman Turbo Pascal

BAB 6. Struktur Kontrol

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Algoritme dan Pemrograman

2 ATURAN PENULISAN TEKS ALGORITMA

UNIVERSITAS SAM RATULANGI MANADO FAKULTAS TEKNIK, JURUSAN TEKNIK ELEKTRO Program Studi S-1 Teknik Informatika. Data & Ekspresi

Pemrograman Prosedural FUNGSI (Subprogram) Tim Pengajar KU1071 Sem

MODUL 2 STRUKTUR KONTROL

Pertemuan2 Percabangan & Perulangan pada Python

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

Notasi Algoritmik. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pengenalan Program Java

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Aliran Kendali (Flow Control)

SMA SANTO PAULUS PONTIANAK

Tujuan Instruksional. Mahasiswa mampu :

StrukturDasarProgram Prosedural (dalambahasac++)

SUMBER BELAJAR PENUNJANG PLPG

Algoritma dan Pemrograman

YUPOCOM COMPUTER EDUCATION. JavaScript. 1. Mengenal JavaScript Hal yang harus diketahui Apa itu JavaScript. 2.

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Modul Praktikum 3 Pemograman Berorientasi Objek

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

Praktikum Dasar Pemrograman

Pemrograman Dasar C. Minggu 6

Keyword,Tipe data & Variabel. Keywords pada c Tipedata Variabel Konstanta

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Pemrograman Dasar R E P E T I T I O N

Modul Praktikum Bahasa Pemrograman 1

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Chapter 2. Tipe Data dan Variabel

Web Programming. Pengenalan PHP

Konsep Dasar Pemrograman Dan Pengenalan C++

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Algoritma dan Pemrograman #1. Arif Dwi Laksito, M.Kom

PROSEDUR. Jadi, setiap prosedur harus : - Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya - Dipanggil, pada saat eksekusi

BAB 6. Struktur Kontrol

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B)

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng.

[BS204]-Algoritma Pemrograman Take Home Test Pengumpulan : 27 Maret 2015 Tulis Tangan di kertas A4. Genap 2014/2015 Page 1 of 6

ANALISIS SEMANTIK. Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

Tipe Data dan Variabel

Komentar, Identifier, Konstanta dan Variabel

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670)

Selection, Looping, Branching

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman?

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

Algoritma dan Struktur Data

BAB VII DASAR-DASAR PHP

Dasar PHP. Wiratmoko Yuwono

Algoritma dan Pemrograman PROSEDUR. Oleh: Eddy Prasetyo N

UJIAN TENGAH SEMESTER KU1072/PENGENALAN TEKNOLOGI INFORMASI B SEM /2014

PERTEMUAN 9-11 STATEMENT

1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Kesalahan Umum dalam Pemrograman C#

Dasar Pemrograman Java

PHP (1) Topik. Intro. Pemrograman Internet. Sekilas tentang PHP 06/11/2012

Transkripsi:

Algoritma Pemrograman [BS204] Good Programming Practices Referensi : Diktat Algoritma dan Pemrograman B ITB 2015 1

Perlunya Konvensi Dibutuhkan standar yang sama dalam penulisan kode Practice yang umum dilakukan, setiap perusahaan bisa menetapkan coding standard sendiri Beberapa petunjuk dalam slides ini adalah konvensi yang ditetapkan di perkuliahan BS204 Bisa jadi berbeda dengan konvensi di tempat lain Konvensi berlaku untuk kode yang ditulis di komputer maupun di atas kertas Prinsipnya : KONSISTEN!!! 2

The Need of Good Coding Practices Readability Program harus dapat dibaca dan dipahami dengan cepat dan baik oleh diri sendiri maupun orang lain Maintainability Program dengan readability yang baik akan lebih mudah dipelihara Menghindari code bad smelss Tidak ada hubungannya dengan eksekusi, tetapi lebih pada kebaikan source code 3

Konversi Struktur Program Utama Java 4

Konversi Struktur Program Utama Java 5

Komentar (in source code) Bebas menggunakan /* */ atau // asal konsisten Komentar wajib dalam program (konvensi) : Identitas + tanggal, spesifikasi program Spesifikasi fungsi dan prosedur (pada bagian protoype) Panjang yang wajar untuk komentar dalam 1 baris Tidak melebihi lebar window sehingga perlu scroll untuk membacanya Tentukan panjang maksimum komentar Komentar untuk hal-hal penting Tidak berlebihan sehingga teks penuh komentar 6

Block { } Selalu gunakan { } untuk menandai suatu blok, walaupun hanya terdiri atas 1 instruksi Akan memudahkan membaca bagian-bagian program Memudahkan jika dibutuhkan penambahan instruksi 7

Indentasi (1) Gunakan indentansi yang semakin menjorok ke dalam untuk menandai setiap inner block Gunakan spasi dengan jumlah yang sama untuk setiap identasi baru Tab dan spasi tidak bisa dicampur dengan baik Rapi di satu editor belum tentu rapi di editor lain Gunakan tab dan spasi dengan konsisten 8

Indentasi (2) 9

Spasi dan Baris Kosong Gunakan spasi untuk memperjelas ekspresi dan daftar (misal : elemen array, daftar parameter fungsi / prosedur) Gunakan baris kosong untuk mengorganisasikan kelompok-kelompok logis dari program Membantu pemahaman flow program dan bagianbagian kode 10

Penggunaan Baris Kosong 11

Konvensi Penamaan (1) Gunakan nama-nama untuk 1 buah keperluan saja Hindari menggunakan variabel / subprogram dengan nama sama untuk keperluan yang berbeda Nama seharusnya menyatakan apa bukan bagaimana Contoh : int sum bukan int addallx Gunakan nama yang memang menggambarkan hal yang direpresentasikan Hindari menggunakan nama yang membingungkan atau tidak merepresentasikan apa pun 12

Konvensi Penamaan (2) Variabel : Perhatikan nama-nama yang memiliki arti dan penggunaan yang dikenal umum : e.g. flag, found, count, sum, idx, min, max, hindari menggunakannya untuk keperluan lain i, j, k hanya digunakan dalam control loop Saran : Buat daftar awalan untuk menstandarkan nama, misalnya : Awalan tab atau arr untuk nama variabel array, contoh : tabmhs atau arrmhs Awalan I_ untuk variabel lokal dan g_ untuk variabel global Awalan is untuk variabel boolean 13

Konvensi Penamaan (3) Konstanta Nama konstanta dengan huruf besar dan underscore, Contoh : PI, MAX_INT Subprogram (function dan procedure) Boleh : menggunakan awal F untuk function dan P untuk procedure Gunakan verb-noun untuk nama subprogram yang menggambarkan operasi pada suatu objek Contoh : hitungdenda; calculatekineticenergy Gunakan awalan Is untuk function yang menghasilkan nilai boolean, mis : IsGenap, IsGreater 14

Menulis Kode di Atas Kertas Perhatikan standar penulisan huruf cetak yang benar JAVA adalah bahasa case sensitive!!! 15

Good [Basic] Programming Practices Pemanfaatan setiap constructor [basic] program dengan efisien Beberapa practice bila dilakukan dengan baik bahkan bisa mengarahkan pada program yang benar 16

Konstanta Gunakan konstanta untuk : Konstanta umum, misal : PI, Suatu nilai yang tidak akan berubah dan digunakan secara global dan berulang dalam program, misalnya ukuran maksimum array 17

Variabel Gunakan variabel secara optimum Jika tidak harus menggunakan variabel, tidak perlu dibuat terkait penggunaan space Tidak membuat variabel yang tidak dipakai sama sekali dalam program Gunakan array hanya kalau benar-benar perlu Array sangat memakan memori Perhatikan scope dan lifetime dari variabel Keep as short as possible Variabel lokal dan global 18

Type Bentukan Membuat type baru untuk : Ada kelompok data yang secara logika merupakan satu kesatuan objek, misal : data mahasiswa, data point, dll. Ada function yang harus menghasilkan lebih dari 1 nilai sehingga perlu type baru untuk range dari function tersebut 19

Analisis Kasus (1) Gunakan konstruksi analisis kasus dengan tepat Contoh berikut ini tidak tepat, mengapa? Kapan menggunakan switch dan if-else bersarang? Switch : kondisi kasus ditentukan oleh nilai-nilai konstan contoh : inputmenumakanan == 1; inputmenuminuman == a ; if-else : untuk kondisi kasus yang lain 20

Analisis Kasus (2) Analisis kasus harus memenuhi 2 kriteria : COMPLETE : semua kasus terdefinisi secara lengkap DISJOINT : tidak ada kasus yang tumpang tindih/overlapped Contoh : Potongan kode ini digunakan untuk menuliskan nilai maksimum dari A, B, C (integer) Apa saja kesalahannya? 21

Analisis Kasus (3) DILARANG menyusun analisis kasus seperti contoh berikut (walaupun bisa jadi secara eksekusi benar) : Apa masalahnya??? 22

Analisis Kasus (4) Untuk membantu mendapatkan analisis kasus, gunakan tool seperti : Tabel keputusan / decision table Mendefinisikan semua variabel kondisi dan aksi Pohon keputusan / decision tree Bermanfaat untuk analisis kasus yang bertingkat implementasi : analisis kasus bersarang Daun berisi aksi yang dilakukan 23

Contoh Tabel Keputusan 24

Contoh Pohon Keputusan (1) 25

Contoh Pohon Keputusan (2) 26

Loop (1) Hanya ada 3 jenis loop : traversal, while-do, repeatuntil Harus tahu kapan menggunakan loop yang mana Loop HARUS BERHENTI!!! Konstruksi loop yang benar, harus dapat dikenal : Initialization (init variabel yang dipakai dalam proses) First-Elmt (init variabel kontrol pengulangan) Kondisi mengulang/berhenti (ekspresi boolean) Proses yang diulang Next-Elmt (perubahan variabel kontrol pengulangan untuk menuju kondisi berhenti) 27

Loop (2) Traversal : Pengulangan dengan menggunakan pencacah. Variabel pencacah yang biasa digunakan : i, j, k Sintaks : Kondisi berhenti ditentukan oleh suatu nilai akhir Digunakan jika nilai awal dan nilai akhir dari kontrol pengulangan (pencacah) diketahui dengan baik 28

Loop (3) While-do Pengulangan dengan pemeriksaan kondisi pengulangan dilakukan di awal Memungkinkan ada kasus kosong tidak pernah masuk ke body pengulangan sama sekali Sintaks : 29

Loop (4) Repeat-Until Pengulangan dengan pemeriksaan kondisi berhenti/mengulang di akhir Proses yang diulang akan dilakukan minimum 1 kali Memungkinkan kebocoran jika tidak hati-hati Sintaks : 30

Loop (5) Hindari menggunakan break di dalam loop Pahami kondisi berhenti/mengulang yang sebenarnya 31

Subprogram (1) Function : Jelas type input (domain) dan jelas type outputnya (range) Rumus (khususnya yang kompleks dan dipakai berulang) Procedure : Potongan kode yang dipakai berulang-ulang dalam program Potongan kode yang secara lojik merupakan satu kesatuan Contoh : pembacaan data suatu type bentukan 32

Subprogram (2) Bagian utama dalam subprogram : Kamus lokal Algoritma 33

Penggunaan Library Tidak usah gunakan library standar jika tidak diperlukan Pada saat kompilasi, library di- load menambah waktu 34

35