Ketika bekerja dengan program, ukuran program akan bertambang seiring dengan bertambahnya prosdi buat dengan yang dijalankan di dalam program. Pada program yang dibuat dengan menggunakan scratch, jumlah blok yang digunakan akan bertambah banyak seiring dengan semakin banyaknya proses yang harus dijalankan.
Untuk mengurangi kerumitan dan kekomplekkan kode program, maka kita bisa memecah program menjadi subprogram. Ada dua bentuk subprogram yang umum digunakan dalam suatu program yaitu prosedur dang fungsi.
Prosedur adalah subprogram yang digunakan untuk menjalankan rangkaian proses dan tidak mengembalikan nilai. Fungsi adalah subprogram yang menjalankan sekumpulan proses yang akan mengembalikan nilai kepada bagian program yang menjalnankannya. Subprogram juga dapat dibuat dengan mendefinisikan blok perintah sendiri.
Untuk menunjukkan cara membuat dan mendefinisikan blok perintah sendiri dan menggunakan untuk memecah program bisa digunakan pada program di bawah ini.