Kali ini Kantin Kampus akan membahas bagaimana cara menghubungkan Delphi dengan Database acces, tapi sebelumnya anda harus mengatahui cara membuat database menggunakan Microsoft Office Acces. Bila teman-teman belum mengatahui caranya, sebaiknya teman-teman Kantin Kampus wajibkan membaca postingan Kantin Kampus ini, Membuat Database menggunakan Microsoft Office Access 2007
Adapun Langkah -langkahnya ?
1. Install Delphi 7 kemudian Open
2. Buat Form seperti gambar di bawah ini
3. Komponen yang di Gunakan :
ADO Connection Ada Di Pallete ADO
ADOTable Ada di Pallete ADO
DataSource Ada di Pallete Data Acces
DBNavigator Ada di Pallete Data Control
DBGrid Ada di Pallete Data Control
Button Ada di Pallete standar
Label Ada di Pallete standar
4. Atur Object Inspector seperti ini
5. Untuk komponen Button : name = butun1 & caption = keluar
label : name = label1 & caption = Nama- nama Fans Club Sepak bola
6. Pada AdoConnection Properties pilih connection string kemudian klik akan muncul tampilan seperti ini
7. Apabila semua langkah - langkah sudah anda cek kebenarannya, hasilnya seperti ini
8 Kemudian klik Run (F9) untuk menjalankannya liat hasilnya
PHP merupakan salah satu bahasa pemrograman web yang paling banyak digunakan. Hasil dari NetCraft, kalau di persentase sekitar 70,9% atau kurang lebih 52 juta pengguna PHP diseluruh dunia.
Nah bagaimana PHP bisa menjadi bahasa pemrograman pilihan para web developer ??
Mari berkenalan dengan PHP.
Sejarah
Pada tahun 1995, Rasmus Lerdorf adalah seorang software development contractor, mengembangkan skrip Perl/CGI untuk mengetahui jumlah pembaca online resume-nya. Rasmus membuat script yang mengerjakan dua hal yaitu ..membuat database informasi reader, dan menampilkan jumlah reader ke halaman web.
Rasmus lah pencetus awal adanya tool page viewer, sehingga pada saat itu banyak developer yang mengirimkan e-mail ke Rasmus, menanyakan tentang skrip yang dibuatnya. Hal itulah yang membuat Rasmus melepas skripnya, dan diberi nama PHP (Personal Home Page).
Rasmus kemudian mulai mengembangkan banyak tambahan pada PHP, salah satu diantaranya adalah mengubah data yang dimasukkan dalam form HTML menjadi sebuah variabel. Pengubahan data ini nantinya akan memungkinkan user untuk mengekspor data ke dalam sistem mereka. Untuk menyelesaikan tambahan tersebut, Rasmus lebih memilih menggunakan bahasa C daripada Perl.
Tambahan terus-menerus kepada PHP toolset memuncak pada November 1997 dengan pelepasan PHP 2.0, atau Personal Home Page — Form Interpreter (PHP-FI). Peluncuran ini juga meningkatkan popularitas PHP, yang ditandai dengan banyaknya pengembangan dan perbaikan yang dilakukan oleh programmer di seluruh dunia.
Peluncuran PHP yang sedemikian populer, membuat sebuah tim developer bergabung dengan Rasmus. Mereka menjaga konsep penyisipan kode secara langsung ke dalam HTML, dan menulis kembali parsing engine-nya. Hal ini kemudian melahirkan PHP 3.0. Pada pelepasannya -ditahun 1998-, ada 50.000 user yang menggunakan PHP pada website mereka.
Pada tahun 1999, NetCraft mencatat ada 1.000.000 lebih pengguna PHP yang membuat PHP menjadi “the most popular scripting languages in the world”.
Dua pengembang inti PHP, Zeev Suraski dan Andi Gutmans, mengambil inisiatif untuk mempelopori pemikiran kembali tentang bagaimana PHP dioperasikan, dan kemudian mengenalkan Zend scripting engine.Hasilnya dapat dilihat dari peluncuran PHP 4.
PHP terkenal dengan 4 kelebihannya :
* Practical / Praktis :
PHP adalah bahasa pemrograman yang sangat longgar dalam penulisan, dan ini meningkatkan kepraktisan buat para penggunanya. Misalnya saja programmer tidak diharuskan untuk menuliskan atau menghapus variabel. Walaupun kadang mereka juga tidak bisa mengatakan dengan mudah yang kemudian dipanggil dalam sebuah skrip, menebak formula terbaik dalam penetapan variabel secara otomatis kemudian menghapus variabel dan dan mengembalikan resource ke sistem setelah skrip berhasil di eksekusi.Pada akhirnya, PHP mampu membuat programmer lebih berpikir pada tujuan akhir dari project yang akan dibuat.
* Power
Sudah jadi rahasia umum kalau PHP mampu membuat halaman dinamis, memanipulasi form, dan dapat dihubungkan dengan database. Selain yang disebutkan tadi, ternyata PHP juga mampu melakukan hal-hal dibawah ini:
Membuat dan memanipulasi file Macromedia Flash, gambar, dan Portable Document Format (PDF),
Mengevaluasi sebuah password. Misal: Apakah sebuah password yang dibuat, gampang ditebak atau tidak.
Berkomunikasi dengan LDAP
Menguraikan string, bahkan yang kompleks sekalipun, dengan menggunakan POSIX dan Perl Based Regular Expression Library
Berkomunikasi dengan banyak protokol, termasuk IMAP, POP3 dan NNTP
Berkomunikasi dengan credit-card processing solution
* Possibility
Jarang ada developer PHP yang terikat pada suatu implementasi pemecahan masalah. Dilain sisi, ada banyak pilihan yang ditawarkan oleh PHP.
Contohnya ada pada database yang didukung oleh PHP. Kurang lebih semuanya ada 25 database, termasuk Adabas D, dBase, Empress, FilePro, FrontBase, Hyperwave, IBM DB2, Informix, Ingres, Interbase, mSQL, direct MS-SQL, MySQL, Oracle, Ovrimos, PostgreSQL, Solid, Sybase, Unix dbm, dan Velocis.
Kemampuan string-parsing juga bisa dianggap sebagai banyaknya kemungkinan yang ditawarkan oleh PHP. Dalam hal in, PHP memiliki lebih dari 85 function untuk memanipulasi string. Kelebihan ini tak hanya akan menawarkan keleluasaan untuk melakukan operasi string yang kompleks, namun juga menjembatani program yang memiliki fungsionalitas yang sama (seperti Python dan Perl) lewat PHP.
* Price
PHP merupakan salah satu open source software, yang dapat diartikan sebagai berikut:
PHP dapat dimodifikasi, didistribusikan, dan diintegrasikan dengan produk lain oleh penggunanya
Pengembangan dan auditing yang dilakukan secara terbuka.
Semua orang bebas berpastisipasi.
Fitur-fitur terbarunya PHP
Fitur pada PHP 4
PHP 4 bukan merupakan versi terakhir yang sudah dikeluarkan oleh PHP, tapi versi ini masih banyak digunakan oleh para programmer website, ini dia fitur-fiturnya
* Meningkatkan penanganan pada resource yang digunakan
Kekurangan utama dari PHP 3.0 adalah skalabilitas. Para programmer masih menganggap PHP 3.0 belum mampu digunakan pada aplikasi-aplikasi berskala besar. Hal ini membuat para developer PHP berkerja keras untuk meningkatkan kemampuan penanganan resource, sehingga PHP mampu dijalankan pada aplikasi-aplikasi berskala besar.
* Dukungan pada pemrograman berorientasi objek
Fitur ini memainkan peranan penting bagi user untuk dapat bekerja dengan bahasa pemrograman berorientasi objek.
* Dukungan pada penanganan session
Penanganan pada session HTTP sebenarnya juga sudah ada pada versi PHP 3.0. Namun, masih menggunakan dukungan pihak ketiga, yaitu PHPLIB (http://phplib.sourceforge.net). nah, pada versi 4 ini, session sudah mampu ditangani langsung oleh PHP.
Fitur ini menawarkan interaksi dari website. contoh yang paling umum digunakan adalah pada proses login dan logout.
* Enkripsi
MCrypt (http://mcrypt.sourceforge.net) sudah digabung pada distribusi asli. Fitur ini menawarkan algoritma enkripsi diantaranya Blowfish, MD5, SHA1, dan tripleDES.
* Dukungan ISAPI
Fitur ini menghubungkan webserver IIS (dari Microsoft) dan PHP dan dianggap sebagai modul ISAPI.
* Dukungan COM/DCOM
Nah, kalu yang ini, anggap aja sebagai bonus buat pengguna Windows. Fitur ini memungkinkan PHP untuk mengakses objek COM dan menambah interoperabilitas dengan aplikasi yang berjalan di Windows.
PHP 5 merupakan kelanjutan dari evolusi yang berjalan pada PHP. Walaupun pada PHP 4 sudah banyak library yang ditambahkan, PHP 5 menawarkan peningkatan dari fungsionalitas dan penambahan beberapa fitur, antara lain:
Peningkatan dari kemampuan pemrograman berorientasi objek
Exception handling, yang menstandarisasi logika atas pemberitahuan kesalahan pemrograman.
Peningkatan terhadap penanganan string
Peningkatan dukungan terhadap XML dan Web Service, yang menggunakan libxml2.
Pada postingan kali ini Kantin Kampus akan meberikan sedikit tutorial dalam membuat statistik pengunjung dengan php dan mysql.
Langkah awal kita buat databasenya dulu disini saya menggunakan database test yang sudah ada di mysql, kemudian kita membuat tablenya yang kita beri nama konter, agar lebih mudah bisa menggunakan phpMyAdmin:
CREATE TABLE IF NOT EXISTS `konter` (
`ip` varchar(20) COLLATE latin1_general_ci NOT NULL,
`tanggal` date NOT NULL,
`hits` int(10) NOT NULL DEFAULT '1',
`online` varchar(255) COLLATE latin1_general_ci NOT NULL
)
untuk script phpnya kita bikin dalam satu file saja yang disini saya beri nama statistik_pengunjung.php
$s = mysql_query("SELECT * FROM konter WHERE ip='$ip' AND tanggal='$tanggal'");
if(mysql_num_rows($s) == 0){
mysql_query("INSERT INTO konter(ip, tanggal, hits, online) VALUES('$ip','$tanggal','1','$waktu')");
}
else{
mysql_query("UPDATE konter SET hits=hits+1, online='$waktu' WHERE ip='$ip' AND tanggal='$tanggal'");
}
if($tglk=='1' | $tglk=='2' | $tglk=='3' | $tglk=='4' | $tglk=='5' | $tglk=='6' | $tglk=='7' | $tglk=='8' | $tglk=='9'){
$kemarin=mysql_query("SELECT * FROM konter WHERE tanggal='$thn-$bln-0$tglk'");
} else {
$kemarin=mysql_query("SELECT * FROM konter WHERE tanggal='$thn-$bln-$tglk'");
}
$bulan=mysql_query("SELECT * FROM konter WHERE tanggal LIKE '%$blan%'");
$bulan1=mysql_num_rows($bulan);
$tahunini=mysql_query("SELECT * FROM konter WHERE tanggal LIKE '%$thn%'");
$tahunini1=mysql_num_rows($tahunini);
$pengunjung = mysql_num_rows(mysql_query("SELECT * FROM konter WHERE tanggal='$tanggal' GROUP BY ip"));
$totalpengunjung = mysql_result(mysql_query("SELECT COUNT(hits) FROM konter"), 0);
$hits = mysql_fetch_assoc(mysql_query("SELECT SUM(hits) as hitstoday FROM konter WHERE tanggal='$tanggal' GROUP BY tanggal"));
$totalhits = mysql_result(mysql_query("SELECT SUM(hits) FROM konter"), 0);
$bataswaktu = time() - 300;
$pengunjungonline = mysql_num_rows(mysql_query("SELECT * FROM konter WHERE online > '$bataswaktu'"));
$kemarin1 = mysql_num_rows($kemarin);
Ada beberapa cara membuat pengalihan url dari satu halaman ke halaman lain, diantaranya menggunakan Javascript . Berikut adalah beberapa script yang bisa Anda gunakan :
/*
Javascript Timer Dengan Perhitungan Mundur Di Tampilkan
Count down then redirect script
By JavaScript Kit (http://javascriptkit.com)
Over 400+ free scripts here!
*/
//Ubah Url Tujuan Yang Anda Inginkan
var targetURL="http://www.example.com/"
//change the second to start counting down from
var countdownfrom=7
var currentsecond=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if (currentsecond!=1){
currentsecond-=1
document.redirect.redirect2.value=currentsecond
}
else{
window.location=targetURL
return
}
setTimeout("countredirect()",1000)
}
Kali ini Kantin kampus ingin membahas Hampir Perbedaan tanda petik satu dan dua/ganda di PHP, setiap bahasa pemrograman baik itu berbasis desktop atau pun website menggunakan tanda kutip sebagai penanda karakter string, tanpa terkecuali dalam PHP. sebuah nilai akan dibaca sebagai string bila diapit oleh tanda kutip, baik kutip dua maupun satu.
Pada script diatas ada 3 macam variable yang tampak mempunyai nilai sama padahal masing-masing berbeda. lantas apa perbedaannya?
Pada variable pertama $nilai1 bernilai 100 dengan tipe data numeric karena tidak diapit oleh kutip satu ataupun kutip2, sedangkan variable ke 2 $nilai2 bernilai string, walaupun isininya angka 100, begitu juga variable ketiga. jadi variable ke-2 dan ke 3 tidak akan bisa di gunakan dalam operasi matematika, karena bernilai string.
Perbedaan kutip satu dan dua
Sekilas output yang dihasilkan oleh kedua kutip pada PHP tampak sama, padahal berbeda satu sama lain. menurut saya secara teknis kutip satu akan lebih cepat di proses oleh server dibandingkan dengan kutip dua. hal ini bukan tanpa alasan. sebagaimana diketahui ketika kita menyisipkan variable kedalam string yang diapit oleh kutip dua, maka server akan membacanya sebagai variable pula, lain ketika berada diantara kutip satu, maka walaupn anda menyisipkan variable, akan tetap dibaca sebagai string biasa.
Ketika kutip dua digunakan maka server akan melakukan dua tahap, pertama akan memparse antara variabel dan string biasa, kedua akan mengeksekusi sebagaimana mestinya, yakni bila ditemukan variabel maka akan diperlakukan sebagai variable, begitu juga bila ditemukan string biasa.
Sedangkan kutip satu, dia akan diproses hanya satu kali, server akan mengabaikan semua karakter di dalam kutip satu, apakah itu variabel atau string biasa, semuanya akan dianggap string biasa.
Berdasarkan hal ini maka proses eksekusi server terhadap karakter diantara kutip satu akan terasa lebih
Menyimpan konfigurasi aplikasi bisa kita lakukan dengan menggunakan file dot ini. Selain dengan menggunakan file ini, kita juga bisa menyimpan konfigurasi aplikasi menggunakan registry. Pada tutorial ini, saya akan menjelaskan bagaimana cara menulis dan membaca registry.
Untuk membaca dan menulis registry, kita bisa menggunakan kelas TRegistry. Kelas ini ada di unit Registry. Jadi kita harus menuliskan nama unit registry di bagian uses.
A. Menulis Registry
Pada tutorial ini, data yang akan kita simpan ke registry nantinya akan terletak pada : "HKEY_CURRENT_USER\Software\Nama Aplikasi" . Perhatiakan method TulisRegistry di bawah ini
procedure TfrmMain.TulisRegistry(AName, AValue: String);
var
Reg : TRegistry;
appName : String;
begin
Reg := TRegistry.Create;
appName := Application.Title;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\' + appName , True) then
begin
Reg.WriteString(AName, AValue);
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;
B. Membaca Registry
Untuk membaca data dari registry, kita harus mengetahui di mana data tersebut kita simpan. Sesuai keterangan di atas, kita menyimpan data di "HKEY_CURRENT_USER\Software\Nama Aplikasi" . Perhatikan method BacaRegistry di bawah ini :
function TfrmMain.BacaRegistry(ANama: String): String;
var
Registry: TRegistry;
begin
Registry:=TRegistry.Create;
try
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey('\Software\' + Application.Title, False);
Result := Registry.ReadString(ANama);
finally
Registry.Free;
end;
end;
Database Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan database oracle juga meyediakan yg gratisan versi home edition untuk sekedar yg ingin belajar oracle saja sedangkan untuk versi enterprisenya kita harus bayar. Sejauh yg saya tahu dalam pengalaman saya, untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix,windows, atau yg lainnya.
Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda harus menyediakan space harddisk yg cukup besar. untuk backup oracle mempunyai extensi sendiri namanya file DMP.
Kekurangan :
Merupakan software DMBS yang paling mahal, paling rumit, dan paling sulit untuk dipelajari.
Membutuhkan spesifikasi hardware yang tinggi untuk dapat menjalankan software DMBS Oracle supaya berjalan dengan stabil.
Hanya diperuntukan bagi perusahaan berukuran besar, dan tidak cocok untuk perusahaan kecil maupun menengah.
Kelebihan :
Merupakan software DBMS yang handal dan memiliki kemampuan yang tinggi.
Dapat menangani jumlah data dalam ukuran yang besar.
Dapat mengolah data dalam ukuran besar dan mengolahnya dengan cepat sehingga didapatkan informasi yang akurat sesuai permintaan pengguna/user.
Memiliki kemampuan akan fleksibilitas dan skalabilitas yang dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus-menerus bertambah besar.
Memiliki kemampuan Technology Cluster Server, dimana jika terdapat lebih dari satu unit server misalnya 100 unit server maka Oracle dapat menjadikan 100 unit server tersebut aktif bekerja bersama sebagai 100 aktif server.
Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
Bisa berjalan pada lebih dari satu platform system operasi.
2. MYSQL
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klien—TcX adalah perusahaan pengembang software dan konsultan database. Kala itu Michael Widenius, atau “Monty”, pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya. Mula-mula TcX memakai mSQL, atau “mini SQL” (akan kita kunjungi nanti). Barangkali mSQL adalah satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres (juga akan dibahas sesaat lagi). Namun ternyata, menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki indeks. Setelah mencoba menghubungi David Hughes—pembuat mSQL—dan ternyata mengetahui bahwa David tengah sibuk mengembangkan versi dua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin SQL yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuai kebutuhan. Lahirlah MySQL.
Tidak cocok untuk menangani data dengan jumlah yang besar, baik untuk menyimpan data maupun untuk memproses data.
Memiliki keterbatasan kemampuan kinerja pada server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.
Kelebihan :
Merupakan DBMS yang gratis / open source berlisensi GPL (generic public license).
Cocok untuk perusahaan dengan skala yang kecil.
Tidak membutuhkan spesifikasi hardware yang tinggi untuk bisa menjalankan MWSQL ini bahkan dengan spesifikasi hardware yang minimal sekalipun.
Bisa berjalan pada lebih dari satu platform system operasi, misalnya windows, linux, FreeBSD, Solaris, dan masih banyak lagi.
Cepat dalam menjalankan perintah SQL / Structured Query Languagemisalnya ketika akan menyeleksi suatu data atau memasukkan suatu data karena MYSQL merupakan turunan dari konsep SQL.Multi user, artinya database dapat digunakan oleh beberapa user dalam waktu bersamaan tanpa mengalami masalah atau konflik.
MYSQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
MYSQL memiliki beberapa lapisan keamanan, seperti subnetmask, namahost, dan izin akses user dengan system perijinan yang mendetail serta sandi/password terenkripsi.
MYSQL dapat melakukan koneksi dengan computer client menggunakan Protokol TCP/IP, Unix Socket (UNIX), atau Named Pipes (windows NT).
MYSQL memiliki antar muka / interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
Command and function, MYSQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
Structure Table, MYSQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
3. Microsoft SQL (MS-SQL)
Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa query utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.
Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS(Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC(Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.
Database Storage Engine buatan Microsoft. Engine ini berbayar, akan tetapi Microsoft juga menyediakan yang versi gratisan (Express Edition). Karena buatan dari Bill Gates maka Engine ini hanya bisa dijalankan di sistem operasi Windows saja (monoplatform). Keamanan datanya sudah lumayan. Kapasitas penyimpanan datanya tidak mencapai Tera Byte, sehingga sudah mampu untuk diterapkan di aplikasi besar. SQL Server banyak bermain di Memori untuk processing. Untuk backup data Ms SQL banyak extensinya ada extensi .MDB, .BAK, .file. Kapasitas rollback dan recoverinya tidak masih kurang efektif.
Kekurangan :
Hanya dapat diimpelementasikan pada 1 unit server, jika terdapat tambahan server maka hanya akan berfungsi sebagai pasif / standby server (tidak memiliki kemampuan Technology Cluster Server seperti halnya pada DMBS Oracle).
Hanya bisa berjalan pada satu platform system operasi yaitu Microsoft Windows.
Merupakan software berlisensi dan berharga mahal untuk perusahaan skala kecil dan menengah.
Kelebihan :
Cocok untuk perusahaan dengan skala kecil, menengah, dan besar sehingga mampu untuk mengolah data dengan jumlah yang besar.
Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
Untuk diterapkan pada pembangunan suatu program aplikasi, akan mudah dalam melakukan koneksi dengan computer client yang pembangunan aplikasinya menggunakan software yang sama platform dengan MS-SQL, misalnya Microsoft Visual Basic.
Memiliki tingkat pengamanan / security data yang baik.
Memiliki kemampuan untuk back-up data, rollback data, dan recovery data.
Memiliki kemampuan untuk membuat database mirroring dan clustering.
4. Microsoft Access
Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Versi terakhir adalah Microsoft Office Access 2007 yang termasuk ke dalam Microsoft Office System 2007.
Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana.
Kelebihan dan Kekurangan MS.Acces
Beberapa hal yang merupakan keunggulan dari penggunaan MS. Access adalah:
Aplikasinya mudah diperoleh (meskipun bajakan )
Manipulasi tabel dan data sangat mudah dilakukan
Relasi antar tabel dapat dibuat dengan mudah
Perintah SQL dapat diberikan
Dapat diintegrasikan dengan bahasa pemrograman, misalnya Delphi, VB, dll
Tersedia fasilitas untuk sekuriti data
Mampu menyimpan data dalam jumlah sangat besar (jauh lebih besar daripada Paradox).
Adapun kekurangannya adalah aplikasinya tidak free alias tidak gratis selain itu Karena kurang begitu bagus jika diakses melalui jaringan maka bayak pengguna Microsoft Access menggunakan solusi system manajemen basis data yang bersifat klien / server.
5. POSTGRESQL
Postgres pada awalnya dikembangkan oleh mahasiswa dan staff programmer University of California, Berkeley, dibawah arahan Professor Michael Stonebraker. Sofware ini mulanya dinamai Postgres, tetapi karena banyak tambahan untuk fungsi fungsi SQL maka pada tahun 1995 namanya diganti Postgres95, dan sejak tahun 1996 nama yang digunakan hingga sekarang adalah PostgreSQL. Pada saat pertama dikembangkan postgres dianggap tidak memenuhi stardar ANSI-SQL92 -standar database berskala besar- , karena tujuannya hanya menjadikan postgres sebagai database yang mempunyai banyak feature dan keluwesan yang tinggi. Karena merasa mendapat tantangan postgres berusaha untuk memenuhi standar tersebut, dan akhirnya potsgres mampu juga untuk mencapai satndar ANSI-SQL. Tetapi yang lebih gila lagi ternyata kemampuan postgres melebihi standar ANSI_SQL, yang berarti kemampuan postgres melebihi database lain standar ANSI-SQL92 yang diantarannya adalah Oracle. Wajar jika Postgres dinobatkan Linux Award sebagai database pilihan dan menempatkan Oracle pada tembat ke-dua.
Perbedaan yang paling mendasar antara postgres dengan sistem relasional standar adalah, kemampuan postgres yang memungkinkan user untuk mendefinisikanSQL-nya sendiri, terutama untuk pembuatan function. Hal ini dimungkinkan karena informasi yang tersimpan pada postgres tidak hanya tabel dan kolom melainkan tipe, fungsi, car akses, dan informasi lain. Kesemuanya itu dihimpun dalam bentuk class yang memungkinkan user untuk merubahnya. Dengan model class ini postgres lebih mudah dikembangkan ditingkat user dan bisa mendefinisikan sebuah tabel sebagai turunan tabel lain. Dimana pada database konvensional hal itu hanya bisa dilakukan dengan mengganti source code nya atau menggunakan modul tambahan . Kelebihan lain dari postgres adalah dukungan antar muka dari berbagai bahasa pemrograman seperti Perl, PHP, C++, Phyton, Java dan masih banyak lagi. Postgres juga mempunyai kemampuan untuk membuat konektifitas dengan database lain seperti pgdump, Interbase, pgaccess dan hampir semua database pada Linux. Karena kemampuan itulah wajar jika bagi yang telah mencoba postgres menjadi kecanduan dan sulit untuk pindah ke database lain termasuk penulis. Saat ini postgres telah banyak digunakan oleh berbagai perusahaan besar, Rumah Sakit Pertamina adalah salah satu yang telah menggunakan Postgres.
PostgreSQL adalah sebuah object-relational database management system (ORDBMS) yang bersifat open source. PostgreSQL adalah database yang powerful dan tidak kalah dengan database komersil sekelasnya Oracle, Sybase maupun Informix. PostgreSQL yang mendukung standar SQL92 dan SQL99 ini juga mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
Database Storage Engine ini bersifat open source atau gratisan yg dikembangkan oleh berbagai developer didunia.Untuk sintax query postgre sql menggunakan ANSI SQL 89, 92 dan 99. untuk postgre sql sudah support joins, views, aggregasi.
PostgreSQL (www.PostgreSQL.org) didisain untuk skala besar, memiliki ciri berorientasi objek, namun tetap dapat digunakan layaknya RDBMS pada umumnya. Para pengembangnya (dulu) mengutamakan kelengkapan feature ketimbang dukungan penuh akan standar SQL.Dalam perjalanannya, kelebihan feature ini justru membuat Postgres semakin powerful dan membuatnya dapat disejajarkan dengan database besar lainnya seperti Oracle. Salah satu contoh standar SQL yang belum dipenuhi oleh PostgreSQL adalah referential integrity dan outer-join. Meski demikian, programmer Postgres tetap merencanakan untuk membuatnya memiliki standar SQL yang sudah ditetapkan. Fasilitas standar lain yang telah didukung adalah trigger dan function.
Function dalam PostgreSQL sangat unik karena PostgreSQL tidak menetapkan built-in language untuk penulisan function. PostgreSQL menyerahkan kepada pemakai untuk memilih sendiri bahasa yang diinginkan yang disebut Procedural Language. Pada saat deklarasi function, Anda harus menyebutkan bahasa yang digunakan. procedural language yang tersedia adalah pgSQL dan Tcl. Jadi script function yang dideklarasikan akan diterjemahkan oleh library yang bersangkutan (tergantung bahasa yang dipilih) untuk selanjutnya library tersebut melakukan koordinasi dengan library PostgreSQL.
Tools yang tersedia cukup banyak dan sangat berguna seperti:
pgdump: konversi objek database menjadi script SQL
pgaccess: drag & drop-nya cukup menyenangkan
PostgreSQL didukung oleh banyak bahasa (atau Postgres mendukung banyak bahasa?), antara lain: C++, Java, Perl, Tcl, PHP3 dan Python. Library untuk ODBC dan JDBC juga telah tersedia, sehingga bahasa lainnya yang mendukung keduanya dapat mengakses PostgreSQL.
Nah pada artikel kali ini Kantin Kampus akan coba sharing menentukan nilai akhir dengan menggunakan fungsi float dan integer. Seperti biasa kamu buat project baru dan class baru di netbeans.
Jika sudah membuat Class Java copykan code berikut didalamnya.
package javaapplication1;
* @author Mohammad Hasanaji
class Nilai {
String nim, nama;
float nilaiuts,nilaitugas,nilaiuas,pnilaiuts,pnilaitugas,pnilaiuas,nilaiakhir;
void hitungNilai()
{
pnilaiuts=0.2f*nilaiuts;
pnilaitugas=0.35f*nilaitugas;
pnilaiuas=0.45f*nilaiuas;
nilaiakhir=pnilaiuts+pnilaitugas+pnilaiuas;
}
void cetakNilai()
{
System.out.println("NIM = " +nim);
System.out.println("Nama = " +nama);
System.out.println("Nilai UTS = " +nilaiuts +" 20% :"+pnilaiuts);
System.out.println("Nilai Tugas = " +nilaitugas +" 35% :"+pnilaitugas);
System.out.println("Nilai UAS = " +nilaiuas +" 45% :"+pnilaiuas);
System.out.println("Nilai Akhir = " +nilaiakhir);
}
}
public class NilaiDemo {
public static void main(String[] args) {
Nilai nilaiku=new Nilai();
Ada beberapa hal yang perlu kamu sesuaikan dengan project kamu, yakni di bagian Project Name = javaapplication1 >> ganti sesuai dengan nama projectmu. dan Nama Class= NilaiDemo ganti sesuai dengan nama classmu.
Untuk bisa menggunakan database pada suatu aplikasi Java dibutuhkan sebuah driver yang berfungsi sebagai konektor antara Java dan aplikasi database yang akan digunakan. Sehingga pengguna aplikasi bisa memasukkan data transaksi barang ke dalam database langsung dari aplikasi penjualan yang digunakan.
Pada penulisan ini penulis menggunakan MySQL dalam pembuatan databasenya sehingga memerlukan alat koneksi (driver) yang akan menghubungkan aplikasi dengan data yang ada pada MySQL. Driver yang digunakan adalah MySQL ODBC 3.51 Driver. Penggunaan driver tersebut dengan membuat sebuah kelas koneksi, adapun penggalan programnya sebagai berikut:
import java.sql.*;
public class Koneksi {
public Koneksi() {
}
public Connection bukaKoneksi() throws SQLException {
Dalam driver diatas dimaksudkan bahwa kita akan mengkoneksikan aplikasi penjualan ini dengan database yang bernama “SIP”.
Seteleh kelas koneksi selesai dibuat. Selanjutnya penulis akan membahas pengaturan dari penggunakan konektor tersebut. Adapun langjkah-langkahnya sebagai berikut :
Pada menu Start di windows pilih Control Panel, kemudian pilih menu Administrasi Tools, lalu pilih Data Sources (ODBC).
Pada pilihan User DSN, pilih menu Add di sebelah kanan, lalu pilih MySQL ODBC 3.5.1 Driver, lalu Finish. Maka akan muncul jendela seperti ini.
Pada Data Source Name diisi nama “SIPDB”, Server diisi “localhost” dan Database diisi dengan nama database yang akan kita koneksikan yaitu “SIP”. Gunakan pilihan Test untuk mengetahui koneksi berhasil atau tidak, kalau sudah berhasil klik Ok.
Maka selesai sudah proses pengkoneksian aplikasi penjualan ini denagan database SIP pada MySQL.
Selanjutnya pindah ke menu Connect Option, pada field Port isikan nilai 3306 yang merupakan nilai default dari port.
Demikian cara mengkoneksikan database MySQL dan bahasa pemrograman Java. Cara seperti sudah sangat umum digunakan oleh programer tingkat menengah kebawah. Semoga bermanfaat bagi teman-teman semua.
Java adalah Sebuah Bahasa pemrograman segala umat, atau disebut juga bahasa pemrograman multi-platform. Mengapa?
Karena jika bahasa pemrogram yang lain di built dalam sebuah platform (Operating System) tertentu. Maka hanya akan jalan pada OS tersebut.
Namun jika bahasa Java ini di built, dia akan dapat berjalan pada seluruh platform (Operating System) asalkan Operating Sistem tersebut memiliki JVM (Java Vitrtual Machine)
Dalam Kesempatan ini saya akan membagikan source code untuk membuat penghitungan sebuah bilangan berpangkat. Misalnya 2 pangkat 5 dan lain-lain.
Berikut source codenya. Semoga berguna.
public class pangkat {
static int x;
static int y;
static int hasil;
public static void process() {
x = 5;
y = 3;
hasil = 0;
hasil = x*x*x;
System.out.println("hasil = " + hasil);
}
public static void main(String[] Args) {
process();
}
}
Buat project dengan nama “Prak2”, lalu buat package dengan nama “pkgprak2”. Jangan lupa buat juga MIDletnya. Namai Midlet tersebut yaitu “Prak2Midlet.java”.
Buat konstruktor berikut untuk membuat FromInput, FormShow1, FormShow 2
Klik tanda seru untuk membuat class FormInput, FormShow1, dan FormShow2 secara otomatis.
Tambahkan script “implements CommandListener “ dibelakang public class promvisMidlet extends MIDlet. Klik tanda seru dan pilih “implements All...” untuk mengimplementasikan ke semua method secara otomatis.
Masih pada class Prak2Midlet.java. Tambahkan script dibawah ini.
private Command cmShow1, cmShow2, cmBack, cmExit;
public void startApp() {
if (frmInput == null)
frmInput = new FormInput();
if (frmShow1 == null)
frmShow1 = new FormShow1();
if (frmShow2 == null)
frmShow2 = new FormShow2();
cmShow1 = new Command("Show 1", Command.OK, 0 );
cmShow2 = new Command("Show 2", Command.OK, 1 );
cmBack = new Command("Kembali", Command.BACK, 0 );
cmExit = new Command("Keluar", Command.EXIT, 0 );
if (d == frmShow1) {
if ( c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}}
if (d == frmShow2) {
if ( c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}}}}
Tambahkan script di bawah ini di bawah “public void commandAction(Command c, Displayable d) {“ dan hapus script “throw new UnsupportedOperationException("Not supported yet.");”
if (d == frmInput) {
if (c == cmExit) {
destroyApp(true);
notifyDestroyed();
}
if (c == cmShow1) {
frmShow1.setNama(frmInput.getNama());
frmShow1.setEmail(frmInput.getEmail());
Display.getDisplay(this).setCurrent(frmShow1);
}
Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. dalam hal ini ada kelas yang memiliki atribut method yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannnya.
Pada dasarnya, teknik inheritance digunakan untuk membuat suatu class yang masih memiliki sifat atau spesifikasi dari class induknya / superclass.
Contoh program menggunakan teknik inheritance :
class CetakDataTipe {
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public class Polymorphism {
public static void main(String[] args)
{
CetakDataTipe data = new CetakDataTipe();
System.out.print("Cetak Data Tipe String : ");
data.CetakData("Sumatra");
System.out.print("Cetak Data Tipe Integer : ");
data.CetakData(1989);
System.out.print("Cetak Data Tipe Double : ");
data.CetakData(16.5 / 2);
System.out.print("Cetak Data Tipe Char : ");
data.CetakData('N');
}
}
Polymorphism adalah teknik pemrograman yang memungkinkan programmer menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki sifat yang berbeda.
Contoh program Java menggunakan teknik Polymorphism :
public class DataMahasiswa extends Mahasiswa{
public void printNama(){
System.out.println("Data Mahasiswa Gunadarma Teknik Informatika 2IA08");
//Konstruktor dari class TestJComboBox, yang nantinya akan digunakan pada
// method main()
TestJComboBox() {
//Komponen combo box untuk pilihan pertama
combobox1 = new JComboBox();
combobox1.setLocation(10, 10);
combobox1.setSize(180, 20);
combobox1.addItem("Pilih Salah Satu");
combobox1.addItem("Buah");
combobox1.addItem("Sayur");
//Ditambahkan ActionListener, berguna saat ada pemilihan salah satu item
combobox1.addActionListener(this);
//Komponen combo box untuk pilihan kedua yang akan muncul pilihannya
// saat user sudah memilih salah satu pilihan dari combobox pertama yaitu
// antara buah atau sayur
combobox2 = new JComboBox();
combobox2.setLocation(10, 40);
combobox2.setSize(180, 20);
//Komponen button untuk menampilkan pilihan user untuk combobox kedua
// yang nantinya ditampilkan pada JTextField label
button = new JButton("Pilih");
button.setLocation(10, 70);
button.setSize(180, 20);
button.addActionListener(this);
//Komponen JTextField yang berfungsi seperti label, cenderung saya pilih
// karena adanya borderline tanpa perlu membuat class Border lebih dahulu
label = new JTextField(20);
label.setLocation(10, 100);
label.setSize(180, 20);
label.setFont(new Font("Courier New", Font.PLAIN, 14));
//Dilakukan penyettingan supaya textfield tidak bisa diubah2 oleh user
label.setEditable(false);
}
//Method untuk menampilkan frame/tampilan utama program dengan menggunakan
// class JFrame
public void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(false);
JFrame frame = new JFrame("Demo JComboBox");
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(combobox1);
frame.getContentPane().add(combobox2);
frame.getContentPane().add(label);
frame.getContentPane().add(button);
frame.setBounds(0, 0, 215, 180);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
//Method utama pada class ini
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
//Terima jadi saja, intinya pake SwingUtilities dan menggunakan class
// Runnable sehingga saya dapat menggunakan method run(), anggap saja
// blok kode disini sebagai template
@Override
public void run() {
//Membuat objek TestJComboBox sesuai dengan konstruktor sebelumnya
TestJComboBox prog = new TestJComboBox();
//Memanggil method createAndShowGUI() untuk menampilkan frame utama
prog.createAndShowGUI();
}
});
}
@Override
//Method utama untuk menangani adanya event dari user seperti pemilihan combo
// box ataupun penekanan button
public void actionPerformed(ActionEvent e) {
//Dicari varible yang berisi pilihan dari user untuk combobox1
Object select1 = combobox1.getSelectedItem();
//Jika event yang terjadi adalah adanya pemilihan item dari combobox1
if (e.getSource() == combobox1) {
if (select1 == "Buah") {
//Jika yang dipilih dari combobox1 adalah buah
//Hapus terlebih dahulu semua item pada combobox2
combobox2.removeAllItems();
//Tambahkan pilihan item untuk buah
combobox2.addItem("Apel");
combobox2.addItem("Jeruk");
combobox2.addItem("Mangga");
combobox2.addItem("Anggur");
combobox2.addItem("Pir");
} else if (select1 == "Sayur") {
//Jika yang dipilih dari combobox1 adalah sayur
//Hapus terlebih dahulu semua item pada combobox2
combobox2.removeAllItems();
//Tambahkan pilihan item untuk sayur
combobox2.addItem("Timun");
combobox2.addItem("Bayam");
combobox2.addItem("Kangkung");
} else {
//Jika yang dipilih bukan keduanya atau "Pilih Salah Satu"
combobox2.removeAllItems();
}
//Jika event adalah adanya penekanan tombol button
} else if (e.getSource() == button) {
if (select1 != "Pilih Salah Satu") {
//Jika user telah memilih salah satu dari buah atau sayur
//Dicari variable select2 yang berasal dari combobox2 untuk ditampilkan
// pada label
Object select2 = combobox2.getSelectedItem();
//Dilakukan casting menjadi tipe String terlebih dahulu sebelum dikonkat
label.setText((String) select2 + " pilihan saya!");
} else {
//Jika user tidak memilih keduanya dan memilih item "Pilih Salah Satu"
label.setText("Pilih Salah Satu!");
}
}
}
}
public class TestJList implements ActionListener, ListSelectionListener {
private JList list;
//Untuk demo kali ini saya menggunakan class DefaultListModel sebagai input
// parameter dari JList, daripada menggunakan array, class tersebut lebih
// mudah ketika user ingin menambahkan atau menghapus salah satu list
private DefaultListModel listmodel;
//Disini saya menggunakan JScrollPane untuk menampung JList, sehingga ketika
// list sudah sangat panjang akan muncul scoller untuk dapat melihat list
// dari awal sampai akhir
private JScrollPane scroll;
//private JLabel label;
private JTextField label;
private JTextField textfield;
private JButton button1, button2;
//Konstruktor dari class TestJList, yang nantinya akan digunakan pada
// method main()
TestJList() {
//Komponen JTextField yang berfungsi seperti label, cenderung saya pilih
// karena adanya borderline tanpa perlu membuat objek Border lebih dahulu
label = new JTextField("Testing");
label.setLocation(180, 10);
label.setSize(100, 20);
label.setFont(new Font("Courier New", Font.PLAIN, 14));
label.setEditable(false);
//Membuat JList dengan membuat objek DefaultListModel tersebut dahulu
listmodel = new DefaultListModel();
list = new JList(listmodel);
//List yang saya buat disini hanya bisa dipilih satu element saja
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//Objek list saya beri ListSelectionListener sehingga dapat diterima event
// saat user memilih salah satu list
list.addListSelectionListener(this);
//Pada awal list, saya beri dua item/element, untuk menambahkan element
// digunakan method addElement pada objek list yang telah di-casting
// menjadi tipe DefaultListModel
((DefaultListModel) list.getModel()).addElement("Satu");
((DefaultListModel) list.getModel()).addElement("Dua");
//Membuat objek scroller untuk menampung JList
scroll = new JScrollPane(list);
scroll.setLocation(10, 10);
scroll.setSize(150, 160);
//Objek textfield ini akan menerima string dari user sebagai element/item
// yang akan ditambahkan oleh user
textfield = new JTextField(10);
textfield.setLocation(180, 40);
textfield.setSize(100, 20);
//Objek button1 adalah button yang digunakan untuk menambahkan element list
// yang baru
button1 = new JButton("Tambah");
button1.setLocation(180, 70);
button1.setSize(100, 20);
button1.addActionListener(this);
//Objek button1 adalah button yang digunakan untuk menghapus element list
// yang baru
button2 = new JButton("Hapus");
button2.setLocation(180, 100);
button2.setSize(100, 20);
button2.addActionListener(this);
}
//Method untuk menampilkan frame/tampilan utama program dengan menggunakan
// class JFrame
public void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(false);
JFrame frame = new JFrame("Demo JList");
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(scroll);
frame.getContentPane().add(label);
frame.getContentPane().add(button1);
frame.getContentPane().add(button2);
frame.getContentPane().add(textfield);
frame.setBounds(0, 0, 320, 230);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
//Terima jadi saja, intinya pake SwingUtilities dan menggunakan class
// Runnable sehingga saya dapat menggunakan method run(), anggap saja
// blok kode disini sebagai template
@Override
public void run() {
//Membuat objek TestJList sesuai dengan konstruktor sebelumnya
TestJList prog = new TestJList();
//Memanggil method createAndShowGUI() untuk menampilkan frame utama
prog.createAndShowGUI();
}
});
}
@Override
//Method utama untuk menangani adanya event dari user yaitu penekanan button
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
//Apabila user menekan button1 untuk menambahkan element list yang baru
String text = textfield.getText();
//Didapatkan variable text yang berasal dari textfield yang dibuat
// sebelumnya
if (!text.equals("")) {
//Jika isi dari textfield tidak kosong
//Untuk menambahkan sama seperti sebelumnya, tinggal memasukkan variable
// text pada input method addElement
((DefaultListModel) list.getModel()).addElement(text);
} else {
//Jika textfield kosong, ditampilkan pada label tulisan "Tulis List!"
label.setText("Tulis List!");
}
} else if (e.getSource() == button2) {
//Apabila user menekan button1 untuk menghapus element list yang baru
//Dicari terlebih dahulu index dari element list yang akan dihapus
int index = list.getSelectedIndex();
if (index != -1) {
//Jika user sudah memilih salah satu item/element pada JList
label.setText("Deleted");
//Untuk menghapus salah satu element dapat digunakan method remove(),
// sama seperti saat menambahkan element, objek list di-casting
// terlebih dahulu menjadi tipe DefaultListModel
((DefaultListModel) list.getModel()).remove(index);
} else {
//Jika user belum memilih salah satu element, ditampilkan pada label
// pesan "Pilih List!"
label.setText("Pilih List!");
}
}
}
@Override
//Method ini bekerja saat user memilih salah satu list (dalam hal ini di-klik)
// sehingga salah satu element list diberi warna background berbeda, silahkan
// menjalankan program untuk lebih jelasnya
public void valueChanged(ListSelectionEvent e) {
//Ketika user menekan salah satu list, maka method ini akan bekerja dan
// karena hanya ada dari list sebenarnya percabangan (if) ini bisa dibuang
if (e.getSource() == list) {
//Sebelumnya dicari terlebih dahulu element mana yang telah dipilih
int index = list.getSelectedIndex();
//Jika tidak terjadi event penghapusan element list, maka akan ditampikan
// pada label item/element yang dipilih
if (index != -1) {
String listtext = (String) list.getModel().getElementAt(index);
label.setText(listtext);
}
}
}
}
Setelah sebelumnya kita mempelajari operasi penjumlahan dan pengurangan matriks, sekarang kita akan mencoba membuat program perkalian matriks. Tentunya perkalian matriks tidak seperti perkalian bilangan biasa. Hal ini membuat syntax program perkalian matriks tidak sesimpel syntax program penjumlahan dan pengurangan matriks.
Seperti apa program perkalian matriks? Inilah hasilnya :
program matrik_perkalian;
uses wincrt;
var a,b,c: array[1..10,1..10] of integer;
i,j,k1,k2,b1,b2,sum,r:integer;
begin
write('Masukkan baris Matrik A = ');readln(b1);
write('Masukkan kolom Matrik A = ');readln(k1);
write('Masukkan baris Matrik B = ');readln(b2);
write('Masukkan kolom Matrik B = ');readln(k2);
writeln;
writeln('Masukkan nilai matriks A!');
for i:=1 to b1 do
for j:=1 to k1 do
readln(a[i,j]);
writeln;
writeln('Masukkan nilai matriks B!');
for i:=1 to b2 do
for j:=1 to k2 do
readln(b[i,j]);
writeln;
writeln('Matrik A');
writeln('==================');
for i:=1 to b1 do
begin
for j:=1 to k1 do
write(a[i,j],' ');
writeln;
end;
writeln;
writeln('Matrik B');
writeln('===================');
for i:=1 to b2 do
begin
for j:=1 to k2 do
write(b[i,j],' ');
writeln;
end;
writeln;
writeln('Matrik A*B');
writeln('================');
for i:=1 to b1 do
begin
for j:=1 to k2 do
begin
sum:=0;
for r:=1 to k1 do
sum:=sum+a[i,r]*b[r,j];
c[i,j]:=sum;
write(c[i,j]:2,' ');
end;
writeln;
end;
end.
program CariKode;
uses wincrt;
type AString= array[1..4] of string;
AInteger = array[1..4] of integer;
AChar = array[1..4] of char;
DataBarang = record
Kode : AString;
Nama : AString;
Jumlah : AInteger;
Kondisi : AChar;
end;
var
Datamasuk : DataBarang;
KodeCari,Kondisi : String;
i,j,n : integer;
begin
write('Masukan banyak data : ');readln(n);
clrscr;
for i := 1 to n do
begin
writeln('Datamasuk ',i);
writeln;writeln;
write('Kode barang : ');readln(Datamasuk.Kode[i]);
write('Nama barang : ');readln(Datamasuk.Nama[i]);
write('Jumlah barang : ');readln(Datamasuk.Jumlah[i]);
write('Kondisi(B/R) : ');readln(Datamasuk.Kondisi[i]);
clrscr;
end;
writeln('Tabel Data Barang');
writeln;writeln;
writeln('============================================');
writeln('Kode_Barang Nama_Barang Jumlah Kondisi');
writeln('============================================');
for j := 1 to i do
begin
gotoxy(3,j+6);write(Datamasuk.kode[j]);
gotoxy(16,j+6);write(Datamasuk.Nama[j]);
gotoxy(30,j+6);write(Datamasuk.Jumlah[j]);
gotoxy(40,j+6);
if(Datamasuk.Kondisi[j]= 'B') then writeln('baik')else writeln('rusak');
end;
write('Kode data yang ingin dicari : ');readln(KodeCari);
clrscr;
writeln;
writeln('============================================');
writeln('Kode_Barang Nama_Barang Jumlah Kondisi');
writeln('============================================');
for j := 1 to i do
begin
if Datamasuk.Kondisi[j] = 'B' then Kondisi := 'Baik' else Kondisi := 'Rusak';
if Datamasuk.Kode[j] = KodeCari then
begin
writeln(Datamasuk.Kode[j]:9,Datamasuk.Nama[j]:14,Datamasuk.Jumlah[j]:9,Kondisi:9);
end;
end;
end.
program Tambah_Isi_indeks;
uses wincrt;
const NilaiMaksimum = 1000;
type Larik = array [1..NilaiMaksimum] of integer;
var
L : Larik;
batas : integer;
procedure Masukan(var L : Larik; n : integer);
var
i : integer;
begin
for i := 1 to n do
begin
write('Masukkan Nilai Ke-',i,' : '); readln(L[i]);
end;
end;
procedure Tambah (var L : Larik; n : integer);
var
i : integer;
begin
for i := 1 to (n-0) do
L[i] := L[i]+1;
end;
procedure Keluaran(var L : Larik; n : integer);
var
i : integer;
begin
for i := 1 to n do
write(L[i]:5);
end;
begin
writeln ('==================') ;
write ('Jumlah elemen : '); readln(batas);
write ('==================') ;
writeln;
Masukan(L,batas);
writeln;
Tambah(L,batas);
writeln;
writeln ('============================') ;
writeln ('Hasil Penambahannya Adalah : ');
writeln ('============================') ;
Keluaran(L,batas);
end.