Minggu, 15 Januari 2017

Struktur kontrol program pada java

Komponen mendasar dari suatu program -- variabel, ekspresi, penyataan, dan pemanggilan subrutin -- telah dijelaskan pada Bab sebelumnya. Mulai dari bab ini, kita akan melihat bagaimana komponen dasar tersebut berinteraksi sehingga menjadi program yang lebih kompleks.
Pada bab ini, kompleksitas program akan lebih dititikberatkan pada apa yang bisa dilakukan dari dalam sebuah subrutin. Lebih khusus, akan dijelaskan lebih lanjut tentang struktur kontrol.
Struktur kontrol, yaitu perulangan (loop) dan percabangan (branch), dapat digunakan untuk mengulangi perintah berulang-ulang atau untuk memilih dua atau lebih skenario. Java memiliki beberapa struktur kontrol dan kita akan lihat secara lebih detail kemudian.
Bab ini juga akan membahas tentang desain suatu program. Jika kita dihadapkan pada suatu permasalahan yang akan dipecahkan oleh program komputer, bagaimana caranya kita berfikir untuk merancang program tersebut. Kita akan melihat sebagian jawabannya di bab ini, dan kemudian akan kita gunakan dalam beberapa contoh yang tersedia.
Blok,Perulangan dan Percabangan
Kemampuan suatu program untuk melakukan tugas kompleks dilakukan dengan menggabungkan perintah sederhana menjadi struktur kontrol. Dalam bahasa Java, ada 6 struktur tersebut, yaitu blok, perulangan while, perulangan do ... while, perulangan for, pernyataan if, dan pernyataan switch.
Masing-masing struktur ini sebetulnya merupakan pernyataan tunggal yang berdiri dengan sendirinya, tetapi di dalamnya terdiri dari satu atau lebih perintah sehingga keseluruhannya menjadi suatu struktur perintah.
Blok
Blok adalah pernyataan sederhana yang dimulai dengan { dan diakhiri dengan }. Tujuannya untuk mengelompokkan beberapa perintah sehingga lebih dimengerti. Misalnya
{
     perintah
}
Pernyataan blok biasanya terdapat dalam struktur kontrol, tetapi sebetulnya tanpa struktur kontrol pun, blok tetap berlaku. Contoh sederhana penggunaan blok ini adalah dalam subrutin main() yang kita lakukan pada contoh-contoh sebelumnya.
Berikut ini adalah 2 contoh penggunaan blok.
{
    System.out.println("Hallo");
    System.out.println("Dunia");
}

{ // blok ini digunakan untuk menukar isi variable x dan y
    int temp;
    temp = x;
    x = y;
    y = temp;
}
Pada blok kedua, kita mendeklarasikan variable baru temp. Dalam blok kedua ini, variabel apapun yang dideklarasikan tidak akan dapat diakses dari luar blok ini. Variabel ini disebut variabel lokal, karena hanya bisa diakses dari dalam blok.
Ketika komputer menjalankan program ini, komputer akan mempersiapkan memori untuk menyimpan variabel yang dideklarasikan di dalam blok ini. Ketika blok ini selesai dijalankan, komputer akan melepas memori yang digunakan dalam blok ini untuk digunakan oleh bagian program lain.
Konsep "scope" atau jangkauan pada konsep pemrograman, mengacu pada bisa atau tidaknya suatu variabel dilihat oleh bagian program lain. Jangkauan suatu variabel menyatakan di bagian mana variabel ini valid atau dengan kata lain bisa diakses. Jangkauan variabel dalam suatu blok terbatas hanya pada blok tersebut.
Blok sendiri sebetulnya bukan merupakan struktur kontrol. Program akan berjalan seperti biasa dari atas kebawah seperti biasa. Secara umum struktur kontrol dibagi menjadi 2 bagian, yaitu :
 perulangan danpercabangan.
Perulangan
Sebagai contoh untuk membahas tentang perulangan, kita lihat pernyataan
 while, yang memiliki bentuk seperti
while (suatu_kondisi) {
   perintah
}
Semantik pada pernyataan while tersebut adalah sebagai berikut. Ketika komputer sampai pada pernyataanwhile, komputer akan melakukan perhitungan pada suatu_kondisi. Apabila suatu_kondisi bernilai true, blok yang berisi perintah akan dilakukan. Setelah komputer sampai pada bagian akhir blok, komputer akan menghitung kembali suatu_kondisi. Jika masih bernilai true, maka blok tersebut akan dieksekusi, dan jika tidak, program akan melompat ke bagian program berikutnya setelah blok berakhir. Atau dengan kata lain, jikasuatu_kondisi bernilai false, blok perintah tidak akan dieksekusi.
Berikut ini adalah contoh untuk menulis bilangan 1 hingga 5.
int angka = 1; // inisialisasi variabel, kita mulai dengan mengisi variabel angka dengan 1

while (angka <= 5) {
     System.out.println(angka); // cetak isi angka di layar
     angka = angka + 1;         // tambah angka dengan 1
}

System.out.println("Selesai...");
Variabel angka kita inisialiasi (persiapkan) dan kita isi mula-mula dengan 1. Ketika program sampai pada pernyataan while, program akan mengevaluasi apakah angka <= 5. Pada saat program baru dimulai, angka masih bernilai 1, sehingga pernyataan angka <= 5 bernilai true. Dalam hal ini perintah di dalam blok akan dieksekusi, yaitu mencetak angka ke layar, kemudian menambah angka dengan 1. Sekarang angka bernilai 2.
Setelah sampai pada akhir blok, program akan kembali pada awal pernyataan while. Sekarang angka bernilai 2, dan karena 2 masih kurang dari atau sama dengan 5, program akan kembali mengeksekusi perintah dalam blok. Begitu seterusnya hingga angka bernilai 6. Pada saat ini program akan berhenti melakukan perulangan dan berhenti melakukan eksekusi perintah di dalam blok tersebut, kemudian melakukan perintah berikutnya, yaitu menampilkan kata "Selesai...".
Percabangan
Pernyataan
 if memperintahkan komputer untuk memilih salah satu aksi yang akan dilakukan, tergantung pada suatu kondisi tertentu. Bentuknya dapat ditulis sebagai berikut
if (suatu_kondisi)
     perintah_1;
else
     perintah_2;
Perintah_1 dan perintah_2 juga bisa berbentuk blok, sehingga pernyataan di atas dapat ditulis juga sebagai berikut
if (suatu_kondisi) {
     perintah_1;
} else {
     perintah_2;
}
Ketika komputer sampai pada pernyataan if, komputer akan menghitung apakah suatu_kondisi bernilai true. Jika iya, maka blok perintah berikutnya akan dieksekusi, dalam hal ini perintah_1. Jika tidak, maka blok setelah pernyataan else akan dieksekusi, yaitu perintah_2.
Sebagai contoh, mari kita kembali pada contoh program untuk membalik nilai x dan y, dengan syarat x harus lebih besar dari y. Dalam hal ini, setelah program ini dieksekusi, nilai x akan selalu bernilai lebih kecil dari y, karena jika nilai x lebih besar, nilai x akan ditukar dengan nilai y.
if (x > y) { // jika x lebih besar dari y
    // blok ini digunakan untuk menukar isi variable x dan y
    int temp;
    temp = x;
    x = y;
    y = temp;
}
Contoh berikut adalah program untuk menentukan apakah suatu bilangan merupakan bilangan genap atau bilangan ganjil. Dengan menggunakan operator %, yaitu sisa pembagian, kita dapat menentukan apabila sisa pembagian suatu bilangan dengan 2 adalah 0, maka bilangan tersebut merupakan bilangan genap. Jika tidak, maka bilangan tersebut adalah bilangan ganjil.
if ((x % 2) == 0) {
    System.out.println(x + " adalah bilangan genap");
} else {
    System.out.println(x + " adalah bilangan ganjil");
}
Perancangan Algorithma
Program komputer itu seperti seni yang memuat suatu ide. Seorang programmer mulai dengan suatu tugas di kepalanya, misalnya menghitung sisi miring dari segitiga siku-siku. Kemudian dia akan berfikir tentang apa yang harus dilakukan untuk menyelesaikan tugas tersebut dalam bahasa manusia. Dalam hal ini misalnya, sisi miring dapat dihitung dengan mengambil akar kuadrat dari jumlah kuadrat sisi siku-sikunya. Pemecahan masalah ini kemudian diterjemahkan ke dalam bahasa pemrograman yang berupa perintah langkah demi langkah bagaimana komputer harus menyelesaikan tugas tersebut.
Perintah langkah demi langkah hingga detail ini disebut algoritma. (Secara teknis, algoritma adalah kumpulan langkah-langkah sederhana yang jelas, tidak membingungkan karena hanya ada satu cara untuk melakukan langkah sederhana tersebut, dilakukan selama kurun waktu tertentu. Kita tidak ingin program menghitung selamanya tanpa batas waktu.)
Program ditulis dalam bahasa pemgrograman tertentu. Tetapi algoritma ditulis secara umum atau generic, dalam bahasa manusia, sehingga bisa diimplementasikan menggunakan bahasa pemrograman apapun. Atau dengan kata lain, algoritma mirip seperti ide di belakang program yang akan kita tulis. Tetapi ide tersebut harus jelas, dan memuat langkah demi langkah yang sederhana.
Jadi darimana algoritma itu datang? Biasanya orang harus membuat algoritma itu. Dengan skill, latihan dan pengalaman, orang akan lebih mudah membuat suatu algoritma.
Di bagian ini akan dibahas tentang bagaimana membuat suatu algoritma. Jadi bahasa Java akan kita tinggalkan sementara. Kita akan beralih untuk berfikir secara abstrak.


Misalnya, kita memiliki suatu tugas di kepala. Salah satu cara untuk menyelesaikan tugas itu adalah menuliskan penyelesaiannya langkah demi langkah, dan dari sana kita membuat algoritma untuk menyelesaikan masalah itu. Kemudian dari setiap langkah tersebut, kita bisa membuat langkah-langkah lain yang lebih detail, sampai kita bisa menerjemahkan langkah-langkah itu ke dalam bahasa pemrograman. Metode ini disebut penghalusan bertahap (stepwise refinement), dan sifatnya top-down atau dari atas ke bawah. Sambil kita menambah detail pada setiap langkah, kita bisa mulai menuliskan algoritma dalam bentuk pseudocode (kode palsu) yang bentuknya tidak harus persis atau mengikuti suatu bahasa pemrograman.
Misalnya, kita ambil contoh untuk menghitung rata-rata dari 5 bilangan. Kita bisa menuliskan pseudocode dalam bentuk berikut :
ambil input user untuk bilangan pertama
masukkan ke variabel x
ambil input user untuk bilangan kedua
tambahkan variabel x dengan bilangan kedua
ambil input user untuk bilangan ketiga
tambahkan variabel x dengan bilangan ketiga
ambil input user untuk bilangan keempat
tambahkan variabel x dengan bilangan keempat
ambil input user untuk bilangan kelima
tambahkan variabel x dengan bilangan kelima
bagi variabel x dengan 5
tampilkan hasilnya di layar
Algoritma di atas betul, tetapi terlalu banyak perulangan. Bagaimana jika bilangan yang akan dirata-ratakan ada 100? Kita bisa udah algoritma di atas dengan pseudocode yang lebih mudah dimengerti, misalnya
while a kurang dari 5
    ambil input user untuk bilangan ke-a
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Sekarang, ambil input user bisa dideskripsikan lebih jauh. Kita harus memberikan pertanyaan kepada user. Dan seperti dipelajari pada bab sebelumnya, input dari user berupa String yang harus diterjemahkan ke dalam tipe data bilangan untuk bisa dikalkulasi. Pseudocode di atas dapat ditulis ulang sebagai berikut :
while a kurang dari 5
    beri pertanyaan kepada user untuk memasukkan bilangan ke-a
    ambil input user untuk bilangan ke-a
    ubah input menjadi bilangan
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Dan juga dari pelajaran sebelumnya, untuk mengambil input user, kita bisa dihadapkan pada permasalahan IO (input output). Selain itu kita juga harus menginisialisasi pembaca dan tempat meletakkan string sementara. Untuk itu, kita harus mengubah pseudocode nya menjadi seperti ini
inisialisasi pembaca
inisialisasi tempat string sementara
while a kurang dari 5
    beri pertanyaan kepada user untuk memasukkan bilangan ke-a
    "coba" ambil input user untuk bilangan ke-a
        jika ada masalah keluar dari program
    ubah input menjadi bilangan
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Kemudian, perlu diperhatikan bahwa variabel a dan x tidak diketahui nilai awalnya oleh komputer. Bayangkan jika nilai a dan x ditentukan oleh komputer secara acak, bukan saja hasil rata-ratanya menjadi tak tentu, tetapi juga perulangannya menjadi tak menentu. Untuk itu kita harus tambahkan perintah untuk menginisialisasi a dan x dengan 0, sehingga pseudocodenya menjadi
inisialisasi x dengan 0
inisialisasi a dengan 0
inisialisasi pembaca
inisialisasi tempat string sementara
while a kurang dari 5
    beri pertanyaan kepada user untuk memasukkan bilangan ke-a
    "coba" ambil input user untuk bilangan ke-a
        jika ada masalah keluar dari program
    ubah input menjadi bilangan
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Dari sini kita bisa menerjemahkan pseudocode tersebut menjadi program Java, yaitu
double x = 0;
int a = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String strbilangan = null;

while (a < 5) {
    System.out.print("Masukkan bilangan ke-" + a + " : ");
    try {
        strbilangan = br.readLine();
    } catch (IOException ioe) {
        System.out.println("Kesalahan IO, program berhenti");
        System.exit(1);
    }
    x = x + Double.parseDouble(strbilangan);
    a = a + 1;
}
x = x / 5;
System.out.println("Rata-rata bilangan yang dimasukkan adalah " + x);
Jangan lupa bahwa program tersebut membutuhkan paket java.io.*, sehingga kita harus menambah
import java.io.*

di awal kelas. Berikut ini adalah program lengkapnya dan dapat diunduh dalam bentuk
 zip file atau melalui SVN di alamat berikut http://belajarjava.googlecode.com/svn/trunk/HitungRataRata5Bil
package hitungratarata5bil;

import java.io.*;

public class HitungRataRata5Bil {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  double x = 0;
  int a = 0;
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  String strbilangan = null;

  while (a < 5) {
      System.out.print("Masukkan bilangan ke-" + a + " : ");
      try {
          strbilangan = br.readLine();
      } catch (IOException ioe) {
          System.out.println("Kesalahan IO, program berhenti");
          System.exit(1);
      }
      x = x + Double.parseDouble(strbilangan);
      a = a + 1;
  }

  x = x / 5;
  System.out.println("Rata-rata bilangan yang dimasukkan adalah " + x);
 }

}
Bagi yang mau download materi ini silakan klik disini 

Materi Simdig Smester 2

BUKU SIMULASI DIGITAL-KELAS X-SEMESTER 2 SMK RPL TKJ MULTIMEDIA Download Buku Simulasi Digital-Kelas X-Semester 2 SMK RPL TKJ Multimedia Kurikulum 2013 Ruang Lingkup Mata Pelajaran Simulasi Digital (Buku Siswa ke-2) Sesuai dengan tujuannya, mata pelajaran Simulasi Digital memiliki ruang lingkup sebagai berikut. 1. Simulasi Visual Simulasi visual membekali siswa “memvisualkan” gagasan atau konsep yang bendanya belum ada atau sulit divideokan atau sesuatu yang bentuknya rumit dan letaknya tersembunyi. Pemanfaatan animasi 3 dimensi dapat menggantikan upaya mengomunikasikan gagasan atau konsep tersebut agar dapat lebih mudah dimengerti. 2. Buku Digital Perkembangan digital memungkinkan mewujudkan buku “nirkertas” bahkan buku “maya” yang mudah dibawa dan disimpan serta mudah dibaca ketika diperlukan.Teks yang menjadi hakikat buku dapat disimpan dalam bentuk digital. Buku digital membekali siswa mampu mengubah format file teks menjadi buku digital, bahkan menambahkan video dan suara dalam buku tersebut..... Baca Selengkapnya di : HTTP://WWW.M-EDUKASI.WEB.ID/2014/09/BUKU-SIMULASI-DIGITAL-KELAS-X-SEMESTER_12.HTML
Copyright www.m-edukasi.web.id Media Pendidikan Indonesia atau klik disini https://drive.google.com/file/d/0B8F_zoAi8f79c0trWTE2TDdmd1E/view?usp=sharing

Rabu, 04 Januari 2017

Buka Toko On Line Kamu Sendiri

Sekarang kamu bisa membuat toko merchandise untuk menjual berbagai macam produk custom dengan desain unik kamu sendiri secara mudah di platform Ciptaloka.com. Menjual desain di Ciptaloka tidak memerlukan modal sama sekali, alias gratis. Kamu hanya perlu mengupload gambar desain ke berbagai produk dan kemudian mempromosikan produk tersebut di berbagai media sosial atau blog.

Kamu juga bebas untuk menentukan persentase keuntungan yang diinginkan untuk setiap produk yang dibuat. Jika ada yang membeli produk kamu, tim Ciptaloka yang akan mengurus semua proses transaksi, mulai dari customer service, pembayaran, produksi barang, sampai dengan pengiriman. Kamu hanya perlu menunggu komisi keuntungan yang akan langsung dibayarkan ke rekening bank kamu.

klik disini

Solusi Toko Online

Solusi Toko Online dan Platform eCommerce Murah Xohop adalah perusahaan E-commerce yang membuat Platform eCommerce sebagai Solusi Membuat Toko Online secara mudah, murah dan memiliki fitur yang sangat lengkap dan design yang profesional. Melalui eCommerce software Xohop, anda dapat memiliki website dengan nama domain custom sesuai dengan keinginan anda dalam waktu singkat. Platform ecommerce Xohop dibuat secara custom sehingga memiliki nilai skalabilitas yang tinggi dan terus dikembangkan untuk memenuhin kebutuhan setiap customer Xohop di Indonesia. Dengan sistem yang terintegrasi, Platform e-commerce Xohop juga akan terus berinovasi memenuhi kebutuhan pemilik toko online, sehingga Xohop menjadi solusi toko online yang sempurna baik untuk pemilik toko online maupun customernya.
Salah satu tambahan fitur yang sangat menarik adalah, setiap produk yang anda upload di website Toko Online Xohop anda, akan muncul pada halaman Marketplace Xohop bersama dengan produk-produk merchant lain yang juga sudah tergabung di Xohop. Setiap produk akan dikelompokan berdasarkan kategorinya masing-masing, sehingga memudahkan calon pelanggan anda untuk menemukan produk yang anda jual. Hebatnya lagi, fitur ini gratis untuk semua member Xohop, dan Xohop tidak mengambil keuntungan apa-apa dari sini, karena setiap pengunjung akan diarahkan kembali ke masing-masing website dari merchant yang memiliki produk bersangkutan.Ingin bisnis On-line anda berjalan silakan klik disini

Jasa Jual Beli Mobil

Rajamobil.com adalah portal mobil. Portal ini memudahkan pengunjung dalam proses jual-beli mobil baru dan bekas yang tersaji eksklusif dengan gambar menarik dan informasi lengkap.

Rajamobil.com juga memiliki banyak fitur menarik yang tentu saja berkaitan dengan bisnis mobil, seperti perhitungan simulasi kredit dan asuransi, serta fitur lainnya. Tentu saja semua yang tersaji di Rajamobil.com sangat berguna bagi pecinta mobil, konsumen, pebisnis dan industri otomotif di Indonesia maupun dunia.

Rajamobil.com juga menyajikan berita meliputi mobil terbaru, modifikasi mobil, bisnis dan industri otomotif, olahraga otomotif, komponen kendaraan, serta aktivitas komunitas mobil. Semua tersaji tidak hanya dalam format teks dan foto, melainkan juga video.Silakan daftarkan di sini

Entri yang Diunggulkan

Apa beda Linux dan Windows?

Saya tadi siang diminta teman (tetangga rumah) melalui milis perumahan untuk menjelaskan apa itu Linux dan Open Source dengan bahasa awam. S...