tugas1 pemrograman lanjut isi

Upload: ananda-miftakhurrokhmat

Post on 17-Jul-2015

265 views

Category:

Documents


0 download

TRANSCRIPT

I. DESKRIPSI PROGRAM Program limas segiempat ini merupakan pengimplementasian program yang menerapkan rumus keliling, luas permukaan, dan volume limas segiempat dengan tiga input yaitu sisi satu, sisi dua dan tinggi.Jika alas merupakan sebuah persegi maka sisi satu dan sisi dua sama ukurannya.Sedangkan jika alas merupakan sebuah persegi panjang maka sisi satu tidak sama dengan sisi dua, sisi satu sama dengan panjang, sisi dua sama dengan lebar. II. RUMUS YANG DIPAKAI Rumus-rumus yang digunakan dalam program ini adalah rumus keliling, luas permukaan, dan volume.

Untuk menghitung keliling yaitu keliling alas ditambah sisi miring segitiga (jumlahnya ada 4).Untuk menghitung luas permukaan yaitu luas alas ditambah dua kali luas segitiga jenis satu ditambah dua kali luas segitiga jenis dua.Untuk menghitung volume yaitu luas alas dikali sepertiga tinggi. Hitung KelilingK = K alas + 2(sm1+sm2) K alas = sisi1 + sisi2 sm1 = & ((1/2*sisi1)^ + t1^) sm2 = & ((1/2*sisi2)^ + t1^)

Hitung Luas permukaanLPerm = Lalas + 2 (L+1 + L+2) Lalas = sisi1*sisi2 L+1 = *sisi1*t1 L+2 = *sisi2*t2

Hitung Volume V = 1/3*Lalas*t

III. DESIGN LAYOUT DAN KOMPONEN Agar program mudah dipahami maka perlu dibuatkan interface atau GUInya agar mempermudahkan saat dijalankan.Berikut daftar komponen berikut seting-setingnya. No 1 2 Komponen jPanel1 jPanel2 Name Default Default Default Properti yang disetting Background = [204,255,102]

3

jLabel1 jLabel2 jLabel3 jLabel4

Default

Foreground

4 5 6 7 8 9 10 11

JTextField JTextField JTextField JButton JButton JLabel JLabel JLabel

txtSisi1 txtSisi2 txtTinggi btnGo btnReset hslKel hslVolume

Background = [204,255,153] Background = [204,255,153] Background = [204,255,153] Text = GO Text = Reset Text = xxxxxxxxxx Text = xxxxxxxxxx

hslLuasPerm Text = xxxxxxxxxx

Layout :

IV. PRINSIP KERJA PROGRAM Saat program dijalankan ada 3 form yang harus diisi yaitu input sisi satu, sisi dua, dan tinggi.Ketiga input ini bisa diisi dengan tipe data integer (pas) maupun float (koma).Untuk input berupa float menggunakan tanda koma.Setelah tiga input diisi lalu tombol Go diklik maka hasilnya akan ditampilkan di sebelah kanan label Keliling, Luas Permukaan, dan Volume menggantikan kata semula (xxxxxxxxxx).Jika ingin mencoba mengisi dengan input lain klik Reset untuk menghilangkan hasil dan input yang terakhir dimasukkan.

V. PENJELASAN PROGRAM Program ini dibuat dengan bahasa pemrograman Java.Terdiri dari dua file yaitu satu file untuk class berisi attribut-atribut dan satu file untuk GUI atau interfacenya.Kedua file tersebut kami beri nama ClsLimasSegiEmpat.java dan frmInput.java. Untuk mendefinisikan sebuah class maka nama classnya harus sama dengan nama filenya.Karena nama filenya adalah ClsLimasSegiEmpat.java maka nama classnya adalah ClsLimasSegiEmpat.Berikut class yang dibentuk berikut attribute-attribute yang ada di dalamnya.Penggunaan private dalam atribut menandakan bahwa attribut tersebut terbatas atau hanya bisa diakses oleh class tersebut saja.public class ClsLimasSegiEmpat { private float sisi1; private float sisi2; private float tinggi; private float keliling; private float luasalas; private float luasperm; private float volume //deklarasi konstruktor disini, lebih dari 1 bisa //deklarasi assesor dan mutator disini }

Dalam Java agar attribut di dalam suatu kelas bisa terakses maka diperlukanlah konstruktor.Konstruktor bisa diibaratkan sebagai ketua kelas dalam suatu kelas.Jadi yang lebih mengetahui jumlah atau keadaan dari suatu kelas yang mengurusi adalah ketua kelas, anggota tidak perlu terlibat.Dan ketua kelas ini sebagai penghubung dengan kelas-kelas yang lain.Jadi konsruktor ibarat sebagai penghubung.Konstruktor bisa dideklarasikan nama saja tanpa parameter / attribut (hanya menandai bahwa ada konstruktor saja), bisa menggunakan attribut.Attribut juga bisa ditentukan misalnya ingin mengurangi dari jumlah attribut asli class.Jumlah konstruktor bisa lebih dari satu, sesuai kebutuhan.

Contoh pendeklarasian konsruktor.Dalam program ini ada 2 konstruktor.public ClsLimasSegiEmpat(){ } //konstuktor tanpa paramater, attribut public ClsLimasSegiEmpat(float sisi1,float sisi2, float tinggi, float keliling,float luasperm, float volume){ this.sisi1 = sisi1; this.sisi2 = sisi2; this.tinggi = tinggi; this.keliling = keliling; this.luasperm = luasperm; this.volume = volume; } //konstruktor dengan paramater, attribut //penggunaan this jika nama attribut yang dideklarasikan sama

Dalam class ini juga kita deklarasikan mutator dan assesornya.Mutator itu method untuk mengubah value / set, sedangkan assesor itu untuk mengambil suatu nilai / get.Mutator di Java adalah Setter, sedangkan assesor di Java adalah Getter.Dalam program ini ada 7 attribut jadi ada 7 Setter dan 7 Getter = 14. Karena ada banyak tidak perlu kami tuliskan semua disini.Kami beri sample Setter dan Getternya. SettersetSisi1(float sisi1) setSisi2(float sisi2) setTinggi(float tinggi) setLuasalas(float luasalas) setKeliling(float keliling) setLuasperm(float luasperm) setVolume(float volume)

GettergetSisi1():float getSisi2():float getTinggi():float getLuasalas(float sisi1, float sisi2):double getKeliling(float sisi1, float sisi2, float tinggi):double getLuasperm(float sisi1, float sisi2, float tinggi):double getVolume(float sisi1, float sisi2, float tinggi):double

Sebagai tambahan jika kita ingin memasukkan rumus, maka kita isikan pada Getternya karena Getter mengambil parameter dari attribute yang dimasukkan dari Setter.

Contoh penggunaan Setter:public void setKeliling(float keliling) { this.keliling = keliling; }

Contoh penggunaan Getter:public double getKeliling(float sisi1, float sisi2, float tinggi) { float kelilingalas = 2*(sisi1+sisi2); double stghSs1 = sisi1*0.5; double stghSs2 = sisi2*0.5; double tgSgtgSs1 = Math.sqrt((stghSs1*stghSs1) + (tinggi*tinggi)); double tgSgtgSs2 = Math.sqrt((stghSs2*stghSs2) + (tinggi*tinggi)); double BtgSgtgSs1 = tgSgtgSs1*0.5; double BtgSgtgSs2 = tgSgtgSs2*0.5; double mrg1 = Math.sqrt((BtgSgtgSs1*BtgSgtgSs1)+ (tgSgtgSs1*tgSgtgSs1)); double mrg2 = Math.sqrt((BtgSgtgSs2*BtgSgtgSs2)+(tgSgtgSs2*tgSgtgSs2)); double kel = kelilingalas + (2*(mrg1+mrg2)); return kel; }

Beberapa

paragraf

di

atas

menjelaskan

beberapa

code

pada

ClsLimasSegiEmpat.java.Sekarang kita akan membahas frmInput.java.Sesuai namanya file ini berisi form input yang tersusun dari komponen-komponen seperti jPanel, jLabel, jTextField,jButton.Kesemua komponen telah disusun sedemikian rupa sehingga tampil sesuai dengan layout yang dibahas pada bab sebelumnya.Selanjutnya kita memberi tambahan coding diantaranya agar input yang dimasukkan bisa diolah oleh class yang telah kita bikin. Jika kita menggunakan Netbeans jika kita membuat sebuah Jframe otomatis akan dijalankan pertama kali,dan bukan file classnya, karena telah ditambahkan code public static void main(String args[]) ke code Jframe secara otomatis.Sebaliknya di dalam class yang telah kita buat sebelumnya tidak usah diberi public static void main(String args[]) karena code ini dimasukkan pada file yang akan kita jalankan pertama kali,disini di frmInput.java

Di file frmInput.java ini kita masukkan 2 action yaitu action Go untuk menghitung rumus keliling, luas permukaan, dan volume dengan method Getter dari input yang kita masukkan ke form, dan action Reset untuk mereset yaitu menghilangkan tampilan keluaran dan menghilangkan input .Adapun kode dari kedua action tersebut adalah seperti berikut:private void btnGoActionPerformed(java.awt.event.ActionEvent evt) { // deklarasikan class yang telah dibuat, ini penting agar method bisa dipanggil juga ClsLimasSegiEmpat limas = new ClsLimasSegiEmpat(); hslKel.setText(String.valueOf(limas.getKeliling(Float.parseFloat(txtS isi1.getText()), Float.parseFloat(txtSisi2.getText()),Float.parseFloat(txtTinggi.getTe xt())))+" sp"); hslLuasPerm.setText(String.valueOf(limas.getLuasperm(Float.parseFloat (txtSisi1.getText()), Float.parseFloat(txtSisi2.getText()),Float.parseFloat(txtTinggi.getTe xt())))+" sl"); hslVolume.setText(String.valueOf(limas.getVolume(Float.parseFloat(txt Sisi1.getText()), Float.parseFloat(txtSisi2.getText()), Float.parseFloat(txtTinggi.getText())))+" sv"); }

private void btnResetActionPerformed(java.awt.event.ActionEvent evt) { // bersihkan semua input yang dimasukkan dan kembalikan tampilan output ke semula txtSisi1.setText(""); txtSisi2.setText(""); txtTinggi.setText(""); hslKel.setText("xxxxxxxxxx"); hslLuasPerm.setText("xxxxxxxxxx"); hslVolume.setText("xxxxxxxxxx"); }

VI. CONTOH INPUT PROGRAM Berikut adalah contoh tampilan program saat dijalankan

VII. KESIMPULAN Secara umum program ini berjalan normal artinya rumus yang diterapkan benar dan hasilnya bisa muncul.Hanya saja belum ada validasi yang diterapkan agar input yang dimasukkan terisi semua dan input bisa menggunakan koma.Untuk hasilnya sudah bisa tampil hanya saja belum terbatasi dari jumlah angka di belakang koma.