SlideShare a Scribd company logo
Clean Code and
Design Pattern
Formatting Code
By:
Adam Mukharil Bachtiar
Kode program tidak hanya dibuat
untuk sekedar ‘JALAN’ akan tetapi
mudah untuk dibaca.
Penulisan dan penampilan dari kode
menggunakan ‘manner’ sehingga
kode program mudah untuk dibaca
dan dipahami.
CODE READIBILITY
Catatan: Code readibility meningkatkan maintainability di kemudian hari
Terdapat dua jenis formatting di
dalam kode program yaitu Vertical
dan Horizontal Formatting.
Bagaimana membuat
formatting yang baik
dalam membuat kode
program?
Tips
Vertical
Formatting
Tips 1
Format kode program
seperti tulisan di koran.
Susunlah kode program mulai dari
headlines, gunakan nama yang baik,
agar pembaca bisa mendapatkan
pikiran utama dari program tersebut.
The Newspaper Methapor
Catatan: Koran selalu menempatkan headline di bagian paling atas dan menempatkan sinopsis
di awal kalimat
Tips 2
Gunakan konsep
Vertical Openness
Between Concepts
Do this: Instead of this:
Konsep Package
Konsep import package
Konsep Function
Catatan: Dengan memberikan ruang antar konsep, kita lebih mudah membedakan konsep di
dalam sebuah kode program
Tips 3
Perhatikan Vertical
Density
Berlawanan dengan openness, vertical
density memperhatikan kerapatan
kode program untuk yang memiliki
asosiasi yang kuat.
Vertical Density
Catatan: Asosiasi bisa dilihat dari kegunaan kode program tersebut, misal: kode untuk
deklarasi Objek dirapatkan karena memiliki kegunaan yang sama.
Do this: Instead of this:
Tips 4
Perhatikan Aturan
Vertical Distance
Vertical Distance Rule
1 Tempatkan deklarasi variabel sedekat mungkin
dengan penggunaannya.
2 Tempatkan deklarasi instance variable di
bagian atas class.
3 Jika suatu method memanggil method lainnya maka
tempatkan berdekatan.
4 Tempatkan method affinity (overloading function
salah satunya) berdekatan.
Do this:
Catatan: Deklarasi variabel dekat dengan penggunaan variabel tersebut.
Don’t do this:
Catatan: Instance variabel harusnya diletakkan di bagian atas class
Do this:
Catatan: Fungsi yang saling bergantung ditempatkan berdekatan
Do this:
Catatan: Fungsi yang berbagi nama tempatkan berdekatan
Tips 5
Tempatkan fungsi
pemanggil sebelum
fungsi yang dipanggil.
Tips
Horizontal
Formatting
Tips 1
Perhatikan Horizontal
Openness dan Density
Do this:
Catatan: Berikan whitespace pada assignment operator untuk memperjelas operasinya.
Do this:
Catatan: Jangan berikan whitespace antara nama method dengan arguments. Gunakan whitespace pada
operasi aritmatika sesuai urutan prioritas operatornya.
Tips 2
Hati-hati dengan
Horizontal Alignment
Don’t do this:
Catatan: Pemberian alignment pada kasus ini berlebihan.
Do this:
Catatan: Penulisan variabel cukup diberi jarak 1 whitespace setelah tipe datanya.
Tips 3
Perhatikan Horizontal
Indentation
Don’t do this:
Catatan: Struktur program sulit untuk dibaca.
Do this:
Catatan: Pemisahan konsep menjadi jelas.

More Related Content

What's hot (20)

PDF
Dependency Injection
Knoldus Inc.
 
PPTX
React Architecture & Best Practices.pptx
AleksandarKondov
 
PPTX
Angular Basics.pptx
AshokKumar616995
 
PPTX
Introduction to React
Rob Quick
 
PDF
Livecode widget course
crazyaxe
 
PDF
Building blocks of Angular
Knoldus Inc.
 
PDF
Micro frontends
Assaf Gannon
 
PPTX
React render props
Saikat Samanta
 
PPTX
React js
Alireza Akbari
 
PPTX
Android jetpack compose | Declarative UI
Ajinkya Saswade
 
PDF
Behavior Driven Development (BDD)
Ajay Danait
 
PDF
Escalando apps com React e Type Script e SOLID
Ruben Marcus Luz Paschoarelli
 
PDF
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
PPTX
What is component in reactjs
manojbkalla
 
PPTX
React js for beginners
Alessandro Valenti
 
PPTX
Solid principles
Monica Rodrigues
 
PPTX
The Extreme Programming (XP) Model
Damian T. Gordon
 
PDF
Design patterns
abhisheksagi
 
PDF
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
confluent
 
Dependency Injection
Knoldus Inc.
 
React Architecture & Best Practices.pptx
AleksandarKondov
 
Angular Basics.pptx
AshokKumar616995
 
Introduction to React
Rob Quick
 
Livecode widget course
crazyaxe
 
Building blocks of Angular
Knoldus Inc.
 
Micro frontends
Assaf Gannon
 
React render props
Saikat Samanta
 
React js
Alireza Akbari
 
Android jetpack compose | Declarative UI
Ajinkya Saswade
 
Behavior Driven Development (BDD)
Ajay Danait
 
Escalando apps com React e Type Script e SOLID
Ruben Marcus Luz Paschoarelli
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
What is component in reactjs
manojbkalla
 
React js for beginners
Alessandro Valenti
 
Solid principles
Monica Rodrigues
 
The Extreme Programming (XP) Model
Damian T. Gordon
 
Design patterns
abhisheksagi
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
confluent
 

Similar to Clean Code - Formatting Code (20)

DOCX
Algoritma dan pemrograman
Mastur Cell
 
PDF
Ifc modul 1 (fungsi)
James Montolalu
 
PDF
BAB 2 - Belajar Hello World pada python.pdf
Pemerintah Kab. batang SMK Kandeman
 
DOC
Second task bu okta 2 edit
Fhaiz Al-Ghazaly
 
DOCX
Makalah Alprog
Nisa Mardhatillah
 
DOCX
TUGAS MANDIRI algoritma
cecep usdaseroja
 
PPTX
Materi - Algoritma & Pemrograman.pptx
nugraha60
 
PDF
Clean Code and Design Pattern - Meaningful Names
Adam Mukharil Bachtiar
 
PPTX
Materi 3 Coding dan Testing aplikasi
Robby Firmansyah
 
PDF
Algoritma dan Struktur Data
As Faizin
 
PPT
Kajian4 Kelompok 6
Eidelbert Sinaga
 
PPTX
Teks Prosedur Kompleks Bahasa Indonesia
Deni Wijaya
 
PPTX
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
 
DOCX
program pascal kereta
Dayanti Astuti
 
PPT
Pertemuan xx
hafidz_rafif
 
DOCX
Part 5 - Tipe Data-Variabel-Konstanta-Operator-di-VB-NET
Rolly Yesputra
 
PPTX
Variabel, Tipe Data dan Operator - Pemrograman I
Ifan Ok
 
PPT
Tistrukdat5
Antonius Rachmat C
 
PDF
Penuntun imk informatika_2015
Abdul Hafid
 
PDF
Algoritma pemrograman terstruktur
Raden Maulana
 
Algoritma dan pemrograman
Mastur Cell
 
Ifc modul 1 (fungsi)
James Montolalu
 
BAB 2 - Belajar Hello World pada python.pdf
Pemerintah Kab. batang SMK Kandeman
 
Second task bu okta 2 edit
Fhaiz Al-Ghazaly
 
Makalah Alprog
Nisa Mardhatillah
 
TUGAS MANDIRI algoritma
cecep usdaseroja
 
Materi - Algoritma & Pemrograman.pptx
nugraha60
 
Clean Code and Design Pattern - Meaningful Names
Adam Mukharil Bachtiar
 
Materi 3 Coding dan Testing aplikasi
Robby Firmansyah
 
Algoritma dan Struktur Data
As Faizin
 
Kajian4 Kelompok 6
Eidelbert Sinaga
 
Teks Prosedur Kompleks Bahasa Indonesia
Deni Wijaya
 
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
 
program pascal kereta
Dayanti Astuti
 
Pertemuan xx
hafidz_rafif
 
Part 5 - Tipe Data-Variabel-Konstanta-Operator-di-VB-NET
Rolly Yesputra
 
Variabel, Tipe Data dan Operator - Pemrograman I
Ifan Ok
 
Tistrukdat5
Antonius Rachmat C
 
Penuntun imk informatika_2015
Abdul Hafid
 
Algoritma pemrograman terstruktur
Raden Maulana
 
Ad

More from Adam Mukharil Bachtiar (20)

PDF
Materi 8 - Data Mining Association Rule.pdf
Adam Mukharil Bachtiar
 
PDF
Model Driven Software Development
Adam Mukharil Bachtiar
 
PDF
Scrum: How to Implement
Adam Mukharil Bachtiar
 
PDF
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 
PDF
Data Mining Clustering
Adam Mukharil Bachtiar
 
PPTX
Data Mining Klasifikasi (Updated 30 Desember 2020)
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Greedy
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Notasi Asimptotik
Adam Mukharil Bachtiar
 
PDF
Activity Diagram
Adam Mukharil Bachtiar
 
PDF
UML dan Use Case View
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Langkah Desain Algoritma
Adam Mukharil Bachtiar
 
PDF
Validasi ide Menggunakan Javelin Board (Idea Validation)
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Pengantar Analisis Algoritma
Adam Mukharil Bachtiar
 
Materi 8 - Data Mining Association Rule.pdf
Adam Mukharil Bachtiar
 
Model Driven Software Development
Adam Mukharil Bachtiar
 
Scrum: How to Implement
Adam Mukharil Bachtiar
 
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 
Data Mining Clustering
Adam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Greedy
Adam Mukharil Bachtiar
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Adam Mukharil Bachtiar
 
Activity Diagram
Adam Mukharil Bachtiar
 
UML dan Use Case View
Adam Mukharil Bachtiar
 
Analisis Algoritma - Langkah Desain Algoritma
Adam Mukharil Bachtiar
 
Validasi ide Menggunakan Javelin Board (Idea Validation)
Adam Mukharil Bachtiar
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Adam Mukharil Bachtiar
 
Analisis Algoritma - Pengantar Analisis Algoritma
Adam Mukharil Bachtiar
 
Ad

Clean Code - Formatting Code