<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4136416049767760308</id><updated>2011-11-27T17:02:36.080-08:00</updated><category term='MySql'/><category term='technology'/><category term='Art'/><category term='game'/><category term='J2ME Programming'/><category term='Hobby'/><category term='java Programming'/><category term='Skripsi'/><category term='gps'/><title type='text'>Widya on Learning</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-5906276328360377258</id><published>2011-05-02T02:47:00.000-07:00</published><updated>2011-05-02T04:19:18.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skripsi'/><title type='text'>Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server part4 - hasil implementasi</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Hasil Implementasi&lt;/span&gt;&lt;br /&gt;Hasil implementasi ini akan menunjukkan hasil dari aplikasi yang akan dibuat.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Form Olah Data&lt;/span&gt;&lt;br /&gt;Form user adalah  tempat melihat informasi user, menambah user baru dan mengubah data user. Berikut adalah hasil penerapannya.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-Bp0vIFLt_y8/Tb6B1ASXjCI/AAAAAAAAAGE/Cs8pnmUQqVc/s1600/formolh.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 224px;" src="http://4.bp.blogspot.com/-Bp0vIFLt_y8/Tb6B1ASXjCI/AAAAAAAAAGE/Cs8pnmUQqVc/s320/formolh.png" alt="" id="BLOGGER_PHOTO_ID_5602057734105566242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Form Pelacakan di Server&lt;/span&gt;&lt;br /&gt;Form pelacakan merupakan form yang digunakan untuk melacak posisi user dan melihat informasi seperti halte dan trayek bus.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-b3OtSOlMyOY/Tb6GRNXCn-I/AAAAAAAAAGM/wxk5R0YQ8ew/s1600/lacak1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 250px; height: 224px;" src="http://3.bp.blogspot.com/-b3OtSOlMyOY/Tb6GRNXCn-I/AAAAAAAAAGM/wxk5R0YQ8ew/s320/lacak1.png" alt="" id="BLOGGER_PHOTO_ID_5602062616697675746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-ZeGpPVg5jVM/Tb6G5KGNCrI/AAAAAAAAAGU/x7L8CvvqZl4/s1600/lacak2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 250px; height: 224px;" src="http://2.bp.blogspot.com/-ZeGpPVg5jVM/Tb6G5KGNCrI/AAAAAAAAAGU/x7L8CvvqZl4/s320/lacak2.png" alt="" id="BLOGGER_PHOTO_ID_5602063303016516274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Informasi Rute&lt;/span&gt;&lt;br /&gt;Form cari rute digunakan untuk melihat informasi mengenai rute bus, shelter-shelter yang terdapat pada rute dan kode bus yang beroperasi baik dengan menu index maupun langsung melihatnya di map.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-HjWSPxYLeL0/Tb6Hb14dbUI/AAAAAAAAAGc/Z53Ewag8lro/s1600/rute1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 250px; height: 224px;" src="http://1.bp.blogspot.com/-HjWSPxYLeL0/Tb6Hb14dbUI/AAAAAAAAAGc/Z53Ewag8lro/s320/rute1.png" alt="" id="BLOGGER_PHOTO_ID_5602063898885582146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-cugdThDJSnI/Tb6IFBPOc1I/AAAAAAAAAGk/N8Vl3ETrilE/s1600/rute2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 250px; height: 224px;" src="http://3.bp.blogspot.com/-cugdThDJSnI/Tb6IFBPOc1I/AAAAAAAAAGk/N8Vl3ETrilE/s320/rute2.png" alt="" id="BLOGGER_PHOTO_ID_5602064606308496210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Pelacakan di Client&lt;/span&gt;&lt;br /&gt;Hasi; implementasi pelacakan di client difokuskan pada kemampuan menampilkan posisi pada map dan menampilkan informasi shelter dan rute bus.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-onty8MQ1SSM/Tb6Jg355UQI/AAAAAAAAAGs/AuNReraoM4Q/s1600/mob1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 250px; height: 224px;" src="http://1.bp.blogspot.com/-onty8MQ1SSM/Tb6Jg355UQI/AAAAAAAAAGs/AuNReraoM4Q/s320/mob1.png" alt="" id="BLOGGER_PHOTO_ID_5602066184351076610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-qwFEkOb2AbA/Tb6OU-xppAI/AAAAAAAAAG0/mWS6RbIjSpM/s1600/mob2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 250px; height: 224px;" src="http://1.bp.blogspot.com/-qwFEkOb2AbA/Tb6OU-xppAI/AAAAAAAAAG0/mWS6RbIjSpM/s320/mob2.png" alt="" id="BLOGGER_PHOTO_ID_5602071477595251714" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-5906276328360377258?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/5906276328360377258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem_3560.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/5906276328360377258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/5906276328360377258'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem_3560.html' title='Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server part4 - hasil implementasi'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Bp0vIFLt_y8/Tb6B1ASXjCI/AAAAAAAAAGE/Cs8pnmUQqVc/s72-c/formolh.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-1005958181793450140</id><published>2011-05-02T02:24:00.000-07:00</published><updated>2011-05-02T02:47:13.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skripsi'/><title type='text'>Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server part3 - class diagram</title><content type='html'>&lt;span style="font-weight: bold;"&gt; Diagram Kelas&lt;/span&gt;&lt;br /&gt;  Diagram kelas  Sistem Pelacakan Posisi Bus Trans Jogja Berbasis Mobile dan Web Server terdapat 2 jenis diagram kelas yaitu diagram kelas untuk client (handphone) dan diagram kelas untuk server dimana masing-masing diagram sudah terdapat objek, operasi, atribut dan relasi yang dihasilkan tiap objek.  Berikut diagram kelas untuk client dan server:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-f1Gb2PrsuUA/Tb58fVdAOPI/AAAAAAAAAF8/BfP_v-nwj-E/s1600/classdiagramclient.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://2.bp.blogspot.com/-f1Gb2PrsuUA/Tb58fVdAOPI/AAAAAAAAAF8/BfP_v-nwj-E/s320/classdiagramclient.png" alt="" id="BLOGGER_PHOTO_ID_5602051864272058610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-m_MAkrzYP9Q/Tb55RNoOWvI/AAAAAAAAAF0/g5FZM0meSJA/s1600/classdiagramserver.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://3.bp.blogspot.com/-m_MAkrzYP9Q/Tb55RNoOWvI/AAAAAAAAAF0/g5FZM0meSJA/s320/classdiagramserver.png" alt="" id="BLOGGER_PHOTO_ID_5602048323118586610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;class diagram&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Untuk penjelasan mengenai fungsi dari masing masing kelas dan relasi yang terbentuk pada gambar di atas akan diterangkan dengan keterangan di bawah :&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Deskripsi kelas untuk sisi client&lt;/span&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt; iTransJogja    Sebagai kelas MIDLet/utama terdapat thread untuk splash logo dan form login       &lt;/li&gt;&lt;li&gt;ImageLogo    Kelas ini sebagai splash logo       &lt;/li&gt;&lt;li&gt;Help    Kelas dengan extensi alert, menampilkan informasi mengenai content aplikasi       &lt;/li&gt;&lt;li&gt;About    Kelas dengan extensi alert, menampilkan informasi mengenai aplikasi dan pembuatnya       &lt;/li&gt;&lt;li&gt;FormMenu    Kelas ini menampilkan menu-menu utama       &lt;/li&gt;&lt;li&gt;DataUser    Kelas ini sebagai tempat menampilkan dan mengolah data user       &lt;/li&gt;&lt;li&gt;MapOfflineCanvas    Kelas ini sebagai tempat meload map, menampilkan map, menampilkan KML dan menampilkan posisi user       &lt;/li&gt;&lt;li&gt;LibraryGPSSetting    Kelas ini untuk mengatur jenis GPS yang akan digunakan sebagai modul pelacakan       &lt;/li&gt;&lt;li&gt;DownloadKML    Kelas ini digunakan untuk mendownload informasi KML yang disediakan oleh server       &lt;/li&gt;&lt;li&gt; KmlList    Kelas ini disunakan sebagai penyedia data KML jared(internal KML)       &lt;/li&gt;&lt;li&gt; PlaceList    Kelas ini digunakan untuk menampilkan semua informasi KML yang telah diletakan di atas map       &lt;/li&gt;&lt;li&gt;Parsing Kml    Kelas ini digunakan untuk memparsing data kembalian dari server       &lt;/li&gt;&lt;li&gt;DataSave    Kelas ini digunakan untuk menangani semua kegiatan menyimpan atau mengambil data pada RMS       &lt;/li&gt;&lt;li&gt;ListDataSending    Sebagai kelas implement yang akan diimplementasikan dalam kelas SendDataToServer       &lt;/li&gt;&lt;li&gt;SendDataToServer    Kelas ini akan digunakan untuk mengatur semua aktivitas pengiriman dan penerimaan data dari dan ke server       &lt;/li&gt;&lt;li&gt;HttpConn    Kelas ini digunakan untuk berinteraksi dengan server, bertanggung jawab dalam mengakses data server dan memperoleh kembalian     &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Deskripsi kelas untuk sisi server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Koneksi    Kelas ini digunakan untuk mengakses database server       &lt;/li&gt;&lt;li&gt;LogIn    Kelas ini digunakan untuk validasi admin sebelum masuk aplikasi       &lt;/li&gt;&lt;li&gt;Home    Kelas ini digunakan sebagai tempat peletakan semua content aplikasi       &lt;/li&gt;&lt;li&gt;iTransMap    Kelas ini digunakan untuk menampilkan map, data KML, marking dan tempat pelacakan semua user yang terkoneksi       &lt;/li&gt;&lt;li&gt;FormData    Kelas ini digunakan sebagai form untuk menampilkan dan mengolah data, baik untuk data user, kml,  atau cari jalur       &lt;/li&gt;&lt;li&gt;Action    Kelas ini digunakan untuk semua jenis manipulasi database aplikasi baik itu proses penambahan, pencarian, pengolahan maupun penghapusan data dalam database server     &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-1005958181793450140?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/1005958181793450140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem_6924.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/1005958181793450140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/1005958181793450140'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem_6924.html' title='Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server part3 - class diagram'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-f1Gb2PrsuUA/Tb58fVdAOPI/AAAAAAAAAF8/BfP_v-nwj-E/s72-c/classdiagramclient.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-8745691725267363431</id><published>2011-05-02T02:14:00.000-07:00</published><updated>2011-05-02T02:24:18.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skripsi'/><title type='text'>Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server part2 - use case</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Identifikasi Kebutuhan Sistem&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;    Aksi  identifikasi  kebutuhan  sistem ini menghasilkan  produk diagram use case. Dalam aplikasi ini dapat identifikasi dua aktor yaitu user dan admin. Untuk aktor user dapat menjalankan sedikitnya 6 use case utama yaitu login atau autentikasi ijin menggunakan aplikasi, data inputan pengguna akan dicocokan dengan data user pada basis data server jika cocok maka pengguna dapat menggunakan aplikasi. Kemudian user dapat melakukan pengolahan data diri atau data login yang nantinya akan dikirim ke server.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Kemudian user dapat mulai mengakses tile maps offline yang terdapat pada memory handphone  untuk visualisasi lokasi. Setelah map selesai diakses maka user dapat melakukan 3 use case lainnya yaitu, track GPS yakni melihat posisinya sendiri dengan mendapatkan data melalui GPS receiver dan sekaligus akan mengirimkan koordinatnya kepada server. kemudian user dapat melakukan add KML yaitu menaruh informasi-informasi yang dibutuhkan dalam map seperti jalur yang harus dilalui atau letak-letak halte disepanjang rute. Kemudian yang terakhir adalah download KML yaitu user dapat meminta informasi-informasi data kml lain yang tidak tersedia di dalam aplikasi kepada server.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sedangkan pada sisi admin selain melakukan pelacakan terhadap user juga dapat mengolah basis data server seperti olah data user, jalur, shelter atau  kml. Selain itu, admin juga dapat melakukan pencarian data seperti data trayek atau shelter dan dapat menampilkan hasil pencarian ke dalam map. Diagram use case adalah sebagai berikut:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-X244H1UzpKM/Tb53JxSe_wI/AAAAAAAAAFs/35ImbRw7VNE/s1600/usecase.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://2.bp.blogspot.com/-X244H1UzpKM/Tb53JxSe_wI/AAAAAAAAAFs/35ImbRw7VNE/s320/usecase.png" alt="" id="BLOGGER_PHOTO_ID_5602045996228869890" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-8745691725267363431?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/8745691725267363431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem_02.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/8745691725267363431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/8745691725267363431'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem_02.html' title='Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server part2 - use case'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-X244H1UzpKM/Tb53JxSe_wI/AAAAAAAAAFs/35ImbRw7VNE/s72-c/usecase.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-4510538549734496764</id><published>2011-05-02T02:01:00.000-07:00</published><updated>2011-05-02T04:19:18.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skripsi'/><title type='text'>Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Click for alternate translations" class="hps"&gt;Analysis&lt;/span&gt; &lt;span title="Click for alternate translations" class="hps"&gt;and&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Click for alternate translations" class="hps"&gt; Design&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Click for alternate translations" class="hps"&gt;&lt;/span&gt; &lt;span title="Click for alternate translations" class="hps"&gt;Position Monitoring System Bus TRANS JOGJA Based Mobile and Web Server&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Click for alternate translations" class="hps"&gt;&lt;/span&gt;&lt;/span&gt;Trans Jogja adalah sistem transportasi bus cepat, murah dan ber-AC di seputar kota Yogyakarta, Indonesia. Trans jogja merupakan salah satu bagian dari program penerapan Bus Rapid Transit (BRT) yang dicanangkan Departemen Perhubungan. Sistem ini mulai dioperasikan bulan Maret 2008 oleh Dinas Perhubungan, pemerintah Provinsi DIY. Moto pelayanannya adalah “Aman, Nyaman, Terjangkau dan Ramah lingkungan”.&lt;br /&gt;&lt;br /&gt;Sebagai komponen dari sistem transportasi terpadu bagi kota Yogyakarta dan daerah-daerah pendukungnya, sistem ini menghubungkan enam titik penting moda perhubungan di sekitar kota, diantaranya adalah Stasiun KA Jogjakarta, Terminal Bus Giwangan, Terminal Condong Catur, Bandar Udara Adisucipto, dan Terminal Prambanan. Kecuali Giwangan dan Stasiun Yogyakarta, titik-titik terletak di wilayah Kabupaten Sleman. Terdapat pula halte yang berada di dekat objek wisata serta tempat publik penting seperti sekolah, universitas, rumah sakit, bank, samsat, serta perpustakaan.&lt;br /&gt;&lt;br /&gt;Mengingat semakin populer dan sentralnya fungsi dari mode transportasi Trans Jogja ini pelayanan dan fasilitas bus maupun halte juga harus semakin ditingkatkan. Walaupun pelanggan sudah merasa nyaman atas fasilitas bus yang ber-AC dan harga tiket yang relatif murah, tetapi kadang pelanggan juga mengeluhkan tentang fasilitas di halte yang masih belum dilengkapi dengan sistem informasi geografis terkomputerisasi dan dinamis. Pelanggan tidak dapat mengetahui kapan bus selanjutnya akan tiba atau dimana posisi terkini bus yang akan mereka naiki selanjutnya. Untuk itu dibutuhkan sebuah sistem informasi navigasi dan pemantauan posisi terkini dari masing-masing bus yang beroperasi.&lt;br /&gt;&lt;br /&gt;Global Positioning System (GPS) merupakan satu-satunya sistem navigasi dan penentuan lokasi berbasis satelit dengan tingkat ketelitan yang tinggi, pada awalnya dikembangkan untuk digunakan oleh militer Amerika Serikat. GPS menggunakan lebih dari 24 satelit komunikasi yang mentransmisikan sinyal ke segala arah setiap saat. Satu penerima GPS dapat menemukan posisinya sendiri dalam beberapa detik dari sinyal satelit GPS dengan ketelitian hingga satu meter akurasi bahkan ketelitian hingga satu sentimeter dapat dicapai oleh unit receiver dengan spesifikasi canggih milik militer. Kemampuan ini telah mengurangi biaya perolehan data khususnya untuk membuat peta, atau hal-hal lain yang berhubungan dengan pemetaan juga meningkatkan akurasi pemetaan (Made, 2008).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Requirements Gathering&lt;/span&gt;&lt;br /&gt;Requirements gathering merupakan segmen untuk  menganalisis masalah, fungsi dan komponen produk yang akan dibuat dan hasil dari segmen ini adalah sebuah dokumen kebutuhan yang meliputi analisis kebutuhan pengguna, analisis domain, dan identifikasi sistem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Analisis Kebutuhan Pengguna&lt;/span&gt;&lt;br /&gt;    Bus Trans Jogja sekarang sudah menjadi moda transportasi terpadu dan sentral di kota Yogyakarta. Jalur dari Trans Jogja ini menghubungkan tempat-tempat setrategis di seputaran  kota. Tetapi sampai saat ini masih belum memiliki sebuah sistem pelacakan yang mampu  memberikan informasi mengenai rute, halte dan armada yang sedang beroperasi secara realtime. Untuk itu perlu dibangun sebuah aplikasi pelacakan yang berbasis client-server, dimana client/supir bus dapat memperoleh  informasi-informasi yang dibutuhkan sekaligus dapat mengetahui posisinya dengan tampilan dalam  map. Di sisi lain admin juga dapat secara realtime mengetahui posisi dari masing-masing armada yang beroperasi dan mampu  menyediakan  informasi-informasi yang dibutuhkan oleh usert.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Analisis Domain&lt;/span&gt;&lt;br /&gt;    Aplikasi Sistem Pelacakan Posisi Bus Trans Jogja Berbasis mobile dan Web Server ini akan dibangun menggunakan prinsip client-server dimana client (menggunakan teknologi J2ME) akan mengirim dan mengakses data menggunakan handphone, sedangkan server akan menggunakan PHP. Komunikasi antara client dan server dilakukan melalui koneksi via GPRS.&lt;br /&gt;    Aplikasi bagi client ini memiliki satu aktor yaitu user (pengendara bus). Dimana user tersebut dapat melihat informasi lokasi dengan tampilan map dan dapat mengakses informasi-informasi yang dibutuhkan. Untuk server sendiri admin sebagai aktor dapat menambah data lokasi atau jalur bus, mengubah data dan menghapus data yang semua diolah ke database. Data-data yang akan dikirim atau diakses oleh client dilakukan melalui koneksi via GPRS sehingga pertukaran informasi dapat dilakukan dengan realtime.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Identifikasi Sistem&lt;/span&gt;&lt;br /&gt;Identifikasi sistem yang dibangun akan menampakkan bagian-bagian software yang berjalan pada hardware. Hardware yang nampak secara fisik adalah handphone yang digunakan oleh user/client dan komputer yang akan digunakan oleh admin/server. Untuk software yang digunakan yaitu J2ME. Aplikasi untuk pelacakan posisi armada bus Trans Jogja ini menggunakan J2ME dan PHP terbagi atas dua aplikasi yaitu :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Aplikasi Client&lt;/span&gt;&lt;br /&gt;Aplikasi client akan mengirimkan request (permintaan) kepada aplikasi server menggunakan mobile phone berbasis java dengan konektivitas via GPRS melalui WAP Gateway operator telekomunikasi.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Aplikasi Server&lt;/span&gt;&lt;br /&gt;Aplikasi server akan menerima request dari client dan menghubungkan ke basis data server, kemudian  memproses request  tersebut, lalu mengirimkan tanggapan (response) ke client.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Click for alternate translations" class="hps"&gt;&lt;/span&gt;&lt;span title="Click for alternate translations" class="hps"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-4510538549734496764?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/4510538549734496764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/4510538549734496764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/4510538549734496764'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/analisis-dan-perancangan-sistem.html' title='Analisis dan Perancangan Sistem Pelacakan Posisi Bus TRANS JOGJA Berbasis Mobile dan Web Server'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-4711988174063275628</id><published>2011-05-02T01:50:00.000-07:00</published><updated>2011-05-02T04:19:18.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skripsi'/><title type='text'>My Final Project RELEASE (SISTEM PELACAKAN POSISI BUS TRANS JOGJA BERBASIS MOBILE DAN WEB SERVER)</title><content type='html'>&lt;div style="text-align: center;"&gt;POSITION MONITORING SYSTEM BUS TRANS JOGJA&lt;br /&gt;BASED MOBILE AND WEB SERVER&lt;br /&gt;&lt;br /&gt;SISTEM PELACAKAN POSISI BUS TRANS JOGJA&lt;br /&gt;BERBASIS MOBILE DAN WEB SERVER&lt;br /&gt;&lt;br /&gt;Kadek Widya Kumara&lt;br /&gt;Jurusan Teknik Informatika&lt;br /&gt;STMIK AMIKOM YOGYAKARTA&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;ABSTRACT&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now, Trans Jogja has been centrally transportation around Yogyakarta city. By having good facilities, comfortable seat, and lower cost is important factors that cause many consumers toward to use Trans Jogja service. However, by increasing the role of Trans Jogja to transport, it also causes consumers demand to more service. One of the important facilities that have never created is tracking system to each bus that still on operation on the way.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Because of that, the researcher tries to make an application that is expected to monitor a bus on operation. Hopefully, this application can provide complete information include route, shelter, and other important information. This tracking application is made by using Java2 Micro Edition for programming script on application mobile, PHP5 on side web server and MySQL as database management system. The system will have web system as its basis for administrator and mobile application for the user, this application uses Google Maps for visualizing the position by GPS receiver as user coordinate receiver.  The application is completed by login admin facility and user to protect access right.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The researcher thinks that this application is very useful to people who use Trans Jogja. Bus driver can know his position and information about route and shelter, administrator can monitor position of bus and consumers can look for much information that needed.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Key words: Global positioning System (GPS), Google Maps, Java2 Micro Edition (J2ME), Application Mobile, Web Server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-4711988174063275628?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/4711988174063275628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/my-final-project-release-sistem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/4711988174063275628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/4711988174063275628'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2011/05/my-final-project-release-sistem.html' title='My Final Project RELEASE (SISTEM PELACAKAN POSISI BUS TRANS JOGJA BERBASIS MOBILE DAN WEB SERVER)'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-4698915566891482572</id><published>2010-05-24T04:11:00.000-07:00</published><updated>2010-05-24T04:28:37.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gps'/><title type='text'>UML Use Case Diagram for GPS Application</title><content type='html'>UML &lt;a href="widyaonlearning.blogspot.com"&gt;Use Case&lt;/a&gt; Diagram is :&lt;br /&gt;The use case model captures the requirements of a system.&lt;br /&gt;Use cases are services or functions &lt;a href="widyaonlearning.blogspot.com"&gt;provided&lt;/a&gt; by the system to its users.&lt;br /&gt;A use case is a set of scenarios that describing an interaction between a &lt;a href="widyaonlearning.blogspot.com"&gt;user&lt;/a&gt; and a &lt;a href="widyaonlearning.blogspot.com"&gt;system&lt;/a&gt;.&lt;br /&gt;Use case diagrams model the functionality of a system using actors and use cases. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The two main components of a use case diagram are use cases and actors.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CHTw3UXTEc0/S_pgs8NoDBI/AAAAAAAAAEI/8dEwikgsG68/s1600/system.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 306px; height: 130px;" src="http://4.bp.blogspot.com/_CHTw3UXTEc0/S_pgs8NoDBI/AAAAAAAAAEI/8dEwikgsG68/s320/system.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5474794622216047634" /&gt;&lt;/a&gt;&lt;br /&gt;An actor is represents a user or another system that will interact with the system you are modeling.&lt;br /&gt;A use case is an external view of the system that represents some action the user might perform in order to complete a task.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Below is my sample use case for &lt;a href="widyaonlearning.blogspot.com"&gt;GPS&lt;/a&gt; system :&lt;br /&gt;use case for admin side;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CHTw3UXTEc0/S_phpgnYepI/AAAAAAAAAEY/eU6ExHF4BUA/s1600/Untitled.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 173px;" src="http://3.bp.blogspot.com/_CHTw3UXTEc0/S_phpgnYepI/AAAAAAAAAEY/eU6ExHF4BUA/s320/Untitled.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5474795662779906706" /&gt;&lt;/a&gt;&lt;br /&gt;use case for client side;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CHTw3UXTEc0/S_phpGSNymI/AAAAAAAAAEQ/K46XOrfx-g8/s1600/admin.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 199px;" src="http://2.bp.blogspot.com/_CHTw3UXTEc0/S_phpGSNymI/AAAAAAAAAEQ/K46XOrfx-g8/s320/admin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5474795655711804002" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-4698915566891482572?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/4698915566891482572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/05/uml-use-case-diagram-for-gps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/4698915566891482572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/4698915566891482572'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/05/uml-use-case-diagram-for-gps.html' title='UML Use Case Diagram for GPS Application'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_CHTw3UXTEc0/S_pgs8NoDBI/AAAAAAAAAEI/8dEwikgsG68/s72-c/system.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-2507682000289840809</id><published>2010-05-01T02:34:00.000-07:00</published><updated>2010-05-01T02:46:43.472-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Art'/><title type='text'>Balinese Art Shop Online</title><content type='html'>&lt;p&gt;&lt;br /&gt;One tourist destination in the world's most famous is the Bali island (Island of the Gods) besides having an amazing culture and an amazing tourist area. Bali community is also a good craftsmen. if you want to buy art bali products, you can visit the site &lt;a href="http://balineseartshop.com" target="_BLANK"&gt;Balineseartshop&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There you can see the results of the public arts of Bali and can be bought without having to come to Bali.&lt;br /&gt;&lt;br /&gt;In this blog I included some photos of the products sold on the website  &lt;a href="http://balineseartshop.com" target="_BLANK"&gt;Balineseartshop&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CHTw3UXTEc0/S9v2xgQcGbI/AAAAAAAAADo/rAq_wE8uJLk/s1600/heart5.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://4.bp.blogspot.com/_CHTw3UXTEc0/S9v2xgQcGbI/AAAAAAAAADo/rAq_wE8uJLk/s320/heart5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5466233903077136818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CHTw3UXTEc0/S9v29wE145I/AAAAAAAAADw/mtNwi6ZDnMU/s1600/kotak5.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_CHTw3UXTEc0/S9v29wE145I/AAAAAAAAADw/mtNwi6ZDnMU/s320/kotak5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5466234113481892754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CHTw3UXTEc0/S9v3J69eSFI/AAAAAAAAAD4/m-ofv6nXA20/s1600/garuda.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 302px; height: 320px;" src="http://3.bp.blogspot.com/_CHTw3UXTEc0/S9v3J69eSFI/AAAAAAAAAD4/m-ofv6nXA20/s320/garuda.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5466234322562205778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CHTw3UXTEc0/S9v3TnnHm_I/AAAAAAAAAEA/IUEvQ_NKWJI/s1600/sun1.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://3.bp.blogspot.com/_CHTw3UXTEc0/S9v3TnnHm_I/AAAAAAAAAEA/IUEvQ_NKWJI/s320/sun1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5466234489166863346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From  &lt;a href="http://balineseartshop.com" target="_BLANK"&gt;Balineseartshop&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BY ART FROM MY SITE - We are an online art shop that provides various traditional arts of Bali. we are here to offer low prices and excellent customer service. if you want to get the latest information about our products you can log in and become a member of our online art shop. if you become a member you will also get a variety of convenience shipping or discounts from us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-2507682000289840809?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/2507682000289840809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/05/balinese-art-shop-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/2507682000289840809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/2507682000289840809'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/05/balinese-art-shop-online.html' title='Balinese Art Shop Online'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_CHTw3UXTEc0/S9v2xgQcGbI/AAAAAAAAADo/rAq_wE8uJLk/s72-c/heart5.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-497993713044343642</id><published>2010-04-15T21:54:00.000-07:00</published><updated>2010-04-15T22:53:02.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2ME Programming'/><title type='text'>Create J2ME MidLet with Command, List and Alert</title><content type='html'>The following is a simple example of creating a Command, List and the Alert in J2ME Midlet. The first thing you should do is install the JDK on the C system, then install the Java ™ Platform Micro Edition Software Development Kit or Netbean built J2ME.&lt;br /&gt;&lt;br /&gt;This program that we will create:&lt;br /&gt;&lt;br /&gt;list menu :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fu5Jhcx5I/AAAAAAAAADQ/Sl7UQ_2xOfo/s1600/mainmenu.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 150px;" src="http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fu5Jhcx5I/AAAAAAAAADQ/Sl7UQ_2xOfo/s320/mainmenu.png" alt="" id="BLOGGER_PHOTO_ID_5460595738786187154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;select one list :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fvRDcsHAI/AAAAAAAAADY/DjccZShV6MA/s1600/list.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 150px;" src="http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fvRDcsHAI/AAAAAAAAADY/DjccZShV6MA/s320/list.png" alt="" id="BLOGGER_PHOTO_ID_5460596149472467970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;result alert :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fva1m5qhI/AAAAAAAAADg/5GQ87YIgaTQ/s1600/alert.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 150px;" src="http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fva1m5qhI/AAAAAAAAADg/5GQ87YIgaTQ/s320/alert.png" alt="" id="BLOGGER_PHOTO_ID_5460596317555894802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The following step program creation :&lt;/p&gt;&lt;br /&gt;Step #1 : create all object needed and declare it &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public class Menu21 extends MIDlet implements CommandListener{&lt;br /&gt;    //create object needed&lt;br /&gt;    private List mainMenu;&lt;br /&gt;    private List titleFilm;&lt;br /&gt;    private List contactkAdm;&lt;br /&gt;    private List scheduleFilm;&lt;br /&gt;    private Command cmdExit;&lt;br /&gt;    private Command cmdBack;&lt;br /&gt;    private Command cmdSelect;&lt;br /&gt;    private Display display;&lt;br /&gt;    private Alert alert1;&lt;br /&gt;    private Image img = null;&lt;br /&gt;&lt;br /&gt;    public Menu21(){&lt;br /&gt;        //declare object&lt;br /&gt;        display = Display.getDisplay(this);&lt;br /&gt;        mainMenu = new List("Theatre21", Choice.IMPLICIT);&lt;br /&gt;        titleFilm = new List("Title", Choice.IMPLICIT);&lt;br /&gt;        contactkAdm = new List("Contact", Choice.EXCLUSIVE);&lt;br /&gt;        scheduleFilm = new List("Schedule", Choice.MULTIPLE);&lt;br /&gt;        cmdBack = new Command("Back", Command.BACK, 1);&lt;br /&gt;        cmdExit = new Command("Exit", Command.EXIT, 2);&lt;br /&gt;        cmdSelect = new Command("Select", Command.SCREEN, 2);&lt;br /&gt;        alert1 = new Alert(null);&lt;br /&gt;        alert1.setTimeout(10000);&lt;br /&gt;&lt;br /&gt;    }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;Step #2: makes all the objects and fill in the required content in objects startApp ()&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public void startApp() {&lt;br /&gt;        //create object icon&lt;br /&gt;        try {&lt;br /&gt;            img = Image.createImage("/small.png");&lt;br /&gt;        }catch(Exception e){&lt;br /&gt;            System.out.println("image null " +e.getMessage());&lt;br /&gt;            img=null;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //add command to main menu&lt;br /&gt;        mainMenu.addCommand(cmdExit);&lt;br /&gt;        mainMenu.addCommand(cmdPilihl);&lt;br /&gt;&lt;br /&gt;        //add list to main menu&lt;br /&gt;        mainMenu.append("Title", img);&lt;br /&gt;        mainMenu.append("contact", img);&lt;br /&gt;        mainMenu.append("Schedule", img);&lt;br /&gt;        mainMenu.append("Info", img);&lt;br /&gt;&lt;br /&gt;        //set command main menu&lt;br /&gt;        mainMenu.setCommandListener(this);&lt;br /&gt;        //set main menu as displayable&lt;br /&gt;        display.setCurrent(mainMenu);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;Step #3 : Create Command listener &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; public void commandAction(Command c, Displayable d) {&lt;br /&gt;        if (c==cmdExit){&lt;br /&gt;            destroyApp(false);&lt;br /&gt;            notifyDestroyed();&lt;br /&gt;        }else if(c==cmdPilihl){&lt;br /&gt;            if(display.getCurrent()==mainMenu){&lt;br /&gt;                evenMainMenu();&lt;br /&gt;            }else if(display.getCurrent()==titleFilm){&lt;br /&gt;                evenTitle();&lt;br /&gt;            }else if(display.getCurrent()==contactkAdm){&lt;br /&gt;                evenContact();&lt;br /&gt;            }else if(display.getCurrent()==scheduleFilm){&lt;br /&gt;                evenSchedule();&lt;br /&gt;            }&lt;br /&gt;        }else if(c==cmdBack){&lt;br /&gt;            display.setCurrent(mainMenu);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step #4 : Create all Object needed in action listener&lt;br /&gt;&lt;code&gt;&lt;br /&gt;    private void evenJudul() {&lt;br /&gt;        int i = titleFilm.getSelectedIndex();&lt;br /&gt;        alert1.setTitle("Title " + titleFilm.getString(i));&lt;br /&gt;        if(titleFilm.getString(i).equals("Avatar")){&lt;br /&gt;            alert1.setString("i think you know about this film...");&lt;br /&gt;        }else if(titleFilm.getSelectedIndex()==1){&lt;br /&gt;            alert1.setString("menceritakan tentang bumi th 2012");&lt;br /&gt;        }else if(titleFilm.getSelectedIndex()==2){&lt;br /&gt;            alert1.setString("i don't know about this film..");&lt;br /&gt;        }else if(titleFilm.getSelectedIndex()==3){&lt;br /&gt;            alert1.setString("story about Gi Joe the 'Bolang'");&lt;br /&gt;        }&lt;br /&gt;        display.setCurrent(alert1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    private void evenContact() {&lt;br /&gt;        int i = contactkAdm.getSelectedIndex();&lt;br /&gt;        alert1.setTitle(contactkAdm.getString(i)+" kami :\n");&lt;br /&gt;        if(i==0){&lt;br /&gt;            alert1.setString("cieforblack@gmail.com");&lt;br /&gt;        }else if(i==1){&lt;br /&gt;            alert1.setString("cie_78@yahoo.com");&lt;br /&gt;        }else if(i==2){&lt;br /&gt;            alert1.setString("ciefor78@gmail.com");&lt;br /&gt;        }&lt;br /&gt;        display.setCurrent(alert1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void evenSchedule() {&lt;br /&gt;       boolean[] selctSchedule = new boolean[scheduleFilm.size()];       &lt;br /&gt;       int jumpil = scheduleFilm.getSelectedFlags(selectSchedule);&lt;br /&gt;       alert1.setTitle("Schedule 21");&lt;br /&gt;&lt;br /&gt;       StringBuffer isi = new StringBuffer("You select "+jumpil+" hari\n");&lt;br /&gt;       for(int i=0;i&lt;selectSchedule.length;i++){&lt;br /&gt;           if(selectSchedule[i])&lt;br /&gt;           isi.append((i+1)+". hari "+scheduleFilm.getString(i)+"\n");&lt;br /&gt;       }&lt;br /&gt;       &lt;br /&gt;       alert1.setString(isi.toString());&lt;br /&gt;      display.setCurrent(alert1);     &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void evenMainMenu() {&lt;br /&gt;        if(mainMenu.getSelectedIndex()==0){&lt;br /&gt;            listtitle();&lt;br /&gt;        }else if(mainMenu.getSelectedIndex()==1){&lt;br /&gt;            listContact();&lt;br /&gt;        }else if(mainMenu.getSelectedIndex()==2){&lt;br /&gt;            listSchedule();&lt;br /&gt;        }else if(mainMenu.getSelectedIndex()==3){&lt;br /&gt;            info21();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    private void info21() {&lt;br /&gt;       alert1.setTitle("INFORMATION");&lt;br /&gt;       alert1.setString("Bioskop21 Information\n"&lt;br /&gt;                         +"Name : Widya\n"&lt;br /&gt;                         +"Nim : 07.11.1634");&lt;br /&gt;       &lt;br /&gt;       display.setCurrent(alert1);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void listSchedule() {&lt;br /&gt;        jadwalFilm.deleteAll();&lt;br /&gt;&lt;br /&gt;        scheduleFilm.addCommand(cmdExit);&lt;br /&gt;        scheduleFilm.addCommand(cmdBack);&lt;br /&gt;        scheduleFilm.addCommand(cmdPilihl);&lt;br /&gt;&lt;br /&gt;        scheduleFilm.append("Monday", null);&lt;br /&gt;        scheduleFilm.append("Tuesday", null);&lt;br /&gt;        scheduleFilm.append("Wednesday", null);&lt;br /&gt;        scheduleFilm.append("Thursday", null);&lt;br /&gt;        scheduleFilm.append("Friday", null);&lt;br /&gt;        scheduleFilm.append("Saturday", null);&lt;br /&gt;        scheduleFilm.append("Sunday", null);&lt;br /&gt;&lt;br /&gt;        scheduleFilm.setCommandListener(this);&lt;br /&gt;        display.setCurrent(scheduleFilm);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void listTitle() {&lt;br /&gt;        try {&lt;br /&gt;            img = Image.createImage("/small.png");&lt;br /&gt;        }catch(Exception e){&lt;br /&gt;            System.out.println("image null " +e.getMessage());&lt;br /&gt;            img=null;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        titleFilm.deleteAll();&lt;br /&gt;&lt;br /&gt;        titleFilm.addCommand(cmdExit);&lt;br /&gt;        titleFilm.addCommand(cmdPilihl);&lt;br /&gt;        titleFilm.addCommand(cmdBack);&lt;br /&gt;&lt;br /&gt;        titleFilm.append("Avatar", img);&lt;br /&gt;        titleFilm.append("2012", null);&lt;br /&gt;        titleFilm.append("UP IN THE AIR", null);&lt;br /&gt;        titleFilm.append("GI JOE", null);&lt;br /&gt;&lt;br /&gt;        titleFilm.setCommandListener(this);&lt;br /&gt;        display.setCurrent(judulFilm);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void listContact() {&lt;br /&gt;&lt;br /&gt;       contactAdm.deleteAll();&lt;br /&gt;       contactAdm.addCommand(cmdExit);&lt;br /&gt;       contactAdm.addCommand(cmdBack);&lt;br /&gt;       contactAdm.addCommand(cmdSelect);&lt;br /&gt;&lt;br /&gt;       contactAdm.append("E-Mail", null);&lt;br /&gt;       contactAdm.append("Facebook", null);&lt;br /&gt;       contactAdm.append("Yahoo", null);&lt;br /&gt;&lt;br /&gt;       contactAdm.setCommandListener(this);&lt;br /&gt;       display.setCurrent(contactAdm);&lt;br /&gt;    }&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-497993713044343642?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/497993713044343642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/04/create-j2me-midlet-with-command-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/497993713044343642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/497993713044343642'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/04/create-j2me-midlet-with-command-list.html' title='Create J2ME MidLet with Command, List and Alert'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CHTw3UXTEc0/S8fu5Jhcx5I/AAAAAAAAADQ/Sl7UQ_2xOfo/s72-c/mainmenu.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-6375773000401000291</id><published>2010-01-29T00:16:00.000-08:00</published><updated>2010-01-29T00:34:03.386-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Apple iPad still has some weaknesses</title><content type='html'>&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=TkwMeV7X3mY%3D&amp;cid=sO23aMPfjUo%3D&amp;chan=9zjyPsV1PHk%3D&amp;type=2&amp;title=3D81EE&amp;text=000000&amp;background=FFFFFF&amp;border=000000&amp;url=2BA94F" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CHTw3UXTEc0/S2KaNnF6III/AAAAAAAAABw/7bFBxHRVY-U/s1600-h/ipad.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 203px;" src="http://1.bp.blogspot.com/_CHTw3UXTEc0/S2KaNnF6III/AAAAAAAAABw/7bFBxHRVY-U/s320/ipad.jpg" alt="" id="BLOGGER_PHOTO_ID_5432073659184980098" border="0" /&gt;&lt;/a&gt;New tablet computer from Apple, iPad, is a revolutionary device. Steve Jobs, CEO of Apple, even commenting on this device as 'the most important thing' is announced.&lt;br /&gt;&lt;br /&gt;content and features that are owned, Apple iPad is quite promising. The device mentioned can have many functions for its users, ranging from e-book reader, video player and even to handheld game consoles.&lt;br /&gt;&lt;br /&gt;However, Apple iPad still considered to have some shortcomings. These deficiencies could be a reason for consumers to not rush to adopt Apple's gadget is cool.&lt;br /&gt;&lt;br /&gt;What are the drawbacks? according to InformationWeek, following a number of weaknesses in Apple iPad:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;t&gt;No Adobe flash&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;Not equipped with a camera&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;     Not to multitasking&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;     The screen has a small size, which is 9.7 inches&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;Not using Mac OS&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;     Storage capacity is not big enough&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;     The battery is not easily replaced&lt;/t&gt;&lt;/li&gt;&lt;li&gt;&lt;t&gt;     Does not have HDMI port&lt;/t&gt;&lt;/li&gt;&lt;/ul&gt;&lt;t&gt;&lt;br /&gt;what with all these shortcomings iPad, this product will still be interested?? we will wait seoak exploits of this great product.&lt;br /&gt;&lt;br /&gt;see also :&lt;br /&gt;&lt;/t&gt;&lt;a href="http://widyaonlearning.blogspot.com/2010/01/apple-ipad-new-technology-from-apple.html"&gt;Apple iPad new technology from Apple&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-6375773000401000291?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/6375773000401000291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/apple-ipad-still-has-some-weaknesses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/6375773000401000291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/6375773000401000291'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/apple-ipad-still-has-some-weaknesses.html' title='Apple iPad still has some weaknesses'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CHTw3UXTEc0/S2KaNnF6III/AAAAAAAAABw/7bFBxHRVY-U/s72-c/ipad.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-75475225133540649</id><published>2010-01-29T00:04:00.000-08:00</published><updated>2010-01-29T00:29:34.131-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Apple iPad new technology from Apple</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CHTw3UXTEc0/S2KXVyDVkpI/AAAAAAAAABo/8gK350MeqjQ/s1600-h/ipad_hero4.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 203px;" src="http://1.bp.blogspot.com/_CHTw3UXTEc0/S2KXVyDVkpI/AAAAAAAAABo/8gK350MeqjQ/s320/ipad_hero4.jpg" alt="" id="BLOGGER_PHOTO_ID_5432070501031056018" border="0" /&gt;&lt;/a&gt;Apple CEO, Steve Jobs announced the latest product named Apple iPad. iPad is probably the latest version of the &lt;a href="http://"&gt;iPhone&lt;/a&gt;, because it has the exact same form with the iPhone.&lt;br /&gt;&lt;br /&gt;This technologically advanced device touch screen with dimensions of 9.7 inches and weighs 1.5 pounds. Processors using Apple processor A4 1 GHz. Battery endurance is almost the same as the iPod resistance in general, ie for 10 hours for the use of active and nearly a month when in standby.&lt;br /&gt;&lt;br /&gt;iPad is launched in two versions, first version with dibandrol As the price of 499 dollars with 16 GB of memory and one worth 829 U.S. dollars with 65 GB of memory and is equipped with 3G connectivity. but for the both version has been equipped iPad WiFi devices.&lt;br /&gt;&lt;br /&gt;For the name, Apple even had to buy the copyright of Fujitsu iPad've used first names for one product.&lt;br /&gt;&lt;br /&gt;The function of the iPad was almost the same as the iPhone, ranging from check emails, browsing, streaming from YouTube, see photos and video, iWorks etc. But that became the hallmarks of this iPad is a application to read and direct mendonload aka e-books electronic books from the Internet. To support that, at the same time Apple also opened a new online store, iBook Store.&lt;br /&gt;&lt;br /&gt;but these new products sold in the U.S. market. New iPad next 2-3 months will touch another country markets.&lt;br /&gt;&lt;br /&gt;see also :&lt;br /&gt;&lt;a href="http://widyaonlearning.blogspot.com/2010/01/apple-ipad-still-has-some-weaknesses.html"&gt;Apple iPad still has some weaknesses&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-75475225133540649?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/75475225133540649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/apple-ipad-new-technology-from-apple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/75475225133540649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/75475225133540649'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/apple-ipad-new-technology-from-apple.html' title='Apple iPad new technology from Apple'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CHTw3UXTEc0/S2KXVyDVkpI/AAAAAAAAABo/8gK350MeqjQ/s72-c/ipad_hero4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-1329462040099464568</id><published>2010-01-27T05:57:00.000-08:00</published><updated>2010-01-27T07:00:13.874-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hobby'/><title type='text'>Vespa and sexy girl</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CHTw3UXTEc0/S2BPTz9o-1I/AAAAAAAAABQ/Yf_3LcWvlsY/s1600-h/Vespa_Girl_by_avivi.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 206px; height: 320px;" src="http://2.bp.blogspot.com/_CHTw3UXTEc0/S2BPTz9o-1I/AAAAAAAAABQ/Yf_3LcWvlsY/s320/Vespa_Girl_by_avivi.jpg" alt="" id="BLOGGER_PHOTO_ID_5431428352393673554" border="0" /&gt;&lt;/a&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;Piaggio aircraft factory during which produces many types of aircraft during World War 2 was destroyed by allied bombers. This company became bankrupt, so that after the world war over this company was taken over by enrico piagio. Because he saw the roads in Italy were destroyed and the economy is bad then he led the company to focus on designing an inexpensive&lt;br /&gt;means of transportation.&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;Corradino d'Ascanio was an aeronautical engineer who used to designed, built, and flew the first modern helicopter in the world, eventually was asked to reply to design a simple reply of transportation, economical, but also comfortable and elegant D'Ascanio was an engineer who really hate the bike why he designed a revolutionary new product that yg inspired to apply aircraft and aircraft technology (monocoque construction, front-wheel design is also derived from the design of aircraft wheels, for easy replacement tires) even the initial products, is using an aircraft wheel&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;vespa, the name given enrico himself when he first saw the design the vespa = a kind of Italian bees  (Wasp in english)&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;until now, the design remains the Vespa motorcycle design most sensual truly revolutionary machine simpe step 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;Most structures using aluminum design also considered a completely different motorcycle was considered noisy and uncomfortable&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;br /&gt;This antique motorcycle enthusiasts are not only men but also women. vespa always look beautiful when integrated with a woman.&lt;/span&gt;&lt;br /&gt;&lt;p&gt;vesva antique galery :&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CHTw3UXTEc0/S2BUuucCUcI/AAAAAAAAABg/GI0VpBGtCOQ/s1600-h/vespa_stretch.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="http://3.bp.blogspot.com/_CHTw3UXTEc0/S2BUuucCUcI/AAAAAAAAABg/GI0VpBGtCOQ/s320/vespa_stretch.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5431434312325157314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CHTw3UXTEc0/S2BNXYicOeI/AAAAAAAAABA/or9qgVsKOKQ/s1600-h/vespa-rifle-03.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 228px;" src="http://4.bp.blogspot.com/_CHTw3UXTEc0/S2BNXYicOeI/AAAAAAAAABA/or9qgVsKOKQ/s320/vespa-rifle-03.jpg" alt="" id="BLOGGER_PHOTO_ID_5431426214728055266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CHTw3UXTEc0/S2BNx1if6JI/AAAAAAAAABI/eZ7ZponTHs8/s1600-h/04vespa-754825.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_CHTw3UXTEc0/S2BNx1if6JI/AAAAAAAAABI/eZ7ZponTHs8/s320/04vespa-754825.jpg" alt="" id="BLOGGER_PHOTO_ID_5431426669189523602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CHTw3UXTEc0/S2BPzFeF9oI/AAAAAAAAABY/1UQsalhAMnI/s1600-h/vespa-vw-bike.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 226px;" src="http://4.bp.blogspot.com/_CHTw3UXTEc0/S2BPzFeF9oI/AAAAAAAAABY/1UQsalhAMnI/s320/vespa-vw-bike.jpg" alt="" id="BLOGGER_PHOTO_ID_5431428889669138050" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-1329462040099464568?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/1329462040099464568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/piaggio-aircraft-factory-during-which.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/1329462040099464568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/1329462040099464568'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/piaggio-aircraft-factory-during-which.html' title='Vespa and sexy girl'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CHTw3UXTEc0/S2BPTz9o-1I/AAAAAAAAABQ/Yf_3LcWvlsY/s72-c/Vespa_Girl_by_avivi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-6987333311993591658</id><published>2010-01-26T23:26:00.000-08:00</published><updated>2010-01-27T07:20:38.374-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java Programming'/><title type='text'>a simple client/server source in java</title><content type='html'>&lt;span id="result_box" class="long_text"&gt;&lt;span title="dalam membangun aplikasi client/server kita akan membuat dua source awal yakni source untuk server dan dan source koneksi client ke server."&gt;in building the client / server application we will make two initial source, the &lt;a href="#server"&gt;&lt;u&gt;server source&lt;/u&gt;&lt;/a&gt; and the &lt;a href="#client"&gt;&lt;u&gt;client source&lt;/u&gt;&lt;/a&gt; for connections to the server.&lt;br /&gt;&lt;/span&gt;&lt;span title="berikut merupakan contoh sederhana koneksi client/server dengan menggunakan port :"&gt;The following is a simple example of the connection client / server using TCP.&lt;br /&gt;&lt;br /&gt;&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=TkwMeV7X3mY%3D&amp;amp;cid=sO23aMPfjUo%3D&amp;amp;chan=9zjyPsV1PHk%3D&amp;amp;type=2&amp;amp;title=3D81EE&amp;amp;text=000000&amp;amp;background=FFFFFF&amp;amp;border=000000&amp;amp;url=2BA94F" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span title="kode untuk server"&gt;&lt;a name="server"&gt;code for the server &lt;/a&gt;:&lt;br /&gt;&lt;div class="alt2" style="border: 1px inset ; margin: 0px; padding: 6px;"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:90%;"&gt;/**&lt;br /&gt;* Tserver.java&lt;br /&gt;* Example server program using TCP.&lt;br /&gt;*/&lt;br /&gt;import javax.swing.*;&lt;br /&gt;public class Tserver {&lt;br /&gt;&lt;br /&gt;final static      int   serverPort   = 3456;                      // port server location&lt;br /&gt;&lt;br /&gt;public static void main(String args[]) {&lt;br /&gt;java.net.ServerSocket   sock = null;                              // server socket location&lt;br /&gt;java.net.Socket         clientSocket = null;                      // creating socket&lt;br /&gt;java.io.PrintWriter     pw   = null;                              // output soket&lt;br /&gt;java.io.BufferedReader  br   = null;                              // input soket&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;     sock = new java.net.ServerSocket(serverPort);               // create socket and bind to port&lt;br /&gt;     System.out.println("waiting connection from client..");&lt;br /&gt;     clientSocket = sock.accept();                               // waiting connection from client&lt;br /&gt;     System.out.println("connection successfull");&lt;br /&gt;     pw   = new java.io.PrintWriter&lt;br /&gt;(clientSocket.getOutputStream(),true);&lt;br /&gt;     br   = new java.io.BufferedReader(&lt;br /&gt;new java.io.InputStreamReader(clientSocket.getInputStream()));&lt;br /&gt;&lt;br /&gt;     Integer r = Integer.parseInt(br.readLine());             // read message from client&lt;br /&gt;     Double hsl = 3.14 * r * r ;&lt;br /&gt;     //System.out.println("pesan dari client.. &gt;" + hsl);&lt;br /&gt;     JOptionPane.showMessageDialog(null,answer "+hsl);                                      // send response to client&lt;br /&gt;&lt;br /&gt;     pw.close();                                                 // closing&lt;br /&gt;     br.close();&lt;br /&gt;     clientSocket.close();&lt;br /&gt;     sock.close();&lt;br /&gt;} catch (Throwable e) {&lt;br /&gt;     System.out.println("Error " + e.getMessage());&lt;br /&gt;     e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="client"&gt;code for the client&lt;/a&gt; :&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B002TN284M?ie=UTF8&amp;amp;tag=widyonlear-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B002TN284M"&gt;Java Programming for a Beginner, 5-disk DVD Complete Training Suite. Edition 2009&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=widyonlear-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B002TN284M" alt="" style="border: medium none  ! important; margin: 0px ! important;" width="1" border="0" height="1" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: 5px;"&gt;&lt;div class="bigfont" style="margin-bottom: 2px;"&gt;&lt;input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Close'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'view source'; }" style="margin: 0px; padding: 0px; width: 80px;" value="view source" type="button"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px inset ; margin: 0px; padding: 6px;"&gt;&lt;div style="display: none;"&gt;SOURCE CODE&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:90%;"&gt;/**&lt;br /&gt;* Tclient.java&lt;br /&gt;* Example Client program using TCP.&lt;br /&gt;*/&lt;br /&gt;import javax.swing.*;&lt;br /&gt;public class Tclient {&lt;br /&gt;&lt;br /&gt;final static  String    serverIPname = "localhost";               // server IP name&lt;br /&gt;final static  int       serverPort   = 3456;                      // port server&lt;br /&gt;&lt;br /&gt;public static void main(String args[]) {&lt;br /&gt;java.net.Socket         sock = null;                              // Socket object for connection&lt;br /&gt;java.io.PrintWriter     pw   = null;                              // socket output to server&lt;br /&gt;java.io.BufferedReader  br   = null;                              // socket input from server&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;     sock = new java.net.Socket(serverIPname,serverPort);        // create socket and connection&lt;br /&gt;     pw   = new java.io.PrintWriter(sock.getOutputStream(), true);  // create reader and writer&lt;br /&gt;     br   = new java.io.BufferedReader(new java.io.InputStreamReader(sock.getInputStream()));&lt;br /&gt;     System.out.println("Koneksi ke server");&lt;br /&gt;     pw.println(JOptionPane.showInputDialog(null,"masukkan nilai r "));                      //send message to server&lt;br /&gt;     System.out.println("sending message to server");&lt;br /&gt;     String answer = br.readLine();                              // get data server&lt;br /&gt;    System.out.println("message from server"+ answer);&lt;br /&gt;     JOptionPane.showMessageDialog(null,"server answer  " + answer);&lt;br /&gt;     pw.close();                                                 // closing&lt;br /&gt;     br.close();&lt;br /&gt;     sock.close();&lt;br /&gt;} catch (Throwable e) {&lt;br /&gt;     System.out.println("Error " + e.getMessage());&lt;br /&gt;     e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-6987333311993591658?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/6987333311993591658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/simple-clienserver-source-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/6987333311993591658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/6987333311993591658'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2010/01/simple-clienserver-source-in-java.html' title='a simple client/server source in java'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-6499417942185053777</id><published>2009-12-03T00:02:00.000-08:00</published><updated>2009-12-15T06:13:35.622-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><title type='text'>Foreign Key Constraint in MySql</title><content type='html'>&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=TkwMeV7X3mY%3D&amp;cid=sO23aMPfjUo%3D&amp;chan=9zjyPsV1PHk%3D&amp;type=2&amp;title=3D81EE&amp;text=000000&amp;background=FFFFFF&amp;border=000000&amp;url=2BA94F" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;code class="literal"&gt;InnoDB&lt;/code&gt; supports foreign key constraints. The syntax for a foreign key constraint definition in&lt;code class="literal"&gt;&lt;span style="font-family:Georgia,serif;"&gt; &lt;/span&gt;InnoDB&lt;/code&gt; looks like this:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;table style="color: rgb(153, 153, 153); width: 334px; height: 148px;" bg=""&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre class="programlisting"&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;[CONSTRAINT [&lt;/span&gt;&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;symbol&lt;/code&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;]] FOREIGN KEY&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;[&lt;/span&gt;&lt;code style="color: rgb(51, 0, 51);"&gt;index_name&lt;/code&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;] (&lt;/span&gt;&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;index_col_name&lt;/code&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;, ...)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;REFERENCES &lt;/span&gt;&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;tbl_name&lt;/code&gt; (&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;index_col_name&lt;/code&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;,...)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;[ON DELETE &lt;/span&gt;&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;reference_option&lt;/code&gt;&lt;span style="font-style: italic; color: rgb(51, 0, 51);"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;[ON UPDATE &lt;/span&gt;&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;reference_option&lt;/code&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code style="font-style: italic; color: rgb(255, 204, 204);"&gt;reference_option&lt;/code&gt;:&lt;br /&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;RESTRICT | CASCADE | SET NULL | NO ACTION&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="background-color: transparent; border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Times New Roman';font-size:medium;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(32, 32, 32); line-height: 23px;font-family:verdana,arial,helvetica,sans-serif;font-size:small;"&gt;&lt;p   style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;font-family:sans-serif;font-size:14px;"&gt;&lt;em class="replaceable" size="14px" style="font-style: italic; font-weight: bold; "&gt;&lt;code style="padding: 1px; color: rgb(2, 103, 137); font-size: 13px; background-color: rgb(204, 204, 204); font-weight: normal; font-family: monospace,fixed;"&gt;index_name&lt;/code&gt;&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;represents a foreign key ID. If given, this is ignored if an index for the foreign key is defined explicitly. Otherwise, if&lt;/span&gt;&lt;code class="literal" style="font-size: 13px; color: white; font-family: arial;"&gt;&lt;/code&gt;&lt;/span&gt;&lt;span   class="Apple-converted-space" style="font-family:arial;font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;creates an index for the foreign key, it uses&lt;/span&gt;&lt;/span&gt;&lt;span   class="Apple-converted-space" style="font-family:arial;font-size:100%;"&gt; &lt;/span&gt;&lt;em class="replaceable" style="font-style: italic; font-weight: bold; font-size: 14px;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code style="padding: 1px; color: rgb(2, 103, 137); font-size: 13px; background-color: rgb(204, 204, 204); font-weight: normal; font-family: arial;"&gt;&lt;/code&gt;&lt;/span&gt;&lt;code style="padding: 1px; color: rgb(2, 103, 137); font-size: 13px; background-color: rgb(204, 204, 204); font-weight: normal; font-family: monospace,fixed;"&gt;index_name&lt;/code&gt;&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;for the index name.&lt;/span&gt;&lt;/p&gt;&lt;p   style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;font-family:sans-serif;font-size:14px;"&gt;&lt;span style="font-size:100%;"&gt;Foreign keys definitions are subject to the following conditions:&lt;/span&gt;&lt;/p&gt;&lt;div class="itemizedlist" style="font-size: 14px;"&gt;&lt;ul style="margin: 0px 4px 8px 16px; padding: 0px; list-style-image: url(file:///G:/common/img/list-orange-disc.png);"&gt;&lt;li  style="margin-bottom: 5px; margin-left: 8px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;font-size:14px;"&gt;&lt;p style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;font-family:sans-serif;font-size:14px;"&gt;&lt;span style="font-size:100%;"&gt;Both tables must be&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code class="literal" style="font-family: monospace,fixed; font-size: 13px; color: white;"&gt;&lt;/code&gt;tables and they must not be&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" face="monospace,fixed" size="13px" color="white" style="color: rgb(102, 204, 204);"&gt;TEMPORARY&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;tables.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li  style="margin-bottom: 5px; margin-left: 8px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;font-size:14px;"&gt;&lt;p   style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;  font-family:sans-serif;font-size:14px;"&gt;&lt;span style="font-size:100%;"&gt;Corresponding columns in the foreign key and the referenced key must have similar internal data types inside&lt;/span&gt;&lt;code class="literal" face="monospace,fixed" size="13px" color="white" style="color: rgb(102, 204, 204);"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;so that they can be compared without a type conversion.&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="emphasis"  style="font-size:100%;"&gt;&lt;em size="14px" color="white" style="font-style: italic; font-weight: normal;"&gt;The size and sign of integer types must be the same&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;. The length of string types need not be the same. For nonbinary (character) string columns, the character set and collation must be the same.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-bottom: 5px; margin-left: 8px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;font-size:14px;"&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;  "&gt;&lt;code class="literal" face="monospace,fixed" size="13px" color="white" style="color: rgb(102, 204, 204);"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;requires indexes on foreign keys and referenced keys so that foreign key checks can be fast and not require a table scan. In the referencing table, there must be an index where the foreign key columns are listed as the&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="emphasis"  style="font-size:100%;"&gt;&lt;em size="14px" color="white" style="font-style: italic; font-weight: normal;"&gt;first&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;columns in the same order. Such an index is created on the referencing table automatically if it does not exist. (This is in contrast to some older versions, in which indexes had to be created explicitly or the creation of foreign key constraints would fail.)&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;em class="replaceable" style="font-style: italic; font-weight: bold; font-size: 14px;"&gt;&lt;code style="padding: 1px; color: rgb(2, 103, 137); font-size: 13px; background-color: rgb(204, 204, 204); font-weight: normal; font-family: monospace,fixed;"&gt;index_name&lt;/code&gt;&lt;/em&gt;&lt;span style="font-size:100%;"&gt;, if given, is used as described previously.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li  style="margin-bottom: 5px; margin-left: 8px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;font-size:14px;"&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;  "&gt;&lt;code class="literal" face="monospace,fixed" size="13px" color="white" style="color: rgb(102, 204, 204);"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;allows a foreign key to reference any index column or group of columns. However, in the referenced table, there must be an index where the referenced columns are listed as the&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="emphasis"  style="font-size:100%;"&gt;&lt;em size="14px" color="white" style="font-style: italic; font-weight: normal;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;columns in the same order.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li size="14px" style="margin-bottom: 5px; margin-left: 8px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;"&gt;&lt;p style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px; font-family: sans-serif; font-size: 14px;"&gt;&lt;span style="font-size:100%;"&gt;Index prefixes on foreign key columns are not supported. One consequence of this is that&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/blob.html" title="10.4.3. The BLOB and         TEXT Types" style="background-color: transparent; text-decoration: underline; color: rgb(102, 204, 204);"&gt;&lt;code class="literal" face="monospace,fixed" size="13px" color="white"&gt;BLOB&lt;/code&gt;&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;and&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/blob.html" title="10.4.3. The BLOB and         TEXT Types" style="background-color: transparent; text-decoration: underline; color: rgb(102, 204, 204);"&gt;&lt;code class="literal" face="monospace,fixed" size="13px" color="white"&gt;TEXT&lt;/code&gt;&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;columns cannot be included in a foreign key because indexes on those columns must always include a prefix length.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li  style="margin-bottom: 5px; margin-left: 8px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle; font-size:14px;"&gt;&lt;p style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px; font-family: sans-serif; font-size: 14px;"&gt;&lt;span style="font-size:100%;"&gt;If the&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;code class="literal"    style="color: rgb(2, 103, 137);font-family:monospace,fixed;font-size:13px;color:white;"&gt;&lt;span style="color: rgb(102, 204, 204);"&gt;CONSTRAINT&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;em class="replaceable" style="font-style: italic; font-weight: bold; font-size: 13px;"&gt;&lt;code style="padding: 1px; color: rgb(2, 103, 137); font-size: 13px; background-color: rgb(204, 204, 204); font-weight: normal; font-family: monospace,fixed;"&gt;symbol&lt;/code&gt;&lt;/em&gt;&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;clause is given, the&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;em class="replaceable" style="font-style: italic; font-weight: bold; font-size: 14px;"&gt;&lt;code style="padding: 1px; color: rgb(2, 103, 137); font-size: 13px; background-color: rgb(204, 204, 204); font-weight: normal; font-family: monospace,fixed;"&gt;symbol&lt;/code&gt;&lt;/em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;value must be unique in the database. If the clause is not given,&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;creates the name automatically.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;font-family:sans-serif;font-size:14px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-family:arial;font-size:100%;"&gt;rejects any&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/insert.html" title="12.2.5. INSERT Syntax" style="background-color: transparent; text-decoration: underline; color: blue;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;INSERT&lt;/code&gt;&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;or&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/update.html" title="12.2.11. UPDATE Syntax" style="background-color: transparent; text-decoration: underline; color: blue;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;UPDATE&lt;/code&gt;&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;operation that attempts to create a foreign key value in a child table if there is no a matching candidate key value in the parent table. The action&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;takes for any&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/update.html" title="12.2.11. UPDATE Syntax" style="background-color: transparent; text-decoration: underline; color: blue;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;UPDATE&lt;/code&gt;&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;or&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/delete.html" title="12.2.2. DELETE Syntax" style="background-color: transparent; text-decoration: underline; color: blue;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;DELETE&lt;/code&gt;&lt;/a&gt; &lt;span style="font-size:100%;"&gt;operation that attempts to update or delete a candidate key value in the parent table that has some matching rows in the child table is dependent on the&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="emphasis"  style="font-size:100%;"&gt;&lt;em size="14px" color="white" style="font-style: italic; font-weight: normal;  "&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;specified using&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;and&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON DELETE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;subclauses of the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;FOREIGN KEY&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;clause. When the user attempts to delete or update a row from a parent table, and there are one or more matching rows in the child table,&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;supports five options regarding the action to be taken. If&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON DELETE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;or&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;are not specified, the default action is&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;RESTRICT&lt;/code&gt;.&lt;/p&gt;&lt;div class="itemizedlist" style="font-size: 14px;"&gt;&lt;ul style="margin: 0px 4px 8px 16px; padding: 0px; list-style-image: url(file:///G:/common/img/list-orange-disc.png);"&gt;&lt;li style="margin-bottom: 5px; margin-left: 8px; font-size: 14px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;"&gt;&lt;p   style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;font-family:sans-serif;font-size:14px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;CASCADE&lt;/code&gt;: &lt;span style="font-size:100%;"&gt;Delete or update the row from the parent table and automatically delete or update the matching rows in the child table. Both&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON DELETE CASCADE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;and&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE CASCADE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;are supported. Between two tables, you should not define several&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE CASCADE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;clauses that act on the same column in the parent table or in the child table.&lt;/span&gt;&lt;/p&gt;&lt;div class="note" style="border-left: 5px solid black; padding-left: 5px; margin-right: 0.5in; margin-left: 0.5in;"&gt;&lt;h3 class="title" style="margin: 16px 0px 4px; font-weight: bold; font-size: 13px; font-family: Helvetica,Arial,sans-serif;"&gt;Note&lt;/h3&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;Currently, cascaded foreign key actions to not activate triggers.&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin-bottom: 5px; margin-left: 8px; font-size: 14px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;"&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;SET NULL&lt;/code&gt;: &lt;span style="font-size:100%;"&gt;Delete or update the row from the parent table and set the foreign key column or columns in the child table to&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NULL&lt;/code&gt;. &lt;span style="font-size:100%;"&gt;This is valid only if the foreign key columns do not have the&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NOT NULL&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;qualifier specified. Both&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON DELETE SET NULL&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;and&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE SET NULL&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;clauses are supported.&lt;/span&gt;&lt;/p&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;span style="font-size:100%;"&gt;If you specify a&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;SET NULL&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;action,&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="emphasis"&gt;&lt;em style="font-style: italic; font-weight: normal; font-size: 14px; color: white;"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;"&gt;make sure that you have not declared the columns in the child table as&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NOT NULL&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-bottom: 5px; margin-left: 8px; font-size: 14px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;"&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NO ACTION&lt;/code&gt;: &lt;span style="font-size:100%;"&gt;In standard SQL,&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NO ACTION&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;means&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="emphasis"  style="font-size:100%;"&gt;&lt;em style="font-style: italic; font-weight: normal; font-size: 14px; color: rgb(0, 51, 51); background-color: white;"&gt;no action&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;in the sense that an attempt to delete or update a primary key value is not allowed to proceed if there is a related foreign key value in the referenced table.&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt; &lt;span style="font-size:100%;"&gt;rejects the delete or update operation for the parent table.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-bottom: 5px; margin-left: 8px; font-size: 14px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;"&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;RESTRICT&lt;/code&gt;: Rejects the delete or update operation for the parent table. Specifying&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;RESTRICT&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;(or&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NO ACTION&lt;/code&gt;) is the same as omitting the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON DELETE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;or&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;clause. (Some database systems have deferred checks, and&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NO ACTION&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;is a deferred check. In MySQL, foreign key constraints are checked immediately, so&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;NO ACTION&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;is the same as&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;RESTRICT&lt;/code&gt;.)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-bottom: 5px; margin-left: 8px; font-size: 14px; line-height: 14px; list-style-position: outside; list-style-image: none; list-style-type: disc; vertical-align: middle;"&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;SET DEFAULT&lt;/code&gt;: This action is recognized by the parser, but&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;rejects table definitions containing&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON DELETE SET DEFAULT&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;or&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;ON UPDATE SET DEFAULT&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;clauses.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;InnoDB&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;supports foreign key references within a table. In these cases, “&lt;/span&gt;&lt;span class="quote"  style="font-size:100%;"&gt;child table records&lt;/span&gt;&lt;span style="font-size:100%;"&gt;” really refers to dependent records within the same table.&lt;/span&gt;&lt;/p&gt;&lt;p face="sans-serif" size="14px" style="margin: 0px 0px 10px; padding: 0px; line-height: 25px; display: block; max-width: 720px;"&gt;&lt;span style="font-size:100%;"&gt;Here is a simple example that relates&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;parent&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;and&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;child&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;tables through a single-column foreign key:&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;table bg="" style="color: rgb(153, 153, 153);"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"&gt;CREATE TABLE parent (id INT NOT NULL,&lt;br /&gt;          PRIMARY KEY (id)&lt;br /&gt;) ENGINE=INNODB;&lt;br /&gt;&lt;br /&gt;CREATE TABLE child (id INT, parent_id INT,&lt;br /&gt;         INDEX par_ind (parent_id),&lt;br /&gt;       FOREIGN KEY (parent_id) REFERENCES parent(id)&lt;br /&gt;         ON DELETE CASCADE&lt;br /&gt;) ENGINE=INNODB;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="background-color: transparent; border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Times New Roman';font-size:medium;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(32, 32, 32); line-height: 25px;font-family:sans-serif;font-size:14px;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;A more complex example in which a&lt;/span&gt;&lt;/span&gt;&lt;span   class="Apple-converted-space" style="font-family:arial;font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: arial;"&gt;&lt;/code&gt;&lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;product_order&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;table has foreign keys for two other tables. One foreign key references a two-column index in the&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;product&lt;/code&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;table. The other references a single-column index in the&lt;/span&gt;&lt;span class="Apple-converted-space"  style="font-size:100%;"&gt; &lt;/span&gt;&lt;code class="literal" style="color: rgb(2, 103, 137); font-size: 13px; background-color: white; font-weight: bold; font-family: monospace,fixed;"&gt;customer&lt;/code&gt;&lt;span style="font-size:100%;"&gt;table:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;table bg="" style="color: rgb(153, 153, 153);"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style=";font-family:courier new;font-size:85%;"&gt;&lt;br /&gt;CREATE TABLE product (category INT NOT NULL, id INT NOT NULL,&lt;br /&gt;                                  price DECIMAL,&lt;br /&gt;            PRIMARY KEY(category, id)) ENGINE=INNODB;&lt;br /&gt;&lt;br /&gt;CREATE TABLE customer (id INT NOT NULL,&lt;br /&gt;             PRIMARY KEY (id)) ENGINE=INNODB;&lt;br /&gt;&lt;br /&gt;CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT,&lt;br /&gt;                    product_category INT NOT NULL,&lt;br /&gt;                                              product_id INT NOT NULL,&lt;br /&gt;                                              customer_id INT NOT NULL,&lt;br /&gt;                  PRIMARY KEY(no),&lt;br /&gt;                  INDEX (product_category, product_id),&lt;br /&gt;                  FOREIGN KEY (product_category, product_id)&lt;br /&gt;                    REFERENCES product(category, id)&lt;br /&gt;                    ON UPDATE CASCADE ON DELETE RESTRICT,&lt;br /&gt;                  INDEX (customer_id),&lt;br /&gt;                  FOREIGN KEY (customer_id)&lt;br /&gt;                    REFERENCES customer(id)) ENGINE=INNODB;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;source &lt;a href="http://www.dev.mysql.com/"&gt;mysql.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-6499417942185053777?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://widyaonlearning.blogspot.com/feeds/6499417942185053777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://widyaonlearning.blogspot.com/2009/12/foreign-key-constrain-in-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/6499417942185053777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/6499417942185053777'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2009/12/foreign-key-constrain-in-mysql.html' title='Foreign Key Constraint in MySql'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-7662380979689356247</id><published>2009-11-21T22:21:00.000-08:00</published><updated>2009-12-02T09:23:01.507-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>League of Legends : DOTA Replacement</title><content type='html'>&lt;iframe src="http://rcm.amazon.com/e/cm?t=widyonlear-20&amp;o=1&amp;p=26&amp;l=ur1&amp;category=game_downloads&amp;banner=18F6QNRQ34899GR27S02&amp;f=ifr" width="468" height="60" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=TkwMeV7X3mY%3D&amp;cid=sO23aMPfjUo%3D&amp;chan=9zjyPsV1PHk%3D&amp;type=5&amp;title=3D81EE&amp;text=000000&amp;background=FFFFFF&amp;border=000000&amp;url=2BA94F" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"  style="font-family:arial;"&gt;Developer Riot Games announces new MMO game titled League of Legends which combines aspects of role-playing and strategy games popular as DOTA all star. Was released on the public after this game can be a substitute for DOTA? Only time can talk. Welcome to the new round of competitive online gaming.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="result_box" class="medium_text"  style="font-family:arial;"&gt;You will act as a Summoner who can bring a hero to champion the battle. Together with the NPC ally, you must use tactics to defeat the other in a battle Summoner very similar to DotA.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="result_box" class="long_text"  style="font-family:arial;"&gt;This latest online game, is really similar to DOTA all star, the difference, the DOTA is a mod of warcraft3 while, the League of Legends is an online game actually stand alone.Just like DotA, League of Legends in this, your team will control the Hero in tactics and strategy in defeating the other team's hero.Each hero class has its own unique skills.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="result_box" class="medium_text"  style="font-family:arial;"&gt;For business graphics, new games are obviously better than DotA game that was released many years. But whether this game could replace DOTA??&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CHTw3UXTEc0/SwjoH2gC-vI/AAAAAAAAAAw/IRBNQYABzTw/s1600/Brush.jpg"&gt;&lt;img style="cursor: pointer; width: 432px; height: 237px;" src="http://4.bp.blogspot.com/_CHTw3UXTEc0/SwjoH2gC-vI/AAAAAAAAAAw/IRBNQYABzTw/s320/Brush.jpg" alt="" id="BLOGGER_PHOTO_ID_5406826574244936434" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CHTw3UXTEc0/Swj2IPcY-MI/AAAAAAAAAA4/8cYyIvtAb9U/s1600/Shop.jpg"&gt;&lt;img style="cursor: pointer; width: 246px; height: 320px;" src="http://3.bp.blogspot.com/_CHTw3UXTEc0/Swj2IPcY-MI/AAAAAAAAAA4/8cYyIvtAb9U/s320/Shop.jpg" alt="" id="BLOGGER_PHOTO_ID_5406841974103275714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lol-europe.com/telechargement.php" target="blank"&gt;download league of legends&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-7662380979689356247?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/7662380979689356247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/7662380979689356247'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2009/11/league-of-legends-dota-replacement.html' title='League of Legends : DOTA Replacement'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_CHTw3UXTEc0/SwjoH2gC-vI/AAAAAAAAAAw/IRBNQYABzTw/s72-c/Brush.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4136416049767760308.post-3092081849421031510</id><published>2009-11-21T21:32:00.000-08:00</published><updated>2009-11-25T04:11:23.486-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java Programming'/><title type='text'>JAVA MATRIX CALCULATOR</title><content type='html'>&lt;a href="http://www.amazon.com/gp/product/059652112X?ie=UTF8&amp;tag=widyonlear-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=059652112X"&gt;Java Web Services: Up and Running&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=widyonlear-20&amp;l=as2&amp;o=1&amp;a=059652112X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br&gt;&lt;br /&gt;No special classes or libraries are used with this application. The complete source resides in the one file above. After downloading, the following should work in any JDK 1.2 compatible compiler:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;javac MatrixCalculator.java&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;code&gt;java MatrixCalculator&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style="color: rgb(51, 51, 51);"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Matrix Calculator Tips/Help&lt;/span&gt;&lt;/h3&gt;All Matrices must be symmetric (n x n)&lt;br /&gt;Enter Matrix Elements Row by Row seperated by spaces.&lt;br /&gt;Ex. (2x2)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;2 4&lt;br /&gt;&lt;br /&gt;3 1&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Results will be placed in the C matrix.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The calculation of the determinant, by definition, is based upon a factorial number of calculations with respect to the size of the matrix. ie. a 3x3 matrix would have 6 calculations (3!) to make, whereas a 20x20 matrix would have 2.43 x 10^18 calculations (20!). So instead of brute forcing the calculations, I first do some operations on the matrix, which converts it to a upper triangular matrix, and then calculate the determinant by multipling down the diagonal, since everything below is 0, this will give the determinant.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Floating Points and Accuracies&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;For some reason computers aren't as accurate as I think they are, probably my calculation techniques. The accuracy of the numbers are probably only to 3 maybe 2 decimal places. If you keep applying operations to matrices and then use the resultant matrix a couple of times, the decimals get out of whack. Calculating an inverse and then multplying the matrix by it, is a good example of this.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Test Some Mathematical Theories&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The determinant of A-inverse equals 1 over the determinant of A.&lt;br /&gt;&lt;br /&gt;If two rows of matrix A are equal, the determinant of A equals 0.&lt;br /&gt;&lt;br /&gt;det(A*B)=det(A)det(B)&lt;br /&gt;&lt;br /&gt;A*B does not necessarily equal B*A&lt;br /&gt;&lt;br /&gt;The determinant of A-transpose equals the determinant of A.&lt;br /&gt;&lt;br /&gt;If the matrix B is constructed by interchanging two rows (columns) in matrix A, then the determinant of B equals the negative determinant of A&lt;br /&gt;&lt;br /&gt;You can test, adj(A) = det(A) * inv(A), but this is the theorem I use to calculate the inverse, so it better work.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mathematics and Linear Algebra Calculating the Determinant&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The calculation of the determinant, by definition, is based upon a factorial number of calculations with respect to the size of the matrix. ie. a 3x3 matrix would have 6 calculations (3!), whereas a 20x20 matrix would have 2.43 x 10^18 calculations (20!).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So instead of brute forcing the calculations, I first do some operations on the matrix, which converts it to a upper triangular matrix, and then calculate the determinant by multipling down the diagonal, since everything below is 0, this will give the determinant.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See The Mathematics Behind Them for more information and mathematical explanations on the definitions and calculation techniques.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: rgb(230, 145, 56);"&gt;&lt;span style="color: rgb(51, 0, 153);font-size:78%;" &gt;&lt;i&gt;&lt;b&gt;Click the spoiler below for displaying source-code&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 5px;"&gt;&lt;div class="bigfont" style="margin-bottom: 2px;"&gt;&lt;input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Close'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Open'; }" style="margin: 0px; padding: 0px; width: 60px;" value="Open" type="button"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px inset ; margin: 0px; padding: 6px;"&gt;&lt;div style="display: none;"&gt;SOURCE CODE&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;import java.awt.BorderLayout;&lt;br /&gt;&lt;br /&gt;import java.awt.Component;&lt;br /&gt;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;&lt;br /&gt;import java.awt.GridLayout;&lt;br /&gt;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;&lt;br /&gt;import java.awt.event.WindowAdapter;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.awt.event.WindowEvent;&lt;br /&gt;&lt;br /&gt;import java.text.NumberFormat;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;&lt;br /&gt;import java.util.StringTokenizer;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import javax.swing.BorderFactory;&lt;br /&gt;&lt;br /&gt;import javax.swing.Box;&lt;br /&gt;&lt;br /&gt;import javax.swing.BoxLayout;&lt;br /&gt;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;&lt;br /&gt;import javax.swing.JLabel;&lt;br /&gt;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;&lt;br /&gt;import javax.swing.JScrollPane;&lt;br /&gt;&lt;br /&gt;import javax.swing.JTextArea;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class MatrixCalculator {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private boolean DEBUG = true;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private boolean INFO = true;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private static int max = 100;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private static int decimals = 3;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private JLabel statusBar;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private JTextArea taA, taB, taC;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private int iDF = 0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private int n = 4;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private static NumberFormat nf;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public Component createComponents() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == MATRIKS == */&lt;br /&gt;&lt;br /&gt;taA = new JTextArea();&lt;br /&gt;&lt;br /&gt;taB = new JTextArea();&lt;br /&gt;&lt;br /&gt;taC = new JTextArea();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JPanel paneMs = new JPanel();&lt;br /&gt;&lt;br /&gt;paneMs.setLayout(new BoxLayout(paneMs, BoxLayout.X_AXIS));&lt;br /&gt;&lt;br /&gt;paneMs.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));&lt;br /&gt;&lt;br /&gt;paneMs.add(MatrixPane("Matrix A", taA));&lt;br /&gt;&lt;br /&gt;paneMs.add(Box.createRigidArea(new Dimension(10, 0)));&lt;br /&gt;&lt;br /&gt;paneMs.add(MatrixPane("Matrix B", taB));&lt;br /&gt;&lt;br /&gt;paneMs.add(Box.createRigidArea(new Dimension(10, 0)));&lt;br /&gt;&lt;br /&gt;paneMs.add(MatrixPane("Matrix C", taC));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == OPERATION BUTTONS == */&lt;br /&gt;&lt;br /&gt;JPanel paneBtn = new JPanel();&lt;br /&gt;&lt;br /&gt;paneBtn.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;&lt;br /&gt;paneBtn.setLayout(new GridLayout(3, 3));&lt;br /&gt;&lt;br /&gt;JButton btnApB = new JButton("A + B = C");&lt;br /&gt;&lt;br /&gt;JButton btnAmB = new JButton("A * B = C");&lt;br /&gt;&lt;br /&gt;JButton btnBmA = new JButton("B * A = C");&lt;br /&gt;&lt;br /&gt;JButton btnAdjA = new JButton("adjoint(A) = C");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JButton btnInvA = new JButton("inverse(A) = C");&lt;br /&gt;&lt;br /&gt;JButton btnInvB = new JButton("inverse(B) = C");&lt;br /&gt;&lt;br /&gt;JButton btnTrnsA = new JButton("transpose(A) = C");&lt;br /&gt;&lt;br /&gt;JButton btnDetA = new JButton("determ(A) = C");&lt;br /&gt;&lt;br /&gt;JButton btnDetB = new JButton("determ(B) = C");&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnApB);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnAmB);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnBmA);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnAdjA);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnInvA);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnInvB);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnTrnsA);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnDetA);&lt;br /&gt;&lt;br /&gt;paneBtn.add(btnDetB);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == ADD BUTTON Listeners == */&lt;br /&gt;&lt;br /&gt;btnApB.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;DisplayMatrix(AddMatrix(ReadInMatrix(taA),&lt;br /&gt;&lt;br /&gt;ReadInMatrix(taB)), taC);&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnAmB.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;DisplayMatrix(MultiplyMatrix(&lt;br /&gt;&lt;br /&gt;ReadInMatrixNotSquare(taA),&lt;br /&gt;&lt;br /&gt;ReadInMatrixNotSquare(taB)), taC);&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnBmA.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;DisplayMatrix(MultiplyMatrix(ReadInMatrixNotSquare(taB),&lt;br /&gt;&lt;br /&gt;ReadInMatrixNotSquare(taA)), taC);&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnInvA.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;DisplayMatrix(Inverse(ReadInMatrix(taA)), taC);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnInvB.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DisplayMatrix(Inverse(ReadInMatrix(taB)), taC);&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnAdjA.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;DisplayMatrix(Adjoint(ReadInMatrix(taA)), taC);&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnTrnsA.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;DisplayMatrix(Transpose(ReadInMatrixNotSquare(taA)), taC);&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnDetA.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;taC.setText("Determinant A: "&lt;br /&gt;&lt;br /&gt;+ nf.format(Determinant(ReadInMatrix(taA))));&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;btnDetB.addActionListener(new ActionListener() {&lt;br /&gt;&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;taC.setText("Determinant B: "&lt;br /&gt;&lt;br /&gt;+ nf.format(Determinant(ReadInMatrix(taB))));&lt;br /&gt;&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == MAIN PANEL == */&lt;br /&gt;&lt;br /&gt;JPanel pane = new JPanel();&lt;br /&gt;&lt;br /&gt;pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;&lt;br /&gt;pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));&lt;br /&gt;&lt;br /&gt;pane.add(paneMs);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;pane.add(paneBtn);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JPanel fpane = new JPanel();&lt;br /&gt;&lt;br /&gt;fpane.setLayout(new BorderLayout());&lt;br /&gt;&lt;br /&gt;fpane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;&lt;br /&gt;fpane.add("Center", pane);&lt;br /&gt;&lt;br /&gt;statusBar = new JLabel("Ready");&lt;br /&gt;&lt;br /&gt;fpane.add("South", statusBar);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;return fpane;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == Setup Invidual Matrix Panes == */&lt;br /&gt;&lt;br /&gt;private JPanel MatrixPane(String str, JTextArea ta) {&lt;br /&gt;&lt;br /&gt;JScrollPane scrollPane = new JScrollPane(ta);&lt;br /&gt;&lt;br /&gt;int size = 200;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;scrollPane.setPreferredSize(new Dimension(size, size));&lt;br /&gt;&lt;br /&gt;JLabel label = new JLabel(str);&lt;br /&gt;&lt;br /&gt;label.setLabelFor(scrollPane);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JPanel pane = new JPanel();&lt;br /&gt;&lt;br /&gt;pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;&lt;br /&gt;pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));&lt;br /&gt;&lt;br /&gt;pane.add(label);&lt;br /&gt;&lt;br /&gt;pane.add(scrollPane);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;return pane;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;JFrame frame = new JFrame("Matrix Calculator");&lt;br /&gt;&lt;br /&gt;frame.setSize(new Dimension(725, 200));&lt;br /&gt;&lt;br /&gt;MatrixCalculator app = new MatrixCalculator();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Component contents = app.createComponents();&lt;br /&gt;&lt;br /&gt;frame.getContentPane().add(contents, BorderLayout.CENTER);&lt;br /&gt;&lt;br /&gt;frame.addWindowListener(new WindowAdapter() {&lt;br /&gt;&lt;br /&gt;public void windowClosing(WindowEvent e) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.exit(0);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;frame.pack();&lt;br /&gt;&lt;br /&gt;frame.setVisible(true);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;nf = NumberFormat.getInstance();&lt;br /&gt;&lt;br /&gt;nf.setMinimumFractionDigits(1);&lt;br /&gt;&lt;br /&gt;nf.setMaximumFractionDigits(decimals);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// ------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;// ------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public float[][] ReadInMatrix(JTextArea ta) throws Exception {&lt;br /&gt;&lt;br /&gt;if (DEBUG) {&lt;br /&gt;&lt;br /&gt;System.out.println("Reading In Matrix");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == Parse Text Area == */&lt;br /&gt;&lt;br /&gt;String rawtext = ta.getText();&lt;br /&gt;&lt;br /&gt;String val = "";&lt;br /&gt;&lt;br /&gt;int i = 0;&lt;br /&gt;&lt;br /&gt;int j = 0;&lt;br /&gt;&lt;br /&gt;int[] rsize = new int[max];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* == Determine Matrix Size/Valid == */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;StringTokenizer ts = new StringTokenizer(rawtext, "\n");&lt;br /&gt;&lt;br /&gt;while (ts.hasMoreTokens()) {&lt;br /&gt;&lt;br /&gt;StringTokenizer ts2 = new StringTokenizer(ts.nextToken());&lt;br /&gt;&lt;br /&gt;while (ts2.hasMoreTokens()) {&lt;br /&gt;&lt;br /&gt;ts2.nextToken();&lt;br /&gt;&lt;br /&gt;j++;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;rsize[i] = j;&lt;br /&gt;&lt;br /&gt;i++;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;j = 0;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;statusBar.setText("Ukuran Matriks: " + i);&lt;br /&gt;&lt;br /&gt;if ((DEBUG) || (INFO)) {&lt;br /&gt;&lt;br /&gt;System.out.println("Ukuran Matriks: " + i);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for (int c = 0; c &amp;lt; i; c++) {&lt;br /&gt;if (DEBUG) {&lt;br /&gt;System.out.println("i=" + i + "  j=" + rsize[c] + "   Kolom: "&lt;br /&gt; + c);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (rsize[c] != i) {&lt;br /&gt;statusBar.setText("Invalid Matrix. Size Mismatch.");&lt;br /&gt;throw new Exception("Invalid Matrix. Size Mismatch.");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;/* == set ukuran matriks == */&lt;br /&gt;n = i;&lt;br /&gt;&lt;br /&gt;float matrix[][] = new float[n][n];&lt;br /&gt;i = j = 0;&lt;br /&gt;val = "";&lt;br /&gt;&lt;br /&gt;/* == Actual Parsing == */&lt;br /&gt;StringTokenizer st = new StringTokenizer(rawtext, "\n");&lt;br /&gt;while (st.hasMoreTokens()) {&lt;br /&gt;StringTokenizer st2 = new StringTokenizer(st.nextToken());&lt;br /&gt;while (st2.hasMoreTokens()) {&lt;br /&gt;val = st2.nextToken();&lt;br /&gt;try {&lt;br /&gt;matrix[i][j] = Float.valueOf(val).floatValue();&lt;br /&gt;} catch (Exception exception) {&lt;br /&gt;statusBar.setText("Invalid Number Format");&lt;br /&gt;}&lt;br /&gt;j++;&lt;br /&gt;}&lt;br /&gt;i++;&lt;br /&gt;j = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (DEBUG) {&lt;br /&gt;System.out.println("Baca Matriks::");&lt;br /&gt;for (i = 0; i &amp;lt; n; i++) {&lt;br /&gt;for (j = 0; j &amp;lt; n; j++) {&lt;br /&gt;System.out.print("m[" + i + "][" + j + "] = "&lt;br /&gt;  + matrix[i][j] + "   ");&lt;br /&gt;}&lt;br /&gt;System.out.println();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return matrix;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public float[][] ReadInMatrixNotSquare(JTextArea ta)&lt;br /&gt;throws Exception {&lt;br /&gt;if (DEBUG) {&lt;br /&gt;System.out.println("Membaca Matriks");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* == Parse Text Area == */&lt;br /&gt;String rawtext = ta.getText();&lt;br /&gt;&lt;br /&gt;/* == Determine Matrix Size/Valid == */&lt;br /&gt;StringTokenizer ts = new StringTokenizer(rawtext, "\n");&lt;br /&gt;&lt;br /&gt;if (DEBUG)&lt;br /&gt;System.out.println("Baris: " + ts.countTokens());&lt;br /&gt;&lt;br /&gt;float matrix[][] = new float[ts.countTokens()][];&lt;br /&gt;&lt;br /&gt;StringTokenizer st2;&lt;br /&gt;int row = 0;&lt;br /&gt;int col = 0;&lt;br /&gt;//making sure rows are same length&lt;br /&gt;int last = -5;&lt;br /&gt;int curr = -5;&lt;br /&gt;while (ts.hasMoreTokens()) {&lt;br /&gt;st2 = new StringTokenizer(ts.nextToken(), " ");&lt;br /&gt;last = curr;&lt;br /&gt;curr = st2.countTokens();&lt;br /&gt;if(last != -5 &amp;amp;&amp;amp; curr!= last)&lt;br /&gt;throw new Exception("Baris != length");&lt;br /&gt;if (DEBUG)&lt;br /&gt;System.out.println("Kolom: " + st2.countTokens());&lt;br /&gt;matrix[row] = new float[st2.countTokens()];&lt;br /&gt;while (st2.hasMoreElements()) {&lt;br /&gt;matrix[row][col++] = Float.parseFloat(st2.nextToken());&lt;br /&gt;}&lt;br /&gt;row++;&lt;br /&gt;col = 0;&lt;br /&gt;}&lt;br /&gt;System.out.println();&lt;br /&gt;return matrix;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;// Display Matrix in TextArea&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;public void DisplayMatrix(float[][] matrix, JTextArea ta) {&lt;br /&gt;&lt;br /&gt;if (DEBUG) {&lt;br /&gt;System.out.println("Displaying Matrix");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;String rstr = "";&lt;br /&gt;String dv = "";&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; matrix.length; i++) {&lt;br /&gt;for (int j = 0; j &amp;lt; matrix[i].length; j++) {&lt;br /&gt;dv = nf.format(matrix[i][j]);&lt;br /&gt;rstr = rstr.concat(dv + "  ");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;rstr = rstr.concat("\n");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ta.setText(rstr);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public float[][] AddMatrix(float[][] a, float[][] b) throws Exception {&lt;br /&gt;int tms = a.length;&lt;br /&gt;int tmsB = b.length;&lt;br /&gt;if (tms != tmsB) {&lt;br /&gt;statusBar.setText("Matrix Size Mismatch");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;float matrix[][] = new float[tms][tms];&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; tms; i++)&lt;br /&gt;for (int j = 0; j &amp;lt; tms; j++) {&lt;br /&gt;matrix[i][j] = a[i][j] + b[i][j];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return matrix;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;public float[][] MultiplyMatrix(float[][] a, float[][] b) throws Exception {&lt;br /&gt;&lt;br /&gt;if(a[0].length != b.length)&lt;br /&gt;throw new Exception("Matrices incompatible for multiplication");&lt;br /&gt;float matrix[][] = new float[a.length][b[0].length];&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; a.length; i++)&lt;br /&gt;for (int j = 0; j &amp;lt; b[i].length; j++)&lt;br /&gt;matrix[i][j] = 0;&lt;br /&gt;&lt;br /&gt;//cycle through answer matrix&lt;br /&gt;for(int i = 0; i &amp;lt; matrix.length; i++){&lt;br /&gt;for(int j = 0; j &amp;lt; matrix[i].length; j++){&lt;br /&gt;matrix[i][j] = calculateRowColumnProduct(a,i,b,j);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return matrix;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public float calculateRowColumnProduct(float[][] A, int row, float[][] B, int col){&lt;br /&gt;float product = 0;&lt;br /&gt;for(int i = 0; i &amp;lt; A[row].length; i++)&lt;br /&gt;product +=A[row][i]*B[i][col];&lt;br /&gt;return product;&lt;br /&gt;}&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;public float[][] Transpose(float[][] a) {&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Performing Transpose...");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;float m[][] = new float[a[0].length][a.length];&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; a.length; i++)&lt;br /&gt;for (int j = 0; j &amp;lt; a[i].length; j++)&lt;br /&gt;m[j][i] = a[i][j];&lt;br /&gt;return m;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;public float[][] Inverse(float[][] a) throws Exception {&lt;br /&gt;// Formula used to Calculate Inverse:&lt;br /&gt;// inv(A) = 1/det(A) * adj(A)&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Performing Inverse...");&lt;br /&gt;}&lt;br /&gt;int tms = a.length;&lt;br /&gt;&lt;br /&gt;float m[][] = new float[tms][tms];&lt;br /&gt;float mm[][] = Adjoint(a);&lt;br /&gt;&lt;br /&gt;float det = Determinant(a);&lt;br /&gt;float dd = 0;&lt;br /&gt;&lt;br /&gt;if (det == 0) {&lt;br /&gt;statusBar.setText("Determinant = 0, Not Invertible.");&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Determinant = 0, Not Invertible.");&lt;br /&gt;}&lt;br /&gt;} else {&lt;br /&gt;dd = 1 / det;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; tms; i++)&lt;br /&gt;for (int j = 0; j &amp;lt; tms; j++) {&lt;br /&gt;m[i][j] = dd * mm[i][j];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return m;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;public float[][] Adjoint(float[][] a) throws Exception {&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Performing Adjoint...");&lt;br /&gt;}&lt;br /&gt;int tms = a.length;&lt;br /&gt;&lt;br /&gt;float m[][] = new float[tms][tms];&lt;br /&gt;&lt;br /&gt;int ii, jj, ia, ja;&lt;br /&gt;float det;&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; tms; i++)&lt;br /&gt;for (int j = 0; j &amp;lt; tms; j++) {&lt;br /&gt;ia = ja = 0;&lt;br /&gt;&lt;br /&gt;float ap[][] = new float[tms - 1][tms - 1];&lt;br /&gt;&lt;br /&gt;for (ii = 0; ii &amp;lt; tms; ii++) {&lt;br /&gt;for (jj = 0; jj &amp;lt; tms; jj++) {&lt;br /&gt;&lt;br /&gt; if ((ii != i) &amp;amp;&amp;amp; (jj != j)) {&lt;br /&gt;  ap[ia][ja] = a[ii][jj];&lt;br /&gt;  ja++;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;if ((ii != i) &amp;amp;&amp;amp; (jj != j)) {&lt;br /&gt; ia++;&lt;br /&gt;}&lt;br /&gt;ja = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;det = Determinant(ap);&lt;br /&gt;m[i][j] = (float) Math.pow(-1, i + j) * det;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;m = Transpose(m);&lt;br /&gt;&lt;br /&gt;return m;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;public float[][] UpperTriangle(float[][] m) {&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Converting to Upper Triangle...");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;float f1 = 0;&lt;br /&gt;float temp = 0;&lt;br /&gt;int tms = m.length; // get This Matrix Size (could be smaller than&lt;br /&gt;  // global)&lt;br /&gt;int v = 1;&lt;br /&gt;&lt;br /&gt;iDF = 1;&lt;br /&gt;&lt;br /&gt;for (int col = 0; col &amp;lt; tms - 1; col++) {&lt;br /&gt;for (int row = col + 1; row &amp;lt; tms; row++) {&lt;br /&gt;v = 1;&lt;br /&gt;&lt;br /&gt;outahere: while (m[col][col] == 0) // check if 0 in diagonal&lt;br /&gt;{ // if so switch until not&lt;br /&gt;if (col + v &amp;gt;= tms) // check if switched all rows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;iDF = 0;&lt;br /&gt;&lt;br /&gt;break outahere;&lt;br /&gt;&lt;br /&gt;} else {&lt;br /&gt;&lt;br /&gt;for (int c = 0; c &amp;lt; tms; c++) {&lt;br /&gt;  temp = m[col][c];&lt;br /&gt;  m[col][c] = m[col + v][c]; // switch rows&lt;br /&gt;  m[col + v][c] = temp;&lt;br /&gt; }&lt;br /&gt; v++; // count row switchs&lt;br /&gt; iDF = iDF * -1; // each switch changes determinant&lt;br /&gt;     // factor&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (m[col][col] != 0) {&lt;br /&gt;if (DEBUG) {&lt;br /&gt; System.out.println("tms = " + tms + "   col = " + col&lt;br /&gt;   + "   row = " + row);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt; f1 = (-1) * m[row][col] / m[col][col];&lt;br /&gt; for (int i = col; i &amp;lt; tms; i++) {&lt;br /&gt;  m[row][i] = f1 * m[col][i] + m[row][i];&lt;br /&gt; }&lt;br /&gt;} catch (Exception e) {&lt;br /&gt; System.out.println("Still Here!!!");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return m;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// --------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;public float Determinant(float[][] matrix) {&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Getting Determinant...");&lt;br /&gt;}&lt;br /&gt;int tms = matrix.length;&lt;br /&gt;&lt;br /&gt;float det = 1;&lt;br /&gt;&lt;br /&gt;matrix = UpperTriangle(matrix);&lt;br /&gt;&lt;br /&gt;for (int i = 0; i &amp;lt; tms; i++) {&lt;br /&gt;det = det * matrix[i][i];&lt;br /&gt;} // multiply down diagonal&lt;br /&gt;&lt;br /&gt;det = det * iDF; // adjust w/ determinant factor&lt;br /&gt;&lt;br /&gt;if (INFO) {&lt;br /&gt;System.out.println("Determinant: " + det);&lt;br /&gt;}&lt;br /&gt;return det;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4136416049767760308-3092081849421031510?l=widyaonlearning.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/3092081849421031510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4136416049767760308/posts/default/3092081849421031510'/><link rel='alternate' type='text/html' href='http://widyaonlearning.blogspot.com/2009/11/java-matrix-calculator.html' title='JAVA MATRIX CALCULATOR'/><author><name>Kadek Widya Kumara</name><uri>http://www.blogger.com/profile/01296495986702843046</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_CHTw3UXTEc0/SwjWvc8mhHI/AAAAAAAAAAM/u88964Ttd-c/S220/4825_1072161606401_1296982777_30163299_5389979_s.jpg'/></author></entry></feed>
