Algoritma dan logika merupakan konsep dasar dalam pemrograman. Logika diperkenalkan oleh Aristoteles dan menjadi ilmu berfikir, sedangkan algoritma diperkenalkan oleh ahli matematika abad ke-9 untuk menyelesaikan masalah secara terstruktur. Algoritma harus memiliki langkah-langkah terbatas dan berakhir dengan hasil yang jelas. Flowchart digunakan untuk merepresentasikan algoritma secara visual dengan simbol-simbol khusus.