Anda di halaman 1dari 25

MSIM4301

BUKU JAWABAN UJIAN


(BJU) UAS TAKE HOME
EXAM (THE) SEMESTER
2021/22.1 (2021.2)

Nama Mahasiswa : ZAYYIDATUN ILYA

Nomor Induk Mahasiswa/NIM : 041831634

Tanggal Lahir : situbondo/ 02-11-1999


:MSIM4301/Pemrograman
Kode/Nama Mata Kuliah
Desktop

Kode/Nama Program Studi : 252/ sistem informasi

Kode/Nama UPBJJ : 76/jember

Hari/Tanggal UAS THE : Senin/ 20-12-2021

Tanda Tangan Peserta Ujian

Petunjuk

1. Anda wajib mengisi secara lengkap dan benar identitas pada cover BJU pada halaman ini.
2. Anda wajib mengisi dan menandatangani surat pernyataan kejujuran akademik.
3. Jawaban bisa dikerjakan dengan diketik atau tulis tangan.
4. Jawaban diunggah disertai dengan cover BJU dan surat pernyataan kejujuran akademik.

KEMENTERIAN PENDIDIKAN DAN


KEBUDAYAAN UNIVERSITAS
TERBUKA

1dari 3
MSIM4301

Surat Pernyataan
Mahasiswa Kejujuran
Akademik

Yang bertanda tangan di bawah ini:

Nama Mahasiswa : ZAYYIDATUN ILYA


NIM : 041831634
Kode/Nama Mata Kuliah :MSIM4301/Pemograman
Desktop

Fakultas : Sains dan Teknologi (FST)


Program Studi : Sistem Informasi
UPBJJ-UT : Jember

1. Saya tidak menerima naskah UAS THE dari siapapun selain mengunduh dari aplikasi THE pada
laman https://the.ut.ac.id.
2. Saya tidak memberikan naskah UAS THE kepada siapapun.
3. Saya tidak menerima dan atau memberikan bantuan dalam bentuk apapun dalam pengerjaan soal
ujian UAS THE.
4. Saya tidak melakukan plagiasi atas pekerjaan orang lain (menyalin dan mengakuinya sebagai
pekerjaan saya).
5. Saya memahami bahwa segala tindakan kecurangan akan mendapatkan hukuman sesuai dengan
aturan akademik yang berlaku di Universitas Terbuka.
6. Saya bersedia menjunjung tinggi ketertiban, kedisiplinan, dan integritas akademik dengan tidak
melakukan kecurangan, joki, menyebarluaskan soal dan jawaban UAS THE melalui media apapun,
serta tindakan tidak terpuji lainnya yang bertentangan dengan peraturan akademik Universitas
Terbuka.

Demikian surat pernyataan ini saya buat dengan sesungguhnya. Apabila di kemudian hari
terdapat pelanggaran atas pernyataan di atas, saya bersedia bertanggung jawab dan
menanggung sanksi akademik yang ditetapkan oleh Universitas Terbuka.
Senin, 20-12-2021
Yang Membuat Pernyataan

Zayyidatun Ilya

2dari 3
MSIM4301

NASKAH UAS-THE
UJIAN AKHIR SEMESTER-TAKE HOME EXAM (THE)
UNIVERSITAS TERBUKA
SEMESTER: 2021/22.1 (2021.2)
Pemrograman Desktop
MSIM4301
No. Soal Skor
1. Perhatikan kode program java berikut. 15

1 public class Main


2 {
3 public static void [1](String [] argh) 4
{
5 [2]waktu;
6 int jarakTempuh, kecepatan,ubahWaktu,jarak,k;
7 int totalJam, totalMenit, totalDetik, modWaktu; 8
9 [3] = 444;
10 [4] = 80;
11
12
13 [5]
14
15
16
17 System.out.printf("Jarak (km): %d \n",jarak);
18 System.out.printf("Kecepatan (km/jam): %d\n", k); 19
20 System.out.println("\nWaktu tempuh yangdibutuhkan:");
21 System.out.printf("%d jam %d menit%n", totalJam, totalMenit); 22
}
23 }

Program di atas untuk menghitung waktu tempuh sesuai data jarak dan kecepatan yang diketahui. Pada
kode program tersebut terdapat bagian yang perlu dilengkapi yaitu pada poin [1],[2],[3],[4], dan [5].
Lengkapilah bagian tersebut dengan tipe data, variabel, identifier, atau keyword yang sesuai, sehingga
program dapat dijalankan dan diperoleh output yang benar!

 Sertakan bukti screenshot kode program yang telahlengkap!

3dari 3
MSIM4301

2. Perhatikan contoh kasus berikut. 20

Tono adalah seorang siswa kelas XII yang berpotensi masuk ke Perguruan Tinggi Negeri melalui jalur
prestasi. Terdapat 4 Perguruan Tinggi Negeri yang dapat dipilih oleh Tono. Namun masing-masing
Perguruan Tinggi Negeri tersebut memiliki kriteri tertentu untuk menerima calon pendaftar berdasarkan
nilai prestasi yang dimilikinya. Adapun ketentuannyaadalah:

4dari 3
MSIM4301

No PT Ambang batas nilai


1 PT A >81
2 PT B 71-80
3 PT C 61-70
4 PT D <60

Jika nilai Tono adalah 80, maka Perguruan Tinggi Negeri manakah yang akan menerima Tono?

Berdasarkan contoh kasus di atas, buatlah kode program menggunakan bahasa pemrograman java dengan
menerapkan konsep struktur keputusan if, if-else atau if-else-if!

 Sertakan bukti screenshot kode program yang telah lengkap dan tampilanoutput-nya!

3. Perhatikan contoh kasus tentang konsep dari polymorpism di bawah ini. 20

Pada contoh kasus di atas, Class Matematika memiliki 2 subclass yaitu Segitiga dan PersegiPanjang.
Setiap subclass tersebut memiliki method yang sama yaitu luas(). Namun di dalam method luas()
memiliki rumus yang berbeda sehingga jika dijalankan class Matematika akan menghasilkan sebuah
keluaran yang berbeda.
Berdasarkan contoh kasus tersebut, terapkan konsep polymorpism menggunakan bahasa pemrograman
Java. Class yang terbentuk antara lain: Main.java, Matematika.java, Segitiga.java,PersegiPanjang.java!

 Sertakan bukti screenshot kode program dan tampilan output untuk semua tahap proses
penyelesaiansoalnya!

4. Perhatikan langkah-langkah pembuatan database dan aplikasi berikut. 45

a. Buatlah sebuah database MySQL/MariaDB menggunakan XAMPP yang berisi rancangan


tabel barang. Atribut dari tabel barang tersebut adalah: (sertakan bukti screenshot)

Namatabel Keterangan
id Int(11) auto increment primarykey
kode Varchar(20)
nama Varchar(20)
kategori Varchar(20)
stok Int(10)
harga Int(10)

5dari 3
MSIM4301

b. Setelah database dan tabel terbentuk, buatlah program menu menggunakan bahasa pemrograman java
seperti gambar berikut! (Sertakan buktiscreenshot)

c. Buatlah tampilan menu, jika pengguna memilih no 1 maka dapat memasukkan data ke dalam tabel
barang. Isilah tabel tersebut dengan beberapa data sesuai atributnya! (Sertakan buktiscreenshot)
d. Buatlah tampilan menu, jika pengguna memilih no 2 maka dapat menampilkan data yang telah
dimasukkan ke dalam tabel barang (Sertakan buktiscreenshot)!
e. Buatlah tampilan menu, jika pengguna memilih no 3 maka akan muncul permintaan memasukkan
data ID yang akan dihapus! Selanjutnya akan muncul tampilan bahwa data sesuai ID telah terhapus.
(Sertakan buktiscreenshot)
f. Buatlah tampilan menu, jika pengguna memilih no 0 maka akan keluar dari menu! (Sertakan
buktiscreenshot)

Petunjuk:
 Sertakan bukti screenshot kode program dan tampilan output untuk semua tahap proses
penyelesaiansoalnya!
 Silakan membaca Modul 9 KB 2 sebagai sumberreferensi.

Skor Total 100

6dari 3
MSIM4301

1. Perhatikankodeprogramjavaberikut.

7dari 3
MSIM4301

2. Perhatikancontohkasusberikut.
Tono adalah seorang siswa kelas XII yang berpotensi masuk ke Perguruan TinggiNegeri
melalui jalur prestasi. Terdapat 4 Perguruan Tinggi Negeri yang dapat dipiliholeh Tono.
Namun masing-masing Perguruan Tinggi Negeri tersebut memiliki
kriteritertentuuntukmenerimacalonpendaftarberdasarkannilaiprestasiyangdimilikinya.Adapunk
etentuannya adalah:

JikanilaiTonoadalah80,makaPerguruanTinggiNegerimanakahyangakanmenerimaTono?
Berdasarkan contoh kasus di atas, buatlah kode program menggunakan
bahasapemrograman
javadenganmenerapkankonsepstrukturkeputusanif,if-elseatauif-else-if!
• Sertakan bukti screenshot kode program yang telah lengkap dan tampilan output-nya!

Jawab:

importjava.util.Scanner;

publicclasssoal2{

publicstaticvoidmain(String[]args){

intnilai;
StringPTA,PTB,PTC,PTD;
PTA = " Berhasil Masuk
PTA";PTB = " Berhasil
Masuk PTB";PTC = "
Berhasil Masuk
PTC";PTD="BerhasilMasukPTD
";

8dari 3
MSIM4301

System.out.print("MasukanNilai:\n");
nilai = scan.nextInt();System.out.print("======================\n");

if(nilai>=81)
{
System.out.println("Nilai=" +nilai+PTA);
}
else if(nilai >=71 && nilai <=80) {System.out.println("Nilai=" +nilai+PTB);
}
else if (nilai >=61 && nilai <=70) {System.out.println("Nilai=" +nilai+PTC);
}
else if(nilai<=60){
System.out.println("Nilai="+nilai+PTD);
}
else{
System.out.println("AndaBelumMemasukannilai");
}

9dari 3
MSIM4301

3. Perhatikancontohkasustentangkonsepdaripolymorpismdibawahini.

Pada contoh kasus di atas, Class Matematika memiliki 2 subclass yaitu


SegitigadanPersegiPanjang.Setiapsubclasstersebutmemilikimethodyangsamayaitu
10dari
MSIM4301

luas().Namundidalammethodluas()memilikirumusyangberbedasehinggajikadijalankan
class Matematika akan menghasilkan sebuah keluaran yang berbeda.Berdasarkan contoh
kasus tersebut, terapkan konsep polymorphismmenggunakan bahasa pemrograman Java.
Class yang terbentuk antara lain:Main.java,Matematika.java,Segitiga.java,
PersegiPanjang.java!
• Sertakan bukti screenshot kode program dan tampilan output untuk semuatahap
proses
penyelesaiansoalnya!

Jawab:

Gambar3.1classyangdibuat

Gambar3.2classMatimatika

11dari
MSIM4301

Gambar3.3classPersegi

Gambar3.4classSegitiga

12dari
MSIM4301

Gambar3.4ClassMain

Gambar3.5HasilOutputProgram

4. Perhatikanlangkah-langkahpembuatandatabase danaplikasiberikut.
a. Buatlahsebuahdatabase MySQL/MariaDBmenggunakanXAMPPyangberisirancangan
tabel barang. Atribut dari tabel barang tersebut adalah: (sertakan
buktiscreenshot)

b. Setelah database dan tabel terbentuk, buatlah program menu


menggunakanbahasapemrogramanjavasepertigambarberikut!(Sertakanbuktiscreenshot)

13dari
MSIM4301

c. Buatlah tampilan menu, jika pengguna memilih no 1 maka dapat memasuk kandatake
dalamtabelbarang.Isilahtabeltersebutdenganbeberapadatasesuaiatributnya!(Sertakan
buktiscreenshot)
d. Buatlahtampilanmenu,jikapenggunamemilihno2makadapatmenampilkandatayang
telahdimasukkankedalamtabelbarang(Sertakanbuktiscreenshot)!
e. Buatlah tampilan menu, jika pengguna memilih no 3 maka akan
munculpermintaan
memasukkan data ID yang akan dihap us! Selanjutnya akan muncul
tampilanbahwadata
sesuaiIDtelahterhapus.(Sertakanbuktiscreenshot)
f. Buatlah tampilan menu, jika pengguna memilih no 0 maka akan keluar darimenu!
(Sertakan
buktiscreenshot)

Jawab
a. tabelbarangpadaphpmyadmin

b. MenuPadasaataplikasidirunning

14dari
MSIM4301

c. Insertbarangataupilihannomer1

d. pilihanno.2atau showdata

e. Pilihannomer 3hapusbarang, terlihatdata berkurang

15dari
MSIM4301

f. pilihan0 keluardari aplikasi

CodeLengkap

packagemain;

import
java.sql.DriverManager;import
java.sql.Connection;importjava.
sql.Statement;importjava.sql.Re
sultSet;import
java.io.BufferedReader;importja
va.io.InputStreamReader;

publicclassCrud{ 16dari
MSIM4301

static final String JDBC_DRIVER =


"com.mysql.cj.jdbc.Driver";static final String DB_URL =
"jdbc:mysql://localhost/msim4301";staticfinalStringUSER="root";
staticfinalStringPASS="";

static Connection
conn;static Statement
stmt;staticResultSetrs;

static InputStreamReader inputStreamReader = new


InputStreamReader(System.in);staticBufferedReaderinput=newBufferedReader(input
StreamReader);

public static void main(String[] args)


{try{

Class.forName(JDBC_DRIVER);

conn = DriverManager.getConnection(DB_URL, USER,


PASS);stmt=conn.createStatement();

while (!conn.isClosed())
{showMenu();
}

stmt.close();
conn.close();

} catch (Exception e)
{e.printStackTrace()
;
}
}

staticvoidshowMenu(){
System.out.println("\n========= MENU UTAMA
=========");System.out.println("1. Insert
Data");System.out.println("2. Show
Data");System.out.println("3. Delete
Data");System.out.println("0.Keluar");System.out.print
ln("");
System.out.print("PILIHAN>");

try{
intpilihan=Integer.parseInt(input.readLine());

17dari
switch (pilihan)
{case0:
MSIM4301

System.exit(0);
break;
case1:
insertBarang();
break;
case2:
showData();
break;
case3:
deleteBarang();
break;
default:
System.out.println("Pilihansalah!");
}
} catch (Exception e)
{e.printStackTrace()
;
}
}

staticvoidshowData(){
String sql = "SELECT * FROM
barang";try{
rs=stmt.executeQuery(sql);

System.out.println("+
+");System.out.println("|
DATABARANGDITOKO
|");System.out.println("+
+");while (rs.next()){
String id =
rs.getString("id");String kode =
rs.getString("kode");Stringnama=rs.
getString("nama");
String kategori =
rs.getString("kategori");Stringstok=rs.getS
tring("stok");
Stringharga=rs.getString("harga");

System.out.println(String.format("%s,%s,%s,%s,%s,%s", id,
kode,nama,kategori,stok, harga));
}

} catch (Exception e)
{e.printStackTrace()
;
}
}
static void insertBarang()
18dari
{try{
MSIM4301

System.out.print("Kode:");
Stringkode=input.readLine().trim();

19dari
MSIM4301

System.out.print("Nama Barang:
");String nama =
input.readLine().trim();System.out.pri
nt("Kategori:");
String kategori =
input.readLine().trim();System.out.print("
Stok:");
int stok =
Integer.parseInt(input.readLine());System.out.
print("Harga:");
intharga=Integer.parseInt(input.readLine());

String sql = "INSERT INTO barang (kode, nama, kategori, stok,


harga)VALUE('"+kode+"','"+nama+"','"+kategori+"','"+stok+"','"+harga+"')";
sql=String.format(sql,kode,nama,kategori,stok,harga);

stmt.execute(sql);

} catch (Exception e)
{e.printStackTrace()
;
}

static void deleteBarang()


{try{

//ambilinputdariuserSystem.out.print("ID
yang mau dihapus:
");intid=Integer.parseInt(input.readLine())
;

//buatqueryhapus
Stringsql="DELETEFROMbarangWHEREid="+String.valueOf(id);
// hapus
datastmt.execute(s
ql);

System.out.println("Datatelahterhapus...");
} catch (Exception e)
{e.printStackTrace()
;
}
}

}
packagemain;
import
20dari
java.sql.DriverManager;import
java.sql.Connection;importjava.s
MSIM4301

ql.Statement;importjava.sql.Resu
ltSet;import
java.io.BufferedReader;importjav
a.io.InputStreamReader;

21dari
MSIM4301

publicclassCrud{

static final String JDBC_DRIVER =


"com.mysql.cj.jdbc.Driver";static final String DB_URL =
"jdbc:mysql://localhost/msim4301";staticfinalStringUSER="root";
staticfinalStringPASS="";

static Connection
conn;static Statement
stmt;staticResultSetrs;

static InputStreamReader inputStreamReader = new


InputStreamReader(System.in);staticBufferedReaderinput=newBufferedReader(input
StreamReader);

public static void main(String[] args)


{try{
// register
driverClass.forName(JDBC_DR
IVER);

conn = DriverManager.getConnection(DB_URL, USER,


PASS);stmt=conn.createStatement();

while (!conn.isClosed())
{showMenu();
}

stmt.close();
conn.close();

} catch (Exception e)
{e.printStackTrace()
;
}
}

staticvoidshowMenu(){
System.out.println("\n========= MENU UTAMA
=========");System.out.println("1. Insert
Data");System.out.println("2. Show
Data");System.out.println("3. Delete
Data");System.out.println("0.Keluar");System.out.print
ln("");
System.out.print("PILIHAN>");

try{ 22dari
intpilihan=Integer.parseInt(input.readLine());
MSIM4301

switch (pilihan)
{case0:
System.exit(0);
break;
case1:
insertBarang();
break;
case2:
showData();
break;
case3:
deleteBarang();
break;
default:
System.out.println("Pilihansalah!");
}
} catch (Exception e)
{e.printStackTrace()
;
}
}

staticvoidshowData(){
String sql = "SELECT * FROM
barang";try{
rs=stmt.executeQuery(sql);

System.out.println("+
+");System.out.println("|
DATABARANGDITOKO
|");System.out.println("+
+");while (rs.next()){
String id =
rs.getString("id");String kode =
rs.getString("kode");Stringnama=rs.
getString("nama");
String kategori =
rs.getString("kategori");Stringstok=rs.getS
tring("stok");
Stringharga=rs.getString("harga");

System.out.println(String.format("%s,%s,%s,%s,%s,%s", id,
kode,nama,kategori,stok,harga));
}

} catch (Exception e)
{e.printStackTrace()
;
}
23dari
}
static void insertBarang()
MSIM4301

{try{
//ambilinputdariuser

24dari
MSIM4301

System.out.print("Kode:");
String kode =
input.readLine().trim();System.out.pri
nt("Nama Barang: ");String nama =
input.readLine().trim();System.out.pri
nt("Kategori:");
String kategori =
input.readLine().trim();System.out.print("
Stok:");
int stok =
Integer.parseInt(input.readLine());System.out.
print("Harga:");
intharga=Integer.parseInt(input.readLine());

String sql = "INSERT INTO barang (kode, nama, kategori, stok,


harga)VALUE('"+kode+"','"+nama+"','"+kategori+"','"+stok+"','"+harga+"')";
sql=String.format(sql,kode,nama,kategori,stok,harga);

stmt.execute(sql);

} catch (Exception e)
{e.printStackTrace()
;
}

static void deleteBarang()


{try{

//ambilinputdariuserSystem.out.print("ID
yang mau dihapus:
");intid=Integer.parseInt(input.readLine())
;

//buatqueryhapus
Stringsql="DELETEFROMbarangWHEREid="+String.valueOf(id);
// hapus
datastmt.execute(s
ql);

System.out.println("Datatelahterhapus...");
} catch (Exception e)
{e.printStackTrace()
;
}
}

}
25dari

Anda mungkin juga menyukai