Pemilihan


Kita lanjut lagi nii kawan BD masih dalam pembelajaran tentang algoritma semoga masih inget yang kemarin yaa hayuuu inget ga niii....


Program dapat merepresentasikan situasi pemilihan yang sering dihadapi dalam dunia nyata. Berdasarkan satu atau beberapa kondisi, dapat ditentukan satu atau sejumlah aksi yang akan dilakukan. Dengan adanya struktur pemilihan, program dapat berjalan dengan jalur yang berbeda, berdasarkan hasil pengecekan kondisi yang dipenuhi.

1. Konversi Struktur IF dan CASE ke Bahasa C

Berikut ini diberikan pedoman konversi dari algoritma ke dalam bahasa C untuk struktur IF dan CASE:

Algoritma
Bahasa C
If kondisi then
   Aksi
End if
if (kondisi) {
   Aksi;
}
If kondisi then
   Aksi1
Else
   Aksi2
End if
If (kondisi) {
   Aksi1;
}
else {
   Aksi2;
}
If kondisi1 then
   Aksi1
Else if kondisi2
   Aksi2
Else
   Aksi3
End if
if (kondisi1) {
   Aksi1;
}
else if (kondisi2){
   Aksi2;
}
else {
   Aksi3;
}
Case ekspresi
   Nilai1: Aksi1
   Nilai2: Aksi2
   Nilai3: Aksi3
End case
switch (ekspresi) {
   case Nilai1: Aksi1;
                   Break;
   case Nilai2: Aksi2;
                    Break;
   case Nilai3: Aksi3;
   }
Case ekspresi
   Nilai1: Aksi1
   Nilai2: Aksi2
   Nilai3: Aksi3
   Otherwise: Aksi4
End case
switch (ekspresi) {
   case Nilai1: Aksi1;
                    Break;
   case Nilai2: Aksi2;
                    Break;
   case Nilai3: Aksi3;
                    Break;
   default: Aksi4;
}

Case ekspresi
   Nilai-1,Nilai-2,Nilai-3: Aksi1
   Nilai-4,Nilai-5:           Aksi2
   Nilai-6..Nilai-8:          Aksi3
   Otherwise:               Aksi4
End Case

switch (ekspresi) {
   case Nilai1:
   case Nilai2:
   case Nilai3: Aksi1;
                    Break;
   case Nilai4:
   case Nilai5: Aksi2;
                    Break;
   case Nilai6:
   case Nilai7:
   case Nilai8: Aksi3;
                    Break;
   default:       Aksi4;
}

Catatan:
   - penulisan kondisi pada IF dan ekspresi pada CASE dalam bahasa C harus
     digunakan tanda kurung ( ).
   - aksi berupa satu perintah atau lebih, masing-masing diakhiri titik koma.
   - apabila aksi hanya berupa satu perintah, penggunaan { } dapat dihilangkan.
   - kata “if”, “else”, “switch”, “case” dan “default” dalam bahasa C, harus
     ditulis dengan huruf kecil semua.
   - dalam bahasa C tidak ada kata “then”, “end if” dan “end case” tetapi
     digantikan pasangan kurung kurawal { dan }
   - hati-hati dengan penggunaan kesamaan, yaitu dengan “==” bukan “=”.
   - string digunakan kutip dua ( seperti “test” ) bukan kutip satu (‘test’).

2.  Contoh dan Latihan Struktur IF
Contoh-1: Algoritma menentukan apakah positip atau negatip dari bilangan yang diinput.

Algoritma
Bahasa C
Algoritma PosNeg
/* menentukan positip/negatip*/
Kamus Data
   bil  : integer
   ket : string
Begin
   |Input(bil)
   |If (bil>=0) then
   |   Output(‘positip’)
   |Else
   |   Output(‘negatip’)
   |End if
End
include <stdio.h>
include <conio.h>

/* menentukan positip/negatip */
int main()  {
//Kamus Data
   int bil;
//Begin
   printf(“Masukkan bilangan: ”);
   scanf(“%d”,&bil);
   if (bil>=0) {
      printf(“bil adalah positip”);
   }
   else {
      printf(“bil adalah negatip”);
   }
   getche();
}

1.1.  Contoh dan Latihan Struktur IF
Contoh-1: Algoritma menentukan apakah positip atau negatip dari bilangan yang diinput.

Algoritma
Bahasa C
Algoritma PosNeg
/* menentukan positip/negatip*/
Kamus Data
   bil  : integer
   ket : string
Begin
   |Input(bil)
   |If (bil>=0) then
   |   Output(‘positip’)
   |Else
   |   Output(‘negatip’)
   |End if
End
include <stdio.h>
include <conio.h>

/* menentukan positip/negatip */
int main()  {
//Kamus Data
   int bil;
//Begin
   printf(“Masukkan bilangan: ”);
   scanf(“%d”,&bil);
   if (bil>=0) {
      printf(“bil adalah positip”);
   }
   else {
      printf(“bil adalah negatip”);
   }
   getche();
}

Algoritma PosNeg
/* menentukan positip/negatip*/
Kamus Data
   bil  : integer
   ket : string
Begin
   |Input(bil)
   |Ket ß ‘positip’
   |If (bil<0) then
   |   Ket ß ‘negatip’
   |End if
   |Output(Ket)
End
#include <stdio.h>
#include <conio.h>

/* menentukan positip/negatip */
int main()  {
//Kamus Data
   int bil;
   char Ket[10];
//Begin
   printf(“Masukkan bilangan: ”);
   scanf(“%d”,&bil);
   strcpy(Ket,”positip”);
   if (bil<0) {
      strcpy(Ket,”negatip”);
   }
   printf(“bil adalah %s”,Ket);
   getche();
}

Latihan-1: Tulis secara lengkap program bahasa C untuk potongan algoritma berikut.

Algoritma-1a
   |Input(bil)
   |If (bil>=0) then
   |   Output(‘positip’)
   |End if
   |If (bil<0) then
   |   Output(‘negatip’)
   |End if
Algoritma-1b
   |Input(bil)
   |positip ß bil>=0
   |If (positip=true) then
   |   Output(‘positip’)
   |else
   |   Output(‘negatip’)
   |End if
 
Contoh-2: Algoritma menentukan bilangan terbesar dari 3 bilangan yang diinput.

Algoritma Terbesar_1
/* menentukan terbesar dari 3 bilangan yang diinput*/
Kamus Data
   A,B,C  : integer
Begin
   |Input(A,B,C)  
   |If (A>B) then
   |   |If (A>C) then
   |   |  Output(‘terbesar =’,A)
   |   |Else
   |   |  Output(‘terbesar =’,C)
   |   |End if
   |else
   |   |if (B>C) then
   |   |  Output(‘terbesar =’,B)
   |   |Else
   |   |  Output(‘terbesar =’,C)
   |   |End if
   |End if
End

#include <stdio.h>
#include <conio.h>

/* menentukan terbesar 3 bilangan */
int main()  {
//Kamus Data
   int A,B,C;
//Begin
   printf(“Masukkan 3 bilangan: ”);
   scanf("%d %d %d",&A,&B,&C);
   if (A>B) {
      if (A>C) {
         printf(“terbesar adalah %d”,A);
      }
      else {
         printf(“terbesar adalah %d”,C);
      }
   }
   else {
      if (B>C) {
         printf(“terbesar adalah %d”,B);
      }
      else {
         printf(“terbesar adalah %d”,C);
      }
   }
   getche();
}
Algoritma Terbesar_2
/* menentukan terbesar dari 3 bilangan yang diinput*/
Kamus Data
   A,B,C  : integer
Begin
   |Input(A,B,C)  
   |If (A>B and A>C) then
   |   |Output(‘terbesar =’,A)
   |Else if (B>A and B>C) then
   |   |Output(‘terbesar =’,B)
   |Else if (C>A and C>B) then
   |   |Output(‘terbesar =’,C)
   |End if
End

#include <stdio.h>
#include <conio.h>

/* menentukan terbesar 3 bilangan */
int main()  {
//Kamus Data
   int A,B,C;
//Begin
   printf(“Masukkan 3 bilangan: ”);
   scanf("%d %d %d",&A,&B,&C);

   if (A>B && A>C) {
      printf(“terbesar adalah %d”,A);
   }
   else if (B>A && B>C) {
      printf(“terbesar adalah %d”,B);
   }
   else {
      printf(“terbesar adalah %d”,C);
   }
   getche();
}

Latihan-2: Tulis secara lengkap program bahasa C untuk potongan algoritma berikut.
Algoritma-2a
   |Input(A,B,C)
   |Max ßA  
   |If (B>Max) then
   |   |Max ßB
   |End if
   |If (C>Max) then
   |   |Max ßC
   |End if
   |Output(‘terbesar = ‘,Max)
Algoritma-2b
   |Input(A,B,C)  
   |If (A>B and A>C) then
   |   |Output(‘terbesar =’,A)
   |Else
   |   |if (B>A and B>C) then
   |   |   Output(‘terbesar =’,B)
   |   |Else
   |   |   if (C>A and C>B) then
   |   |       Output(‘terbesar =’,C)
   |   |   |End if
   |   |End if
   |End if

Contoh-3 :  Pembayaran air minum PDAM
PDAM menerapkan pembayaran air minum perumahan dengan cara perhitungan sebagai berikut :
- Tarif per m3 untuk 10 m3 pertama (1-10) adalah Rp 2.000
- Tarif per m3 untuk 10 m3 kedua (11-20) adalah Rp 3.000
- Tarif per m3 untuk 10 m3 ketiga (21-30) adalah Rp 4.000
- Tarif per m3 untuk 10 m3 selanjutnya (31 ke atas) adalah Rp 5.000
- Pemakaian air dihitung minimal 10 m3 (kurang dari 10 m3 dianggap 10 m3)
- Biaya administrasi bulanan sebesar Rp10.000
Bagaimana membuat algoritma untuk menghitung biaya tersebut?
Contoh kasus
Penggunaan air 5 m3 dengan biaya 10 x 2.000 + 10.000 = 30.000
Penggunaan air 15 m3 dengan biaya 10 x 2.000 + 5 x 3.000 + 10.000 = 45.000
Penggunaan air 75 m3 dengan biaya 10 x 2.000 + 10 x 3.000 +
                                                10 x 4.000 + 45 x 5.000 +10.000 = 325.000

Solusi    :
Pemakaian air dibagi menjadi 4 area pemakaian (misal area a,b,c,d), baru dihitung total biaya
Algoritma
Bahasa C
Algoritma PDAM
/* menghitung biaya pemakaian air*/
Kamus Data
   pakai,a,b,c,d : integer
   biaya          : integer
Begin
   |Input(pakai)
   |aß10
   |bß 0
   |cß 0
   |dß
   |If (pakai>30) then
   |   |bß 10
   |   |cß 10
   |   |dß pakai - 30 
   |Else If (pakai>20) then
   |   |bß 10
   |   |cß pakai - 20
   |Else If (pakai>10) then
   |   |bß pakai - 10
   |End if
   |biayaß a * 2000 + b * 3000 +
   |           c * 4000 + d * 5000 +
   |           10000
   |Output(‘biaya =’,biaya)
End
#include <stdio.h>
#include <conio.h>

/* menghitung biaya pemakaian air*/
int main()  {
//Kamus Data
   int pakai,a,b,c,d;
   int biaya;
//Begin
   printf(“Masukkan pemakaian air: ”);
   scanf(“%d”,&pakai);
   a=10;
   b=0;
   c=0;
   d=0;
   if (pakai>30) {
      b=10;
      c=10;
      d=pakai – 30; 
   }
   else if (pakai>20) {
      b=10;
      c=pakai – 20;
   }
   else if (pakai>10) {
      b=pakai – 10;
   }
   biaya = a * 2000 + b * 3000 +
              c * 4000 + d * 5000 +
              10000;
   printf(“biaya = %d”,biaya);
   getche();
   return 0;
//End
}

Latihan-3: Tulis secara lengkap program bahasa C untuk potongan algoritma berikut.
Indeks nilai sebuah matakuliah didapat dengan cara menghitung nilai akhir berdasarkan prosentase komponen-komponennya kemudian ditentukan indeks nilainya. Misal digunakan ketentuan sebagai berikut:
- Nilai Akhir dihitung dari 30% UTS, 40%UAS, 20% Tugas dan 10% kehadiran
- Indeks Nilai ditentukan berdasarkan Nilai Akhir (NA),
  Bila NA >= 85 maka Indeksnya A
  Bila 85 > NA >= 70 maka Indeksnya B
  Bila 70 > NA >= 55 maka Indeksnya C
  Bila 55 > NA >= 40 maka Indeksnya D
  Bila NA < 40 maka Indeksnya E
Bagaimana membuat algoritma untuk menentukan Indeks Nilai tersebut?

Algoritma Nilai
/* menentukan indeks nilai*/
Kamus Data
   UTS,UAS,Tugas,Abs : integer
   NAS                      : real
   Indeks                    : char
Begin
   |Input(UTS,UAS,Tugas,Abs)
   |NAS ß 0.3*UTS + 0.4*UAS +
   |            0.2*Tugas + 0.1*ABS
   |If (NAS>=85) then
   |   |Indeks ß ‘A’
   |Else If (NAS>=70 and NAS<85)
   |   |then
   |   |Indeks ß ‘B’
   |Else If (NAS>=55 and NAS<70)
   |   |then
   |   |Indeks ß ‘C’
   |Else If (NAS>=40 and NAS<55)
   |   |then
   |   |Indeks ß ‘D’
   |Else
   |   |Indeks ß ‘E’
   |End if
   |Output(‘Indeks Nilai =’,Indeks)
End
#include <stdio.h>
#include <conio.h>

/* menentukan indeks nilai*/
int main()  {
//Kamus Data
   int UTS,UAS,Tugas,Abs;
   float NAS;
   char Indeks;
//Begin
   printf(“Masukan nilai UTS,UAS,”);
   printf(“Tugas dan kehadiran: ”);
   scanf(“%d %d”,&UTS,&UAS);
   scanf(“%d %d”,&Tugas,&Abs);
   NAS = 0.3*UTS + 0.4*UAS +
               0.2*Tugas + 0.1*Abs;
   if (NAS>=85)
      Indeks = ‘A’;
   else if (NAS>=70)
      Indeks = ‘B’;
   else if (NAS>=55)
      Indeks = ‘C’;
   else if (NAS>=40)
      Indeks = ‘D’;
   else {
      Indeks = ‘E’;
   }
   printf(“Indeks Nilai = %c”,Indeks);
   getche();
}

1.2.    Contoh dan Latihan Struktur IF
Contoh-4 :  Menentukan nama hari dari nomor hari yang diinput
Dinput nomor hari, ditampilkan nama harinya, bagaimana algoritmanya?
Solusi dengan IF dan CASE

Algoritma NamaHari
/* menentukan nama hari*/
Kamus Data
   NoHari  : integer
   NmHari : string
Begin
   |Input(NoHari)
   |Case NoHari
   |   |1: NmHari ß ‘Senin’
   |   |2: NmHari ß ‘Selasa’
   |   |3: NmHari ß ‘Rabu’
   |   |4: NmHari ß ‘Kamis’
   |   |5: NmHari ß ‘Jumat’
   |   |6: NmHari ß ‘Sabtu’
   |   |7: NmHari ß ‘Minggu’
   |End Case
   |Output(NmHari)
End
#include <stdio.h>
#include <conio.h>

/* menentukan nama hari*/
int main()  {
//Kamus Data
   int NoHari;
   char NmHari[10];
//Begin
   printf(“Masukkan nomor hari: ”);
   scanf(“%d”,&NoHari);
   switch (NoHari) {
      case 1: strcpy(NmHari,”Senin”); break;
      case 2: strcpy(NmHari,”Selasa”);break;
      case 3: strcpy(NmHari,”Rabu”); break;
      case 4: strcpy(NmHari,”Kamis”);break;
      case 5: strcpy(NmHari,”Jumat”); break;
      case 6: strcpy(NmHari,”Sabtu”); break;
      case 7: strcpy(NmHari,”Mingu”);
   }
   printf(“Nama hari = %s ”,NmHari);
   getche();
}

Latihan-4 :  Merubah angka menjadi kalimat
Dinput bilangan/angka (angka dibatasi 1-99), ditampilkan kata-kata/kalimat dari bilangan tersebut, ubah potongan algoritma berikut ke bahasa C yang lengkap.


   |Input(bil)
   |pul ß bil div 10
   |sat ß bil mod 10
   |Kalimat ß ‘’
   |Case sat
   |   |1: Kalimat ß ‘Satu’
   |   |2: Kalimat ß ‘Dua’
   |   |3: Kalimat ß ‘Tiga’
   |   |4: Kalimat ß ‘Empat’
   |   |5: Kalimat ß ‘Lima’
   |   |6: Kalimat ß ‘Enam’
   |   |7: Kalimat ß ‘Tujuh’
   |   |8: Kalimat ß ‘Delapan’
   |   |9: Kalimat ß ‘Sembilan’
   |End Case
   |Case pul
   |   |1: |Case sat
   |   |    |   0:            Kalimat ß‘Sepuluh’
   |   |    |   1:            Kalimat ß‘Sebelas’
   |   |    |  Otherwise: Kalimat ß Kalimat + ‘ belas’
   |   |    |End Case
   |   |2: |Kalimat ß ‘Dua Puluh’ + Kalimat
   |   |3: Kalimat ß ‘Tiga Puluh’ + Kalimat
   |   |4: Kalimat ß ‘Empat Puluh’ + Kalimat
   |   |5: Kalimat ß ‘Lima Puluh’ + Kalimat
   |   |6: Kalimat ß ‘Enam Puluh’ + Kalimat
   |   |7: Kalimat ß ‘Tujuh Puluh’ + Kalimat
   |   |8: Kalimat ß ‘Delapan Puluh’ + Kalimat
   |   |9: Kalimat ß ‘Sembilan Puluh’ + Kalimat
   |End Case
   |Output(Kalimat)     





 4.4. Latihan Tambahan

1.  Genap Ganjil
Tulis program untuk menentukan apakah bilangan yang diinput oleh user genap atau ganjil.
Contoh masukan :
bilangan = 10
Contoh keluaran :
bilangan 10 adalah genap
2.  Terbesar dari 2 bilangan
Tulis program untuk menentukan bilangan terbesar dari dua bilangan yang diinput oleh user.
Contoh masukan :
bilangan ke-1  = 30
bilangan ke-2  = 25
Contoh keluaran :
bilangan terbesar adalah 30
3.  Terkecil dari 2 bilangan
Tulis program untuk menentukan bilangan terkecil dari dua bilangan yang diinput oleh user.
Contoh masukan :
bilangan ke-1  = 30
bilangan ke-2  = 25
Contoh keluaran :
bilangan terkecil adalah 25
4.  Lama Bekerja (selisih jam masuk dan jam pulang)
Tulis program untuk menentukan lama bekerja seorang pegawai, jika jam masuk dan jam pulang diinput. Catatan: jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam.
Contoh Masukan dan keluaran:
Jam masuk
Jam keluar
Keluaran/tampilan
10
11
Lama bekerja 1 jam
10
  2
Lama bekerja 3 jam
10
  7
Lama bekerja 9 jam

5.  Biaya Parkir
Tulis program untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir. Lama parkir dihitung dari selisih jam masuk dan jam keluar diinput (seperti soal 4). Biaya parkir 2 jam pertama 2000, perjam berikutnya 500.
Contoh Masukan dan keluaran:
Jam masuk
Jam keluar
lama
keluaran/tampilan
10
11
1
Biaya = 2000
10
2
3
Biaya = 2500
10
7
9
Biaya = 4500

6.  Penggabungan resistor
Tulis program untuk menghitung resistor pengganti dari 3 buah resistor yang disusun secara seri atau paralel. Rumus untuk resistor pengganti sbb:
Seri:  Rgab = R1 + R2 + R3
Paralel:          1/Rgab = 1/R1 + 1/R2 + 1/R3
Besar R1, R2 dan R3 serta jenis penyusunan (seri/paralel) diinput oleh user.

7.  Buatlah program untuk menyelesaikan masalah berikut :
Program akan menerima masukan berupa kode, jenis dan harga, dengan
jenis adalah "A", "B", dan "C". Untuk setiap jenis, masing-masing akan diberikan diskon sebesar 10% untuk A,15% untuk B, dan 20% untuk C.
Program akan menghitung berapa harga setelah didiskon.
Contoh masukan :
kode = 10
Jenis = B
harga = 10000
Contoh keluaran :
Jenis barang B mendapat diskon = 15%, Harga setelah didiskon = 8500

8.  Kabisat
Buatlah program untuk menentukan apakah masukan tersebut
merupakan tahun kabisat atau bukan (Tahun kabisat adalah tahun yang
angka tahunnya habis dibagi 4).
Contoh masukan : 1995
Contoh keluaran  : 1995 bukan tahun kabisat
8.  Gaji Karyawan Mingguan
Sebuah perusahaan swasta menggaji karyawannya secara mingguan dengan hitungan sebagai berikut :
golongan 1 dengan upah per jam 3.000 rupiah
golongan 2 dengan upah per jam 3.500 rupiah
golongan 3 dengan upah per jam 4.000 rupiah
golongan 4 dengan upah per jam 5.000 rupiah
Bila seorang karyawan bekerja kurang atau sama dengan 40 jam per minggu, akan dihitung dengan upah per jam seperti di atas, tetapi apabila bekerja lebih dari 40 jam, maka lebihnya akan dihitung sebagai lembur dengan upah per jam 1½ kali upah biasa.
Tulis algoritma untuk menghitung gaji mingguan karyawan, bila golongan dan jam kerja diinput dari keyboard.

9.  Menghitung lama dalam jam dan menit
Buat program menghitung selisih waktu (dalam menit) berdasarkan jam mulai (jam,menit) dengan jam selesai (jam,menit). Data yang diinput adalah jam dan menit mulai, jam dan menit selesai.
Contoh Masukan dan Keluaran:
        
Mulai (jam,menit)
Selesai (jam,menit)
Lama (menit)
Lama (jam,menit)
10 30
12 10
100
1 jam 40 menit
10 30
  1 40
130
3 jam 10 menit


Petunjuk :
  • Hitung selisih jam seperti soal sebelumnya, kemudian kalikan dg 60 untuk mendapatkan menitnya.
  • Hitung selisih menit mulai dengan selesai, bila selisihnya positip tambahkan ke hasil sebelumnya, bila selisihnya negatip kurangkan ke hasil sebelumnya.

10. Kuadran dari koordinat titik
Buat program dengan masukan koordinat sebuah titik (x,y) dalam sebuah system koordinat kartesian, kemudian ditentukan di kuadran mana titik tersebut.
Contoh Masukan :
Koordinat titik (x,y) : 10 -20
Contoh keluaran:
Titik 10,-20 berada pada kuadran 4

11. Menaikkan 1 menit
Buat program dengan masukan berupa jam dan menit, kemudian ditentukan setelah ditambah satu menit menjadi jam berapa.

Contoh Masukan dan Keluaran:

Waktu asal
(jam,menit)
Setelah ditambah 1 menit (jam,menit)
10 30
10 31
10 59
11  0

12. Tunjangan Anak
Pemerintah hanya memberikan tunjangan anak dari PNS maksimal sampai 3 anak saja. Setiap anak diberikan tunjangan sebesar 10% dari gaji pokok.
Tulis program untuk menghitung total tunjangan anak, bila gaji pokok dan jumlah anak diinput oleh user.
Contoh Masukan dan Keluaran:
Jumlah anak
Gaji Pokok
Tunjangan Anak
0
1.000.000
0
1
1.000.000
100.000
3
1.000.000
300.000
5
1.000.000
300.000

13. Minibus pariwisata
Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per mobil. Apabila terjadi kelebihan penumpang (walaupun cuma 1), maka minibus yang digunakan ditambah 1. Tulis program untuk menghitung jumlah minibus yang diperlukan, bila jumlah pesertanya diinput.
Contoh Masukan dan Keluaran:

Jumlah Peserta
Jumlah Minibus
5
1
7
1
8
2

14. Menentukan nama hari untuk N hari yang lalu
Diinput jumlah berapa hari yang lalu, kemudian ditentukan nama harinya. Tulis program untuk menentukan nama hari dari sekian hari yang lalu yang diinput. (Catatan, gunakan Hari ini = ‘Senin’)

Contoh Masukan dan Keluaran:

N hari yang lalu
Nama Hari
0
Senin
1
Minggu
10
Jumat
20
Selasa

15. Menentukan nama hari untuk N hari yang lalu
Diinput jumlah berapa hari yang lalu, kemudian ditentukan nama harinya. Tulis program untuk menentukan nama hari dari sekian hari yang lalu dan nomor hari ini yang diinput.
Contoh Masukan dan Keluaran:

N hari yang lalu
Hari ini
Nama Hari
0
1
Senin
3
3
Minggu
5
4
Sabtu

16. Menentukan nama hari untuk N hari yang akan datang
Diinput jumlah berapa hari yang akan datang, kemudian ditentukan nama harinya. Tulis program untuk menentukan nama hari dari sekian hari yang akan datang yang diinput. (Catatan, gunakan Hari ini = ‘Senin’)

Contoh Masukan dan Keluaran:

N hari yang akan datang
Nama Hari
0
Senin
1
Selasa
10
Kamis
20
Minggu

17. Menentukan terbesar dari 5 bilangan yang diinput
Diinput jumlah 5 buah bilangan, kemudian ditentukan bilangan mana yang terbesar.
Contoh Masukan dan Keluaran:

Bilangan diinput
Terbesar
10 30 25 50 13
50
80 30 25 50 35
80

18. Menentukan nama bulan dari nomor bulan yang diinput
Diinput nomor bulan, kemudian ditentukan nama bulannya.
Contoh Masukan dan Keluaran:

Nomor bulan
Nama bulan
1
Januari
5
Mei

19. Menentukan nomor urut tanggal dalam 1 tahun (Julian Date)
Diinput nomor tanggal, bulan dan tahun, kemudian ditentukan nomor urutnya dalam 1 tahun.

Contoh Masukan dan Keluaran:

Tanggal
Bulan
tahun
Nomor urut
1
1
2000
1
5
5
2000
126

20. Menentukan kalimat dari bilangan 1-999
Diinput bilangan (dibatasi antara 1 s/d 999), kemudian ditentukan kalimatnya.
Contoh Masukan dan Keluaran:

bilangan
kalimat
123
seratus dua puluh tiga
511
lima ratus sebelas
}
 kawan BD jika ada yang kesalahan atau tidak nyambung mungkin salah ketik atau ngantuk harap di maklumi ya kawan BD tetap di tongkrongan BD si&it kawan 
Semoga bermanfaat ya 

Algoritma dan Pemrograman

Selamat Malam Kawan BD si&it semoga sehat semua yaa..... dan kabar baik untuk semua amiiiin... kita lanjut untuk membahas tentang Algoritma dan Pemrograman, yang saya ambil dari pembelajaran semester 1, mungkin semua sudah kenal apa itu algoritma dan sudah belajar, terkadang apa yang kita pelajari yang lalu sudah lupa maka dari itu saya ulas kembali pembelajaran tujuan supaya kenal dengan algoritma terutama pada Dunia IT atau pemrograman Dunia SI.

Tipe Data, Operator  dan Runtunan
Tipe data, operator, dan runtunan merupakan suatu kesatuan konsep yang paling mendasar didalam pemprograman komputer, karena tipe-tipe data dasar dan operator dapat membentuk berbagai macam ekspresi yang akan digunakan dalam program.

Java Bean


Kawan BD kali ini kita membahas penulisan program Java Bean halnya tidak jauh seperti HTML dan harus mengetahui karakteristiknya dulu ya sudah langsung saja yaa sekidot......

Karakteristik Java Bean

API Java Bean merupakan standar format dari class java. Dengan adanya Java Bean, komponen dapat digunakan sewaktu-waktu untuk membangun program. Penulisan kelas Java Bean mempunyai aturan tertentu sebagai berikut:
a. Memiliki properti (variabel) dengan akses bukan public yang digunakan untuk menyimpan data.
b. Memiliki method get dan set (memberi dan mendapatkan properti dari bean).
c. Memiliki konstruktor kosong.

Berikut ini adalah langkah-langkah membuat kelas Java Bean:
  1.  Mendefinisikan variabel dalam bean yang akan kita buat. Variabel ini tidak boleh dideklarasikan public. Misal : private String nrp;
  2. Untuk masing-masing variabel dibuat metode get dan set. Misal : getNrp() dan setNrp() Untuk boolean, gunakan method setXxx() untuk mengeset nilai boolean dan isXxx yang mengembalikan nilai boolean Aturan membuat method:
public void set<namaVariabel>
public <tipe_variabel> get<namaVariabel>
public boolean is<namaVariabel>Menambahkan konstruktor kosong.
Berfungsi untuk inisialisasi


Membuat Java Bean

Memanggil javabean dalam halaman jsp memakai sintax:
<jsp:usebean id=”name” class=”package.Class”/>
Yang berarti pembuatan object class yang telah ditentukan dan dimasukkan ke dalam variable dengan nama yang ditentukan id.
Seumpama ada contoh sintax berikut :

<jsp:usebean id=”book1” class=”cwp.Book”/>

Secara normal hal sama dengan scriplet :

<% cwp.Book book1=new cwp.Book(); %>

Meskipun javabean ekivalen dengan membangun sebuah object, tapi dia mempunyai option tambahan yang membuatnya lebih powerfull. Kita dapat menentukan scope yang mendefinisikan ruang batas dari obyek yang akan dibuat. Bisa saja scope bukan hanya pada page ini saja, tapi bisa lebih jauh. Jika ini dapat dishare tentunya akan sangat berguna, jadi kita akan membuat object baru jika dan hanya jika tidak memang benar benar tidak ada yang id dan scopenya sama.

Mengambil Nilai Property Java Bean

Dalam beberapa kasus mungkin kita ingin variable lokal kita mempunyai tipe yang sama sebagai object yang dibuat. Cara pengaksesan javabean adalah memakai sintax jsp:getproperty. Contoh pengaksesan sbb :

<jsp:getProperty name=”book1” propery=”title” />

ekivalen dengan

<%= book1.getTitle() %>



Mengeset Nilai Property Java Bean

Untuk memodifikasi properti menggunakan sintax jsp:setProperty . Action ini mempunyai beberapa bentuk yang berbeda, tapi untuk yang paling simple perlu tiga attribut yaitu : name, property dan valuenya. Contoh sintax sederhananya adalah sbb :

<jsp:setProperty name=”book1” propery=”title” value=”Core Web Programming”/>

ekivalen dengan :

<%= book1.setTitle(“Core Web Programmming”) %>

Berikut ini adalah contoh sederhana Java Bean dengan JSP:


package coreservlets;
/** Contoh Java Bean dengan satu properti bertipe String
* yang bernama message
*/
public class StringBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}

Listing 4.1 StringBean.java


Dan pengaksesannya memakai JSP adalah sbb :

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      <HTML>
<HEAD>
                    <TITLE>Using JavaBeans with JSP</TITLE>
</HEAD>
<BODY>
                     <TABLE BORDER=5 ALIGN="CENTER">
                      <TR><TH CLASS="TITLE"> Using JavaBeans with JSP
</TABLE>
<jsp:useBean id="stringBean"
class="coreservlets.StringBean"/>
<OL>
<LI>Initial value (getProperty):
<I><jsp:getProperty name="stringBean"
property="message" /></I>
<LI>Initial value (JSP expression):
<I><%= stringBean.getMessage() %></I>
<LI><jsp:setProperty name="stringBean"
property="message"
value="Best string bean: Fortex" />
Value after setting property with setProperty:
<I><jsp:getProperty name="stringBean"
property="message" /></I>
<LI><% stringBean.setMessage("My favorite:
Kentucky Wonder"); %>
Value after setting property with scriptlet:
<I><%= stringBean.getMessage() %></I>
</OL>
</BODY>
</HTML>

Listing 4.2 File JSP untuk StringBean





Berikut ini adalah contoh program pemakaian set dan get properti javabean:
package coreservlets;
/** Bean sederhana untuk mengilustrasikan berbagai macam
* bentuk jsp:setProperty.
*/
                         public class SaleEntry {
                         private String itemID = "unknown";
                         private double discountCode = 1.0;
                         private int numItems = 0;
                         public String getItemID() {
                         return(itemID);
                  }
                          public void setItemID(String itemID) {
                          if (itemID != null) {
                           this.itemID = itemID;
                   } else {
                            this.itemID = "unknown";
                  }
              }
                              public double getDiscountCode() {
                              return(discountCode);
              }
                              public void setDiscountCode(double discountCode) {
                              this.discountCode = discountCode;
              }
                             public int getNumItems() {
                                     return(numItems);
                }
                                public void setNumItems(int numItems) {
                                this.numItems = numItems;
                }
                                   // Replace this with real database lookup.
                              public double getItemCost() {
                              double cost;
                             if (itemID.equals("a1234")) {
                               cost = 12.99*getDiscountCode();
                   } else {
                                 cost = -9999;
                }
                                return(roundToPennies(cost));
                }
                               private double roundToPennies(double cost) {
                                 return(Math.floor(cost*100)/100.0);
               }
                               public double getTotalCost() {
                               return(getItemCost() * getNumItems());
                }
                }

                                    

Dan pengaksesannya memakai JSP adalah sebagai berikut :

                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <HTML>
      <HEAD><TITLE>Using jsp:setProperty</TITLE>
        </HEAD>
          <BODY>
            <TABLE BORDER=5 ALIGN="CENTER">
            <TR><TH CLASS="TITLE">
             Using jsp:setProperty</TABLE>
           <jsp:useBean id="entry"
              class="coreservlets.SaleEntry" />
           <jsp:setProperty name="entry"
             property="itemID"
            value='<%= request.getParameter("itemID") %>' />
    <%
            int numItemsOrdered = 1;
             try {
             numItemsOrdered =
             Integer.parseInt(request.getParameter("numItems"));
            } catch(NumberFormatException nfe) {}
    %>
                 <jsp:setProperty name="entry"
                   property="numItems"
                   value="<%= numItemsOrdered %>" />
     <%
                      double discountCode = 1.0;
                      try {
                      String discountString =
                      request.getParameter("discountCode");
                      // Double.parseDouble not available in JDK 1.1
                      discountCode =
                      Double.valueOf(discountString).doubleValue();
                      } catch(NumberFormatException nfe) {}
    %>
                   <jsp:setProperty name="entry"
                      property="discountCode"
                      value="<%= discountCode %>" />
          <BR>
          <TABLE ALIGN="CENTER" BORDER=1>
          <TR CLASS="COLORED">
         <TH>Item ID<TH>Unit Price<TH>Number
            Ordered<TH>Total Price
         <TR ALIGN="RIGHT">
         <TD><jsp:getProperty name="entry"
                     property="itemID" />
          <TD>$<jsp:getProperty name="entry"
                        property="itemCost" />
          <TD><jsp:getProperty name="entry"
                       property="numItems" />
         <TD>$<jsp:getProperty name="entry"
         property="totalCost" />
         </TABLE>
      </BODY>
</HTML>

Cukup sekian ya kawan BD semoga bermanfaat jangan lupa cendol komen heheh

Elemen JSP





Kita Lanjut Kawan BD Tentang JSP harus tahu dasar-dasarnya dulu yaa liat laman sebelumnya

Elemen-elemen JSP
JSP merupakan bahasa pemrograman yang bersifat embedded pada kode HTML maupun WML, namun juga dapat berdiri sendiri dimana sintaks JSP dapat diatur sesuai spesifikasi JSP yang dapat di download dari www.jcp.org. Sebagai teknologi pemrograman web, JSP memiliki bermacam-macam elemen yang dapat digunakan dalam suatu halaman JSP. Istilah halaman JSP mengacu pada file program yang berisikan kode-kode JSP.
Dalam JSP terdapat tiga komponen utama yaitu
  • Elemen scripting
  • Direktif
  • Action
Hayuu kita Mengenal Elemen Scripting
Kita bahas untuk elemen scipting. Elemen scripting terdiri dari 3 macam yaitu:
  • Scriplet
  • Deklarasi
  • Ekspresi
      
1. Scriplet

Kita telah mengenal kode :
<%
Out.print (“Selamat Belajar JSP di Politeknik Elektronika Negeri Surabaya”);
%>
Tanda <%%> menyatakan salah satu tag JSP yang dikenal dengan sebutan tag scriplet. Tag tersebut mengisyaratkan bahwa kode yang ada didalamnya adalah kode JSP. Di dalam tag tersebut sebenarnya anda bisa menuliskan pernyataan – pernyataan Java. Dalam hal ini setiap pernyataan diakhiri dengan titik koma (;). Pernyataan adalah satu instruksi lengkap yang akan diproses oleh Java. Kode berikut:
Out.print (“Selamat Belajar JSP di Politeknik Elektronika Negeri Surabaya”);
Merupakan contoh sebuah pernyataan, yaitu untuk mengirimkan string yang menjadi argumen print() ke halaman web.
Di dalam bahasa Java, pernyataan untuk menampilkan tulisan :
Selamat Belajar JSP di Politeknik Elektronika Negeri Surabaya Berupa :
System.Out.print (“Selamat Belajar JSP di Politeknik Elektronika Negeri Surabaya”);
Namun pada penulisan kode JSP, kata system perlu dibuang. Dalam hal ini out merupakan suatu objek yang telah terdefinisi (disediakan oleh JSP).
Selain menggunakan print(), kadangkala pemrogram JSP memakai println(). Perbedaan kedua metode ini :
• Print() tidak menambah baris baru (newline) pada keluaran, sedangkan.
• Println() menambahkan baris baru.
Perbedaan kedua metode ini terletak pada kode HTML yang dibangkitkan dan bukan pada tampilan browser.

Dan ini harus mengenal Mengenal Ekspresi JSP
Hasil suatu ekspresi JSP dapat dijadikan sebagai keluaran pada halaman web dengan menggunakan bentuk tag yang bersifat khusus, yakni seperti berikut :
<%= ekspresi Java%>
Tanda <%= %> biasanya dinamakan tag ekspresi. Dalam hal ini semua ekspresi dikonversikan ke string (deretan karakter) dan disisipkan ke halaman web. Sebagai contoh :
Waktu Sekarang : <%= new java.util.Data() %>
Akan menambahkan string hasil : new java.util.Date()
Di belakang string Waktu Sekarang. Perlu diketahui, new java.util.Date()
merupaka ekspresi yang biasa digunakan pada pemrograman Java untuk mendapatkan waktu sekarang.


2. Action

Action merupakan salah satu elemen JSP berupa tag-tag. JSP mengenal dua macam Action, yaitu:
• Tag Action Standar
• Custom Tag
Tag Action Standar
Tag-tag action standar tersebut adalah :
<jsp:usebean>
• <jsp:setproperty>
• <jsp:getproperty>
• <jsp:include>
• <jsp:param>
• <jsp:plugin>
• <jsp:forward>

Untuk tag action standar berikut ini <jsp:usebean>, <jsp:setproperty>, <jsp:getproperty> dijelaskan pada bab 5. Penjelesan masing-masing tag action standar sebagai berikut:
<jsp:include>
Tag ini digunakan untuk mengikutsertakan file lain dalam JSP saat request dilakukan. Contoh penggunaan:
<jsp:include page=”satu.html” flush=”true”>
<jsp:plugin>
Tag ini digunakan untuk menghasilkan kode-kode yang sesuai target browser dalam menyisipkan komponen Java bean atau Applet secara otomatis.
<jsp:param>
Tag ini digunakan untuk melengkapi tag <jsp:params>, <jsp:plugin>, maupun <jsp:forward>. Translation error akan terjadi apabila digunakan di tempat lain.
<jsp:params>
Tag ini digunakan hanya dalam jsp:plugin saja. Penggunaan di tempat lain akan mengakibatkan translation time error.
<jsp:forward>
Tag ini digunakan untuk memforward ke file JSP, Servlet atau file statik lain. Contoh penggunaan:
<jsp:forward page=”alamaturl.jsp”>


 Percobaan
1. Perintah print() Kode : println1.jsp

<html>
<head>
              <title>Contoh Println</title>
</head>
<body>
            <%
               out.print("Selamat Belajar JSP di PENS");
               out.print("Semoga Sukses dan Menikmati JSP");
              %>
</body>
</html>
Hasil di browser :



Scripting Element

Output program :
Tampilan utama seperti ditunjukkan gambar 2.5. Jika klik Home maka tampak seperti gambar 2.6, jika kita klik Tentang Kami maka akan tampak seperti gambar 2.7.

<table width="439" border="0" bgcolor="#0000FF">
<tr>
<td width="91" bgcolor="<%=latarhome%>" class="style1"><div align="center" class="style1"><strong><a href="taginclude.jsp?link=home">Home</a></strong></div></td>
<td width="83" bgcolor="<%=latarproduk%>" class="style1"><div align="center" class="style2"><a href="taginclude.jsp?link=produk">Produk</a></div></td>
<td width="101" bgcolor="<%=latarkontak%>" class="style1"><div align="center" class="style2"><a href="taginclude.jsp?link=kontak">Kontak</a></div></td>
<td width="136" bgcolor="<%=latartentang%>" class="style1"><div align="center" class="style2"><a href="taginclude.jsp?link=tentang">Tentang Kami</a> </div></td>
</tr>
</table>



Gambar 2.5

Gambar 2.6


Gambar 2.7

Cukup sekian di lanjut besok lagi Semoga bermanfaat ya kawan BD ......

Dasar JSP

     
     
  1.  1.Dasar JSP 
JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di Platform Java, serta merupakan bagian teknologi J2EE (Java 2 Enterprise Edition). sangat sesuai dan tangguh untuk menangani presentasi di web. Sedangkan J2EE merupakan platform Java untuk pengembangan sistem aplikasi enterprise dengan dukungan API (Application Programming Inteface) yang lengkap dan portabilitas serta memberikan sarana untuk membuat suatu aplikasi yang memisahkan antara business logic (sistem), presentasi dan data.
    JSP merupakan bagian dari J2EE dan khususnya merupakan komponen web dari aplikasi J2EE secara keseluruhan. JSP juga memerlukan JVM (Java Virtual Machine) supaya dapat berjalan, yang berarti juga mengisyaratkan keharusan menginstal Java Virtual Machine di server, dimana JSP akan dijalankan. Selain JVM, JSP juga memerlukan server yang disebut dengan Web Container.
Teknologi JSP menyediakan cara yang lebih mudah dan cepat untuk membuat halaman-halaman web yang menampilkan isi secara dinamik. Teknologi JSP didesain untuk membuat lebih mudah dan cepat dalam membuat aplikasi berbasis web yang bekerja dengan berbagai macam web server, application server, browser dan development tool.
    Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh USER menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh USER tapi SERVER yang akan melakukan tugas tersebut. Makanya pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.

  1. 2. Daur Hidup JSP
Sebagai gambaran bagaimana JSP melalui masa hidupnya bisa dilihat pada gambar berikut :




Gambar 1.1 Daur hidup JSP

Seperti tipe aplikasi java lainnya (Servlet, Applet, Midlet dll), JSP juga bertipe strong Type artinya penggunaan variable pada halaman tersebut harus dideklarasikan terlebih dahulu. Misalnya pada sintaks pengulangan berikut:
                                                for (int i=1; i<13; i++)
                                                                {
                                                                     // statement
                                                                  }
Seperti halnya skrip-skrip server side yang lain, JSP pun memerlukan Web server. Skrip ASP memerlukan IIS sebagai web server, PHP memerlukan IIS atau Apache, sedangkan JSP bisa menggunakan Apache Tomcat sebagai salah satu web server yang mendukungnya.
Agar bisa menjalankan file-file JSP yang berbasis Java, diperlukan web server yang mampu memproses Java, atau minimal JSP engine yang dapat terintegrasi dengan web server.

  1. 3. Web Container
Menurut spesifikasi J2EE, dikenal EJB Container, Web Container dan Application Server. Web Container adalah services yang dijalankan oleh suatu Java Application Server hususnya untuk services yang compliance/kompatibel dengan Servlet dan JSP. Selain menjadi services oleh Java Application Server, Web Container dapat berdiri sendiri. Contoh Web Container adalah Tomcat, ServletExec, Resin, Jrun, Blazix. Web Container juga dapat bekerja sama dengan web server, misalnya Tomcat dengan Apache, Jrun dengan IIS.
Web Server adalah software untyk server yang menangani request melalui protokol HTTP yang digunakan oleh situs-situs web saat ini dalam menangani request file statik HTML, sepeti Apache dan Microsoft IIS. Web server sekarang sering “dibungkus” oleh Java Application Server sebagai HTTP Server.
Java Application Server adalah Server yang terdiri atas HTTP Server (Web Server), EJB Container maupun Web Container. Contoh Java Application Server: Sun J2EE RI 1.2/1.3, Borland AppServer 4.5/Enterprise Server 5.0, Oracle9i Application Server dan lainnya.

  1. 4. Jakarta Tomcat
Jakarta Tomcat adalah web application server, yang mempunyai kemampuan sebagai Servlet container dan JSP container di mana Anda bisa mendeploy Servlet dan JSP. Di atas Jakarta Tomcat, Servlet dan JSP akan bekerja melayani request dari client, yang lumrahnya adalah berupa browser.
Untuk bisa menjalankan Jakarta Tomcat, Anda membutuhkan Java Development Kit (JDK). Untuk instalasi Jakarta Tomcat, Anda bisa mendownload binary dari http://jakarta.apache.org , dalam format .zip, .tar.gz. Yang Anda perlu lakukan hanyalah mendecompress file tersebut.
Dalam bekerja dengan Jakarta Tomcat, Anda mempunyai sebuah directory yang dikenal sebagai TOMCAT_HOME. TOMCAT_HOME adalah directory di mana Jakarta Tomcat diinstall. Selanjutnya di bawah TOMCAT_HOME Anda akan menemukan beberapa subdirectory, diantaranya bin/, conf/, logs/ dan webapp/. Di dalam subdirectory bin/ terdapat file-file executable terutama untuk menjalankan dan menghentikan Jakarta Tomcat. Di dalam subdirectory conf/ terdapat file-file untuk configuration. Di dalam subdirectory logs/ terdapat file-file log. Dan subdirectory webapp/ adalah di mana Anda bisa meletakkan aplikasi Web yang Anda bangun dengan Servlet dan JSP.Di bawah subdirectory webapp/ Anda bisa mengcreate subdirectory. Sub directory ini akan dijadikan sebagai Context oleh Jakarta Tomcat.
Anda menjalankan Jakarta Tomcat dengan mengexecute startup.sh di subdirectory bin/. Sedangkan untuk menghentikan Tomcat Anda mengexecute shutdown.sh di sub directory bin/ juga.Secara default Jakarta Tomcat siap melayani request dari client melalui port 8080. Melalui Web browser, Anda bisa menghubungi http://localhost:8080
  1. 5. Context
Sebuah Context adalah sebuah aplikasi Web yang terpisah, berdiri sendiri, independen. Sebuah Context mempunyai configuration masing-masing. Library dari sebuah Context juga tidak bisa dibaca oleh Context lain. Obyek di sebuah Context tidak bisa mengakses obyek di Context lain.

Di atas sebuah web application server seperti Jakarta Tomcat bisa dideploy lebih dari satu Context. Anda bisa membuat sebuah Context dengan mengcreate sebuah subdirectory di bawah TOMCAT_HOME/webapps/. Dalam folder webapps/ inilah file JSP ditaruh.
Sebuah Context yang lengkap mempunyai subdirectory WEB-INF/ di mana terdapat web.xml yang merupakan configuration file dari Context ini. Di dalam WEB-INF/ bisa terdapat subdirectory classes/ dan lib/. Subdirectory classes/ adalah di mana file-file .class diletakkan, sedangkan lib/ adalah di mana file-file .jar, yang merupakan kumpulan file-file .class, diletakkan.
  1. 6. Java Virtual Machine
Sebelum menginstal Web Container sebagai prasyarat untuk menjalanka JSP, maka terlebih dulu harus menginstal Java Virtual Machine. Java Virtual Machine adalah software yang berfungsi untuk menerjemahkan program Java supaya dapat dimengerti oleh komputer. Untuk memiliki Java Virtual Machine di komputer, maka perlu mendownload JDK (Java Development Kit) yang tersedia di http://java.sun.com karena untuk development diperlukan class-class API. Apabila tidak melakukan proses development dan hanya perlu menjalankan program, maka yang diperlukan hanya JRE (Java Runtime Environment).

Web Design



Dalam dunia maya (internet) kita mengenal beberapa istilah tentang web, www, website, web pages, dan homepage. Bagi orang awan,istilah tersebut bisa saja diartikan sama. Ada sebagian masyakat
kita mencantumkan alamat lengkap dengan imbuhan, misalnya homepage: www.toolkits.com atau website:www.desain2u.com atau alamat situs:www.entahkenapa.com dan lain-lain. Memang, sah-sah saja mencantumkan beberapa kalimat tersebut karena memang intinya sama yaitu mencantumkan alamat situs yang dapat dikunjungi. Untuk mengetahui arti yang sebenarnya, di bawah ini terdapat sedikit ulasan beberapa istilah dalam internet yang sering ditemui. 
          www (Word Wide Web) : merupakan kumpulan web server dari seluruh dunia yang berfungsi menyediakan data dan informasi untuk digunakan bersama-sama.
      Web adalah adalah fasilitas hypertext yang mampu menampilkan data berupa teks, gambar, suara, animasi, dan multimedia lainnya, di mana di antara data-data tersebut saling terkait dan berhubungan satu dengan yang lainnya. Untuk memudahkan dalam membaca data tersebut diperlukan sebuah web browser seperti Internet Explorer, Netscape, Opera, maupun Mozilla Firefox
     Website (situs web) : merupakan tempat penyimpanan data dan informasi berdasarkan topik tertentu. Diibaratkan web site ini seperti buku yang berisi topik tertentu.
    Web Pages (halaman web) : merupakan sebuah halaman khusus dari situs web tertentu. Diibaratkan halaman web ini seperti halaman khusus dari buku.
       Homepage : merupakan sampul halaman yang berisi daftar isi atau menu dari sebuah situs web. Mendesain web bukan merupakan pekerjaan yang berat dan bukan merupakan pekerjaan yang ringan. Apa maksudnya? Merancang web bukanlah pekerjaan yang berat artinya siapapun bisa menguasai dan membuatnya asalkan memiliki kemauan untuk belajar. Namun merancang web (web design) bukanlah pekerjaan yang ringan artinya tidak semua orang memiliki kemampuan yang luas tentang beberapa aspek yang harus diketahui agar tampilan web menarik sehingga banyak pengunjung yang datang. Sebagai contoh, ketika kita membuat sebuah homepage (halaman utama web) sangat lama proses aksesnya. Mengapa hal itu bisa terjadi? Itu semua diakibatkan tidak adanya ketentuan besarnya file halaman utama tersebut. Agar halaman web kita mudah diakses oleh para pengunjung tentunya harus memiliki pengetahuan dalam mendesain sebuah web. Buku ini sengaja disusun untuk memandu para web designer pemula agar menghasilkan sebuah website yang inovatif dan kreatif
secara profesional. Ulasan dalam buku ini menyangkut masalah teknik pembuatan interface (halaman muka) sebuah website menggunakan Adobe Photoshop kemudian diolah menggunakan
Macromedia Dreamweaver. Selanjutnya, dipercantik dengan tambahan animasi yang dibuat menggunakan Macromedia Flash. Jadi kita menggunakan 3 tools untuk membuat situs yang inovatif
dan kreatif secara profesional.
Dalam buku ini tidak lagi membahas secara teoritis tentang penggunaan masing-masing tools namun langsung pada permasalahan yang sering dijumpai ketika akan membuat sebuah situs.


1.1. TIPS MEMBUAT WEBSITE PROFESIONAL
        Terdapat beberapa point penting ketika membuat sebuah website yang profesional.
  1.     Homepage (halaman utama) situs Anda harus dapat diakses maksimal 8 detik atau dapat diakses  melalui koneksi jaringan internet minimal 28,8 kbps. Apabila proses koneksi membutuhkan waktu yang sangat lama, hal ini akan berpotensi hilangnya customer (pengunjung) yang tidak “betah” menunggu terlalu lama. Akhirnya situs kita tidak akan dikunjungi olah para “calon customer”.
  2. Pastikan menyertakan META Tag pada masing-masing halaman website Anda. META Tag adalah kode yang memungkinkan search engine (mesin pencari seperti: Google) untuk menentukan kata kunci yang relevan dari website Anda.
  3. Pilihlah warna latar belakang (background) yang sesuai, jangan menggunakan warna yang mempengaruhi teks untuk dibaca. Warna situs menjadi sebuah ekspresi hati Anda. Warna orange melambangkan keceriaan sedangkan warna ungu atau hitam melambangkan kesuraman. Untuk itu pilihlah warna yang sesuai untuk situs Anda berdasarkan isi yang terkandung dalam situs tersebut.
  4. Gunakan animasi seperlunya, jangan terlalu berlebihan karena dapat mempengaruhi konsentrasi pengguna ketika sedang membaca informasi. Selain itu, animasi juga dapat menghambat akses ke halaman situs Anda. Sebuah animasi yang bagus bukan menjadi jaminan bahwa situs Anda menarik perhatian pengunjung.
  5. Halaman Utama situs harus lebih spesifik agar para pengunjung dapat mengetahui produk yang ditawarkan. Sebagai contoh, jika situs Anda merupakan sebuah lembaga konsultasi maka sebaiknya jasa-jasa konsultasi yang ditawarkan ditampilkan di halaman utama. Jangan sampai pengunjung merasa bingung dengan keberadaan situs Anda yang tidak jelas produk yang
    ditawarkan.
  6. Hindari pemasangan iklan (banner) di bagian atas website Anda. Batasi jumlah banner yang akan ditayangkan, maksimal 2 dan idealnya cukup 1 banner. Semakin banyak jumlah banner,
    semakin lama proses akses dan akan sangat mengganggu konsentrasi pengguna ketika mengunjungi situs Anda.
  7. Periksa ejaan yang salah dan pastikan gambar dan link terhubung dengan baik sebelum ditampilkan secara on-line. Kesalahan dalam mengetikkan alamat url mengakibatkan halaman tersebut akan “ERROR”. Jika sebuah situs terdapat salah satu atau beberapa halaman yang error menjadikan situs tersebut nampak tidak profesional.
  8. Lengkapilah website Anda dengan tombol navigasi yang mudah dan tersusun dengan rapi pada bagian atas, bawah, kiri, maupun kanan. Jika menggunakan tombol dalam bentuk gambar, perlu diingat bahwa kemungkinan proses akses lebih lama. Mengapa? Karena gambar memiliki ukuran yang cukup besar, dan seperti kita ketahui. Sebuah halaman situs maksimal berukuran tidak lebih dari 100kb.
  9. Jika terpaksa harus menggunakan Frame, gunakan secara tepat. Pada dasarnya, penggunaan Frame dalam sebuah situs akan berkesan tidak profesional. Hindari halaman yang memerlukan “scroll”, ini mengakibatkan pengujung kurang nyaman untuk mencari informasi sehingga akan cepat-cepat “kabur” dari situs Anda.
  10. Perhitungkan jumlah klik yang dibutuhkan untuk pindah dari halaman satu ke lainnya. Jika terlalu banyak klik akan sangat membosankan bagi pengunjung. Anda bisa menerapkan sistem
    navigasi yang lebih nyaman dengan menyertakan logo pada setiap halamannya.
  11. Jika menggunakan “JAVA” pada website Anda gunakan secara tepat. Tawarkan “Java” atau “No Java” kepada pengunjung karena dapat mempengaruhi kinerja masing-masing browser. Hindari adanya iklan “pop up” yang akan membuat pengunjung menjadi bosan.
  12. Jangan menambahkan “autoplay” suara ketika seseorang mengunjungi situs Anda. Sebaiknya tawarkan, apakah menggunakan intro beserta audio (suara) ataukah langsung ke halaman utama.
  13. Periksa website Anda dengan beberapa jenis browser karena masing-masing browser memiliki kemampuan yang berbeda.
1.2. PRINSIP DALAM MENDESAIN WEBSITE
           Ketika Anda mulai memikirkan merancang sebuah website, Anda perlu memikirkan
       bagaimana pemilihan warna yang tepat sehingga akan memberikan penilaian tersendiri kepada 
      pengunjung tentang website yang Anda buat dan bagaimana rancangan tata letak (design layout)
      dapat membantu “mendesain secara kerja sama” dalam sebuah tim. Disain yang bagus hampir
      tidak kelihatan, namun jika disainnya jelek maka akan memberikan dampak yang luar biasa. Jika 
      disain website Anda dirancang bagus dan tata letak informasi juga membantu para pengunjung
      mudah menggunakan website tersebut, pengunjung pasti akan kembali menjelajah website Anda.
      Namun jika Anda tidak berpikir bagaimana mendisain dan memilih warna yang baik maka akan
      memberikan dampak kepada pengguna/pengunjung tersebut. Jika hal ini terjadi, jangan harap
      pengunjung/pengguna akan kembali lagi mengunjungi situs Anda.
1.3. SOFTWARE DISAIN GRAFIS
             Dalam merancang sebuah website, kita tidak bisa lepas dari perangkat lunak untuk mengolah
       gambar (image) sebagai bagian dari website. Ada beberapa alat disain grafis yang dapat
       digunakan untuk membantu dalam membuat website yang cantik, diantaranya:
  1. Adobe Photoshop (http://www.adobe.com) : software ini sangat populer dan dapat diandalkan untuk membuat dan mengedit grafik maupun gambar fotografi.
  2. Adobe Illustrator (http://www.adobe.com) : software ini digunakan untuk membuat gambar dalam bentuk vektor dan dapat digunakan untuk membuat ilustrasi.
  3. PaintShop Pro (http://www.jasc.com) : software ini sama dengan Adobe Photoshop, sedikit lebih canggih namun masih kalah populer dibandingkan Adobe Photoshop.
  4. Macromedia Fireworks (http://www.macromedia.com) : software ini sangat mirip dengan Adobe Photoshop, namun tool ini berbasis vektor. Software ini mengijinkan semua elemen dapat diedit kembali dan dapat berintegrasi dengan Macromedia Dreamweaver.
  5. Macromedia Flash (http://www.macromedia.com) : software ini dapat digunakan untuk membuat animasi dan berbasis vektor untuk website.