• Tidak ada hasil yang ditemukan

LAPORAN TUGAS 2 PRAKTIKUM DASAR PEMROGRAMAN. Disusun Oleh : Aprivivianti Cahyaningrum ( )

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAPORAN TUGAS 2 PRAKTIKUM DASAR PEMROGRAMAN. Disusun Oleh : Aprivivianti Cahyaningrum ( )"

Copied!
32
0
0

Teks penuh

(1)

LAPORAN

TUGAS 2 PRAKTIKUM DASAR PEMROGRAMAN

Disusun Oleh : Aprivivianti Cahyaningrum (105623292) D3 MANAJEMEN INFORMATIKA TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS NEGERI SURABAYA 2013

(2)

I. Dasar Teori

A. Netbeans dan Eclipse

Bahasa pemrograman Java lahir pertama kali dari The Green Project (James Gosling dkk dari sun microsystems) pada tahun 1991 : Teknologi “*7”(Star Seven). Mula-mula James Gosling menyebut bahasa pemrograman yang dihasilkannya dengan OAK: Sun mengubahnya menjadi Java.Sun merilis versi awal java secara resmi pada awal 1996 yg kemudian terus berkembang hingga muncul JDK 1.1 kmd JDK 1.2 shg mulai versi ini java disebut java 2. Pada tahun 1998-1999 lahirlah teknologi J2EE(Java 2 Enterprise Edition). Terakhir Teknologi Java melahirkan J2ME(Java 2 Micro Edition) yang sudah diadopsi oleh Nokia, Siemens, SonyEricsson, Motorola untuk menghasilkan aplikasi mobile baik games maupun software lainnya yang dpat dijalankan diperalatan mobile seperti handphone.

Kelebihan java:

Multiplatform : dapat dijalankan di beberapa platform / sistem operasi komputer

OOP (Object Oriented Programming) :semua aspek yang terdapat di Java adalah Objek.

Perpustakaan Kelas yang lengkap : Java terkenal dengan kelengkapan library/ perpustakaan (kumpulan program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.

Bergaya C++ : memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java.

Beberapa editor yang bisa digunakan untuk pemrograman java adalah: Notepad : editor standard yang disediakan oleh windows. Tidak

dilengkapi dengan utilitas jumlah baris (berpengaruh pada pelacakan baris program yang menyebabkan error kompilasi)

Netbeans : salah satu editor yang dilengkapi dengan pelacakan baris program yang menyebabkan error kompilasi

(3)

B. Penulisan Program di Java, Input, Output

Pada program-program yang membutuhkan data-data eksternal, maka

diperlukan suatu proses input dan ouput (I/O), dimana pada Java dukungan proses I/O ini sudah disediakan dalam paket java.io. Di dalam paket tersebut tersimpan banyak kelas dan interface siap pakai yang akan memudahkan programmer dalam

pengambilan dan penyimpanan informasi dari/ke media lain (misalnya file). Program Java melakukan proses I/O melalui stream, yaitu sebuah abstraksi yang dapat memberikan atau mendapatkan informasi. Stream dapat dihubungkan dengan peralatan fisik yang terdapat dalam sistem I/O Java, seperti keyboard, file, layar console, soket jaringan, dan lainnya. Walaupun dihubungkan dengan peralatan fisik yang berbeda, cara kerja stream selalu sama, sehingga kode program yang ditulis juga sama untuk masing-masing peralatan fisik. Misalnya, untuk melakukan

penulisan sebuah teks ke layar console maupun ke dalam file, maka dapat digunakan kelas dan method yang sama.

Stream ada dua jenis, yaitu stream byte dan stream karakter. Stream byte

digunakan untuk memberikan atau menyimpan informasi data dalam bentuk byte, misalnya untuk menulis dan membaca file biner. Sedangkan stream karakter pada proses I/O yang melibatkan data-data berbentuk karakter, misalnya proses baca/tulis ke suatu file teks, dengan menggunakan karakter Unicode.

Pendefinisian stream dilakukan dengan menggunakan empat kelas abstrak, yaitu InputStream dan OutputStream, sebagai superclass untuk kelas-kelas dalam kategori stream byte, dan kelas abstrak Reader dan Writer untuk kategori stream Semua program Java otomatis akan mengimpor paket java.lang yang

mendefinisikan sebuah kelas bernama System yang berkaitan dengan lingkungan runtime. Kelas System juga mendefinisikan tiga variabel stream, yaitu in, out, dan err, dimana data-datanya dideklarasikan sebagai public atau static. Dengan demikian variabel-variabel tersebut dapat digunakan tanpa harus membentuk objek dari kelas System terlebih dahulu. System.out adalah stream output standar dengan default layar console. System.in adalah objek dari tipe PrintStream, defaultnya berupa keyboard dan mengacu pada stream input standar. Sedangkan pada stream error standar terdapat System.err yang secara default berupa layar console. System.out dan System.err adalah objek dari tipe PrintStream dan mempunyai cara kerja yang sama, yaitu mengeluarkan pesan kesalahan ke layar console.

(4)

Terdapat tiga tipe dasar node, yaitu: • File

• Memori (misalnya objek array atau String) • Pipe (suatu kanal dari satu proses)

Melakukan Input

Dalam Java, input console dilakukan melalui pembacaan terhadap stream

System.in. Untuk mendapatkan karakter-karakter yang dimasukkan melalui keyboard ke dalam layer console, diperlukan membungkus System.in di dalam objek

BufferedReader. Hal ini dilakukan untuk membentuk stream karakter karena System.in sebenarnya merupakan stream bute. Adapun bentuk constructor dari BufferedReader sebagai berikut,

BufferedReader(Reader inputReader)

inputReader adalah stream yang akan dihubungkan dengan instance atau objek dari kelas BufferedReader yang dibuat. Karena Reader merupakan kelas abstrak, maka perlu dicari kelas turunannya yang berupa kelas konkrit. Salah satunya adalah kelas InputStreamReader, yang dapat mengonversi byte ke karakter. Sedangkan agar objek dari InputStreamReader dapat dihubungkan dengan System.in, perlu digunakan bentuk constructor seperti berikut,

InputStreamReader(InputStream inputStream)

Dalam hal ini, inputStream dapat diisi dengan System.in. Sehingga untuk membuat objek BufferedReader yang dapat terhubung dengan keyboard, perlu digunakan kode berikut:

BufferedReader br = new BufferedReader (new InputStreamReader (System.in)); Atau bisa juga ditulis:

InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);

Pada tahap ini objek br sudah siap digunakan untuk melakukan proses input, yaitu dengan melakukan pemanggilan terhadap method read() maupun readline().

Membaca Input Data Karakter

Untuk membaca input berupa karakter, digunakan method read() yang terdapat pada kelas BufferedReader, dengan pendeklarasian sebagai berikut:

(5)

Membaca Input Data String

Untuk melakukan input berupa string harus digunakan method readLine(), bukan read(), dengan deklarasi method sebagai berikut:

String readLine() throws IOException

Proses input data string di dalam Java juga berlaku untuk karakter spasi.

Membaca Input Data Numerik

Untuk input berupa data numerik, maka caranya sama dengan melakukan input terhadap data string. Selanjutnya string hasil input tersebut dikonversi ke tipe numerik dengan memanggil method parseInt() yang terdapat pada kelas Integer untuk bilangan bulat, atau parseDouble() yang terdapat pada kelas Double untuk bilangan riil. Parameter yang dilewatkan ke dalam method tersebut harus bertipe string. Sebaiknya proses konversi berada di dalam blok try-catch untuk menghindari masukan string yang tidak dapat dikonversi ke bilangan bulat, misalnya string “abc”.

Menampilkan Output

Untuk menampilkan output ke layar console, dapat dengan mudah dilakukan

melalui method print() maupun println(). Untuk media output lainnya (misalnya: file), method yang digunakan untuk melakukan proses ini adalah write().

Selain menggunakan System.out untuk menulis ke layar console, Java juga

menyediakan kelas PrintWriter untuk keperluan yang sama. PrintWriter adalah salah satu kelas stream yang berbasis pada data karakter (character-based). Bentuk

constructor dari kelas PrintWriter adalah sebagai berikut:

PrintWriter(OutputStream outputStream, Boolean flushOnNewLine)

Dimana outputStream adalah objek dari OutputStream dan flushOnNewLine

adalah parameter Boolean yang menyatakan apakah stream output akan dibuang atau tidak setiap kali method println() dipanggil.

Seperti halnya System.out, PrintWriter juga mendukung method print() dan println() untuk semua tipe data, termasuk yang berjenis objek; cara kerjanya pun sama seperti pada saat menggunakan System.out. Apabila argumen yang dilewatkan berupa objek, maka PrintWriter akan memanggil method toString() dari objek

bersangkutan, kemudian menampilkan hasilnya. Cara pembentukan objek PrintWriter untuk menampilkan output adalah sebagai berikut:

(6)

PrintWriter pw = new PrintWriter(System.out, true);

C. Operator: Assigment, Matematika, Perbandingan, Logika 1) Assignment

Adalah operator yang menggunakan tanda sama dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.

2) Matematika

Adalah operator yang digunakan untuk melaksanakan operasi aritmatika. Beberapa operator aritmatika antara lain:

* : untuk perkalian + : untuk penjumlahan - : untuk pengurangan / : untuk pembagian

% : untuk sisa pembagian (modulus) 3) Perbandingan

Adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand. Operator perbandingan ini antara lain:

< : untuk kurang dari > : untuk lebih dari <= : untuk kurang dari atau sama dengan >= : untuk lebiih dari atau sama dengan == : untuk sama dengan

!= : untuk tidak sama dengan <> : untuk tidak sama dengan 4) Logika

Adalah operator yang digunakan untuk melakukan operasi logika yaituoperator yang menghasilkan nilai TRUE (benar) atau FALSE (salah). Bebarapa macam operator logika antara lain:

and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE

xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan kedua duanya bernilai TRUE

! : menghasilkan nilai tidak TRUE

&& : menghasilkan nilai TRUE jika kedua operand bernilai TRUE || : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE

(7)

D. Tingkatan Operator

Operator dapat diklasifikasikan menjadi 2 bentuk, yaitu unary operator dan binary operator. Unary operator adalah operator yang hanya melibatkan 1 operan. Sedangkan binary operator adalah operator yang melibatkan 2 operan. Java mempunyai berbagai macam jenis operator yang dapat digolongkan menjadi operator aritmatika, increment-decrement, bitwise, boolean, logik, shift (geser), penugasan, kombinasi dan kondisi.

Arithmatic operator (operator aritmatika) adalah operator yang berfungsi untuk

operasi aritmatika. Yang termasuk dalam arithmatic operator bisa dilihat pada Tabel 3.1.

Tabel 3.1. Arithmatic operator Arithmatic Operator Keterangan + Operasi penambahan - Operasi pengurangan * Operasi perkalian / Operasi pembagian % Operasi modulus

Increment – decrement operator adalah operator yang berguna untuk menaikkan 1 nilai (increment) dan menurunkan 1 nilai (decrement). Yang termasuk increment- decrement operator bisa dilihat pad a Tabel 3.2. Berdasarkan urutan eksekusi penaikkan dan penurunan nilainya, increment-decrement operator ini dapat diklasifikasikan

menjadi 2 macam, yaitu pre-increment/decrement dan post-increment/decrement.

Tabel 3.2. Arithmatic operator

Increment-Decrement Operator Keterangan ++ increment

-- decrement

Bitwise operator adalah operator yang dipakai untuk operasi bit pada nilai operan. Yang termasuk bitwise operator bisa dilihat pada Tabel 3.3.

(8)

Bitwise Operator Keterangan ~ Operasi complement & Operasi AND | Operasi OR ^ Operasi XOR

E. Percabangan (if, if....else, if...elseif...., switch) 1) IF

IF sederhana merupakan kombinasi antara IF – THEN, hanya mengakomodasi alternative kondisi bernilai TRUE saja.

Syntax dari IF sederhana:

IF kondisi THEN statement_true; IF kondisi THEN BEGIN Statement1_true; Statement2_true; END; 2) IF Else

Jika pada IF sederhana, kondisi salah tidak akan melaksanakan apapun maka pada IF dengan alternatif – yang merupakan kombinasi IF – THEN – ELSE – kondisi salah akan mempunyai statement yang dilaksanakan. Sebagai ilustrasi, perhatikan kembali Listing Program 3 – 1, ada kondisi yang merupakan kebalikan yaitu:

a bernilai TRUE dan not a bernilai FALSE

Pada saat dilaksanakan sebenarnya statement setelah IF not a THEN ..., tidak akan dilaksanakan, karena nilai a:=TRUE. Cobalah untuk mengganti a:=FALSE, maka statement setelah IF a THEN … -lah yang tidak akan dilaksanakan. Sebenarnya kedua IF

sederhana tersebut dapat diringkas dengan IF – THEN – ELSE yang syntaxnya: IF kondisi THEN statement_true

ELSE statement_false; IF kondisi THEN BEGIN

(9)

ELSE statement1_true; Statement2_true; BEGIN Statement1_false; Statement2_false; END; 3) IF Else if

IF kompleks disebabkan adanya kondisi yang mempunyai lebih dari dua alternativejawaban. Syntaxnya adalah

IF kondisi1 THEN statement_kondisi1_true ELSE IF kondisi2

THEN statement_kondisi1_false_kondisi2_true; ELSE statement_ kondisi1_false_kondisi2_false; IF kondisi1 THEN

BEGIN

statement1_kondisi1_true; Statement2_kondisi1_true; END

ELSE IF kondisi2 THEN BEGIN Statement1_kondisi1_false_kondisi2_true; Statement2_kondisi1_false_kondisi2_true; END ELSE statement_kondisi1_false_kondisi2_false; 4) Switch

Dipakai pada saat kita ingin memberikan kondisi dengan beberapa syarat yang identik yang masing-masing mempunyai pernyataan yang berbeda-beda. Pada Java, nilai yang dilewatkan pada switch harus bertipe int, short, byte atau char. Sintaks dari switch adalah sebagai berikut:

switch (ekspresi) { case nilai1: Pernyataan1; break;

(10)

case nilai2: Pernyataan2; break;

default: Pernyataan3;

}

Ketika ekspresi bernilai nilai1, maka alur program akan mengeksekusi

pernyataan1. Selanjutnya break menyebabkan alur program keluar dari daerah switch. Kalau ekspresi bernilai nilai2, maka alur program akan mengeksekusi Pernyataan2. Apabila ekspresi mempunya nilai yang tidak sama dengan nilai1 dan nilai2, maka alur program akan menuju ke bagian default dan kemudian mengeksekusi Pernyataan3.

II. 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

(11)

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

(12)

‘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 ’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.

III. PSOUDOCODE a. Soal 1 Pythagoras Deskripsi

hasil , sisi1, sisi2 : Double

Implementasi

hasil Output(hasil)

(13)

b. Soal 2 Pecahan Uang Deskripsi

seratusribu, limapuluhribu, duapuluhribu, sepuluhribu, limaribu, duaribu, seribu, limaratus, duaratus, seratus, inputuang, sisa : Integer

Implementasi

seratusribu inputuang/100000; sisa inputuang - (seratusribu*100000); limapuluhribu sisa / 50000;

sisa sisa - (limapuluhribu * 50000); duapuluhribu sisa / 20000;

sisa sisa - (duapuluhribu * 20000); sepuluhribu sisa / 10000;

sisa sisa - (sepuluhribu * 10000); limaribu sisa / 5000;

sisa sisa - (limaribu * 5000); duaribu sisa / 2000;

sisa sisa - (duaribu * 2000); seribu sisa / 1000;

sisa sisa - (seribu * 1000); limaratus sisa / 500;

sisa sisa - (limaratus * 500); seratus sisa / 100;

sisa sisa - (seratus * 100); if inputuang >= 100000 then if seratusribu == 0 then Output (“ ”)

(14)

Output (seratusribu) endif endif if inputuang >= 50000 then if limapuluhribu == 0 then Output (“ ”) else Output (limapuluhribu) endif endif if inputuang >= 20000 then if duapuluhribu == 0 then Output (“ ”) else Output (duapuluhribu) endif endif if inputuang >= 10000 then if sepuluhribu == 0 then Output (“ ”) else Output (sepuluhribu) endif endif if inputuang >= 5000 then if limaribu == 0 then Output (“ ”) else Output (limaribu) endif endif if inputuang >= 2000 then if duaribu == 0 then Output (“ ”) else Output (duaribu) endif

(15)

endif if inputuang >= 1000 then if seribu == 0 then Output (“ ”) else Output (seribu) endif endif if inputuang >= 500 then if limaratus == 0 then Output (“ ”) else Output (limaratus) endif endif if inputuang >= 100 then if seratus == 0 then Output (“ ”) else Output (seratus) endif endif if inputuang >= 0 then Output (sisa) End if End.

c. Soal 3 Bilangan Desimal ke Biner Deskripsi

bilangan , hasil=0 , i=0 : Integer

Implementasi

While bilangan>0 Repeat

hasil+=bilangan mod 2 * (int) Math.pow(10, i); bilangan/=2;

i++;

Output (hasil)

(16)

d. Soal 4 Bonus Pegawai Deskripsi

nama, pegawai : String masakerja, umur : Integer

Implementasi

If pegawai = staf then

If masakerja >=5 and umur >=50 then Output (bonus)

Else if masakerja < 5 And umur = umur then Output (bonus)

Else if masakerka = masakerja And umur < 50 then Output (bonus)

End if

Else If pegawai = nonstaf then

If masakerja >= 5 And umur >=50 then Output (bonus)

Else

Output (bonus) End if

Else

Output (Pesan Error)

End.

e. Soal 5 Tarif Iklan Deskripsi

hari : String baris : Double

Implementasi

If hari = minggu Or hari = senin Or hari = selasa Or hari = rabu Or hari = kamis Or hari = jumat then Output (baris * 33000)

Else if hari = sabtu then Output (baris * 40000) Else

Output (Pesan Error)

(17)

f. Soal 6 Harga Tiket Deskripsi

hari, jenis : String tiket : Integer

Implementasi

If hari = senin Or hari = selasa Or hari = rabu Or hari = kamis then If jenis = tidak then

Output (tiket*15000) Else

Output (tiket*35000)

Else if hari = jumat Or hari = sabtu Or hari = minggu If jenis = tidak then

Output (tiket*35000) Else

Output (tiket*35000) Else

Output (Pesan Error)

End.

g. Soal 7 Diskon Belanja Deskripsi

total, diskon, bayar : Double

Implementasi

if total < 150000 then diskon total * 0% bayar total - diskon Output (diskon)

Output (bayar)

Else if total < 275000 then diskon total * 10% bayar total - diskon Output (diskon)

Output (bayar)

Else if total < 300000 then diskon total * 15% bayar total - diskon Output (diskon)

(18)

Else if total < 400000 then diskon total * 20% bayar total - diskon Output (diskon)

Output (bayar) Else

diskon total * 25% bayar total - diskon Output (diskon)

Output (bayar)

End.

h. Soal 8 Nilai Huruf Deskripsi

Nama : String

tugas1,tugas2,tugas3,UTS,UAS, rata2, total : Double

Implementasi

rata2 = (tugas1+tugas2+tugas3)/3;

total = (rata2*(30%))+(UTS*(30%))+(UAS*(40%)); if total > 0 And total <= 40 then

Output (total) Output (“E”)

else if total > 40 And total <= 55 Output (total)

Output (“D”)

else if total > 55 And total <= 60 Output (total)

Output (“C”)

else if total > 60 And total <= 65 Output (total)

Output (“BC”)

else if total > 65 And total <= 70 Output (total)

Output (“B”)

else if total > 70 And total <= 80 Output (total)

(19)

else if total > 80 And total <= 100 Output (total)

Output (“A”)

End.

i. Soal 9 Tarif PDAM Deskripsi

Pemakaian : Double

Implementasi

If pemakaian <= 0 then Output ( pemakaian*0 ) Else if pemakaian <= 50 then Output ( pemakaian*200) Else if pemakain <=150 then

Output ((50*200)+((pemakaian - 100) * 500)) Else if pemakaian <= 300 then

Output ((50 * 200) + (100 * 500) + ((pemakaian - 150) * 1000)) Else

Output ((50 * 200) + (100 * 500) + (150 * 1000) + ((pemakaian - 300) * 1500))

End.

j. Soal 10 Cash Back Deskripsi pemakaian1 0 : Integer pemakaian2 0 : Integer pemakaian3 0 : Integer pemakaian4 0 : Integer cash_back_total 0 : Integer jml_pemakaian : Integer Implementasi pemakaian11000000 if jml_pemakaian<=1000000 then pemakaian1 jml_pemakaian

Else if jml_pemakaian > 1000000 And jml_pemakaian <= 10000000 then pemakaian1 10000000

pemakaian2 jml_pemakaian – 1000000

Else if jml_pemakaian > 10000000 And jml_pemakaian <= 25000000 then pemakaian2 10000000

(20)
(21)

Else if jml_pemakaian > 25000000 then pemakaian2 10000000

pemakaian3 25000000

pemakaian4 jml_pemakaian – 25000000

cash_back_total=(pemakaian1*5%)+(pemakaian2*6%)+(pemakaian3*7%)+(pemakaian4*8%) Output (jml_pemakaian , cash_back_total)

End.

IV . Kode Sumber (Source Code) beserta Outputnya

Soal 1 Pythagoras Source Code :

Output :

(22)
(23)
(24)

Soal 3 Bilangan Desimal ke Biner Source Code :

d. Soal 4 Bonus Pegawai Source Code :

(25)

Output :

e . Soal 5 Tarif Iklan Source Code :

(26)

Output :

f. Soal 6 Harga Tiket Source Code :

(27)

Output :

g. Soal 7 Diskon Belanja Source Code :

(28)

Output :

h. Soal 8 Nilai Huruf Source Code :

(29)

Output :

Soal 9 Tarif PDAM Source Code :

(30)

]

j. Soal 10 Cash Back Source Code :

(31)
(32)

E. REFERENSI http://lecturer.eepis-its.edu/~mieke/Dasar%20Pemrograman%202/praktjava/p1-dasar%20pemrograman%20java.pdf http://lecturer.eepis-its.edu/~zai/Praktikum%20Dasar%20Pemrograman%202/Praktikum%207%20Dasar%20IO.pdf http://blog.binadarma.ac.id/yantox_ska/wp-content/uploads/2012/10/ModulAlgoC03-IPO.pdf

Referensi

Dokumen terkait

diketahui oleh substansi yang berwenang ( Keputusan DPR RI No. Kawasan Budaya Kotabaru di dalam perda 2 tahun 2010 tentang RTRWP DIY merupakan Kawasan Strategis

Dalam penelitian ini menggunakan susu pasteurisasi komersial sebanyak 112 sampel dari 7 merek susu pasteurisasi murni yang memiliki izin produksi dari Departemen

pada jumlah N yang tersedia bagi tanaman, karena adanya kompetisi antara tanaman dan mikroorganisme dalam mendapatkan N.. Apabila bahan ini didekomposisi

Resûlullah (s.a.v.), onları gecesi gündüzü gibi aydınlık olan bir yolda bıraktı… Resûlullah'ın Halifesi Ebû Bekir de bu miras üzeredir.. Yapması gereken tek

Sasaran dari kegiatan ini adalah semua unit sanitasi, yang meliputi Unit Penyediaan Air Bersih (PAB), Unit Desinfeksi Ruangan, Unit Instalasi Pengolahan Limbah Cair (IPLC),

Formulir Penjualan Kembali Unit Penyertaan PRINCIPAL ISLAMIC ASIA PACIFIC EQUITY SYARIAH (USD) yang telah lengkap sesuai dengan syarat dan ketentuan yang tercantum dalam Kontrak

Aplikasi yang dibangun ini memudahkan para pengguna printer jenis canon untuk mengetahui penyebab, akibat dan gejala-gejala yang ditimbulkan dari kerusakan printer,

Guru memberikan motivasi kepada siswa untuk aktif dalam mengikuti pembelajaran √ Guru melakukan apersepsi guna menggali konsep dan pengetahuan yang telah dimiliki siswa