Masa Depan Pendidikan Indonesia
November 2019
Indonesia University of Education, Setiabudi, IndonesiaSuasana masih sepi di hall gedung Fakultas Pendidikan Ilmu Komputer. Meskipun perkuliahan dimulai pukul 10, biasanya mahasiswa ilkom sudah pada berkumpul di hall atau di kantin, sekedar mencari koneksi internet ataupun yang mengejar deadline pengumpulan tugas
. Banyak hal berubah disini, terutama sejak dibuat standar operasional laboratorium yang mewajibkan setiap laboratorium untuk melakukan penelitian mandiri. Bagaimana tidak, sekarang UPI sudah menjadi pusat pengembangan teknologi pendidikan internasional, International Education Development Center – IEDC ™
. Menyedot jutaan calon mahasiswa tiap tahunnya di penjuru dunia dengan hanya 200 kursi tersedia.
Terbangun dan kembali ke dunia nyata, Indonesia memang sempat menjadi inspirasi di asia tenggara namun hal ini tidak berlangsung lama, terlalu terlena dengan alias “Macan Asia”. Kejadian diatas mungkin saja terjadi di Universitas Pendidikan Indonesia, ditambah lagi dengan dibukanya program studi ilmu komputer sejak tahun 2005, sebuah bukti bahwa UPI sadar akan pentingnya teknologi komputer dalam pendidikan.
Namun hal ini kelihatannya belum cukup, karena teknologi tidak berkembang karena keberadaan fasilitas, tapi harus juga didukung dengan SDM yang berkualitas, rasa penasaran, dan implementasi yang berkelanjutan (progressive implementation). Dalam kasus ini semua pihak civitas akademika tentu terlibat, dimulai dari mahasiswa, dosen juga staff akademis maupun staff teknis universitas.
Mahasiswa dengan kemampuan untuk mencari dan menghargai informasi di internet tentu akan meningkatkan mutu perkuliahan, karena ilmu yang didapatkan dapat dibandingkan dengan ilmu yang beredar di internet (konvensi internasional). Dosen yang dapat menggunakan teknologi informasi bisa lebih diakui keberadaannya dengan posting hasil penelitian maupun karya tulisnya di internet. Staff akademis universitas dapat meningkatkan produktivitas bekerja bila dapat memanfaatkan teknologi ini dengan baik, begitu juga dengan staff teknis yang minimalnya akan memiliki nilai lebih kehidupan dengan ilmu tambahan yang mereka miliki.
[harapan]
Program studi juga (ilmu komputer dan pendidikan ilmu komputer) baiknya memulai mengeluarkan inovasi pembelajaran yang berlaku di perkuliahan, tentunya ini harus dengan dukungan dosen-dosen yang berkualitas dan berkomitmen untuk kemajuan universitas, ditambah lagi dengan mahasiswa yang selalu haus akan ilmu baru, mengingat ranah teknologi yang kita dalami selalu berubah dan bertambah tiap menitnya. Ketergantungan pada suatu tool (bahasa pemrograman, teknologi maupun paket bundel instalasi) sudah jelas bukan hal yang baik.
~ dan (kurang lebih) standar pendidikan internasional-pun akan segera diraih UPI
Menulis Blog Lewat Google Docs
setelah konfirmasi selesai, dan google docs mengirim dokumen tersebut ke blog kita, artinya blog sudah terkirim.. dan
google summer of code 2009
at last, i encouraged myself to join google summer of code… google summer of code 2009, here i come
moodle is my point, let’s see…
membuat muka manga sendiri

khalifa visi islami manga
ini dia, ingin membuat manga diri sendiri… tapi sadar bahwa saya tidak bisa menggambar, saya langsung saja coba http://www.faceyourmanga.com . sebuah situs semi-flash penyedia layanan tersebut..
ayo kita membuat wajah kita menjadi manga…
Join Table di MySQL
setelah mengisi praktikum basisdata kemarin, saya berjanji untuk membuat materi ini… baiklah ini nih.
saya ambil langsung terjemahan dari MySQL 5.0 reference, biar cepet.. hehe…
post ini menjelaskan tentang
(cross join, inner join, right join, left join, natural join, join using)
yang berlaku di MySQL 5
pada suatu kasus, terdapat tabel sederhana pengguna dengan struktur dan data sebagai berikut
tabel pengguna
CREATE TABLE `pengguna` (
`id_pengguna` int(11) NOT NULL auto_increment,
`nama` varchar(20) NOT NULL,
PRIMARY KEY (`id_pengguna`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
tabel pengguna_lengkap
CREATE TABLE `pengguna_lengkap` (
`id_pengguna` int(11) NOT NULL,
`alamat` varchar(50) NOT NULL,
`telepon` varchar(15) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
data:
INSERT INTO `pengguna` (`id_pengguna`, `nama`) VALUES
(1, 'khalifavi'),
(2, 'silvershade'),
(3, 'kaelina');
INSERT INTO `pengguna_lengkap` (`id_pengguna`, `alamat`, `telepon`) VALUES
(1, 'cigiringsing', '081910435544'),
(2, 'cijambe', '022 7815913'),
(4, 'tubagus ismail', '022 91724325');
dari data tersebut, dapat kita lihat bahwa pada tabel pengguna, tidak terdapat record dengan id 4, dan begitu pula pada tabel pengguna_lengkap tidak terdapat record dengan id 3.
apabila dilakukan join biasa maka beberapa record tidak akan tampil seperti yang kita mau
SELECT *
FROM pengguna p, pengguna_lengkap pk
WHERE p.id_pengguna = pk.id_pengguna;
hanya akan menampilkan
| id_pengguna | nama | id_pengguna | alamat | telepon |
|---|---|---|---|---|
| 1 | khalifavi | 1 | cigiringsing | 081910435544 |
| 2 | silvershade | 2 | cijambe | 022 7815913 |
2 rows in set (0.01 sec)
lalu dimana yang memiliki id_pengguna 3 dan 4?, untuk itulah ada beberapa join khusus…
untuk menampilkan semua yang terdapat di tabel pengguna namun tidak terdapat di tabel pengguna_lengkap kita bisa menggunakan LEFT JOIN
SELECT *
FROM pengguna p LEFT JOIN pengguna_lengkap pk
ON p.id_pengguna = pk.id_pengguna;
maka akan menghasilkan
| id_pengguna | nama | id_pengguna | alamat | telepon |
|---|---|---|---|---|
| 1 | khalifavi | 1 | cigiringsing | 081910435544 |
| 2 | silvershade | 2 | cijambe | 022 7815913 |
| 3 | kaelina | NULL | NULL | NULL |
3 rows in set (0.01 sec)
pada penggunaan LEFT JOIN ini, record yang ada di kedua tabel atau hanya di tabel kiri akan selalu ditampilkan, dan akan menghasilkan nilai NULL pada tabel di kanan
begitu pula sebaliknya dengan RIGHT JOIN query ini
SELECT *
FROM pengguna p RIGHT JOIN pengguna_lengkap pk
ON p.id_pengguna = pk.id_pengguna;
akan menghasilkan
| id_pengguna | nama | id_pengguna | alamat | telepon |
|---|---|---|---|---|
| 1 | khalifavi | 1 | cigiringsing | 081910435544 |
| 2 | silvershade | 2 | cijambe | 022 7815913 |
| NULL | NULL | 4 | tubagus ismail | 022 91724325 |
3 rows in set (0.02 sec)
digunakan untuk menampilkan record yang ada di kedua tabel atau hanya terdapat di tabel kanan
Note: penggunaan SELECT * pada LEFT atau RIGHT join akan menampilkan column yang redundansi. jadi?? kita lanjut…kan
namun mari kita bandingkan dengan penggunaan NATURAL JOIN
SELECT *
FROM pengguna p NATURAL JOIN pengguna_lengkap pk;
| id_pengguna | nama | alamat | telepon |
|---|---|---|---|
| 1 | khalifavi | cigiringsing | 081910435544 |
| 2 | silvershade | cijambe | 022 7815913 |
2 rows in set (0.00 sec)
hey, ini sama dengan query pertama
SELECT *
FROM pengguna p, pengguna_lengkap pk
WHERE p.id_pengguna = pk.id_pengguna;
| id_pengguna | nama | id_pengguna | alamat | telepon |
|---|---|---|---|---|
| 1 | khalifavi | 1 | cigiringsing | 081910435544 |
| 2 | silvershade | 2 | cijambe | 022 7815913 |
2 rows in set (0.01 sec)
jadi bisa dikatakan bahwa ini penyederhanaan query pertama, namun menghapus column yang redundansi, hmmm, solusi yang bagus juga…
Note: hasil NATURAL JOIN sama dengan JOIN … USING
SELECT *
FROM pengguna p NATURAL JOIN pengguna_lengkap pk;
akan menghasilkan output yang sama dengan penggunaan JOIN … USING ini
SELECT *
FROM pengguna p JOIN pengguna_lengkap pk USING (id_pengguna);
ok, sekarang kita kombinasikan NATURAL JOIN dengan RIGHT JOIN
SELECT *
FROM pengguna p NATURAL RIGHT JOIN pengguna_lengkap pk;
| id_pengguna | nama | alamat | telepon |
|---|---|---|---|
| 1 | khalifavi | cigiringsing | 081910435544 |
| 2 | silvershade | cijambe | 022 7815913 |
| 4 | NULL | tubagus ismail | 022 91724325 |
3 rows in set (0.00 sec)
hmmm, untuk yang ini silahkan bandingkan sendiri…
dan mari kita coba INNER JOIN
SELECT *
FROM pengguna p INNER JOIN pengguna_lengkap pk
ON p.id_pengguna = pk.id_pengguna;
| id_pengguna | nama | id_pengguna | alamat | telepon |
|---|---|---|---|---|
| 1 | khalifavi | 1 | cigiringsing | 081910435544 |
| 2 | silvershade | 2 | cijambe | 022 7815913 |
2 rows in set (0.00 sec)
yang satu ini benar-benar mirip dengan query pertama, dan tanpa perbedaan sama sekali…
Note: di MySQL, INNER JOIN dan CROSS JOIN ini serupa (dapat saling menggantikan). namun di SQL Standar ini tidak serupa, INNER JOIN dapat menggunakan ON, tapi tidak dengan CROSS JOIN.

