Tugas ini diajukan untuk memenuhi nilai mata kuliah Pemrograman Dasar
Dosen pengampu:
DISUSUN OLEH:
NIM : 2009009
KELAS : 3B PSTI
2021
PENDAHULUAN
Komputer merupakan alat untuk menyelesaikan suatu masalah. Namun, untuk mencapai tujuan
tersebut komputer memerlukan suatu strategi pemecahan masalah untuk menghasilkan solusi.
Strategi tersebut merupakan program yang ditanamkan di komputer yang dihasilkan melalui
berbagai pendekatan paradigma. Komponen dasar dari semua pemrograman adalah sama,
kendati implementasi dan cara konstruksinya tergantung paradigma dan bahasa pemrograman.
Paradigma Pemrograman
Paradigma adalah unsur tertentu yang diutamakan terhadap suatu masalah yang membatasi
jalan berpikir kita pada atribut tertentu dan memberikan pandangan terbatas terhadap suatu
realitas. Oleh karena itu, fanatisme paradigmatik bisa mempersempit wawasan dan kadang
berbahaya.
1
2. Paradigma Fungsional
Didasari pemetaan dan fungsi matematika, baik fungsi primitif maupun yang telah
terdefinisi. Penyelesaian masalah bersifat transformasional, yaitu didasari aplikasi dan
asumsi fungsi-fungsi dasar tersebut dapat dilakukan. Dalam arti lain, program tersebut
adalah rantai transformasi keadaan awal, (mungkin melalui) antara, dan keadaan akhir.
Fokus perhatian pada keadaan awal dan akhir dengan fungsi sebagai ‘kotak hitam’ yang
dirakit dan menghasilkan program besar. Kelebihan paradigma ini pemrogram tidak
harus mengetahui proses eksekusi dan penyimpanan informasi dalam memori.
Sedangkan kekurangannya adalah kinerja dan efisiensi karena pemroses bahasa
program fungsional harus bekerja ekstra dibandingkan paradigma prosedural.
3. Paradigma Deklaratif, Predikatif, atau Lojik
Didasari oleh predikat (relasi antar individu) yang merupakan kumpulan aksioma
(fakta dan aturan deduksi). Pemrogram menguraikan inference rules (fakta dan aturan-
aturan). Saat program dieksekusi, pemakai mengajukan query dan program akan
menjawab dengan aturan deduksi dan mencocokkan pertanyaan dengan aturan dan
fakta yang ada.
4. Paradigma Berorientasi Objek (Object Oriented)
Didasari oleh objek yang mempunyai atribut dan kelakuan. Objek dapat saling
berkomunikasi melalui ‘pesan’. Kelas adalah objek beratribut sama. Hierarki kelas
menurunkan atribut ke kelas dibawahnya. Konsep class, generic, inheritance,
polymorphism, dan urgensi pendefinisian statik kelas untuk menciptakan objek ketika
runtime (memungkinkan penurunan kelas, objek ‘berubah’ bentuk dengan kelakuan
disesuaikan), yang kemudian dimanipulasi / saling berinteraksi. Definisi kelakuan
masih terdapat paradigma imperatif (sekuensial, assignment, analisis kondisional, dan
pengulangan). Konstruksi program dari objek dan kelas berbeda dengan konstruksi
program dari struktur data dan algoritma, karena menggunakan bahasa
prosedural/fungsional yang ditambahi ciri orientasi objek.
5. Paradigma Konkuren
Arsitektur hardware memungkinkan pemrosesan paralel / software sisrem terdistribusi
yang memngelola akses konkuren.
6. Paradigma Relasional
Didasari entity dan relasi, serta pemrograman dalam bahasa query yang memungkinkan
diperolehnya suatu himpunan nilai.
2
Bahasa Pemrograman
3
Ada banyak sekali bahasa pemrograman, mulai dari bahasa tingkat rendah (bahasa mesin dalam
biner), bahasa assembler (dalam kode mnemonik), bahasa tingkat tinggi, sampai bahasa
generasi keempat (4GL). Bahasa Pemrograman berkembang cepat sejak 60-an, seringkali
dianalogikan dengan menara Babel (untuk mewakili kumpulan besar bahasa pemrograman)
yang berakibat manusia menjadi tidak lagi saling mengerti bahasa masing-masing. Untuk
setiap paradigma, tersedia bahasa pemrograman yang mempermudah implementasi rancangan
penyelesaian masalahnya. Contoh bahasa-bahasa pemrograman yang ada:
Program dalam bahasa pemrograman akan diproses oleh pemroses bahasa. Kategori pemroses
bahasa = kompilator dan interpreter. Bahasa pemrograman = visual atau tekstual.
4
o Proses koding (semi otomatik dengan aturan pengkodean)
o Coder Program
Design harus dapat dicode agar bisa di execute, maka pemrograman dan bahasa
pemrograman itu komplementer.
Metode contoh tipikal = contoh program ‘pola solusi’ dari kelas-kelas persoalan yang dapat
diselesaikan, yang dikembangkan dan dipakai sesuai paradigma pemrograman.
Aktifitas Mahasiswa
- Analogi penyanyi dan olahragawan
- Aktivitas mahasiswa yang belajar pemrograman;
o Simulasi
Sensibilitas terhadap masalah dan kemungkinan solusi (ex. Permainan
mengurut dokumen atau kartu)
5
MENCERMINKAN PERAN-PERAN SESEORANG DALAM SIKLUS
Mahasiswa mencoba algoritma terlebih dahulu sebelum dibahas di kelas, mencoba dengan
bahasa tingkat tinggi, memiliki pustaka yang lengkap, praktikum komputer dibimbing pada
awal perkuliahan.
6
PENGERTIAN DASAR
Dalam Pemrograman Prosedural
- Aksi
Kejadian pada selang waktu terbatas dan menghasilkan efek neto yang telah terdefinisi
dengan baik dan memang direncanakan. Dimulai pada T0 dan berakhir pada T1 . Efek neto =
membandingkan keadaan pada saat T0 dan saat T1
Contoh;
- Initial state (I.S) : T0, adalah kentang sudah ada di kantong kentang, yang ditaruh di rak
di dapur, di mana Ibu Tati akan mengupasnya
- Final state (F.S.) : T1, kentang dalan keadaan terkupas di panci, siap untuk dimasak dan
kantong kentangnya harus dikembalikan ke rak lagi.
Suatu kejadian dapat diurakan lagi = sub aksi sekuensial, efek kumulatif = efek neto seluruh
kejadian. -> Sequential process / proses.
Kejadian = aksi atau proses, relatif. Kejadian sebagai proses, menitikberatkan pada efek neto
(keadaan sebelum dan sesudah).
Penggolongan proses atau aksi tidak mempengaruhi sifat kejadian, tapi cara peninjauan.
Peninjauan A Peninjauan B
• Ambil kantong kentang dari rak • Ambil kantong kentang dari rak dan
• Ambil panci dari almari panci dari almari
• Kupas kentang • Kupas kentang
• Kembalikan kantong kentang dari rak • Kembalikan kantong kentang ke rak
Ada kejadian yang memiliki pola. Efek neto seluruhnya dipengaruhi pola atau kejadian awal,
jika dua kejadian dengan pola yang sama menghasilkan efek neto yang berbeda, maka dapat
dipastikan kejadian awalnya pun berbeda. Analogi pola yang sama dengan berbagai kejadian;
teman = pola, ekspresi = kejadian.
Persepsi aksi mengenai ‘hal yang sama’; mengupas kentang di hari sabtu dan minggu, seragam
anak sd. Kejadian berbeda karena kentang hanya dapat dikupas satu kali, dan seragam masing-
masing anak berbeda ukuran. Kejadian sama karena kentang dikupas untuk makan malam, dan
seragam dibuat dari bahan dan model yang sama.
7
- Algoritma
Deskripsi dapat terdiri dari suatu pola, dinyatakan primitif (aksi-aksi yang didefinisikan
sebelumnya dan diberi nama), dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat
dkerjakan sehingga dapat menyebabkan kejadian yang diamati. Suatu algoritma dapat berisi
sub-algoritma, harus merupakan aksi primitif yang dapat dikerjakan, urutan langkah harus
dimengerti baik oleh pembuat maupun yang menjalankan, dan instruksi yang jelas/detail.
Algoritma = menyatakan cara-cara untuk melakukan sesuatu (sederet aksi-aksi bernama yang
harus dikerjakan dengan urutan tertentu), laporan pengamatan = kejadian itu sendiri.
- Mesin
8
Latihan Soal
I. Periksalah apakah masing-masing algoritma “mengupas kentang” berikut benar: Pada
algoritma ini kita hanya tertarik pada aksi mengambil kentang dan kantong dan
mengupas kentang.
4. while (kantong tidak kosong) dan (jumlah kentang terkupas belum cukup) do
Kupas 1 kentang
BENAR
9
9. while kantong ada isinya do
depend on jumlah kentang terkupas
jumlah kentang terkupas belum cukup : Kupas 1 kentang
jumlah kentang terkupas cukup : Stop
BENAR
13. while (jumlah kentang terkupas belum cukup) dan (kantong ada isinya) do kupas
1 kentang
BENAR
a. Ada sekantong gula-gula, hendak dibagikan merata ke empat orang anak. Tiap anak
harus mendapat jumlah yang sama, dan jika sisanya tidak cukup untuk dibagikan ke empat
anak tersebut, maka sisanya tidak dibagikan. Tuliskanlah algoritmanya.
10
b. Jika gula-gula tersebut mempunyai rasa jeruk, mentol, arbei dan durian, dan setiap anak
harus mendapat jumlah dan rasa yang sama, tuliskan pula algoritma untuk membaginya.
11