Kelas Algoritma Pemrograman


Mata Kuliah Algoritma Pemrograman ini memberikan pengantar untuk pemodelan matematika masalah komputasi. Ini mencakup algoritma umum, paradigma algoritmik, dan struktur data yang digunakan untuk memecahkan masalah ini. Kursus ini menekankan hubungan antara algoritma dan pemrograman, dan memperkenalkan ukuran kinerja dasar dan teknik analisis untuk masalah ini.

Learning Outcomes:

Mahasiswa mampu memahami konsep dasar Algoritma Pemrograman & implementasinya di lingkungan yang lebih modern.

Untuk Bobot penilaian dalam matakuliah ini sebagai berikut :

  1. Aktivitas mahasiswa selama mengikuti kuliah selesai sesuai dengan waktunya = 10%
  2. Menyelesikan tugas kuliah = 25 %
  3. Menyelesaikan quiz setiap topik = 10%
  4. Ujian Tengah Semester = 15 %
  5. Ujian Semester = 40 %
Peta kompetensi:


[01]: Pengantar Algoritma dan Pemrograman


Assalamu 'alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan. Berjumpa kembali dengan kuliah ini. Sekarang kita akan mempelajari tentang Pengantar Algoritma dan Pemrograman.


Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu Jafar Muhammad Ibnu Musa Al Khuwarizmi penulis buku berjudul Al Jabar Wal Muqabala. Kata Al Khuwarizmi dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi Algorithm diserap dalam bahasa Indonesia menjadi Algoritma.Algoritma dapat diartikan urutan penyelesaian masalah yang disusun secara sistematis menggunakan bahasa yang logis untuk memecahkan suatu permasalahan.


Materi PDF: Pengantar Algoritma dan Pemrograman

Tugas 01: Pengantar Algoritma dan Pemrograman

Silakan jawab pertanyaan berikut:

  1. Apakah yang dimaksud dengan algoritma?
    - ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu.
  2. Apa perbedaan antara algoritma dan program?
    - Algoritma adalah urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan menyelesaikan suatu masalah tertentu.
    - Program adalah kumpulan instruksi berupa pernyataan yang ditulis dengan menggunakan bahasa pemrograman yang melibatkan pemilihan struktur data.
    Bisa disimpulkan bahwa Program = Algoritma + Bahasa Pemrograman.
  3. Suatu algoritma terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan, dan perulangan. Jelaskan masing-masing.
    Runtunan : Runtunan (sequence) terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah.
    Pemilihan: Pemilihan (selection) adalah suatu kejadian yang baru akan dikerjakan jika suatu kondisi tertentu telah terpenuhi. Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah.
    Perulangan: Pengulangan (repetition) merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan.
  4. Apa perbedaan antara program dan bahasa pemrograman.
    - Program adalah hasil dari algoritma dan bahasa pemrogramman
    - Bahasa Pemrograman adalah bahasa yang digunakan komputer untuk menjalankan algoritma 
  5. Buatlah algoritma menulis dan mengirimkan surat.
    1. Persiapkan peralatan menulis surat (kertas dan bulpen)
    2. Tulis surat sesuai keperluan
    3. Setelah selesai, masukan surat kedalam amplop
    4. Sertakan data penerima dan pengirim surat di amplop 
    5. Kirimkan surat menggunakan jasa pengiriman
  6. Buatlah algoritma mengambil uang di ATM!
    1. Masukan kartu ATM ke mesin
    2. Masukan PIN
    3. Pilih menu tarik tunai
    4. Masukan nominal angka yang akan diambil
    5. Tekan tombol setuju atau lanjut
    6. Kartu ATM keluar
    7. Uang keluar dari mesin ATM dan bisa diambil
  7. Buatlah algoritma membuat kopi yang rasa manis dan pahitnya pas menurut anda.
    1. Siapkan kopi saset sesuai selera anda
    2. Masak air panas
    3. Sambil menunggu masak buka kopi saset dan masukan kedalam gelas
    4. Setelah air mendidih, tuangkan air ke dalam gelas
    5. Aduk rata kopi dan air panas menggunakan sendok
    6. Kopi siap diminum
  8. Buatlah algoritma untuk menghitung luas segitiga.
    1. Siapkan variabel untuk panjang dari dua sisi segitiga siku-siku
    2. Gunakan rumus luas = (panjang x panjang) x 0,5
    3. Hasil dari rumus diatas merupakan luas segitiga siku-siku
  9. Buatlah algoritma untuk proses aktivitas dari pagi sampai malam.
    1. Bangun pagi, mandi dan sholat subuh
    2. Belajar pagi hari
    3. Sarapan
    4. Bekerja sampai waktu dhuhur
    5. Istirahat dan makan siang
    6. Bekerja lagi sampai waktu ashar
    7. Mandi sore dan sholat magrib
    8. Makan malam dan sholat isya
    9. Mengikuti kuliah malam
    10. Istirahat tidur malam
  10. Buatlah algoritma mengurutkan 3 bilangan acak.
    1) Apakah anda ingin mengurutkan 3 bilangan acak?
    2) Bila anda ingin mengurutkan 3 bilangan acak, maka proses pengurutan dapat dimulai.
    3) Ketiga bilangan adalah bilangan integer atau bilangan bulat.

    4) Tentukan bilangan a (bilangan pertama).
    5) Masukkan bilangan a.
    6) Tentukan bilangan b (bilangan kedua).
    7) Masukkan bilangan b.Tentukan bilangan c (bilangan ketiga).
    9) Masukkan bilangan c.

    10) Apakah anda ingin mengurutkan secara ascending?
    11) Bila anda ingin mengurutkan secara ascending, maka :
    11.a) Bandingkan bilangan a dengan bilangan b.
    11.b) Bila a lebih besar daripada b, maka b sama dengan a (b=a) dan a sama dengan b (a=b).
    11.c) Bila a lebih kecil daripada b, maka a dan b bernilai tetap atau a sama dengan a (a=a) dan b sama dengan b (b=b).
    11.d) Bandingkan bilangan b dengan bilangan c
    11.e) Bila b lebih besar daripada c, maka c sama dengan b (c=b) dan b sama dengan c (b=c).
    11.f) Bila b lebih kecil daripada c, maka b dan c bernilai tetap atau b sama dengan b (b=b) dan c sama dengan c (c=c).
    11.g) Bandingkan apakah ketiga bilangan tersebut sudah urut secara ascending atau bilangan a lebih kecil dari bilangan b, dan bilangan b lebih kecil dari bilangan c (a<b<c).
    11.h) Bila bilangan a sudah lebih kecil daripada bilangan b dan bilangan b sudah lebih kecil daripada bilangan c, maka langsung ke langkah 13).
    11.i) Bila bilangan a belum lebih kecil daripada bilangan b dan bilangan b belum lebih kecil daripada bilangan c, maka kembali ke langkah 11.a).

    12) Bila anda mengurutkan secara descending, maka :
    12.a) Bandingkan bilangan a dengan bilangan b.
    12.b) Bila a lebih kecil daripada b, maka b sama dengan a (b=a) dan a sama dengan b (a=b).
    12.c) Bila a lebih besar daripada b, maka a dan b bernilai tetap atau a sama dengan a (
    a=a) dan b sama dengan b (b=b).
    12.d) Bandingkan bilangan b dengan bilangan c
    12.e) Bila b lebih kecil daripada c, maka c sama dengan b (c=b) dan b sama dengan c (b=c).
    12.f) Bila b lebih besar daripada c, maka b dan c bernilai tetap atau b sama dengan b (
    b=b) dan c sama dengan c (c=c).
    12.g) Bandingkan apakah ketiga bilangan tersebut sudah urut secara descending atau bilangan a lebih besar dari bilangan b, dan bilangan b lebih besar dari bilangan c (a>b>c).
    12.h) Bila bilangan a sudah lebih besar daripada bilangan b dan bilangan b sudah lebih besar daripada bilangan c, maka langsung ke langkah 13).
    12.i) Bila bilangan a belum lebih kecil daripada bilangan b dan bilangan b belum lebih kecil daripada bilangan c, maka kembali ke langkah 12.a).

    13) Cetak output ( bilangan a, b, c ) secara urut.
    14) Apakah anda masih ingin mengurutkan 3 bilangan acak lagi?
    15) Bila anda masih ingin mengurutkan 3 bilangan acak lagi, maka kembali ke langkah 4).
    16) Bila anda tidak ingin lagi mengurutkan 3 bilangan acak, maka proses pengurutan selesai.

[02]: Notasi Penulisan Algoritma

Assalamualikum Wr. Wb.


Berjumpa kembali dengan kuliah ini. Sekarang kita akan mempelajari tentang Notasi Penulisan Algoritma. Selamat belajar!


Algoritma berisi langkah-langkah penyelesaian masalah. Notasi algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat kerangka-kerangka suatu program. Deskripsi langkah-langkah dalam algoritma tidak mengacu pada sintaks bahasa pemrograman apapun dan tidak tergantung pada spesifikasi komputer yang mengeksekusinya. Tidak ada aturan baku dalam menuliskan algoritma, yang penting mudah dibaca dan menggunakan bahasa yang mudah dipahami. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu diperhatikan.


Tugas 02: Notasi Penulisan Algoritma

1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-02: Notasi Penulisan Algoritma, soal-soal di nomor halaman 24, 25, dan 26.  Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.

2.4 Latihan Soal
  1. Buatlah algoritma untuk menentukan nilai terbesar dari bilangan bulat pada keyboard dan menuliskan hasilnya ke layar! Algoritma dibuat dalam bentuk kalimat deskriptif, pseudocode dan flowchart:
    a. Kalimat deskriptif:
    b. Masukkan bilangan bulat pertama
    c. Masukkan bilangan bulat kedua
    d. Apabila bilangan pertama lebih besar dari bilangan bulat kedua, maka tampilkan bilangan pertama
    e. Apabila tidak, tampilkan bilangan bulat kedua

    Pseudecode:
    a. Input (a,b)
    b. If a>b, print a
    c. else print b

    Flowchart:


  2. Buat algoritma dalam bahasa deskriptif dan flowchart untuk kegiatan mengambil dan menabung uang di bank melalui teller!

    Kalimat deskriptif:
    a. Tentukan apakah ingin mengambil atau menabung
    b. Jika mengambil, maka:
    c. Ambil slip penarikan, isi dengan benar, serta tentukan jumlah nominal yang yang diambil
    d. Pergi ke teller
    e. Berikan slip dan buku tabungan
    f. Terima uang sesuai dengan nominal yang diambil beserta buku tabungan dari teller
    g. Jika menabung, maka:
    h. Ambil slip setoran, isi dengan benar, serta tentukan jumlah nominal yang ingin disetor ke bank (ditabung)
    i. Pergi ke teller
    j. Berikan slip dan buku tabungan
    k. Berikan uang sesuai dengan nominal yang ditulis
    l. Terima buku tabungan dari teller

    Flowchart:


  3. Buat algoritma dalam bahasa deskriptif dan pseudocode untuk menentukan apakah suatu bilangan merupakan bilangan genap atau ganjil!

    Kalimat deskriptif:
    a. Masukkan bilangan
    b. Bagi bilangan dengan angka 2
    c. Jika sisa hasil bagi bilangan adalah 0, maka tampilkan “Genap”
    d. Jika sisa hasil bagi bilangan bukan 0, maka tampilkan “Ganjil”

    Pseudecode:
    a. Input bil
    b. If bil % 2 == 0, then print “Genap”
    c. Else, if bil % 2 != 0, then print “Ganjil”

  4. Membuat flowchart untuk proses pembuatan kopi yang rasa manisnya tepat


  5. Membuat flowchart mengurutkan 3 bilangan acak

    Psuedocode:

    var a = [2, 2, 1, 4, 3];
    a.map(function(b, i){
        for (var ii = i; ii <= a.length-1; ii++){
            var c = a[ii];
            if(a[i] >= c){
                a[i] = c;
                a[ii] = b;
            }
        };
    });
    console.log(a);

    atau

    var a = [2, 2, 1, 4, 3]
    a.map(function(b, i){
        a.map(function(c, ii){
            if(a[i] >= c && ii>i){
                a[i] = c;
                a[ii] = b;
            }
        });
    });
    console.log(a)

    atau

    function bogoSort(arr) { 
        const indexA = Math.floor(Math.random() * arr.length); 
        const indexB = Math.floor(Math.random() * arr.length); 
        const a = arr[indexA]; 
        const b = arr[indexB]; 
        arr[indexA] = b; 
        arr[indexB] = a; 
        for (let i = 0; i < arr.length - 1; i++) { 
          const now = arr[i]; 
          const next = arr[i + 1]; 
          if (now > next) { return bogoSort(arr); }; 
        } 
        return arr;
    }

    var MyArray = [5, 10, 3, 2, 25];
    console.log(bogoSort(MyArray ));


    Flowchart:


  6. Buat algoritma untuk menghitung nilai N suku dari deret aritmatika berikut:

    Sn = 3+7+11+…+(4n-1)

    Pseudocode:

    a. var length = 10
    b. for (var i = 1; i <= length; i++)
    c. var nilai = (4*i)-1;
    d. print nilai;

  7. Lengkapi penulisan flowchart berikut ini:



    Flowchart:



  8. Analisalah potongan algoritma dibawah ini! Apakah tujuan algoritma ini? Selanjutnya ubahlah potongan algoritma berikut ini menjadi sebuah flowchart!

    Analisa:

    Psuedocode diatas adalah algoritma untuk menampilkan nilai dari volume. Dimulai dari pendeklarasian variable PI dengan nilai 3,14. Variable radius dan volume dengan tipe data real atau angka. Selanjutnya aplikasi menampilkan form input nilai radius. Kemudian nilai radius dihitung sesuai rumus volume := (4/3)*PI*radius**3. Tampilkan tulisan "The volume is" nilai volume.

    Flowchart:




  9. Lengkapi kerangka flowchart dibawah ini berdasarkan potongan algoritma yang ada!



    Flowchart:




  10. Analisalah flowchart dibawah ini dan selanjutnya lengkapilah trace table!.

    Trace table:



2. Tuntaskan TUGAS #02 di freeCodeCamp.org, kelas: "JavaScript Algorithms and Data Structures" bagian: "Basic JavaScript" (1 s.d 24). Kirim tangkapan-layarnya (PNG/JPG) ke kolom File submissions. Berikut contoh tangkapan-layarnya:

3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

[03]: Struktur Data dalam Algoritma


Assalamualikum Wr. Wb. Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.

Berjumpa kembali di kuliah ini. Sekarang kita akan mempelajari tentang Struktur Data dalam Algoritma. Selamat belajar!


Dalam istilah ilmu komputer, struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dengan kata lain struktur data adalah sebuah skema organisasi, seperti variabel dan array dan lain-lain, yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada data tersebut.

Video tutorial: https://drive.google.com/file/d/1XHoGX3v1OGluusSMnQfHHtT8QAfLBsNY/view?usp=sharing

Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana. Data adalah representasi dari fakta dunia nyata.


Tugas 03: Struktur Data dalam Algoritma
  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-03: Struktur Data dalam Algoritma, soal-soal di nomor halaman 41.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

3.8 Latihan Soal:

1. Apakah yang dimaksud dengan tipe data?

Jawab: Tipe data adalah pengelompokan data berdasarkan isi dan sifatnya. Dalam bidang informatika tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer

2. Sebutkan dan jelaskan penggolongan tipe data!

Jawab: Tiga macam yaitu tipe data dasar (primitive data type), tipe data
bentukan (composite data type) dan tipe data abstrak (abstract data type).

3. Apakah yang dimaksud dengan struktur data?

Jawab: Dalam istilah ilmu komputer, struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dengan kata lain struktur data adalah sebuah skema organisasi, seperti variabel dan array dan lain-lain, yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada data tersebut.

4. Apakah yang dimaksud dengan konstanta dan variabel?

Jawab: Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung. 

5. Apakah beda antara konstanta dan variabel?

Jawab: Konstanta bernilai tetap sedangkan variabel bernilai dinamis

6. Apakah yang dimaksud dengan array? Jelaskan!

Jawab: Array adalah suatu alokasi beberapa tempat di memori yang tersimpan secara berurutan yang digunakan untuk menyimpan beberapa nilai dengan tipe data yang homogen. Ukuran atau jumlah elemen maksimum array telah diketahui dari awal yaitu ketika array dibuat. Sekali ukuran array ditentukan maka tidak dapat diubah. Ukuran array adalah bilangan bulat positif. Array harus diberi nama sebagai identifikasi. Cara mengaksesnya adalah dengan menyebutkan nama array dan indeksnya. Indeks array dimulai dari 0 sampai dengan n-1 (n adalah ukuran array).

7. Apakah yang dimaksud dengan stack? Jelaskan operasi pada stack dan beri contoh
penerapannya dalam kehidupan sehari-hari!

Jawab: Stack berarti sekumpulan data yang strukturnya menyerupai tumpukan. Stack harus diberi nama sebagai identifikasi. Konsep penyimpanan data pada stack menganut sistem "yang terakhir masuk sebagai yang pertama keluar" (Last In First Out / LIFO).

Contoh: Penyusunan tumpukan piring di restoran. Piring terakhir yang ditumpuk adalah yang pertama akan diambil.

8. Apakah yang dimaksud dengan queue? Jelaskan operasi pada stack dan beri contoh penerapannya dalam kehidupan sehari-hari!

Jawab: Queue adalah suatu kumpulan data dengan operasi pemasukan atau penyimpanan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (rear) dan operasi pengambilan atau penghapusan hanya diperbolehkan pada sisi lainnya yang disebut sisi depan (front). Konsep ini dikenal dengan istilah First In First Out (FIFO).

Contoh: Antrian kendaraan bermotor saat mengisi BBM di SPBU.

9. Apakah yang dimaksud dengan tree? Berikan contoh penerapannya!

Jawab: Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen. Bentuk tree menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. Sehingga tree bisa didefinisikan sebagai kumpulan simpul atau node dengan elemen khusus yang disebut root atau akar.

Contoh: Data organisasi atau silsilah keluarga

10. Apakah yang dimaksud dengan graph? Berikan contoh penerapannya! 

Jawab: Dalam bidang matematika dan ilmu komputer, graph adalah struktur yang menggambarkan relasi antar obyek dari sebuah koleksi obyek. Jika struktur linear; misalnya array; memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data.

Contoh: Menggambarkan jaringan dan jalur kereta api, lintasan pesawat, sistem permipaan, saluran telepon, koneksi elektrik.

[04]: Studi Kasus Permasalahan Sederhana

Assalamualikum Wr. Wb,


Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.

Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Studi Kasus Perbandingan. Selamat belajar!



Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma:
  1. Membuat flowchart untuk menghitung luas dan keliling lingkaran
  2. Konversi suhu
  3. Menampilkan bilangan ganjil
Materi PDF: TI307-04: Studi Kasus Permasalahan Sederhana

Tugas 04: Studi Kasus Permasalahan Sederhana
  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-04: Studi Kasus Permasalahan Sederhana, soal latihan 4.4 di nomor halaman 50 dan 51.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!
4.4 Soal Latihan

Buatlah flowchart untuk menghitung determinan dan mencari akar-akar dari persamaan
kuadrat : ax2 + bx + c = 0, dengan ketentuan sbb :

D = b2 - 4ac

Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu:
x1 = x2 = -b / 2a

Jika D > 0 , maka terdapat 2 akar real yang berlainan, yaitu:
x1 = (-b + sqrt(D)) / 2a
x2 = (-b - sqrt(D)) / 2a

Jika D < 0 , maka terdapat 2 akar imaginair yang berlainan, yaitu:
x1 = -b / 2a + (sqrt(-D) / 2a) i
x2 = -b / 2a - (sqrt(-D) / 2a) i 

Jawab:

Nama Variabel yang Digunakan dan Keterangan

No. | Nama Variabel | Tipe Data | Keterangan

1. | a | integer | variabel a dalam ax2 + bx + c = 0

2. | b | integer | variabel b dalam ax2 + bx + c = 0

3. | c | integer | variabel c dalam ax2 + bx + c = 0

4. | d | double | rumus determinan d = b2 – 4ac

5. | i | double | rumus abc, i = √-d / 2a

6. | x1 | double | nilai akar-akar x1

7. | x2 | double | nilai akar-akar x2 

 Flowchart



Link draw.io : https://drive.google.com/file/d/1zhlZsPj4D24GB2JXsslGjbJrB-d1rrFP/view?usp=share_link
Link google dokumen : https://docs.google.com/document/d/17Khijl5mJywRfVpRPtlpjeHxmQV1-kcnrn4uoSrCX0Q/edit?usp=share_link

Referensi tugas : https://zakijack654.blogspot.com/2019/12/flowchart-mencari-determinan-akar-akar.html

[05]: Studi Kasus Perbandingan

Assalamualikum Wr. Wb,

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.


Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Studi Kasus Perbandingan. Selamat belajar!


Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma:
  1. Tahun kabisat
  2. Deret bilangan genap
Materi PDF: TI307-05: Studi Kasus Perbandingan

Tugas 05: Studi Kasus Perbandingan
  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-05: Studi Kasus Perbandingan, soal latihan 5.3 di halaman 55.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!

5.3 Soal Latihan:

Buatlah flowchart untuk menentukan harga yang harus dibayar oleh seorang pembeli
bila setiap pembelian barang mendapatkan diskon dengan aturan:
- Jika total harga pembelian > 1.500.000,- maka dapat diskon 10% 

Flowchart:


[06]: Studi Kasus Konversi

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan.


Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Studi Kasus Konversi. Selamat belajar!


Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma:
  1. Konversi jam ke menit
  2. Konversi detik ke hari, jam, menit, dan detik

Tugas 06: Studi Kasus Konversi
  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-06: Studi Kasus Konversi, soal latihan 6.3 di halaman 59.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!
6.3 Soal Latihan:

Buatlah flowchart untuk mencari max/min bilangan dari suatu deret bilangan

Contoh

Input Bilangan : 8, 3, 5, 2, 7, 9, 6, 4
Output Bilangan maksimum = 9
Bilangan minimum = 2 

 Jawab:


Flowchart draw.io : https://drive.google.com/file/d/1pAPghd2ZiTC1Xrmmwov-OquEqxBdVGWt/view?usp=sharing

Google dokumen : https://docs.google.com/document/d/1nlzlRXJW0bp3BX9YdklD32Jw_Fjtn-XiDCXOi_bICyI/edit?usp=share_link

[07]: Studi Kasus Percabangan dan Perulangan

Assalamu 'Alaikum Wr. Wb.

Bagaimana kabar kalian semua, semoga saja diberikan kesehatan. Berjumpa kembali dikuliah ini. Sekarang kita akan mempelajari tentang Kasus Percabangan dan Perulangan. Selamat belajar!


Pada bab ini mahasiswa akan membuat contoh sederhana pembuatan algoritma:
  1. Kalkulator sederhana
  2. Tumpukan bilangan

Tugas 07: Studi Kasus Konversi Percabangan dan Perulangan
  1. Silakan kirim jawaban dari soal yang disampaikan pada bagian: TI307-07: Studi Kasus Percabangan dan Perulangan, soal latihan 7.3 di halaman 64.
  2. Buatkan jawabannya ke dalam bentuk PDF, kirim ke kolom File submissions.
  3. Segera selesaikan agar dapat melanjutkan ke materi di minggu selanjutnya!
7.3 Soal Latihan

Buatlah program untuk menghitung jumlah bola dalam suatu triangular. Triangular
adalah suatu susunan benda (contoh: bola) yang disusun sedemikian rupa sehingga
menyerupai segitiga. Dengan mengetahui jumlah bola yang paling bawah, maka dapat
dihitung jumlah seluruh bola yang menyusun triangular tersebut.

Contoh:


Input: Masukkan jumlah triangular: 4
Output: Jumlah bola: 10 

Jawab:  

Flowchart 



[08]: Uji Kompetensi 1 (Algoritma Pemrogaman)


Persiapan Ujian Kompetensi 1 (UTS) Algoritma Pemrograman


Ada 17 materi yang diujiankan:
  • 5:09 Program Python Pertama
  • 13:13 Variabel dan Tipe Data
  • 25:31 Menerima Input User
  • 31:04 Type Conversion
  • 39:56 String
  • 48:46 Formatted String
  • 54:06 String Method
  • 1:04:24 Matematika
  • 1:08:18 Operator Precedence
  • 1:12:11 Math Module
  • 1:16:43 Percabangan If
  • 1:23:39 Operator Perbandingan
  • 1:29:11 Operator Logika
  • 1:34:14 Perulangan While
  • 2:00:17 Perulangan For
  • 2:05:52 List (Array)
  • 2:52:50 Fungsi
Uji Kompetensi 1 (Algoritma Pemrograman)

1. Operator pembanding digunakan untuk melakukan?

a. Percabangan antara 2 nilai.
b. Penjumlahan antara 2 nilai.
c. Hubungan antara 2 nilai.
d. Perbandingan antara 2 nilai.
e. Kombinasi antara 2 nilai.

Jawab: d

2. Berikut adalah struktur percabangan atau pemilihan di Python, kecuali?

a. elif
b. for
c. if
d. if else
e. Semua benar.

Jawab: b

3. Perhatikan kode program Python di bawah ini:

umur = 14
if umur <= 18:
    if umur <= 10:
        print("Anak-anak")
    else:
        print("Remaja")
else:
    print("Bukan usia anak maupun remaja")

Program tersebut menghasilkan keluaran?

a. Error
b. Semua salah.
c. Anak-anak
d. Bukan usia anak maupun remaja
e. Remaja

Jawab: e

4. Bagaimana cara membuat komentar di Python?

a. < Ini komentar >
b. /* Ini komentar */
c. // Ini komentar
d. /* Ini komentar
e. # Ini komentar

Jawab: e

5. Perulangan while akan mengecek kondisi di bagian akhir setelah melakukan iterasi minimal 1 kali. Pernyataan ini bernilai?

Pilih salah satu:
a. Benar
b. Salah

Jawab: Salah

6. Apa ekstensi file yang benar untuk berkas kode program Python?

a. .py
b. .pyt
c. .pyth
d. .pl
e. .pt

Jawab: a

7. Method atau fungsi yang digunakan untuk mendapatkan panjang string ?

a. len()
b. Semua salah.
c. length()
d. getLen()
e. getZise()

Jawab: a

8. Berikut adalah bentuk umum (bahasa pemrograman berbasis C) perulangan for, yaitu?

a. Semuanya salah.
b. for (modifier; syarat; inisialisasi) pernyataan;
c. for (inisialisasi; syarat) pernyataan;
d. for (syarat; inisialisasi; modifier) pernyataan;
e. for (inisialisasi; syarat; modifier) pernyataan;

Jawab: e

9. Perhatikan kode program Python berikut ini:

def penjumlahan(a, b):
    return a + b

print("Hasil penjumlahan 20 + 4 = ", penjumlahan(20,4))

 
Program tersebut menggunakan?

a. Class.
b. Array.
c. Prosedur.
d. Fungsi.
e. Object.

Jawab: d

10. Bagaimana cara membuat fungsi di Python?

a. namaFungsi[]
b. def nama_fungsi():
c. (namaFungsi)
d. namaFungsi()
e. function namaFungsi

Jawab: b

11. Array (list) di Python dapat menyimpan banyak data dengan jenis data yang berbeda. Pernyataan ini bernilai?

Pilih salah satu:
a. Benar
b. Salah

Jawab: a

12. Berikut bentuk penulisan pernyataan  if  yang benar di bahasa pemrograman Python yaitu?

a. Semua benar.
b. if (x > y) then:
c. if (x > y)
d. if x > y:
e. if x > y then:

Jawab: d

13. Bentuk umum perulangan (bahasa pemrograman berbasis C):  do while  adalah?

a. while (do) {pernyataan}
b. while (kondisi) pernyataan;
c. do (kondisi) while (pernyataan);
d. do (pernyataan) while (kondisi)
e. do {pernyataan} while (kondisi);

jawab: e

14. Berikut ini contoh operator aritmatika, kecuali?

a. Semua benar.
b. *
c. +
d. <=
e. /

Jawab: d

15. Di bawah ini adalah salah satu contoh operator pembanding?

a. ==
b. **
c. //
d. ||
e. %

Jawab: a

16. Berikut adalah contoh cara di pemrograman Python yang berfungsi untuk menambahkan kode atau modul lain, kecuali?

a. import math
b. from math import pi
c. #include <iostream>
d. import mod as my_module
e. from math import *

Jawab: c

17. Dibawah ini adalah contoh cara yang tepat untuk deklarasi variabel  bilangan  dengan jenis integer di Python?

a. var bilangan;
b. int bilangan;
c. bilangan = 12;
d. bilangan = 12
e. bilangan int;

Jawab: d

18. Perhatikan kode program Python berikut ini:

def f(x):
    return str(x * 3) + '!'

print(f('informatika'))

Program tersebut menghasilkan keluaran?

a. Error
b. Semua salah.
c. xxx!
d. informatikainformatikainformatika
e. informatikainformatikainformatika!

Jawab: e

19. Suatu wadah (sebuah lokasi memori komputer) yang berfungsi untuk menampung data atau nilai yang dapat berubah-ubah selama program berjalan disebut?

a. function.
b. Variabel.
c. define.
d. Method.
e. Konstanta.

Jawab: b

20. Kode program  continue  berfungsi untuk meloncat ke pernyataan awal yang terdapat dalam blok perulangan tanpa menjalankan sisa perintah di bawah pernyataan  continue  tersebut. Pernyataan ini bernilai?

Pilih salah satu:
a. Benar
b. Salah

Jawab: Benar

21. Berikut ini adalah operator increment dan decrement?

a. // dan ||
b. ++  dan  --
c. || dan &&
d. -- dan !!
e. ++ dan **

Jawab: b

22. Di bawah ini contoh operator logika, kecuali?

a. &&
b. **
c. !
d. Semua salah.
e. ||

Jawab: b

23. Tipe data yang digunakan untuk menghasilkan nilai TRUE dan FALSE adalah?

a. Integer.
b. Boolean.
c. Semua salah.
d. Double.
e. Float.

Jawab: b

24. Jenis data yang digunakan di pemrograman Python untuk bilangan pecahan adalah?

a. Float
b. Char
c. String
d. Double
e. Integer

Jawab: a

25. Apa sintaks yang benar untuk menampilkan jenis variabel atau objek di kode program Python?

a. Semua salah.
b. print(typeOf(x))
c. print(typeof(x))
d. print(type(x))
e. print(typeof x)

Jawab: d

26. Berikut adalah pernyataan yang digunakan untuk menghentikan perulangan?

a. continue
b. break
c. return
d. stop
e. exit

Jawab: b

27. Untuk melakukan operasi perkalian maka harus menggunakan operator?

a. Operator percabangan.
b. Operator aritmatika
c. Operator logika.
d. Operator pembanding.
e. Operator relasi.

Jawab: b

28. Jenis data yang digunakan di pemrograman Python untuk bilangan bulat adalah ?

a. Integer.
b. Char.
c. Double.
d. String.
e. Float.

Jawab: a

29. Berikut sintak yang benar untuk menghasilkan keluaran  Hello World  di Python ?

a. print("Hello World")
b. print << "Hello World";
c. puts("Hello World")
d. cout << "Hello World";
e. System.out.print("Hello World");

Jawab: a

30. Berikut ini tidak berhubungan dengan instruksi perulangan (loops) di Python?

a. Switch
b. continue
c. break
d. While
e. For

Jawab: a

31. Indeks array (list) dimulai dari 1. Pernyataan ini bernilai?

Pilih salah satu:
a. Benar
b. Salah

Jawab: Salah

32. Jenis data apa yang digunakan untuk menyimpan variabel di pemrograman Python dengan nilai teks?

a. Double.
b. String.
c. Float.
d. Txt.
e. Integer.

Jawab: b

33. Kode perintah untuk menginput suatu nilai dari keyboard untuk diproses di dalam program Python adalah?

a. input()
b. output()
c. cin
d. cout
e. getch

Jawab: a

34. Perhatikan kode program Python berikut:

for i in range(10):
    if i == 5:
        continue
    else:
print(i)

Program tersebut menghasilkan keluaran?

a. Angka 1 sampai dengan 9.
b. Angka 0 sampai dengan 9.
c. Angka 0 sampai dengan 9, kecuali 5.
d. Angka 1 sampai dengan 10, kecuali 5.
e. Angka 0 sampai dengan 5.

Jawab: c

35. Kata kunci yang digunakan untuk menyatakan nilai balikan di dalam fungsi?

a. get
b. return
c. break
d. void
e. Semua salah.

Jawab: b

36. Konstanta akan menampung nilai yang TIDAK dapat diubah-ubah selama program dijalankan. Pernyataan ini bernilai?

Pilih salah satu:
a. Benar
b. Salah

Jawab: a

37. Setiap perintah di dalam Python selalu diakhiri dengan tanda?

a. ;
b. Semua salah.
c. :
d. }
e. ]

Jawab: b

38. Untuk mendeklarasikan array (list) di Python, ditandai dengan simbol?

a. ||
b. {}
c. ()
d. []
e. <>

Jawab: d

39. Berikut adalah contoh cara yang benar untuk mendeklarasikan array (list) di Python, kecuali?

a. hobi = ("membaca")
b. user01 = ["julia", 13, "indonesia"]
c. buah = ["jeruk", "apel", "mangga", "duren"]
d. warna = []
e. hobi = ["membaca"]

Jawab: a

40. Di bawah ini merupakan jenis data numerik, kecuali?

a. Float.
b. Double
c. Semua benar.
d. Char
e. Integer.

Jawab: d

Komentar

Postingan populer dari blog ini

Pertanyaan Calon Programmer di YABB

Belajar Plugin Wordpress Gwolle Guestbook untuk Aplikasi Buku Tamu