DASAR TEORI
1.
Netbeans
Salah
satu editor dalam java adalah NetBeans. Editor ini luar biasa untuk membuat
aplikasi java, karena didukung dengan fasilitas drag and drop komponen, yaitu dukungan Rapid Aplication Development
(pemrograman berbasis visual dan template). Satu hal lagi yang paling
penting adalah produk ini free, yang dibuat oleh Sun Microsystem.
NetBeans juga memiliki IDE (Integrated Development Environment), ada
juga yang bilang Integrated Design Environment dan Integrated
Debugging Environment, yakni sebuah program/alat bantu yang terdiri atas Editor,
Compiler, Debugger dan Design yang terintegrasi dalam satu
aplikasi.
a. Keunggulan
Netbeans
1) NetBeans
GUI Builder GRATIS dengan ribuan plug In yang bisa kita download
langsung di website resminya, maupun dari pihak ketiga.
2) NetBeans
GUI Builder sangat kompetebel dengan Swing karena memang langsung
dikembangkan oleh Sun Microsystem yang notabenenya sebagai pengembang Swing.
3) Netbeans
tidak hanya dapat digunakan buat java saja, karena Netbeans dapat di gunakan
untuk bahasa pemograman lain seperti C/C++, Ruby, dan PHP.
4) NetBeans
GUI Builder sangat cocok untuk digunakan dalam pengembangan sistem berskala Enterprise.
5) Pada
paket tertentu, Netbeans juga menyertakan GlassFish V2 UR2 dan Apache Tomcat 6.0.16
b. Kelemahan Netbeans
1) NetBeans
hanya mensupport satu pengembangan Java GUI, yaitu Swing, yang padahal
ada Java GUI yang dikembangkan oleh eclipse yang bernama SWT dan JFace
yang sudah cukup popular
2) NetBeans
mempatenkan source untuk Java GUI yang sedang dikerjakan dalam sebuah Generated
Code, sehingga programmer tak dapat mengeditnya secara manual.
3) Dari
segi sumber daya, Netbeans memerlukan sumber daya yang besar, seperti Memory
dan ruang hard disk.
4) Netbeans
memerlukan dukungan prosesor yang cukup handal untuk mendapatkan performa
maksimalnya.
2.
Eclipse
Menurut
Nasruddin Safaat (Pemrograman aplikasi mobeli smartphone dan tablet PC berbasis
android 2012:16) Eclipse adalah sebuah IDE (Integrated Development
Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di
semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
a.
Multi-platform:
Target sistem operasi Eclipse adalah Microsoft Windows, Linux,
Solaris, AIX, HP-UX dan Mac OS X.
b.
Mulit-language: Eclipse dikembangkan
dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung
pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++,
Cobol, Python, Perl, PHP, dan lain sebagainya.
c.
Multi-role: Selain sebagai IDE untuk
pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam
siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak,
pengembangan web, dan lain sebagainya.
Eclipse
pada
saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source,
yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini.
Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah
kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang
dinamakan plug-in. Eclipse dibuat dari kerja sama antara perusahaan-perusahaan
anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak
nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA,
Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans
IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi
dibandingkan IDE lainnya.
a. IntelliJ
IDEA (commercial, free 30-day trial)
b. Oracle
JDeveloper (free)
c. Xinox
JCreator (ada versi berbayar maupun free)
Eclipse
awalnya dikembangkan oleh IBM untuk menggantikan perangkat
lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada
tanggal 5 November 2001, yang menginvestasikan sebanyak US$ 40 juta untuk
pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil
alih untuk pengembangan Eclipse lebih lanjut dan pengaturan
organisasinya. Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah
kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse
sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini
merupakan basis dari Eclipse yang dinamakan Rich Client Platform
(RCP). Berikut ini adalah komponen yang membentuk RCP:
a. Core
platform
b. OSGi
c. SWT
(Standard Widget Toolkit)
d. JFace
e. Eclipse Workbench
Secara
standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program
Java, dan PDE (Plug-in Development Environment) untuk
mengembangkan plug-in baru. Eclipse beserta plug-in-nya
diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah
IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak
untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk
mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai
macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila
ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++
Development Tools). Selain itu, pengembangan secara visual bukan hal yang
tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat Diagram
UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai
dengan keinginannya. Salah satu situs yang menawarkan plug-in secara
gratis seperti Eclipse downloads by project.
Sejak tahun
2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara
rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi
peluncuran terdiri dari Eclipse Platform dan juga sejUMLah proyek
yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk
menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang
terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah Deployment dan
maintenance untuk sistem enterprise, serta untuk kenyamanan.Peluncuran
simultan dijadwalkan pada bulan Juni setiap tahunnya.
3.
Penulisan
Program Di Java,Input & Output
Pada NetBeans
membuat kode dasar untuk program Java Anda. Anda dapat menambah
pernyataan-pernyataan Anda pada kode yang telah di-generate. Pada sisi kiri
jendela, Anda dapat melihat daftar folder dan filefile yang dihasilkan NetBeans
setelah membuat sebuah project. Semua ini dapat Anda temukan dalam folder
MYJAVAPROGRAMS Anda, dimana Anda menetapkan lokasi project tersebut. Sekarang,
cobalah memodifikasi kode yang dihasilkan oleh NetBeans. Untuk saat ini abaikan
bagian-bagian lain dari program, detail dari kode tersebut akan dijelaskan pada
bagian berikutnya. Masukkan kode :
System.out.println("Hello
world!");
Setelah
pernyataan, //TODO code application logic here.
Untuk menjalankan
program Anda, klik pada Run > Run Main Project. Atau Anda juga dapat
menggunakan tombol shortcut untuk menjalankan program Anda.
Hasil
dari program Anda ditampilkan pada jendela.
4.
Operator
Operator
merupakan sebuah karakter khusus yang digunakan untuk menghasilkan suatu nilai.
a. Operator Assigment ( Penugasan )
Operator ini berfungsi untuk
menyingkat / memendekkan penulisan operasi penugasan. Daftar berikut memberikan
seluruh kemungkinan operator kombinasi dalam suatu pernyataan.
b. Operator Matematika
Operator
aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan,
pengurangan, pembagian, dan modulo (atau sisa pembagian).
Contoh
penggunaan :
+
Operator penjumlahan (juga sebagai penyambung string)
-
Operator pengurangan
*
Operator perkalian
/
Operator pembagian
%
Operator sisa pembagian
Simbol
|
Nama operator
|
Contoh penggunaan
|
+
|
Operator penjumlahan
|
n = n + 1;
|
-
|
Operator pengurangan
|
n = n – 1;
|
*
|
Operator perkalian
|
n = n * 1;
|
/
|
Operator pembagian
|
n = n / 1;
|
%
|
Operator sisa pembagian
|
n = n % 1;
|
+
|
Operator penyambung string
|
n = “saya “+”tidur”;
|
c. Operator pembanding
Operator
relasi dalam Java digunakan untuk menghasilkan nilai boolean yang sering
digunakan untuk mengatur alur jalannya sebuah program.
Hasil
dari operasi pembanding adalah boolean. True jika operasi pembanding
tersebut benar, dan false jika operasi pembanding tersebut salah.
Contoh :
boolean a = 10 ==
100;
System.out.println(a);
Hasil dari program
diatas adalah false, karena memang 10 tidak sama dengan 100.
d. Operator Logika
Operator
logika biasa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi
sebuah ungkapan kondisi. Operator-operator ini berupa :
Contoh Penggunaan :
5.
Tingkatan
Operator
Java mempunyai aturan untuk menentukan urutan
dimana operator di dalam ekspresi dievaluasi ketika suatu ekspresi mempunyai beberapa
operator (disebut dengan operator precedence). Operator precedence adalah
urutan evaluasi dimana operator yang ada di suatu ekspresi akan dievaluasi
berdasarkan aturan prioritas yang ditentukan. Operator dengan prioritas lebih
tinggi akan dievaluasi terlebih dahulu dibandingkan dengan operator yang
mempunyai prioritas lebih rendah. Apabila beberapa operator di dalam ekspresi
mempunyai prioritas yang sama, maka operator akan dievaluasi berdasarkan
asosiasi dari operator tersebut (operator association).
Berikut ini adalah tabel operator di Java dengan
tingkatan prioritas:
Perhatikan
contoh ekspresi numerik Java di bawah ini.
5 +
20 * 2 – 20 / 2 + (10 - 2);
Java akan mengevaluasi ekspresi
numerik tersebut dengan urutan sebagai berikut:
1. Ekspresi
numerik yang terdapat di dalam kurung buka tutup akan dievaluasi pertama kali
karena mempunyai prioritas paling tinggi dibandingkan dengan operator perkalian
(*), pembagian (/), penjumlahan (+) dan pengurangan (-) sehingga ekspresi
numerik akan menjadi 5 + 20 * 2 – 20 / 2 + 8.
2. Operator
perkalian (*) dan pembagian (/) akan dievaluasi berikutnya mulai dari kiri ke
kanan karena memiliki prioritas yang sama dan lebih tinggi dari operator
penjumlahan (+) dan pengurangan (-) sehingga ekspresi numerik menjadi 5 + 40 –
10 + 8.
3.
Operator penambahan dan pengurangan mempunyai
prioritas yang sama dan akan dievaluasi terakhir mulai dari kiri ke kanan
sehingga menghasilkan nilai 43.
6.
Percabangan (if, if....else, if...elseif....,
switch)
Percabangan adalah suatu pilihan atau opsi dengan kondisi
tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan
dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis
percabangan, if, if-else, else-if, dan juga switch. Keempat jenis ini memiliki
penggunaan masing-masing. Berikut penjelasan mengenai penggunaan tiap-tiap
percabangan :
a. if : Percabangan if ini digunakan jika
kita hanya memiliki satu pernyaatan yang akan dijalankan dengan syarat
tertentu. Sintaks if seperti berikut :
if(kondisi){
pernyataan
}
Jika
kondisi benar, maka pernyataan akan dijalankan.
Contoh
:
public class
coba{
public
static void main (String [] args){
int
a=0;
if (a==0)
System.out.println("Nilai a = 0");
if (a==1)
System.out.println("Nilai a = 1");
}
}
Output
: Program akan menampilkan nilai a = 0 saja, karena pada if yang kedua,
kondisi tidak memenuhi atau salah.
b. if else : Percabangan if else digunakan
saat kita memiliki dua pernyataan dengan syarat tertentu.
Sintaks if-else seperti berikut :
if(kondisi){
pernyataan1
}else{
pernyataan2
}
Jika hasil
dari if benar, maka pernyataan1 yang dijalankan, sedangkan jika salah,
pernyataan dua yang akan dijalankan.
Contoh
:
public
class coba{
public
static void main (String [] args){
int
a=0;
if (a==0)
System.out.println("Nilai a = 0");
else
System.out.println("Nilai a = 1");
}
}
Output :
program akan menampilkan nilai a = 0, karena kondisi if bernilai benar,
jika pada inisialisasi nilai a tidak bernilai 0, maka program akan
menampilkan nilai a = 1.
c. else -if : percabangan
yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan banyak
pernyataan (lebih dari 2). Sintaks dari else-if seperti berikut :
if(kondisi){
pernyataan1
}elseif(kondisi2){
pernyataan2
}else(kondisi3){
pernyataan3
}
else {
penyataan4
}
jika
kondisi1 benar, maka pernyataan1 akan dijalankan, jika kondisi2 benar, maka
penyataan2 akan dijalankan, jika semua kondisi salah, maka penyataan4 yang akan
dijalankan saja.
Contoh
:
public
class coba{
public
static void main (String [] args){
int
a=2;
if (a==0)
System.out.println("Nilai a = 0");
else
if(a==1)
System.out.println("Nilai a = 1");
else
if(a==2)
System.out.println("Nilai a = 2");
}
}
Output
: Program akan menampilkan nilai a = 2 saja, karena pada
else-if yang ketiga atau dengan pernyataan a==2
bernilai benar, sedangkan pernyataan
yang lain tidak dijalankan karena kondisi tidak memenuhi.
d. switch-case :
percabangan yang digunakan saat kita memiliki banyak kondisi (lebih dari 2) dan
banyak pernyataan (ledbih dari 2). Sebenarnya switch-case ini hampir sama
dengan else if, hanya saja sintaksnya yang berbeda. Sintaks dari switch-case
seperti berikut :
switch
(variabel) {
case nilai1: pernyataan1;
break;
case nilai2: pernyataan2;
break;
default: pernyataan3;
}
Jika nilai
variabel yang ditunjuk bernilai sesuai nilai1, maka pernyataan1 akan
dijalankan, jika nilai variabel yang ditunjuk bernilai sesuai nilai2,
pernyataan2 dijalankan, jika tidak ,maka pernyataan3 yang akan dijalankan.
public
class coba{
public
static void main (String [] args){
int
a=3;
switch
(a) {
case 1:
System.out.println("Nilai a=1");break;
case 2:
System.out.println("Nilai a=2"); break;
case 3:
System.out.println("Nilai a=3");break;
default:
System.out.println("Nilai a=4"); break
}
}
}
Output :
Program akan menampilkan nilai a = 2 saja, karena kondisi
bernilai benar, perhatika break dibelakang pernyataan, jika break ini dihapus,
maka semua pernyataan akan dijalankan. Break digunakan untuk keluar dari
switch-case saat 1 pernyataan sudah dijalankan.
SOAL
PRAKTIKUM
1.
Tuliskan algoritma untuk mencari sisi miring
dari suatu segitiga siku-siku jika diketahui diketahui panjang dua sisi yang
membentuk sudut siku-siku.
Petunjuk: sisi miring segitiga siku-siku dapat dihitung dengan
rumus pythagoras,
2.
Tuliskan algoritma untuk menampilkan banyaknya
pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh pengguna.
Pecahan uang yang digunakan: 100.000, 50.000, 20.000,
10.000, 5.000, 2.000, 1.000, 500, 200, dan 100.
Contoh, untuk uang Rp 12.500, diperlukan 1 lembar 10.000, 1
lembar 2.000, dan 1 koin 500.
Input :
jumlah uang
Output :
banyaknya pecahan uang
3.
Buat algoritma untuk mengkonversi bilangan dalam
format desimal menjadi biner.
Input :
bilangan desimal
Output : bilangan
biner
Ilustrasi:
4.
Untuk
menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian
personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan
menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar
1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan
umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan
berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf
yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000
jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang
dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya
kurang dari 50 tahun akan mendapat bonus Rp. 300.000.
Buat
algoritmanya?
5.
Tarif pemasangan iklan baris di sebuah Surat
Kabar ditentukan sebagai berikut :
-
Hari :
Minggu, Senin, Selasa, Rabu, Kamis dan Jumat, per baris Rp. 33.000,-
-
Hari :
Sabtu, per baris Rp. 40.000,-
Buatlah algoritma untuk menghitung
total biaya iklan baris yang harus dibayar oleh pengiklan.
Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis,
Jumat atau Sabtu)
- Jumlah baris yang dipakai
Output : Total
biaya iklan yang harus dibayar pengiklan
Tuliskan algoritma untuk kasus diatas dalam
bentuk flowchart.
6.
Info Harga Tiket Masuk bioskop Surabaya City
adalah sebagai berikut :
-
Senin – Kamis :
Rp 15.000,-
-
Jumat s/d Minggu :
Rp 35.000,-
-
Hari Libur :
Rp 35.000,-
Input : - Hari (Minggu, Senin, Selasa, Rabu, Kamis,
Jumat atau Sabtu)
- Libur atau Tidak Libur
- Jumlah tiket yang dibeli
Output : Total biaya tiket
Pertanyaan: Buat algoritma untuk menghitung total biaya tiket .
7.
Di sebuah perbelanjaan di Surabaya diadakan
Pekan Diskon, dimana perhitungan bonus dihitung bertingkat untuk total belanja
senilai :
-
Rp. 150.000,- diskonnya
: 10%
-
Rp. 275.000,- diskonnya
: 15%
-
Rp. 300.000,- diskonnya
: 20%
-
Rp. 400.000,-
ke atas diskonnya
: 25%
Diskon tidak dihitung sebagai
akumulasi dari diskon nilai belanja dibawahnya.
Buatlah algoritma untuk
menghitung berapa nilai yang harus dibayar oleh pelanggan dengan total nilai
belanja tertentu bila disertakan pula perhitungan diskonnya.
Input : Total nilai belanja.
Output : Nilai
Diskon (dalam rupiah/bukan persen), Nilai yang harus dibayar
8.
Berikut ini adalah ketentuan untuk menghitung
nilai, dan konversi menjadi nilai huruf.
Ketentuannya:
Nilai=((rata-rata tugas*30%)+(UTC*30%)+(UAC*40%))
Input = tugas1,tugas2,tugas3,UTC,UAC
Output =
Nilai Akhir dan Nilai Huruf.
‘A’ jika nilai > 80 dan
nilai <= 100
‘AB’ jika nilai > 70 dan nilai <= 80
‘B’ jika nilai > 65 dan nilai <= 70
‘BC’ jika nilai > 60 dan nilai <= 65
‘C’ jika nilai > 55 dan nilai <= 60
‘AB’ jika nilai > 70 dan nilai <= 80
‘B’ jika nilai > 65 dan nilai <= 70
‘BC’ jika nilai > 60 dan nilai <= 65
‘C’ jika nilai > 55 dan nilai <= 60
’D’ jika nilai > 40 dan
nilai <= 55
’E’ jika nilai > 0 dan
nilai <= 40
9.
Berikut ini adalah tarif pemakaian Air PDAM Kota
Surabaya
Jumlah Pemakaian (m3) Harga/m3
Pemakaian I ( <
50 m3) Rp. 200,-
Pemakaian
II ( 51 – 150 ) Rp.
500,-
Pemakaian
III ( 151 – 300 ) Rp. 1.000,-
Pemakaian
I V ( > 300 m3 ) Rp. 1.500,-
Input : Jumlah Pemakaian
Output : Besar biaya yang harus dibayar
Jumlah
Pemakaian = 500 m3
Pemakaian
I ( s/d 50
m3) Rp. 200,- * 50 = Rp. 10.000,-
Pemakaian
II ( 51 – 150 ) Rp.
500,- * 100 = Rp. 50.000,-
Pemakaian
III ( 151 – 300 ) Rp. 1.000,- * 150 = Rp. 150.000,-
Pemakaian
IV (
> 300 m3 ) Rp. 1.500,- * 200 = Rp. 300.000,-
Biaya Total Rp.
510.000,-
Pertanyaan: Buat algoritma untuk kasus diatas.
10.
Sebuah perusahaan kartu kredit memberikan cash
back kepada nasabahnya berdasarkan jumlah nilai pemakaian kartu kredit selama
sebulan.
Nilai
pemakaian cash back
--------------------- ----------
s.d
1.000.000 5%
1.000.000
– 10.000.000 6%
10.000.000
– 25.000.000 7%
Diatas
25.000.000 8%
Ilustrasi: seorang nasabah yang total pemakaian selama
sebulan 18.000.000, maka cash backnya= 5%x1.000.000+6%x9.000.000+7%x8.000.000 =
160.000
Buat algoritma untuk menghitung cash back yang diterima
nasabah berdasarkan nilai pemakaian kartu kredit.
FLOWCHART
1.
Flowchart untuk mencari sisi miring
dari suatu segitiga siku-siku
2.
Flowchart untuk menampilkan
banyaknya pecahan uang paling efisien dari sejumlah uang yang di inputkan oleh
pengguna.
3.
Flowchart untuk mengkonversi bilangan dalam format
desimal menjadi biner.
4.
Untuk
menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian
personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan
menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus
sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun
dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan
berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf
yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000
jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang
dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya
kurang dari 50 tahun akan mendapat bonus Rp. 300.000.
Flowchartnya
Adalah?
5. Flowchart
untuk menghitung total biaya iklan baris yang harus dibayar oleh pengiklan.
6.
Flowchart untuk menghitung total
biaya tiket
7. Buatlah
algoritma untuk menghitung berapa nilai yang harus dibayar oleh pelanggan
dengan total nilai belanja tertentu bila disertakan pula perhitungan diskonnya.
8.
Flowchart untuk menghitung nilai, dan
konversi menjadi nilai huruf
SOURCE CODE & OUTPUT
1.
|
Output dari
Source Code Diatas Adalah
2.
|
|
|
Output Program :
3.
|
Result:
4.
|
|
RESULT:
5.
5.
|
RESULT :
6.
|
RESULT :
7.
|
|
RESULT:
8.
|
|
RESULT
:
9.
|
RESULT
:
10.
|
DAFTAR PUSTAKA
Tidak ada komentar:
Posting Komentar