Saat kita mencari data di web tak lepas dari jasa search engine. Kadang, daripada menghapal namasitus yang sangat banyak di dunia, orang lebih senang memakai jasa ini.
Masing-masing search engine mempunyai metode tersendiri untuk memperlihatkan hasil pencariannya. Google mempunyai apa yang disebut Google API. Begitu juga Yahoo. API tersebut biasanya memanfaatkan teknologi webservice untuk komunikasi datanya.
Tak dapat dipungkiri, search engine telah banyak membantu kita. Tapi ada juga masalah yang kadang terjadi akibat search engine. Berikut adalah kelebihan dan kekurangan search engine:
Kelebihan
Search engine memudahkan pencarian data relevan. Jika kita mengetikkan kata kunci tertentu, search engine akan berusaha mencari data paling cocok sesuai dengan APInya masing-masing.
Mendukung web-service. Fitur ini untuk pengembang software. Dengan mengetahui web-service suatu search engine, kita tidak perlu membuat search engine sendiri untuk membuat aplikasi yang support pencarian di web. Contohnya adalah browser firefox, Yahoo Messenger atau flock. Aplikasi-aplikasi tersebut support pencarian.
Search engine mengindex suatu halaman secara berkala. Jadi, bila suatu website diupdate search engine akan mengetahuinya.
Saat ini search engine juga support localized search. Yaitu pencarian berdasarkan lokasi pengunjung. Contohnya adalah google, jika anda mengetik google.com… di indonesia, maka akan redirect ke google.co.id.
Cepat diakses. Search engine biasanya didesain simpel agar cepat diakses. Hasil pencarian pun juga cepat muncul karena memakai caching.
Kekurangan
Kecepatan index dan kecepatan berkembangnya web yang tak sebanding. Saat ini berbagai website banyak bermunculan, jika kecepatan index search engine tidak ditingkatkan maka tak mungkin search engine bisa mengindex semuanya.
Kadangkala search engine tidak menampilkan hasil yang diinginkan. Search engine selalu berusaha menampillkan hasil yang relevan. Tetapi kadang kala tetap memperlihatkan hasil yang tidak relevan.
Munculnya orang-orang yang melakukan link-spamming. Yaitu melakukan spamming link untuk meningkatkan posisi mereka di search engine.
Tidak bisa mengindeks halaman tertentu. Beberapa website yang memakai konten dinamis tidak bisa diindex. Biasanya website seperti ini dihalangi oleh form yang mengharuskan inputan.

1.1 Latar Belakang Pemilihan Judul
Laboratorium Sistem Digital merupakan salah satu laboratorium di Jurusan Teknik Elektro FT-UGM. Keterbatasan petugas laboratorium dalam memberikan informasi kepada civitas akademika khususnya mahasiswa, membuat perlu adanya sistem informasi yang mudah diakses oleh kalangan civitas akademika.
Adanya LAN pada laboratorium Sistem Digital yang membuat hampir semua komputer dapat dihubungkan, memungkinkan untuk membuat suatu sistem informasi berbasis Web pada suatu server yang dapat diakses oleh semua komputer client di laboratorium tersebut. Kebutuhan pengguna umum terutama untuk kalangan civitas akademika terhadap informasi yang berkaitan dengan laboratorim sistem digital bisa didapat kapan saja. Selain memberikan layanan informasi, sistem informasi ini dapat digunakan untuk pendaftaran praktikum atau kurikulum yang berlaku.

1.2 Maksud dan Tujuan
Tugas akhir ini dibuat dengan maksud laboratorium sistem digital sebagai pihak yang menyajikan informasi dapat memberikan fasilitas informasi yang cukup kepada pihak-pihak yang membutuhkan terutama kalangan civitas akademika tanpa terhalangi oleh waktu dan tempat.
1.3 Batasan Masalah
Pembuatan tugas akhir ini dibatasi dalam hal penyediaan sistem informasi laboratorium sistem digital. Aplikasi ini menyediakan beberapa layanan informasi, di mana yang menjadi bahasan pokok dalam tugas akhir ini adalah sistem informasi perpustakaan di laboratorium (laporan tugas akhir, kerja praktek, buku) dan pendaftaran praktikum di laboratorium tersebut. Selain itu juga disediakan informasi tambahan yaitu kurikulum (baik reguler maupun ekstensi), tata tertib laboratorium, modul praktikum, serta penelitian yang sedang berjalan saat ini di laboratorium tersebut.
Selain level pengguna umum yang hanya dapat melihat sistem informasi serta mendaftar sebagai calon praktikan, ada level laboran yang dapat mengubah, menghapus dan menambah seluruh data yang ada pada database server.

1.4 Sistematika Penulisan Laporan
Laporan tugas akhir ini dibuat dengan sistem penulisan sebagai berikut:
BAB I PENDAHULUAN
Berisi tentang latar belakang pemilihan judul Pengembangan Perangkat Lunak Berbasis Web untuk Sistem Informasi Laboratorium Sistem Digital Jurusan Teknik Elektro FT-UGM, maksud dan tujuan, batasan masalah, dan sistematika penulisan laporan.
BAB II TEORI DASAR
Berisi tentang penjelasan tentang www, sistem informasi, basis data, struktur HTML, Active Server Page (ASP), dan ActiveX Data Object (ADO).
Operasi dasar basis data terutama dengan MySQL, IIS (internet information service), aplikasi web dengan ASP.
Sistem informasi laboratorium sistem digital berbasis web.
BAB III RANCANGAN APLIKASI SISTEM INFORMASI BERBASIS WEB
Berisi tentang rancangan web di laboratorium sistem digital serta rancangan basis datanya.
BAB IV PEMBAHASAN PROGRAM APLIKASI
Berisi tentang pembahasan program aplikasi menurut hak akses dan fasilitas yang digunakan masing-masing pengguna, kelebihan dan kekurangan program aplikasi dan perbandingan dengan program yang ada di pasaran.
BAB V KESIMPULAN DAN SARAN
Berisi tentang kesimpulan yang diambil dari pembahasan program aplikasi sistem informasi ini dan saran untuk pengembangan program aplikasi ini.
Selain terdiri dari 5 bab yang telah disebutkan di atas, masih ditambah lagi dengan daftar pustaka dan lampiran yang berisi program aplikasi web.

Sistem informasi adalah aplikasi komputer untuk mendukung operasi dari suatu organisasi: operasi, instalasi, dan perawatan komputer, perangkat lunak, dan data. Sistem Informasi Manajemen adalah kunci dari bidang yang menekankan finansial dan personal manajemen. Sistem Informasi Penjualan adalah suatu sistem informasi yang mengorganisasikan serangkaian prosedur dan metode yang dirancang untuk menghasilkan, menganalisa, menyebarkan dan memperoleh informasi guna mendukung pengambilan keputusan mengenai penjualan.
Sistem Informasi adalah sekumpulan hardware, software, brainware, prosedur dan atau aturan yang diorganisasikan secara integral untuk mengolah data menjadi informasi yang bermanfaat guna memecahkan masalah dan pengambilan keputusan
Sistem Informasi adalah satu Kesatuan data olahan yang terintegrasi dan saling melengkapi yang menghasilkan output baik dalam bentuk gambar, suara maupun tulisan.
Sistem informasi adalah sekumpulan komponen pembentuk sistem yang mempunyai keterkaitan antara satu komponen dengan komponen lainnya yang bertujuan menghasilkan suatu informasi dalam suatu bidang tertentu. Dalam sistem informasi diperlukannya klasifikasi alur informasi, hal ini disebabkan keanekaragaman kebutuhan akan suatu informasi oleh pengguna informasi. Kriteria dari sistem informasi antara lain, fleksibel, efektif dan efisien.
Sistem informasi adalah kumpulan antara sub-sub sistem yang salaing berhubungan yang membentuk suatu komponen yang didalamnya mencakup input-proses-output yang berhubungan dengan pengolaan informasi (data yang telah dioleh sehingga lebih berguna bagi user)
Suatu sistem informasi (SI) atau information system (IS) merupakan aransemen dari orang, data, proses-proses, dan antar-muka yang berinteraksi mendukung dan memperbaiki beberapa operasi sehari-hari dalam suatu bisnis termasuk mendukung memecahkan soal dan kebutuhan pembuat-keputusan manejemen dan para pengguna.
Artikel
Sistem Informasi Di Indonesiahttp://rms46.vlsm.org/2/114.pdf

Shell adalah Command executive, artinya program yang menunggu
instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #.
Beberapa macam shell :

· /bin/sh

Bourne shell, dirancang oleh Steve Bourne dari AT&T

· /bin/csh

Dikembangkan oleh UNIX Berkeley yang dikenal dengan C-Shell

· /bin/bash

Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Korn- Shell.
Perbedaan mendasar antara Shell diatasi hampir tidak ada, kecuali pada

fasilitas pemrograman dan editing.


A. PROFILE

Pada saat login, program akan menjalankan beberapa program yaitu :

1. /etc/profile

Berisi shell script yang berlaku untuk seluruh pengguna Linux.

2. Profil untuk setiap pemakai

Pada home directory, login pertama kali akan memeriksa file .bash_profile. Bila tidak ada, maka file .bash_login akan dicari. Bila .bash_login tidak ada, maka dicari file bernama .profile.
3. .bashrc

File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui instruksi su.
4. .bash_logout

Pada saat logout, maka bash akan mencari file .bash_logout. Bila ada, file tersebut akan dieksekusi sebelum logout


Isi dari /etc/profile

# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc

PATH=”$PATH:/usr/X11R6/bin” PS1=”[\u@\h \W]\\$ “
umask 022

USER=’id –un’ LOGNAME=$USER
MAIL=”/var/spool/mail/$USER”

HOSTNAME=’/bin/hostname’ HISTSIZE=1000
HISTFILESIZE=1000

Export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL


PATH merupakan daftar nama direktori. Bila sebuah instruksi diberikan dari prompt shell, maka instruksi tersebut akan dicari pada daftar tersebut.
PS1 adalah prompt dimana

\u = Nama User

\h = Nama Host
\W = Nama working direktory


B. HISTORY

History diadaptasi dari C-Shell, yaitu catatan dari semua instruksi yang sejauh ini telah dilakukan. Catatan ini dapat dilihat sebagai history, kemudian dapat dipilih kembali, diedit dan dieksekusi. History memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter.
Navigasi pada daftar history menggunakan karakter kontrool sebagai

berikut :

^P (Ctrl-P) melihat instruksi sebelumnya

^N (Ctrl-N melihat instruksi berikutnya

!! eksekusi kembali instruksi sebelumnya

!! –3 3 instruksi sebelumnya akan diulang

!!88 ulangi instruksi no 88



BASH-SCRIPT

Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi. Untuk eksekusi bash script gunakan . sebelum file bash-script yang berarti eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.


JOB CONTROL

Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah Job dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi Job adalah sama dengan eksekusi program, baik proses Background maupun proses Foreground.

C. LANGKAH – LANGKAH

1. Masuk ke sistem operasi Linux.

2. Login sebagai stD3XXYYY.

3. Melihat profile pada file .bash_profile dan .bash_logout.
4. Gunakan instruksi history : history dan fc.

5. Buatlah file bash script dengan editor vi; instruksi chmod, &, fg, bg

6.
Gunakan perintah job control : jobs

7.
Gunakan perintah manipulasi stack untuk direktori : dirs, pushd,
popd
8.
Gunakan perintah alias dan unalias





D. PERCOBAAN

Percobaan 1 : Profile

1. File .bash_profile dijalankan pada home direktori pemakai yang login. File

.bash_profile adalah hidden file, sehingga untuk melihatnya gunakan opsi a pada instruksi ls.
$ ls –a
$ more .bash_profile

2. File .bash_logout akan diekseksi sesaat sebelum logout, berfungsi sebagai house clearing jobs, artinya membersihkan semuanya, misalnya menghapus temporary file atau job lainnya. Melihat file .bash_logout dengan instruksi
$ cat .bash_logout

Percobaan 2 : History

1. Melihat batasan maksimum instruksi yang dapat disimpan

$ echo $HISTSIZE

2. Melihat daftar instruksi yang telah dilakukan dengan perintah history. Daftar instruksi dilengkapi dengan nomor urut. Nomor ini dapat dijadikan parameter dalam mengedit atau mengulang instruksi
$ history

3. Selain history, instruksi fc (fix command) juga dapat digunakan

$ fc –l

4. Instruksi fc dapat menampilkan instruksi antara 2 nomor atau dengan menggunakan kata depan instruksi yang diberikan
$ fc –l [Nomor urut1] [Nomor urut2] (Misalnya fc –l 85 88)
$ fc [Instruksi1] [Instruksi2] (Misalnya fc –l exit more)






Percobaan 3 : Membuat Bash-script dan menjalankannya

1. Membuat file p1.sh

$ vi p1.sh
echo “Program bash Script”

2. Mengubah program menjadi executable

$ ls –l p1.sh
$ chmod +x p1.sh
$ ls –l p1.sh

3. Menjalankan script

$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ ./p1.sh

4. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash. Tambahkan pada file p1.sh konvensi tersebut
$ vi p1.sh
#!/bin/bash
echo “Program bash script”

5. Buatlah file p2.sh

$ vi p2.sh
#!/bin/bash
echo “Program 2 bash script”

6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh

7. Menjalankan script sebagai prosees background, sehingga prompt tidak menunggu program tersebut selesai. Untuk menjalankan proses background gunakan tanda & pada akhir instruksi.
$ ./p1.sh &
$ ./p2.sh &

8. Untuk menjalankan 2 program atau lebih dalam satu block, kemudian dieksekusi sebagai proses background, gunakan tanda ( … )
$ (ls ; who) > hasil &




$ cat hasil

Percobaan 4 : Job Control

1. Proses foreground

$ ps x

2. Proses background

$ ps x > hasil &

3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif

$ jobs

4. Buatlah file ploop.sh. File ini tidak akan pernah berhenti kecuali ditekan Ctrl-C

$ vi ploop.sh
#!/bin/bash while [ true ] do


done
sleep 10
echo “Hallo”

5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan

kata Hallo setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)

$ chmod +x ploop.sh
$ ./ploop.sh

6. Jalankan program sebagai background

$ ./ploop.sh &

7. Periksa job yang aktif

$ jobs

8. Ubah job menjadi foreground, gunakan fg dan nomor job, atau fg dengan argumen berupa nama jobs yang sedang berjalan, atau bila tidak rancu dengan jobs yang lain, gunakan huruf depan nama jobs yang sedang berjalan.
$ fg %[Nomor Job] (Contoh : fg %1) atau
$ fg %ploop.sh

9. Untuk mengembalikan jobs tersebut ke background, tekan Ctrl-Z (^Z), kemudian jalankan instruksi bg
$ bg
$ jobs





Percobaan 5 : Manipulasi stack untuk Direktori

1. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya ditampilkan direktori home ~
$ dirs

2. Membuat 3 buah direktori

$ mkdir marketing sales support

3. Masukkan direktori sales ke dalam stack dengan instruksi pushd. Maka terdapat 2 direktori dalam stack yaitu $HOME/sales dan $HOME. Kemudian lihat direktori aktual
$ pushd sales
$ pwd

4. Masuk ke direktori support

$ pushd /home/stD3XXYYY/support
$ pwd

5. Lakukan kembali untuk direktori marketing

$ pushd ../marketing
$ pwd

6. Bila pushd dilakukan tanpa argumen, maka stack akan mengambil direktori berikutnya
$ pushd
$ pushd
$ pushd

7. Untuk membuat direktori sales menjadi direktori paling atas (top stack), maka pushd dapat dilakukan dengan argumen +n, dimana n adalah nomor urut direktori tersebut
$ pushd +2
$ pwd

8. Untuk menghapus direktori dari stack, gunakan instruksi popd

$ popd
$ popd +2
$ dirs








Percobaan 6 : Alias

1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi. Untuk melihat alias yang sudah terdaftar pada system :
$ alias

2. Membuat beberapa alias

$ alias del=’rm –i’
$ alias h=’history’

3. Gunakan instruksi hasil alias

$ ls
$ del hasil
$ h more

4. Untuk menghapus alias gunakan instruksi unalias

$ unalias del
$ del files (Terdapat Pesan Kesalahan)





E. Latihan

1. Eksekusi seluruh profile yang ada :

a. Edit file profile /etc/profile dan tampilkan pesan sebagai berikut :

echo “Profile dari /etc/profile”

b. Asumsi nama anda stD02001, maka edit semua profile yang ada yaitu

:

/home/stD02001/.bash_profile
/home/. stD02001/.bash_login
/home/stD02001/.profile
/home/stD02001/.bashrc

Ganti nama /home/stD02001 dengan nama anda sendiri. Pada setiap file tersebut, cantumkan instruksi echo, misalnya pada /home/ stD02001/.bash_profile :
echo “Profile dari .bash_profile”

Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang bersangkutan.







c. Jalankan instruksi subtitute user, kemudian keluar dengan perintah exit sebagai berikut :
$ su stD02001

$ exit

kemudian gunakan opsi – sebagai berikut :

$ su – stD02001

$ exit

Jelaskan perbedaan kedua utilitas tersebut.

2. Prompt String (PS)

a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan parameter nama variable tersebut, agar perubahan variable PS1 dikenal oleh semua shell
PS1=’> ‘
export PS1

b. Eksperimen hasil PS1 :

$ PS1=“\! > “
69 > PS1=”\d > “
Mon Sep 23 > PS1=”\t > “
10:10:20 > PS1=”Saya=\u > “
Saya=stD02001 > PS1=”\w >”
~ > PS1=\h >”
3. Logout

Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi logout
Echo “Terima kasih atas sesi yang diberikan” Sleep 5
clear

4. Bash script

a. Buat 3 buah script p1.sh, p2.sh, p3.sh dengan isi masing-masing

:

p1.sh

#! /bin/bash
echo “Program p1”
ls –l

p2.sh

#! /bin/bash
echo “Program p2”
who




p3.sh

#! /bin/bash
echo “Program p3”
ps x

b. Jalankan script tersebut sebagai berikut :

$
./p1.sh ; ./p3.sh
;
./p2.sh

$
./p1.sh &



$
./p1.sh $ ./p2.sh
&
./p3.sh
&


5. Jobs
$ ( ./p1.sh ; ./p3.sh ) &

a. Buat shell-script yang melakukan loop dengan nama pwaktu.sh, setiap 10 detik, kemudian menyimpan tanggal dan jam pada file hasil.
#!/bin/bash while [ true ] do


done
date >> hasil
sleep 10

b. Jalankan sebagai background; kemudian jalankan satu program (utilitas find) di background sebagai berikut :
$ jobs
$ find / -print > files 2>/dev/null &
$ jobs

c. Jadikan program ke 1 sebagai foreground, tekan ^Z dan kembalikan program tersebut ke background
$ fg %1
$ bg

d. Stop program background dengan utilitas kill

$ ps x
$ kill [Nomor PID]

6. History

a. Ganti nilai HISTSIZE dari 1000 menjadi 20

$ HISTSIZE=20
$ h

b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang terakhir dilakukan
$ !-5







c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada history buffer
$ !!

d. Ulaingi instruksi pada history buffer nomor 150

$ !150

e. Ulangi instruksi dengan prefix “ls”

$ !ls

1. INDONESIA

package Java1.Java;
import java.sql.*;
public class Indonesia {
private Connection conn;
// nama dsn di odbc private String url = "jdbc:odbc:kamus";
private Statement stmt; private String sql; private ResultSet rs;
// constructor // koneksi dibuka ketika class ini dipanggil
public Indonesia() { this.BukaKoneksi(); }
// Buka Koneksi DataBase
public void BukaKoneksi() { // coba try { // pengaksesan lewat JDBC-ODBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection(url); } // kalau gagal catch (ClassNotFoundException clex) { System.out.println("Driver database tidak ada"); } catch (SQLException sqlex) { System.out.println("Koneksi gagal dilakukan"); } }
public String caridata(String kata){ String hasil = null; try{ stmt=conn.createStatement(); // query dengan parameter dan sorting sql="select * from DataKamus where English='"+ kata +"'"; rs=stmt.executeQuery(sql); while (rs.next()){ hasil = rs.getString("Indonesia"); //System.out.println("Arti : " + rs.getString("Arti")); } } catch (SQLException sqlex) { System.out.println("Query gagal dieksekusi"); } return hasil; } public String findword(String kata){ String hasil = null; try{ stmt=conn.createStatement(); // query dengan parameter dan sorting sql="select * from DataKamus where Indonesia='"+ kata +"'"; rs=stmt.executeQuery(sql); while (rs.next()){ hasil = rs.getString("English"); } } catch (SQLException sqlex) { System.out.println("Query gagal dieksekusi"); } return hasil; }
}


2. TERJEMAH

package Java1.Java;
import java.util.Scanner;import javax.swing.*;public class Terjemah {
public static void main(String[] args) { Indonesia db =new Indonesia(); Scanner input = new Scanner(System.in); int pilih; String hasil; do{ String input1 = ""; input1 = JOptionPane.showInputDialog ("Java Dictionary [2.16.1988]\n(C) Copyright 2006-2008\nManajemen Informatika\n\n1. English - Indonesia\n2. Indonesia - English\n3. About\n4. Exit\n\nPilihan Anda : ",""); pilih = Integer.parseInt(input1); System.out.println(); if (pilih >=1 && pilih <=4){ if (pilih==1) { String teks = JOptionPane.showInputDialog ("Masukkan kata : "); hasil= db.caridata(teks); if (hasil==null) JOptionPane.showMessageDialog(null,"Maaf, Data yang Anda cari tidak ditemukan!!","Informasi",JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,teks+" = "+hasil, "English - Indonesia", JOptionPane.INFORMATION_MESSAGE); } else if (pilih==2){ String text = JOptionPane.showInputDialog ("Masukkan kata : "); hasil = db.findword(text); if (hasil==null) JOptionPane.showMessageDialog(null,"Maaf, Data yang Anda cari tidak ditemukan!!","Informasi",JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(null,text+" = "+hasil,"Indonesia - English",JOptionPane.INFORMATION_MESSAGE); } else if (pilih==3) JOptionPane.showMessageDialog(null,"Java Dictionary [2.16.1988]\n(C) Copyright 2006-2008\nManajemen Informatika All right reserved\n\nThis Dictionary is freeware for everyone\nVisit http://www.kurkurcyber.blogspot.com by :\n1. Kurniawan hartanto,"Informasi",JOptionPane.INFORMATION_MESSAGE); else System.exit(0); } else JOptionPane.showMessageDialog(null,"Pilihan yang Anda masukkan salah !!!","Kesalahan",JOptionPane.ERROR_MESSAGE); } while (pilih != 4); }}

;;