Minggu, 23 Oktober 2011

Kantin

Aplikasi Kantin

public class cobakantin1 {

private String Makan;

private long Harga;
private long Total;
private long HargaTotal;

public cobakantin1(String Ma, long Ha, long tot, long Ht )
{
Makan=Ma;
//Minuman=Mi;
Harga=Ha;
Total=tot;
HargaTotal=Ht;
}

public cobakantin1(String Ma, long Ha)
{
Makan=Ma;
//Minuman=Mi;
Harga=Ha;
}

public void setMakanan (String Ma)
{
Makan=Ma;
}
public String getMakan()
{
return Makan;
}

public void setHarga (long Ha)
{
Harga=Ha;
}
public long getHarga()
{
return Harga;
}
public void setTotal (int tot)
{
Total=tot;
}
public long getTotal()
{
return Total;
}
public long getHargaTotal()
{
return HargaTotal;
}

public void HargaTotal(long ht){
HargaTotal=ht;
}


}



===============================================
untuk menu utama


import javax.swing.JOptionPane;
public class cobakantin2 {

public static void main (String[] args) {
try {
String Menu,Makan,masuk,Update;
long Harga,HargaTotal;
int pilih=0;
long Jumlah;
int idx=0, idx_transaksi=0, angka=0;

cobakantin1 [] kantin=new cobakantin1 [100];

cobakantin1 [] oye=new cobakantin1 [100];
do
{
Menu= JOptionPane.showInputDialog("==== MENU KANTIN Oye!!! ====\n\n1. Masuk Sebagai Admin\n2. Keluar\n\nMasukkan Pilihan Anda : ");
if (Menu.equals("1"))
{
do
{
Menu=JOptionPane.showInputDialog ("==== MENU ADMIN ====\n\n1. Tambah Makanan/Minuman\n2. Update Makanan/Minuman\n3. Penjualan Makan/Minuman\n4. Tampil semua Makan/Minuman\n5. Lihat semua Transaksi\n6. Kembali Ke Menu Utama\n\n Masukkan Pilihan [1-6] : ");
pilih=Integer.parseInt(Menu);

switch(pilih){

case 1:
Makan=JOptionPane.showInputDialog("==== Menu Input ====\n\nMasukkan Nama Makan/Minuman");
Menu=JOptionPane.showInputDialog("==== Menu Input ====\n\nMasukkan Harga "+Makan);
Harga=Long.valueOf(Menu);
Jumlah=0;
HargaTotal=Jumlah*Harga;
kantin [idx]= new cobakantin1(Makan,Harga, Jumlah, HargaTotal);
JOptionPane.showMessageDialog(null, "ADD MAKANAN/MINUMAN SUKSES\n\n"+kantin[idx].getMakan()+" "+kantin[idx].getHarga());
idx ++;
break;
case 2:
Update=JOptionPane.showInputDialog("==== Menu Update ====\n\nMasukkan Nama Makan/Minuman");
for (int i=0; i!=idx; i++)
{
if (Update.equals(kantin[i].getMakan()))
{
JOptionPane.showMessageDialog (null,kantin[i].getMakan()+" "+kantin[i].getHarga());
Makan=kantin[i].getMakan();
Menu=JOptionPane.showInputDialog("==== Menu Input ====\n\nMasukkan Harga "+kantin[i].getMakan());
Harga=Long.valueOf(Menu);
Jumlah=0;
HargaTotal=Jumlah*Harga;
kantin [i]= new cobakantin1(Makan,Harga);
JOptionPane.showMessageDialog(null, "UPDATE MAKAN/MINUM SUKSES\n\n"+kantin[i].getMakan()+" "+kantin[i].getHarga());
angka++;
}
}
if (angka==0)
{
JOptionPane.showMessageDialog(null,".........apa yang anda cari sedang tidak tersedia.......");
System.out.println("DATA MAKAN/MINUM");
for (int j=0;j!=idx;j++)
{
System.out.println(kantin[j].getMakan()+"\t\t"+kantin[j].getHarga());
}
System.out.println();
System.out.println();
System.out.println();
angka=0;
}

break;
case 3:
for (int k=0;k!=idx;k++)
{

System.out.println("MENU MAKAN/MINUM");
System.out.println(kantin[k].getMakan()+"\t\t"+kantin[k].getHarga());
}
System.out.println();
System.out.println();
System.out.println();
masuk=JOptionPane.showInputDialog("==== Menu Penjualan ====\n\nMasukkan Nama Makan/Minum");
for (int l=0; l!=idx; l++)
{
if (masuk.equals(kantin[l].getMakan()))
{
JOptionPane.showMessageDialog (null,kantin[l].getMakan()+" "+kantin[l].getHarga());
Makan=kantin[l].getMakan();
Harga=kantin[l].getHarga();
masuk=JOptionPane.showInputDialog ("==== Menu Input ====\n\nMasukkan Jumlah "+ kantin[l].getTotal());
Jumlah=Long.valueOf(masuk);
System.out.println(Jumlah);
HargaTotal=Harga*Jumlah;
kantin[l]= new cobakantin1(Makan,Harga, Jumlah, HargaTotal);
JOptionPane.showMessageDialog(null, "PENJUALAN MAKAN/MINUM TELAH SUKSES\n\n"+kantin[l].getMakan()+" "+kantin[l].getHarga()+" "+kantin[l].getTotal()+" "+kantin[l].getHargaTotal());
angka++;

}
}
if (angka==0)
{
JOptionPane.showMessageDialog(null,"Data yang anda cari tidak ada....");
for (int m=0;m!=idx;m++)
{

System.out.println("DATA MAKANAN/MINUMAN");
System.out.println(kantin[m].getMakan()+"\t\t"+kantin[m].getHarga());
}
System.out.println();
System.out.println();
System.out.println();
angka=0;
}


break;
case 4:
for (int m=0;m!=idx;m++)
{

JOptionPane.showMessageDialog(null,"DATA MAKANAN/MINUMAN\n\n"+kantin[m].getMakan()+" "+kantin[m].getHarga());
}
break;
case 5:
for (int m=0;m!=idx;m++)
{

JOptionPane.showMessageDialog (null, "DATA TRANSAKSI MAKAN/MINUM\n\n"+kantin[m].getMakan()+" "+kantin[m].getHarga()+" "+kantin[m].getTotal()+" "+kantin[m].getHargaTotal());
}
System.out.println();
System.out.println();
System.out.println();
break;
}
}
while (pilih!=6);
}

else if (Menu.equals("2"))
{
JOptionPane.showMessageDialog (null, "Terima Kasih Telah Mengunjungi Kantin Kami... Selamat Datang Kembali....");
System.exit(0);
}
else {
JOptionPane.showMessageDialog(null,"Pilihan Anda Salah... \n"+Menu+" Tidak Ada Dalam Pilihan\n\nSilahkan Mencoba Kembali");
}

}
while (true);

}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}
}

}

PERBANKAN 1



DOWNLOAD 4SHARED : http://www.4shared.com/file/HRjV_ln0/bank.htmlimport java.io.*;
class Personal
{
 static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

 static int MENU() throws Exception
 {
  System.out.println("1. masukan Transaksi");
  System.out.println("2. lihat Saldo");
  System.out.println("3. lihat semua Transaksi");
  System.out.println("4. Keluar");
  System.out.print("Pilihan : ");
  return Integer.parseInt(in.readLine());
 }

 public static void main(String[] args) throws Exception
 {
  int saldo = 0;
  int count = 0;
  Transaksi[] t = new Transaksi[100];

  do
  {
   int pil = MENU();
   if(pil == 1)
   {
    t[count] = new Transaksi();
 
    System.out.print("Tanggal : ");
    t[count].setTgl(in.readLine());
    System.out.print("Nominal : ");
    t[count].setNominal(Integer.parseInt(in.readLine()));
    System.out.print("Keterangan : ");
    t[count].setKet(in.readLine());
    System.out.print("Status : ");
    t[count].setStatus(in.readLine());
 
    if(t[count].getStatus().equals("debet"))
    {
     saldo += t[count].getNominal();
    }
    else
    {
     saldo -= t[count].getNominal();
    }
 
    count ++;
   }
   else if(pil == 2)
   {
    System.out.println("Saldo : " + saldo);
   }
   else if(pil == 3)
   {
    System.out.println("Tgl\t\tNominal\t\tKeterangan\tStatus");
    for(int i=0;i<count;i++)
    {
     System.out.println(t[i].getTgl() + "\t\t" + t[i].getNominal() + "\t\t" + t[i].getKet() + "\t\t" + t[i].getStatus());
    }
   }
   else if(pil == 4)
   {
    System.exit(0);
   }

   System.out.println();
  }
  while(true);
 }
}

PBO Perbedaan antara class dan object


Dapat di artikan bahwa Class merupakan dasar landasan dari sebuah Object sedangkan Object adalah bagian atau satuan dalam sebuah object.
Agar tidak bingung,, simak saja contohnya!!
Ex:       1.         Class = wanita
Object = ani, sita, rini, wati, dinda, manda, yoe one dll
            2.         Class = sepeda motor
                        Object = Honda, Yamaha, Suzuki, dll


Dasar – Dasar OOP

1.      Abstraction (Abstrac)
Yaitu proyeksi dunia nyata menjadi suatu model yang diawali dengan analisa dan pengumpulan data. Dapat juga disebut filtering, dalam arti menyaring data dan informasi yang relevan dengan hal yang di butuhkan.

2.      Encapsulation
Yaitu information hiding, dalam arti memilah informasi dalam hal publikasi, agar data aman.

3.       Inheritance
Merupakan turunan dari suatu class, atau membuat class dari turunan class lain
Dilambangkan dengan anak panah ”              “ dan mempunyai sifat hanya dapat memiliki SATU turunan dari induk
Ex: Class induk    : BackgroundWindows
       Class turunan : Windows ligin, Windows home
dalam arti tampilan background yang keluar akan sama dengan BackgroundWindows (Class Induknya )

4.      Polymorph
Merupakan turunan dari Inheritance yang masing-masing turunannya memiliki fungsi yang berbeda.
Ex: Class induk    : Robot
       Class turunan : Robot mobil, Robot Pesawat, Robot manusia
Dalam arti,, sama2 robot tetapi akan berbeda cara jalannya.

Rabu, 19 Oktober 2011

PBO Pertemuan 5


Collection
Collection : Kumpulan dari elemen”
* Menambah dan menghapus elemen
* Memanggil method size(), isEmpty() dan contains()
* Memperoleh integrator
Set :Kumpulan elemen tanpa duplikasi..
* ArraySet
(Himpunan kecil) digunakan jika data yang akan di gunakan kecil ,karena jika dgunakan untuk ukuran data yg besar akan lambat di jalankan.
* HashSet
Digunakan untuk apa saja.
* TreeSet
Set yang terurut ,dalam mengurutkan data.
List : Daftar yang terurut dari collection ..
Sorted : diurutkan sesuai abjad atau yang lain .
Ordered : diurutkan sesuai inputan .
Jika data besar akan lambat pula di jalan kan .
Jika ada 2 objek bisa di bandingkan dengan :
1. Comparable
2. Comparator

PBO Pertemuan 4


Aliran-aliran dalam OOP (Object Oriented Programming) :
  • Design Pattern = pola-pola bagaimana membuat kelas yang bagus (proxyobserver). Contoh dari Design Pattern ialah model factory.
  • Anti Pattern = tidak mau mengikuti pola-pola yang telah diciptakan sebelumnya di Design Pattern.
-       Overriding = class turunan membuat method yang sama persis denganmethod yang dibuat oleh class diatasnya.
-       Overriding yang sama persis dalam penulisannya, ialah hanya dimethod-nya saja, tidak termasuk atribut atau bahkan nama class-nya.
-       Contoh coding model factory :
public koin getKoin( ) {
return new Koin( )
}
-       Jika suatu class bukan merupakan turunan dari class manapun, maka ia turunan dari class Object.

PBO Pertemuan 3


Manager operation :
-           Constructor
-          Destructor
Implementor Operator :
-          Mencerminkan proses bisnis yang bisa di akses di class lain
Helper Operation :
-          Hanya digunakan oleh class itu sendiri
METHOD
-          Operation di dalam class juga di sebut denganmethod/procedure/function
-          Dalam operation terdiri dari :
–  Nama Operation
–  Parameter
–  Return Type (nilai pengembalian)
— Contoh :  void system.out.println (“ Hello”)
-          “hello” = parameter
-          Void  = Return type
-          Println = Nama Operation
Float random = math.random ( )
Parameter bisa lebih dari satu
Parameter  : media yang di gunakan untuk masukan sebuah method (operation)
Contoh : Int tambah (int a, int b);
Method /operation –> manager : Mengatur bagaimana sebuah objek terbentuk
Constructor : Inisialisasi yang punya arti
– Constructor overloading : Jika suatu kelas punya lebih dari 1 constructor yang sama
Ciri – Ciri : – Tidak mengembalikan nilai
- Mempunyai nama = nama class
- Bisa lebih dari 1 constructor
- Destructor merupakan kebalikan dari constructor
- Destructor di jalankan sesaat objek itu hilang dari memori
- constructor di jalankan saat akan membuat objek
string buffer = tipe data string yang dapat di olah
- method overloading : ada dua atau lebihh method dengan nama yang  sama , cara membedakan

PSIBO pertemuan 6


Activity Diagram


Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Simbolnya dapat digambarkan seperti di bawah ini :


Pada gambar Swimlane ditunjukkan seperti gambar seperti di bawah ini :



Untuk lebih jelas lagi lihat contoh gambar Activity Diagram seperti di bawah ini :



Sequent Diagram

            Sequent Diagram adalah diagram interaksi yang disusun berdasarkan urutan waktu. Seperti yang digambarkan pada contoh gambar seperti di bawah ini :


PSIBO pertemuan 5


Use Case


Use menggambarkan bagaimana seseorang sebagai pengguna berinteraksi dengan system. Lebih mudahnya, use case dapat dikatakan sebagai fungsi-fungsi atau fitur-fitur apa saja yang disediakan oleh system informasi yang akan dibangun kepada pengguna.  Use case bisa juga meliputi fitur apa yang pengguna akan dapat lakukan terhadap system.
Pada UML, use case disimbolkan seperti gambar di bawah ini :




                Untuk mengidentifikasi use case, dapat kita lakukan dengan menjawab pertanyaan : apa yang masing-masing aktor kerjakan dalam system.

Relationship

Relationship ada 4 fungsi yaitu

Association

Jenis relasi ini digunakan untuk menghubungkan antara aktor dan use case. Relasi ini menggunakan anak panah seperti gambar di bawah ini :
         Selain itu ada juga bentuk panah garis tanpa panah yang menunjukkan siapa/apa yang meminta interaksi atau saling berinteraksi seperti gambar di notasi di bawah ini :

Extend

                Relasi ini memungkinkan satu use case secara opsional ( bisa dilakukan atau tidak dilakukan ) menggunakan fungsionalitas yang disediakan oleh use case lainnya. Contoh relasi extend seperti gambar di bawah ini :



Include

                Relasi ini digunakan digunakan untuk merelasi dua buah use case. Relasi include memungkinkan satu use case menggunakan fungsionalitas yang disediakan oleh use case lainnya. Seperti yang ditunjukkan pada gambar di bawah ini :


Relasi Generalisasi

Relasi generalisasi digunakan untuk menunjukkan bahwa beberapa aktor atau use case mempunyai beberapa kesamaan. Seperi gambar di bawah ini :

PSIBO pertemuan 4


Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang,
bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka
berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
 
Activity diagram merupakan state diagram khusus, di mana sebagian besarstate adalah action dan sebagian besar transisi di-trigger oleh selesainya statesebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
 
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
 
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk
menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi
tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
 
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
Contoh activity diagram tanpa swimlane:

                                                          Gambar 1.1

Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang
ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuahuse case
merepresentasikan sebuah interaksi antara aktor dengan sistem. Use casemerupakan sebuah
pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu.
 
Use case diagram dapat sangat membantu bila kita sedang menyusunrequirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
 
 Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use caseyang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use caselain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common
 
Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwause case yang satu merupakan spesialisasi dari yang lain.
Contoh use case diagram :
 
                                      Gambar 1.2

PSIBO pertemuan 3


Pemodelan Bisnis

Pemodelan Bisnis, secara formal, didefinisikan sebagai segala teknik pemodelan yang digunakan untuk mengambarkan model sebuah bisnis. Pemodelan Bisnis dapat digunakan untuk meninjau, meningkatkan, dan membuat sebuah bisnis. Dengan dilakukannya pemodelan bisnis diharapkan kita:
  • Memahami struktur dan dinamika organisasi
  • Memahami masalah-masalah dalam mencapai target organisasi dan menemukan potensi untuk kemajuan organisasi.
  • Yakin bahwa para customer, end user, dan developer mempunyai sebuah pemahaman yang benar mengenai organisasi.
  • Dapat menurunkan/mendapatkan kebutuhan perangkat lunak yang akan kita buat yang diperlukan untuk mendukung pencapaian target organisasi.
Elemen Pemodelan bisnis :
  • Business use-case model, dengan elemen-elemen: Business Actor dan Business Use-case, serta Activity Diagram untuk menjelaskan model business use-case.
Business Use-case Model: merupakan model yang menggambarkan proses bisnis dari sebuah bisnis atau organisasi dan interaksi proses tersebut dengan pihak luar, seperti para customer dan partner. Diperlukan untuk memperjelas konteks bisnis dari perangkat lunak yang akan dibuat, bersifat optional. Diilustrasikan dalam satu atau beberapa business use-case diagram
              Gambar 1.1
  • Business objek model, dengan elemen-elemen: Business Worker (Pekerja Bisnis), Business Entity (Entitas Bisnis)
Business Object Model: menggambarkan realisasi business use-case. Mengenali semua orang yang bekerja dan benda yang terlibat dalam bisnis dan bagaimana satu sama lain berhubungan
                                                                    Gambar 1.2

Kamis, 13 Oktober 2011

Perbankan



import java.io.*;
class Personal
{
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

static int MENU() throws Exception
{
System.out.println("1. masukan Transaksi");
System.out.println("2. lihat Saldo");
System.out.println("3. lihat semua Transaksi");
System.out.println("4. Keluar");
System.out.print("Pilihan : ");
return Integer.parseInt(in.readLine());
}

public static void main(String[] args) throws Exception
{
int saldo = 0;
int count = 0;
Transaksi[] t = new Transaksi[100];

do
{
int pil = MENU();
if(pil == 1)
{
t[count] = new Transaksi();

System.out.print("Tanggal : ");
t[count].setTgl(in.readLine());
System.out.print("Nominal : ");
t[count].setNominal(Integer.parseInt(in.readLine()));
System.out.print("Keterangan : ");
t[count].setKet(in.readLine());
System.out.print("Status : ");
t[count].setStatus(in.readLine());

if(t[count].getStatus().equals("debet"))
{
saldo += t[count].getNominal();
}
else
{
saldo -= t[count].getNominal();
}

count ++;
}
else if(pil == 2)
{
System.out.println("Saldo : " + saldo);
}
else if(pil == 3)
{
System.out.println("Tgl\t\tNominal\t\tKeterangan\tStatus");
for(int i=0;i

Tugas PBO



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Soundmusic
{
staticclassEqualz
    {
staticint Vol = 5;
staticint Bas = 5;
staticint treb = 5;

publicstaticint Volume
        {
get
            {
return Vol;
            }
set
            {
if (value>= 0 || value<= 10)
                    Vol = value;
            }
        }

publicstaticint Bass
        {
get
            {
return Bas;
            }
set
            {
if (value>= 0 || value<= 10)
                    Bas = value;
            }
        }

publicstaticint Treble
        {
get
            {
return treb;
            }
set
            {
                treb = value;
            }
        }
    }
}




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Soundmusic
{
classCD
    {
string artist;
string[] song = newstring[3];
int[] durn = newint[3];
publicstring Artist
        {
get
            {
return artist;
            }
privateset
            {
                artist = value;
            }
        }

publicstring getSong(int i)
        {
if (i >= 0 && i < song.Length)
return song[i];
else
return"";
        }

publicint getDuration(int i)
        {
if (i >= 0 && i < durn.Length)
return durn[i];
else
return 0;
        }

publicint totalSong()
        {
return song.Length;
        }

public CD(string artist, string song1, int dur1, string song2, int dur2, string song3, int dur3)
        {
            Artist = artist;
            song[0] = song1;
            song[1] = song2;
            song[2] = song3;
            durn[0] = dur1;
            durn[1] = dur2;
            durn[2] = dur3;
        }
    }
}




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace Soundmusic
{
structChannel
    {
string name, chan;
public Channel(string name, string chan)
        {
this.name = name;
this.chan = chan;
        }
publicstring Name
        {
get
            {
return name;
            }
set
            {
                name = value;
            }
        }
publicstring Channl
        {
get
            {
return chan;
            }
set
            {
                chan = value;
            }
        }
    }

publicpartialclassRadio : Form
    {      
double lowLimit = 88.0;
double hiLimit = 108.9;
double freq;

List<Channel> channelList = newList<Channel>();

Channel DJFM = newChannel("DJ FM""94.8");
Channel Istara = newChannel("Istara""101.1");
Channel Prambors = newChannel("Prambors""89.3");
Channel EBS = newChannel("EBS""105.9");
Channel Trijaya = newChannel("Trijaya""104.7");
Channel MRadio = newChannel("M-Radio""98.8");

privatevoid AddChan()
        {
            channelList.Add(DJFM);
            channelList.Add(Istara);
            channelList.Add(Prambors);
            channelList.Add(EBS);
            channelList.Add(Trijaya);
            channelList.Add(MRadio);
        }

privatevoid CheckChannel()
        {
            channelName.Text = "";
foreach (Channel ch in channelList)
            {
if (freqBox.Text == ch.Channl)
                {
                    channelName.Text = ch.Name;
break;
                }
            }
        }

public Radio()
        {           
            InitializeComponent();
            freq = lowLimit;
            freqBox.Text = freq.ToString("##.##");
            AddChan();

        }

privatevoid radioNext_Click(object sender, EventArgs e)
        {
if (freq < hiLimit)
                freq += 0.1;
else
                freq = lowLimit;
            freqBox.Text = freq.ToString("##.##");

        }

privatevoid freqBox_Leave(object sender, EventArgs e)
        {
if (double.Parse(freqBox.Text) > hiLimit || double.Parse(freqBox.Text) < lowLimit)
            {
MessageBox.Show("Frequency exceeds the limit","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
                freqBox.Text = freq.ToString("##.##");
            }
            freq = double.Parse(freqBox.Text);
        }

privatevoid radioPrev_Click(object sender, EventArgs e)
        {
if (freq > lowLimit)
                freq -= 0.1;
else
                freq = hiLimit;
            freqBox.Text = freq.ToString("##.##");
        }

privatevoid Radio_Load(object sender, EventArgs e)
        {
            volBar.Value = Equalz.Volume;
        }

privatevoid volBar_Scroll(object sender, EventArgs e)
        {
Equalz.Volume = volBar.Value;
        }

privatevoid freqBox_KeyDown(object sender, KeyEventArgs e)
        {
if (e.KeyData == Keys.Enter)
            {
if (double.Parse(freqBox.Text) > hiLimit || double.Parse(freqBox.Text) < lowLimit)
                {
MessageBox.Show("Frequency exceeds the limit""Error"MessageBoxButtons.OK, MessageBoxIcon.Error);
                    freqBox.Text = freq.ToString("##.##");
                }
                freq = double.Parse(freqBox.Text);
            }
        }

privatevoid freqBox_TextChanged(object sender, EventArgs e)
        {
            CheckChannel();
        }

privatevoid autoNext_Click(object sender, EventArgs e)
        {
            channelName.Text = "";
while (channelName.Text == ""&& freq < hiLimit)
            {
                freq += 0.1;
                freqBox.Text = freq.ToString("##.##");
            }
        }

privatevoid autoPrev_Click(object sender, EventArgs e)
        {
            channelName.Text = "";
while (channelName.Text == ""&& freq > lowLimit)
            {
                freq -= 0.1;
                freqBox.Text = freq.ToString("##.##");
            }
        }
      }
}




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace Soundmusic
{
publicpartialclassMusicPlayer : Form
    {
CD myCD = newCD("Peterpan""Satu Bintang", 180000, "Topeng", 210000, "Tak Ada yang Abadi", 240000);
int counter = 0;
bool isPlay = false;
bool isRecord = false;
int dur = 0;
int MaxTimeRec = 300000;

public MusicPlayer()
        {           
            InitializeComponent();
        }      

private void MusicPlayer_Load(object sender, EventArgs e)
        {
            volBar.Value = Equalz.Volume;
            bassBar.Value = Equalz.Bass;
            trebleBar.Value = Equalz.Treble;
            setSong(counter);
            myTimer.Stop();
            isPlay = false;
            isRecord = false;
            PlayPauseButton.Text = "Play";
            recordButton.Text = "Rec";
        }

private string ConvertToTime(int i)
        {
int min = i / 60000;
int sec = (i - (min * 60000)) / 1000;
string time = min.ToString() + ":" + sec.ToString();
if (sec == 0)
                time += "0";
if (sec<10)
            {
                time = min.ToString() + ":0" + sec.ToString();

            }
return time;

        }

private void setSong(int i)
        {
            ArtNamelabel.Text = myCD.Artist;
            songLabel.Text = myCD.getSong(i);
            durationPlayBar.Maximum = myCD.getDuration(i) / myTimer.Interval;
            endTimeLabel.Text = ConvertToTime(myCD.getDuration(i));
            durationPlayBar.Value = 0;
            dur = 0;
            startTimeLabel.Text = "0:00";
        }

private void volBar_Scroll(object sender, EventArgs e)
        {
Equalz.Volume = volBar.Value;
        }

private void bassBar_Scroll(object sender, EventArgs e)
        {
Equalz.Bass = bassBar.Value;
        }

private void trebleBar_Scroll(object sender, EventArgs e)
        {
Equalz.Treble = trebleBar.Value;
        }

private void nextSongButton_Click(object sender, EventArgs e)
        {
            myTimer.Stop();
if (counter < myCD.totalSong() - 1)
            {
                setSong(++counter);
            }
            myTimer.Start();
        }

privatevoid prevSongButton_Click(object sender, EventArgs e)
        {
            myTimer.Stop();
if (counter > 0)
            {
                setSong(--counter);
            }
            myTimer.Start();
        }

private void myTimer_Tick(object sender, EventArgs e)
        {
if (durationPlayBar.Value < durationPlayBar.Maximum)
                durationPlayBar.Value += 1;
else
            {
                myTimer.Stop();
return;
            }

            dur += 1000;
            startTimeLabel.Text = ConvertToTime(dur);
        }

private void PlayPauseButton_Click(object sender, EventArgs e)
        {
if (!isPlay)
            {
                PlayPauseButton.Text = "Pause";
                myTimer.Start();
                isPlay = true;
                recordButton.Enabled = false;
            }
else
            {
                PlayPauseButton.Text = "Play";
                myTimer.Stop();
                isPlay = false;
                recordButton.Enabled = true;
            }
        }

private void stopButton_Click(object sender, EventArgs e)
        {
            myTimer.Stop();
            setSong(counter);
            PlayPauseButton.Text = "Play";
            isPlay = false;
            recordButton.Enabled = true;
        }

private void MusicPlayer_Leave(object sender, EventArgs e)
        {
            myTimer.Stop();
        }

private void durationPlayBar_Scroll(object sender, EventArgs e)
        {
            startTimeLabel.Text = ConvertToTime(durationPlayBar.Value * 1000);
            dur = durationPlayBar.Value * 1000;
        }

public void recording()
        {
            nextSongButton.Enabled = !nextSongButton.Enabled;
            prevSongButton.Enabled = !prevSongButton.Enabled;
            stopButton.Enabled = !stopButton.Enabled;
            PlayPauseButton.Enabled = !PlayPauseButton.Enabled;
            artPoint.Visible = !artPoint.Visible;
            songPoint.Visible = !songPoint.Visible;
            ArtNamelabel.Visible = !ArtNamelabel.Visible;
        }

private void recordButton_Click(object sender, EventArgs e)
        {
if (!isRecord)
            {
                songLabel.Text = "Recording.........";
                recordButton.Text = "End";
                recording();
                myTimer.Start();
                isRecord = true;
                durationPlayBar.Maximum = MaxTimeRec / myTimer.Interval;
                endTimeLabel.Text = ConvertToTime(MaxTimeRec);
                durationPlayBar.Value = 0;
                dur = 0;
                startTimeLabel.Text = "0:00";
            }
else
            {
                recordButton.Text = "Rec";
                recording();
                myTimer.Stop();
                isRecord = false;
                myTimer.Stop();
                setSong(counter);
            }
        }
    }
}




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace Soundmusic
{
publicpartialclassHome : Form
    {
public Home()
        {
            InitializeComponent();
        }       

Radio myRad = newRadio();
privatevoid goToRadio_Click(object sender, EventArgs e)
        {
            myRad.ShowDialog();
        }

MusicPlayer myMP = newMusicPlayer();
privatevoid goToMusicPlayer_Click(object sender, EventArgs e)
        {
            myMP.ShowDialog();
        }