Simulasi Trafic Light


Pendahuluan
Baiklah teman, kali ini kita akan membuat program yang dapat mensimulasikan cara kerja sebuah Lampu Lalu Lintas. Seperti yang umum kita ketehui bahwa sebuah lampu lalulintas memiliki tiga buah lampu yang berwarna merah, kuning dan hijau. Dalam hitungan waktu tertentu nyala lampu akan berubah sesuai dengan aturan yang berlaku di suatu wilayah. Di Surabaya, kota kita ini, lampu lalu lintas memiliku pola nyala lampu sebagai berikut:
Misalnya saat ini yang nyala adalah lampu merah, maka selanjutnya yang nyala adalah lampu warna hijau. Dari lampu warna hijau, akan nyala warna kuning, kemudian merah dan kembali ke warna hijau lagi. Begitu seterusnya. Pola tersebut kalau kita gambarkan kurang lebih seperti berikut:

M->H->K->M->H->K->M

Rancangan Class
Melihat cerita di atas, kita dapat membuat rancangan class yang dapat merepesentasikan sebuah lampu lalu lintas. Oke…masih betah baca kan? Lampu lalu lintas tentu terdiri dari tiga buah lampu, ini kata kunci pertama berarti kita butuk objek lampu. Setiap lampu memiliki informasi mengenai warna lampu dan status lampu. Warna lampu akan berisi warna merah, kuning atau biru. Untuk status lampu, menggambarkan apakah lampu sedang nyala atau mati. Class yang berikutknya adalah class LampuLaluLintas, yang akan berisi tiga buah objek lampu. Sehingga kita bisa menggambar class diagram seperti berikut:

Class Diagram Lampu Lalu Lintas

Class Lampu

public class Lampu{
  public static boolean ON=true;
  public static boolean OFF=false;
  private String warna;
  private boolean on;
  public Lampu(String warna, boolean on){
    this.warna=warna;
    this.on=on;
  }
  public boolean isOn(){
    return on;
  }
  public void setOnOff(){
    on=!on;
  }
  public String toString(){
    return warna + "=" +(isOn()?"ON":"OFF"); 
  }
}

Class Lampu Lalu Lintas

/**
 * class LampuLaluLintas
 * @author: teguhs 
 * */
public class LampuLaluLintas{
  //ada tiga lampu merah, kuning, hijau
  private Lampu []dataLampu=new Lampu[3];
  private int c=0;
  /**
   * inisialisasi lampu
   * */
  public LampuLaluLintas(){
    dataLampu[0]=new Lampu("Merah",Lampu.ON);
    dataLampu[1]=new Lampu("Kuning",Lampu.OFF);
    dataLampu[2]=new Lampu("Hijau",Lampu.OFF);
  }
  public void ubahNyalaLampu(){
    dataLampu.setOnOff();
    if(c==0){
      c=2;
      dataLampu.setOnOff();
    }else{
      --c;
      dataLampu.setOnOff();
    }
  }
  public void run(int lama){
    System.out.println("Merah\tKuning\tHijau");
    cetak();
    for(int i=1;i<lama;i++){
      ubahNyalaLampu();
      cetak();
    }
  }
  public void cetak(){
    System.out.println(toString());
  }
  public String toString(){
    String str=new String("");
    for(Lampu l:dataLampu)
      str = str + (l.isOn()?"ON":"-") + "\t";
    return str;
  }
}

Pengujian
Yah…akhirnya kita tiba saatnya melakukan uji coba…apakah class-class yang kita bangun telah sesuai dengan pola nyala lampu lalulintas yang sudah dijelaskan dibagian pendahuluan?

Waktunya menguji program

Berikut ini adalah langkah-langkah dalam melalukan pengujian:

  1. Buat object (instance) dari class LampuLaluLintas
  2. Panggil method run
  3. masukkan jumlah perulangan
  4. lihat hasilnya…theng-theng.

Hasil pengujian dengan 10 iterasi

Oke…selamat belajar, kalau saya bisa pasti teman-teman juga bisa…tetap semangat..!
This entry was posted in Kuliah, PBO. Bookmark the permalink.

50 Responses to Simulasi Trafic Light

  1. chanel bags says:

    We have all of the chanel bags,house slippers and even chanel bags along with Take pleasure in each of them.Almost all and so way.

  2. You Can Try These Out

  3. Why Not Try Here

  4. Browse Around THIS Site

  5. astral diamonds neverwinter pacte sans problème – Faveur très bien parmi cas en tenant petits soucis

  6. Furthermore this is the definitely popular guild wars 2 gold. cash in that will can’t stand guild wars 2 gold but one lake gained these, i found myself entirely in their eyes. they may fancy along with intensely attractive. they really are one of the best set of two guild wars 2 gold my wife and i individual. they will be a tiny on the expensive side ripoffs of great benefit considering that you won’t be required to own new ones most of the time. i’d because of this collapse these businesses compared to a number if due to the fact certainly style specific style, nevertheless it isn’t going to make sure they are every not as nice and you continues to be trendy. you need to all these for anybody!

  7. Gucci Outlet says:

    You Can Look Here

  8. Howdy! This is kind of off topic but I need some guidance from an established blog. Is it very difficult to set up your own blog? I’m not very techincal but I can figure things out pretty fast. I’m thinking about setting up my own but I’m not sure where to start. Do you have any ideas or suggestions? Cheers

  9. e-shop says:

    Click Here To Investigate

  10. Hermes Store says:

    Pop Over To This Site

  11. You can look here

  12. d3 gold says:

    design and style and therefore excellent d3 gold!

  13. Pingback: longchamp pliable

  14. Pingback: supra pas cher

  15. Pingback: supra chaussure

  16. Pingback: supra pas cher

  17. Excellent cheap swtor credits. I need them soo a great deal. They will prevent your tip toes model which are quite cool. A touch really expensive nevertheless deffiantly well cash.

  18. Pingback: timberland pro

  19. Pingback: timberland france

  20. Pingback: nike air max

  21. Pingback: casquette jordan

  22. Pingback: longchamp hobo

  23. Pingback: chaussures timberland pas cher

  24. Pingback: biking jersey

  25. Pingback: chaussures timberland

  26. Pingback: supra femme

  27. Pingback: nike air jordan pas cher

  28. Pingback: nike air jordan 4

  29. Grow Taller says:

    Thanks for sharing this.

  30. Grow Taller says:

    Berikut ini adalah langkah-langkah dalam melalukan pengujian

  31. maksih buat share nya ya pak 😀

Leave a Reply

Your email address will not be published. Required fields are marked *