Kemajuan teknologi informasi dan komunikasi menyebabkan semakin banyak aplikasi teknologi informasi dan komunikasi dalam bentuk perangkat lunak yang digunakan untuk mendukung kegiatan bisnis dan kegiatan sehari-hari manusia. Kemajuan bidang pengembangan perangkat lunak juga disertai dengan kemajuan bidang teknologi informasi dan komunikasi lainnya. Pada bab ini, akan dijelaskan konsep dasar pengembangan sebuah perangkat lunak, metode yang digunakan, perangkat untuk pemodelan, melakukan analisi kebutuhan, dan menerjemahkan kebutuhan menjadi deskripsi teknis.
Seperti bidang teknologi informasi yang lainnya, pemrograman telah mengalami evolusi sejak teknologi komputer diperkenalkan. Berbagai paradigma pemrograman telah dikembangkan, dan saat ini, paradigma pemrograman berorientasi objek merupakan paradigma pemrograman yang paling banyak digunakan. Paradigma pemrograman adalah cara pandang atau pola pendekatan terhadap masalah-masalah pemrograman yang akan menentukan suatu solusi dapat dihasilakan. Paradigma memberikan alur cara berpikir, aturan-aturan, dan batasan-batasan kepada Anda mengenai cara menyelesaikan sebuah persoalan.
Sejak teknologi pemrograman di perkenalkan, berbagai paradigma pemrgraman telah banyak digunkan secara luas dan mengalami perkembangan. Beberapa paradigma pemrograman yang pernah dikenal ecara luas antara lain sebagai berikut.
Pemrograman nonstruktural merupakan paradigma pemrograman yang paling awal di perkenalkan. Kode programnya terdiri atas rangkaian instruksi yang disusun secara berurutan. Setiap perintah atau statment akan ditempatkan di sebuah baris yang baru. Setiap baris diberi nomor baris atau label untuk memudahkan identifikasi atau pembacaaan kode program. berikut adalah contoh kode program yang bersifat nonstruktural.
Salah satu kelemahan terbesar dari paradigma nonstruktural adalah ketika Anda harus membuat aplikasi yang besar atau kompleks. kode program akan bertambah secara masif atau besar-besaran yang menyebabkan jumlah baris program yang sangat banyak. Akibatnya, kode program akan sulit dibaca dan dipahami oleh orang lain. dengan demikian, proses perbaikan atau pengembangan program akan sulit dilakukan. Hal ini dikarnakan perbaikan atau pengembangan harus dilakukan dengan cara memerikasa baris demi baris tiap kode program. seiring perkembangan teknologi informasi dengan kebutuhan akan perangkat lunak yang kompleks semakin besar, paradigma pemrograman nonstruktural sudah ditinggalkan.
Masalah yang timbul pada paradigma pemrograman tidak terstruktur dihilangkan dengan teknik pemrograman terstruktur. pada paradigma pemrograman ini, kode program akan dipecah menjadi beberapa bagian sesuai dengan proses yang di jalankan. Contoh memisahkan kode program untuk menjalankan proses perhitungan, menerima masukan dari pengguna, dan menampilkan hasil kepada pengguna. Berikut contoh kode program bersifat terstruktur yang ditulis dalam bahasa python
Paradigma pemrograman terstruktur memberikan peningkatan yang jauh lebih baik dibandingkan dengan pemrograman nonstruktural. Pemanfaatan fungsi dan prosedur yang terpisah untuk menjalakan logika atau proses pengembangan program menjadi lebih mudah dan cepat. Namun, meskipun dengan perbaikan tersebut, programer masih mempunyai kesulitan ketika harus mengembangkan program yang lebih besar dan kompleks. pemrograman terstruktur belum dapat mengakomodasi semua kebutuhan kompleksyang ada. Oleh karena itu, paradigma pemrograman berorientasi objek diperkenalkan.
Untuk menghilangkan permasalahan dari paradigma pemrograman sebelumnya, dikembangkan paradigma pemrograman sebelumnya, dikembangkan paradigma pemrograman berorientasi objek. Pada teknik pemrograman ini, segala sesuatu dianggap sebagai sebuah objek dan atribut. Adapun perilaku diterjemahkan menjadi bagian program yang disebut objek. Setiap objek merupakan bagian dari sebuah sistem yang berinteraksi satu dengan lainya. Setiap objek memiliki karakteristik dan perilaku tersendiri. Paradigma pemrograman berorientasi objek merupakan paradigma pemrograman yang adapat menggambarkan lebih dekat kondisi dunia nyata.