Skip to content

This repository contains a collection of assignments and exercises from the Basic Programming course in semester 1. The purpose of this repository is to serve as learning documentation and a reference for other students who are studying basic programming concepts.

Notifications You must be signed in to change notification settings

ridoq/prak_daspro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

JOBSHEET 5

Percobaan

- Percobaan 1

Soal:

  1. Mengapa pengecekan pada struktur IF tersebut tidak melibatkan kondisi dengan operator relasional?
  2. Saat program dijalankan, kemudian Anda mengisikan nilai false, bagaimana hasilnya?
  3. Sistem perlu memberikan informasi apabila pengguna memasukkan nilai false, maka terdapat keluaran “Registrasi ditolak. Silakan lunasi UKT terlebih dahulu”. Modifikasi program tersebut dengan menambahkan struktur ELSE!
  4. Commit dan push hasil modifikasi Anda ke Github dengan pesan “Modifikasi Percobaan 1”

jawaban:

  1. "if(uktLunas)" sama dengan "if(uktLunas == true)" karena tipe data uktLunas adalah boolean, yang mana variable bertipe boolean hanya bernilai true and false
  2. yang pertama, variable uktLunas akan bernilai false, dan yang kedua, sistem tidak akan menampilkan output apapun
  3. menambahkan:
else{
    System.out.println("Registrasi ditolak. Silakan lunasi UKT terlebih dahulu");
}
  1. "Modifikasi percobaan 1"

- Percobaan 2

Soal:

  1. Apa fungsi dari sintaks break?
  2. Apa peran dari sintaks default pada struktur pemilihan SWITCH-CASE?
  3. Buat file baru dengan nama ifElseCetakKRSNoPresensi.java. File ini berisi program hasil transformasi dari program cetak KRS menggunakan struktur SWITCH-CASE yang telah dibuat ke dalam bentuk IF-ELSE IF-ELSE.
  4. Commit dan push hasil modifikasi Anda ke Github dengan pesan “Modifikasi Percobaan 2”

jawaban:

  1. break digunakan untuk menghentikan eksekusi jika casenya cocok dengan kondisi switch
  2. default berfungsi sebagai opsi terakhir jika semua case tidak sesuai dengan kondisi yang ada
  3. membuat file baru dengan logika if else
if (semester == 1) {
    System.out.println("KRS Semester 1 ditampilkan");
}else if (semester == 2) {
    System.out.println("KRS Semester 2 ditampilkan");
}else if (semester == 3) {
    System.out.println("KRS Semester 3 ditampilkan");
}else if (semester == 4) {
    System.out.println("KRS Semester 4 ditampilkan");
}else if (semester == 5) {
    System.out.println("KRS Semester 5 ditampilkan");
}else if (semester == 6) {
    System.out.println("KRS Semester 6 ditampilkan");
}else if (semester == 7) {
    System.out.println("KRS Semester 7 ditampilkan");
}else if (semester == 8) {
    System.out.println("KRS Semester 8 ditampilkan");
}else{
    System.out.println("Semester tidak valid");
}
  1. "Modifikasi percobaan 2"

- Percobaan 3

Soal:

  1. Apa yang terjadi jika mahasiswa menjawab "No" pada pertanyaan bebas kompen? Mengapa demikian?
  2. Jelaskan maksud dari potongan kode berikut!
  3. Bagaimana alur pemeriksaan syarat mahasiswa dari awal sampai akhir? Jelaskan secara runtut untuk semua kondisi!

jawaban:

  1. pertama, sistem akan tetap menampilkan output
Masukkan jumlah log bimbingan Pembimbing 1:
Masukkan jumlah log bimbingan Pembimbing 2:

yang kedua baru menampilkan output

Gagal!Mahasiswa masih memiliki tanggungan kompen

kenapa masih ada input jumlah log padahal jawabannya no?

-karena sebelum kita beri if untuk pertanyaan bebas kompen, terdapat kode:

System.out.print("Masukkan jumlah log bimbingan Pembimbing 1: ");
int bimbinganP1 = sc.nextInt();
System.out.print("Masukkan jumlah log bimbingan Pembimbing 2: ");
int bimbinganP2 = sc.nextInt();

kenapa outputnya gagal?

-karena jawaban selain "ya" akan menampilkan output:

Gagal! Mahasiswa masih memiliki tanggungan kompen
  1. jawab: jika nilai bimbinganP1 lebih/sama dengan 8 DAN bimbinganP2 lebih/sama dengan 4 maka...

  2. yang pertama, sistem akan menampilkan input mengenai status bebas kompen, jika input selain "ya" maka sistem langsung menolak pendaftaran ujian skripsi karena masih ada tanggungan kompen. Namun, jika input "Ya" maka pemeriksaan berlanjut ke jumlah log bimbingan. Ketika log bimbingan Pembimbing 1 mencapai minimal 8 kali dan Pembimbing 2 mencapai minimal 4 kali, program menampilkan pesan bahwa "semua syarat telah terpenuhi dan mahasiswa diperbolehkan mendaftar ujian skripsi". Jika keduanya belum memenuhi syarat jumlah log maka program memberikan pesan "Gagal! Log bimbingan P1 kurang dari 8 kali dan P2 kurang dari 4 kali". Jika hanya salah satu pembimbing yang belum memenuhi syarat maka pesan akan menampilkan pesan "Gagal! Log bimbingan P[...] belum mencapai [...] kali".

Tugas

- Tugas 1

Soal:

  • Buka kembali file ifCetakKRSNoPresensi.java, tambahkan baris baru di dalam fungsi main untuk melakukan transformasi program cetak KRS hasil modifikasi menggunakan struktur IF-ELSE yang telah dibuat ke dalam bentuk Ternary Operator! Commit dan push program Anda ke Github dengan pesan “Tugas 1”

jawaban:

System.out.println(uktLunas ? "Pembayaran UKT terverifikasi\nSilahkan cetak KRS dan minta tanda tangan DPA" : "Registrasi ditolak. Silakan lunasi UKT terlebih dahulu");

- Tugas 2

Soal:

  • Perhatikan flowchart berikut.

    Tugas 2 gambarSoal

Implementasikan flowchart tersebut ke dalam kode program Java dengan struktur pemilihan IF-ELSE! Commit dan push program Anda ke Github dengan pesan “Tugas 2”

jawaban:

package jobsheet5.tugas2;
import java.util.Scanner;
public class ganjilGenap {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int angka;

        System.out.println("Masukkan angka untuk mengetahui ganjil/genap");
        angka = sc.nextInt();
        if (angka %2 == 0) {
            System.out.println("angka adalah genap");
        }else{
            System.out.println("angka adalah ganjil");
        }
        sc.close();
    }
}

- Tugas 3

Soal:

  • Implementasikan flowchart yang telah Anda buat untuk Latihan pada Tugas pertemuan 5 Matakuliah Dasar Pemrograman terkait sistem perpustakaan dan akses WIFI kampus ke dalam kode program! Commit dan push program Anda ke Github dengan pesan “Tugas 3”
  1. Sistem perpustakaan kampus memberikan izin masuk dengan dua syarat:

    • Jika mahasiswa membawa kartu mahasiswa, atau sudah melakukan registrasi online, maka boleh masuk.

    • Jika tidak memenuhi salah satu dari dua syarat tersebut, maka ditolak masuk. Buatlah flowchart dan pseudocode untuk menyelesaikan masalah tersebut!

  2. Di kampus tersedia layanan WiFi gratis yang hanya bisa diakses oleh civitas akademika. Sistem hotspot kampus akan melakukan pengecekan sebagai berikut:

    • Jika jenis pengguna adalah dosen, maka tampilkan “Akses WiFi diberikan (dosen)”.

    • Jika jenis pengguna adalah mahasiswa, maka sistem akan memeriksa jumlah SKS yang diambil:

    o Jika SKS ≥ 12, maka tampilkan “Akses WiFi diberikan (mahasiswa aktif)”.

    o Jika SKS < 12, maka tampilkan “Akses ditolak, SKS kurang dari 12”.

    • Jika bukan mahasiswa maupun dosen, maka tampilkan “Akses ditolak”. Buatlah flowchart dan pseudocode untuk menyelesaikan masalah tersebut!

jawaban:

  1. Jawaban no 1
package jobsheet5.tugas3;
import java.util.Scanner;
public class sistemPerpus {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean membawaKartu, sudahRegistrasi;

        System.out.println("Apakah anda membawa kartu?(true/false)");
        membawaKartu = sc.nextBoolean();
        System.out.println("Apakah anda sudah registrasi?(true/false)");
        sudahRegistrasi = sc.nextBoolean();

        if (membawaKartu) {
            System.out.println("kartu terverifikasi, Izin masuk diberikan");
        }else if (sudahRegistrasi) {
            System.out.println("registrasi terverifikasi, Izin masuk diberikan");
        }else{
            System.out.println("Anda tidak membawa kartu dan belum melakukan registrasi, izin masuk ditolak");
        }
        sc.close();
    }
}
  1. jawaban no 2
package jobsheet5.tugas3;
import java.util.Scanner;
public class sistemAksesWifi {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String user;
        int sks;

        System.out.println("Masukkan tipe user");
        user = sc.nextLine();

        if (user.equalsIgnoreCase("dosen")) {
            System.out.println("Akses diberikan (dosen)");
        }else if (user.equalsIgnoreCase("mahasiswa")) {
            System.out.println("masukkan jumlah sks");
            sks = sc.nextInt();
            if (sks >= 12) {
                System.out.println("Akses diberikan (mahasiswa aktif)");
            }else{
                System.out.println("Akses ditolak, sks kurang dari 12");
            }
        }else{
            System.out.println("akses ditolak");
        }
        sc.close();
    }
}

About

This repository contains a collection of assignments and exercises from the Basic Programming course in semester 1. The purpose of this repository is to serve as learning documentation and a reference for other students who are studying basic programming concepts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages