Perancangan Basis Data Buttom Up dengan Normalisasi

[basis.data|akuntansi|lab.software|per.15]

Dikenal dua pendekatan dalam merancang basis data yaitu top down dan buttom up. Top down biasanya dilakukan untuk sistem yang benar-benar baru, tidak pernah dilakukan transaksi sebelumnya walaupun secara manual. Atau jika ingin merombak sistem yang terdahulu yang tidak sesuai lagi dengan proses bisnis yang efisien. Sebagian besar e-commerce yang bermunculan saat ini (toko online maupun aplikasi taksi/ojek online) berbasis top down karena memang benar-benar baru.

Postingan ini khusus membahas metode buttom up yang lebih sederhana karena hanya mengkonversi transaksi manual menjadi terkomputerisasi juga online. Cara kerjanya menganalisa kebutuhan berdasarkan arsip-arsip manual yang ada misalnya nota penjualan, nota pembelian, dan laporan-laporan yang sebelumnya ada. Metode ini lebih sederhana dalam pengalihan sistem karena operator-operator tidak perlu belajar intensif karena proses yang ada tetap seperti sebelumnya, hanya mungkin perlu pelatihan penggunaan aplikasi sebagai pengganti sistem manual sebelumnya. Perhatikan sampel arsip nota penjualan di bawah ini. Bagaimana proses normalisasinya?

Ada beberapa jenis normalisasi tabel yaitu unnormalize (UNF), normal pertama (1NF), normal kedua (2NF), dan normal ketiga (3NF). Ada bentuk normal lainnya karena adanya konstrain terhadap relasi yang dimiliki misalnya Boyce-Code Normal Form (BCNF), normal keempat (4NF) dan kelima (5NF).

Unnormalize Form (UNF)

Bentuk normal ini gunanya untuk mendata calon-calon atribut suatu tabel. Adanya perulangan (redundancy) dan multivalue (satu field berisi lebih dari satu isian) diijinkan. Jadi contoh di atas bentuk UNF-nya adalah:

penjualan = no_nota + kode_kasir + nama_kasir + kode_customer + nama_customer + alamat + {kode + nama_barang + harga + jumlah} + total

Primary key diberi symbol “@”. Perhatikan adanya multivalue di atas yang diberi simbol “{ }”. Tugas berikutnya untuk normal pertama adalah membuat tabel tersebut dapat dibuat dalam satu tabel tanpa melanggar konsep basis data relational. Note: untuk basis data non-relational (berbasis objek) multivalue dapat diterapkan.

First Normal Form (1NF)

Penghilangan multivalue dapat dilakukan dengan cara membuat kunci komposit antara barang dengan penjualan. Kandidatnya adalah kode barang + no_nota sebagai primary key-nya.

Penjualan = @no_nota + @kode + kode_kasir + nama_kasir + kode_customer + nama_customer + alamat + nama_barang + harga + jumlah + total

Walaupun terdapat redundansi, misalnya no_nota yang sama tetapi karena primary key menggunakan gabungan no_nota dan kode barang maka selama gabungan keduanya unik, tidak melanggar prinsip primary key. Terkadang beberapa kunci kandidat bisa diidentifikasi untuk proses lebih lanjut, misalnya kode_customer dan kode_kasir.

Second Normal Form (2NF)

Untuk normal kedua, syarat mutlaknya selain 1NF adalah ketergantungan fungsional (functional dependency) antara satu atribut dengan atribut lainnya. Perhatikan bentuk 1NF sebelumnya, keluarkan (bentuk tabel baru) jika ada atribut yang tergantung dengan salah satu primary key (no_nota saja atau kode barang saja). Tercatat ada beberapa antara lain:

  1. nama_barang, harga dan jumlah tergantung kode
  2. kode_customer, nama_customer, alamat dan total, kode kasir dan nama kasir tergantung no_nota.

Nama, harga dan jumlah tergantung kode barang begitu juga yang terlibat transaksi penjualan (pelanggan dan kasir) tergantung nota penjualan. Karena kedua ketergantungan parsial di atas (partial dependency) hanya tergantung pada salah satu kunci komposit primary key, maka harus dihilangkan agar memenuhi syarat 2NF.

  1. barang = @kode + nama_barang + harga
  2. penjualan =@no_nota + kode_kasir + nama_kasir + kode_customer + nama_customer + alamat + total
  3. detilpenjualan = @no_nota + @kode + jumlah

Perhatikan tidak ada atribut yang tergantung secara parsial.

Third Normal Form (3NF)

Bentuk 2NF jika masih terdapat ketergantungan secara transitif antara satu atribut dengan atribut lainnya harus dinormalkan agar bisa menjadi normal ketiga. Perhatikan tabel penjualan yang memiliki beberapa atribut non-key ternyata antara satu atribut tergantung dengan atribut lainnya:

  1. nama_kasir tergantung kode_kasir
  2. nama_customer dan alamat tergantung kode_customer

Oleh karena itu perlu dibuat dua tabel baru. Tabel penjualan hanya menyertakan kunci tamu (foreign key) saja dengan simbol “#” di depannya.

  1. kasir = @kode_kasir + nama_kasir
  2. Pelanggan = @kode_customer + nama_customer + alamat
  3. barang = @kode + nama_barang + harga
  4. penjualan =@no_nota + #kode_kasir + #kode_customer + total
  5. detilpenjualan = @no_nota + @kode + jumlah

Jika tidak ada lagi ketergantungan transitif pada tiap-tiap atribut non-key maka proses normalisasi ketiga telah selesai. Biasanya sampai 3NF saja jika tidak ada konstrain/batasan-batasan ketat atribut tertentu, misalnya harga barang yang tergantung dari pelanggan tertentu, dan lain-lain. Semoga ujian akhir nanti lancar.

Iklan

Membuat Slide Master di Power Point

[komputer.1|manajemen|lab.sainstech|pert.13]

Slide master merupakan salah satu fasilitas pada Microsoft Power Point untuk mengatur tampilan seluruh slide yang ada. Untuk mempraktekannya cukup mudah, setelah memilih disain yang diinginkan masuk ke View – pilih Slide Master.

Pilih jenis slide yang akan dibuatkan masternya, misalnya bentuk judul + point. Berikutnya dengan mengeset slide tersebut maka akan merubah seluruh slide yang dibuat (new – slide/ctrl-m) dengan format tersebut. Salah satu fungsi yang bisa dimanfaatkan pada slide master adalah hyperlink antar slide.

Membuat Hyperlink

Buat terlebih dahulu outline dari presentasi yang akan dibuat. Outline ini akan dibuatkan link ke target slidenya.

Hyperlink dibuat dengan menyorot salah satu outline tersebut dilanjutkan dengan klik kanan – Hyperlink.

Pilih “Place in This Document” yang artinya mengarahkan hyperlink ke file power point yang sedang dikerjakan dilanjutkan dengan memilih slide yang ingin menjadi target, misalnya PENDAHULUAN. Lanjutkan dengan outline yang lain. Setelah selesai jangan lupa keluar dari Master Slide dengan masuk ke menu Slide Master dan tekan Close Master View. Tes dan pastikan hyperlink berfungsi dengan baik. Selamat mencoba.

Persamaan Persepsi Dosen

Selain mendengar dari orang lain, saya mengalami sendiri konflik yang terjadi antara satu dosen (bahkan satu grup dosen) dengan yang lain. Korbannya sudah dipastikan mahasiswa, khususnya ketika menyelesaikan tahap akhir penyelesaian skripsi/tugas akhir mereka. Biasanya terjadi karena ego antar dosen selain tentu saja beda pemahaman terhadap suatu konsep dan aturan-aturan yang memang ada hak independen dari sisi pengajar dalam berfikir ilmiah. Untuk masalah ego memang sedikit rumit, apalagi ada unsur-unsur konflik pribadi antar dosen. Postingan ini sedikit menggambarkan kondisi ini dari pengalaman pribadi.

Persamaan Persepsi

Untuk bidang tertentu yang skripsinya mirip-mirip antara satu sama lain dengan metode-metode yang sudah baku, sebuah pertemuan yang mengundang para dosen sangat penting. Manfaatnya untuk membuat standar yang baku dan adil terhadap mahasiswa. Misalnya topik-topik apa saja yang masuk wilayah domain jurusan dengan bentuk laporan skripsinya. Hal ini agar tidak membuat siswa bingung karena oleh satu dosen di suruh begitu, oleh dosen pembimbing yg lain disalahkan, kan kasihan. Juga dengan pertemuan itu, diharapkan kemampuan pembimbing bisa bertambah, minimal tidak jomplang satu dengan lainnya, apalagi jika disertakan dengan pelatihan/seminar oleh dosen yang dianggap pakar di bidangnya. Atau bisa mengundang pakar dari institusi lain.

Standar Tingkat Kesulitan

Sudah pasti tingkat kesulitan antara mahasiswa D3, S1, S2 dan Doktoral berbeda. Repotnya beberapa dosen guna mengejar publikasi menyamakan level D3, S1 dan S2 terhadap mahasiswanya. Melihat mahasiswa D3 yang diminta menganalisa antara satu metode dengan metode lainnya oleh dosen pembimbing kasihan juga. Walaupun ada baiknya tetapi tidak sesuai dengan tujuan D3 yang memang ketika bekerja hanya diminta menyelesaikan pekerjaan dengan metode tertentu yang diperintahkan oleh atasannya, harus selesai dengan baik dan cepat. Jika ngotot dan protes kalau metodenya kalah dengan yang lain bakal dipecat nanti. Jadi fokus ke skill pada level vokasi diutamakan. Level S1 pun berbeda dengan S2 yang mencoba ada aspek analisa satu metode dengan lainnya. Bukan hanya apa yang harus dilakukan tetapi juga mengapa suatu konsep diperlukan dan lebih baik dari konsep dan metode lainnya. Untuk mahasiswa doktoral terlepas dari pertanyaan apa, mengapa dan bagaimana, aspek kebaruan sangat mutlak, walau pun sederhana/kecil. Silahkan membimbing mahasiswa doktoral jika ingin publikasinya banyak dan jangan memaksa mahasiswa S1 apalagi D3 untuk bisa mempublikasi di jurnal internasional yang memang dituntut state of the art.

Standar Internasional

Terkadang walaupun sudah ada persamaan persepsi antara satu dosen dengan lainnya, ketika implementasi di lapangan, ada hal-hal tertentu berbeda pemahamannya karena memang topik yang luas yang tidak bisa selalu disamakan. Jika terjadai ada baiknya menggunakan dasar dan rujukan yang baik dan benar. Untungnya saat ini sebagian besar sudah ada standarnya, misal UML, ERD, dan lainnya. Jadi tidak elok jika memaksakan metode sendiri (tidak standar). Salah satu contoh kasus di bawah ini, tentang ERD.

ERD di atas merupakan standar dari Chen (1976) dan karena sekedar contoh, tidak semua atribut ditulis. Tetapi yang jelas ERD merupakan diagram konsep. Ada polemik mahasiswa yang menggambar diagram di atas disalahkan oleh pembimbing (biasanya praktisi/programmer) karena diagram di atas tidak bisa dijalankan di aplikasi. Tentu saja, karena itu masih konsep dan perlu konversi menjadi tabel, dan ada teorinya (weak entity, many to many, dan lainnya untuk dikonversi menjadi tabel). Silahkan menggunakan beragam standar/jenis model ERD lain (crow foot) atau dengan class diagram UML berstandar internasional. Baik perancang sistem maupun programmer harus bisa bekerja sama bukan malah mengagung2kan bidangnya apalagi menjelek-jelekan bidang lain. Mungkin itu sekadar contoh, semoga bisa menjadi bahan evaluasi bersama.

Insert Data Multitable dengan PHP

[s.basis.data|akuntansi|lab.soft|per.14]

Pertemuan ini mencoba membuat aplikasi berbasis web dengan PHP untuk memasukan data baru ke basis data. Sebagai informasi, semua file-file PHP diletakan di folder ..\xampp\htdocs\ sementara basis data diletakan pada folder ..\xampp\mysql\data.

Insert Data yang Melibatkan Satu Tabel

Postingan ini menggunakan data pertemuan yang lalu. Misalnya input data barang dengan form berupa tabel yang dibuat dengan mode HTML. Struktur dari file PHP nya dapat digambarkan sebagai berikut.

  • <Judul Form>
  • <Metode Form: POST, Action: simpan.php>
  • <Interface untuk Input-input Data>
  • <Interface Untuk Tombol Submit>

Struktur php di atas (misal diberi nama formbarang.php) membutuhkan file simpan.php untuk mengeksekusi isian yang telah diisi. Struktur simpan.php adalah kira-kira sebagai berikut:

  • <Membuat koneksi>
  • <Membuat variabel $ untuk tiap input data dari formbarang.php>
  • <Membuat SQL insert data dengan VALUE dari variabel tersebut>
  • <Eksekusi SQL dan tutup koneksi>

Koneksi bisa dibuat di file simpan.php atau membuat satu file php khusus untuk koneksi. Untuk PHP 7 instruksi mysql diganti menjadi mysqli yang membutuhkan link koneksi tiap eksekusi. Silahkan browsing kode detail dari file php tersebut yang banyak tersebar di internet. Berikut contoh hasil eksekusinya.

Pastikan ketika tombol SIMPAN ditekan pada tabel barang data baru muncul. Berikutnya untuk form yang melibatkan dua tabel.

Insert Data yang Melibatkan 2 Tabel

Sebagai contoh adalah tabel pembelian yang melibatkan tabel pembelian dan tabel pemasok (suplier). Karena pelanggan harus sesuai dengan tabel. Kode suplier pada tabel pemasok merupakan kunci tamu (Foreign Key) di tabel pembelian. Struktur file pembelian.php adalah sebagai berikut:

  • <Judul Form>
  • <Membuat Koneksi>
  • <Membuat Form Methode :POST, Action: simpanbeli.php>
  • <Membuat SQL mengambil data suplier>
  • <Menyiapkan Array Javascript utk menampung hasil>
  • <Membuat pilihan dari data suplier>
  • <Menyimpan variabel $ array hasil pilihan>
  • <Interface input data>
  • <Interface submit / insert data>
  • <Fungsi Javascript mengisi input data berdasarkan $ array>

Form ini mirip sebelumnya tetapi sedikit rumit karena perlu menyiapkan data suplier sebagai pilihan dalam bentuk combo box. Ketika satu suplier dipilih, maka data lainnya seperti Nama, Alamat, dan Kontak muncul di interface input data. Untuk total diisi manual, biasanya total ini diinput otomatis dari form transaksi yang lebih detil (melibatkan data barang lebih dari satu). Karena sekedar contoh bagaimana menginput data yang melibatkan dua tabel, kiranya cukup sekedar demo. File simpanbeli.php diperlukan untuk menyimpan data pembelian. Berikut strukturnya:

  • <Membuat koneksi>
  • <Membuat variabel $ untuk tiap input data dari pembelian.php>
  • <Membuat SQL insert data dengan VALUE dari variabel tersebut>
  • <Eksekusi SQL dan tutup koneksi>

Kode untuk tombol simpan mirip simpan data barang sebelumnya. Tinggal copas dan ganti variabel dengan variabel $ baru mengikuti nama dari input data di file php sebelumnya yang memanggil (pembelian.php). Testing apakah sudah berjalan dengan baik.

Untuk detil yang melibatkan pembelian lebih dari satu barang sehingga membutuhkan isian dinamis (muncul isian baru ketika ada penambahan) perlu dicoba, juga pembuatan aplikasinya pada android. Semoga bermanfaat.

Migrasi ke PHP versi 7 itu Wajib

Semester ini teknik kompilasi, information retrieval, algoritma, pengolahan citra dan basis data menjadi santapan sehari-hari (karena mengajar). Teknik kompilasi membahas teknik-teknik parsing suatu bahasa pemrograman. Ada informasi bahwa PHP versi 5 ke bawah sangat rentan dan mudah dimanipulasi parsing-nya. Dan yang terpenting PHP 5 akan dihentikan dukungannya per 31 Desember 2018 nanti. PHP sendiri saya gunakan sebagai praktek dalam mata kuliah sistem basis data. Berikut edaran dari Badan Siber dan Sandi Negara (BSSN) mengenai hal tersebut.

Yuk, Install Versi 7.x

Silahkan unduh PHP versi terbaru di SINI. Pada postingan ini saya mencoba menggunakan versi terbaru itu. Coba pilih versi 7.3 yang terbaru ketika postingan ini ditulis.

Ukuran XAMPP untuk PHP 7.3 ini cukup kecil, hanya sekitar seratusan mega byte. Isi dari XAMPP dapat dilihat saat proses instalasi. Oiya, gunakan login Administrator agar instalasi optimal, karena ada pesan / warning ketika tidak menggunakan login itu.

Intal XAMPP ini satu paket dalam Bitnamiyang mensuport paket Drupal, Joomla, Moodle dan WordPress. Lanjutakan dengan menekan Next> hingga proses instalasi selesai.

Testing XAMPP yang Baru

Dimulai dengan pemilihan bahasa, control panel XAMPP muncul ketika aplikasi pertama kali dijalankan. Hidupkan server database dan PHP untuk memulai aplikasi (wah .. ada Tomcat .. jadi trauma waktu S2 dulu). Seperti biasa windows minta konfirmasi apakah kedua server itu dihidupkan, tekan saja OK.

Coba saya migrasi beberapa file terdahulu (php dan mysql) untuk testing. Misalnya input data barang.

Ternyata tampilan XAMPP jika dijalankan localhost langsung menuju dashboard yang menginformasikan tentang versi 7.3 dari PHP ini.

Tampak berhasil insert satu data baru. Silahkan migrasi ke PHP versi 7 agar tenang dan nyaman, khususnya bagi admin web (sementara mungkin, karena serangan terus terjadi mencari kelemahan-kelemahan yang mungkin ada). Semoga bermanfaat.

Ketika acara FGD (dua dari kanan)

Sumber Belajar Pemrosesan Teks dan Perolehan Informasi

Saat ini informasi sangat mudah didapat karena era Big Data dengan konsep 5V-nya (Velocity, Veracity, Volume, Value, dan Variability). Walaupun bagi praktisi Big Data ada konsep “data yang buruk lebih baik daripada tidak ada data” tetapi bagi pelajar dan mahasiswa, dibutuhkan sumber-sumber yang memang dibutuhkannya. Banyak ebook-ebook berkualitas baik banyak dijumpai di internet baik lewat situs sharing ataupun via media sosial seperti Whatsapp. Namun toh, para mahasiswa kurang begitu berminat membacanya (bahkan saya pun agak malas ..). Tapi ya, kalo bisa sih dibaca sampai habis.

Untuk pemrosesan teks, text mining, atau perolehan informasi salah satu buku andalannya adalah terbitan MIT press (C. Manning) dengan teori-teori dasarnya. Ada juga buku karangan Banch tentang Text Mining dengan praktek aplikasinya dengan Matlab. Kebanyakan karena saking “dasanya” jadi sulit untuk diterapkan langsung seperti bagaimana implementasinya di search engine seperti Google atau Bing.

Berbicara mengenai search engine, bagi mahasiswa atau saya juga, yang ingin belajar cepat sekelebat karena limit waktu yang terbatas, Google dkk menjadi andalan utama setelah situs-situs diskusi di internet. Modal dasar yang harus dimiliki tentu saja kemampuan berbahasa Inggris. Walaupun ada translate google, tetap harus bisa bahasa Inggris jika tidak ingin repot bolak-balik buka kamus.

Ada proyek-proyek online yang beredar di internet, salah satunya adalah situs ini yang menyediakan contoh sample data yang akan diolah.

Bagaimana cara mengolahnya? Silahkan download buku Text Mining with Matlab karya Banch, atau datang ke situs-situs diskusi, misalnya tentang pembuatan model bahkan membuat mesin yang bisa membuat sebuah kalimat dengan beberapa kata kunci.

Saya sempat mencobanya. Pertama-tama dengan Matlab 2008. Ternyata dengan versi tersebut banyak masalah yang dijumpai karena sudah tertinggal jauh. Silahkan gunakan yang terkini. Beberapa fungsi m-file perlu diunduh agar bisa berfungsi, dan lumayan bisa dipakai untuk mengutak-atik teks. Mungkin pembaca punya alternatif lain yang lebih baik, silahkan ber-komentar. Yuk, belajar text mining.

Membaca Cepat .. dan Rampung

Entah mengapa akhir-akhir ini di Facebook bermunculan iklan-iklan seminar membaca cepat. Dulu sempat mengulas masalah membaca cepat ini, bahkan membaca satu buku yang dipinjam di perpustakaan untuk belajar dan menguji kecepatan membaca. Tetapi terlepas dari cepat atau lambatnya membaca tentu saja jangan lupa tujuan membaca yaitu menyerap ilmu dan yang pasti harus selesai.

Sedikit berbagi pengalaman, buku di atas adalah buku wajib mata kuliah Information System Development and Management (ISDM). Waktu itu sebelum perkuliahan dimulai (beberapa minggu), saya membacanya sampai habis. Terus terang jarang saya membaca buku sampai habis, bahkan sampai soal-soalnya. Waktu itu berlalu dan saya anggap biasa saja. Tetapi belakangaan baru sadar mengapa waktu itu bisa membaca dengan cepat buku tersebut sementara belakangan tidak pernah selesai satu buku seperti waktu itu. Postingan ini bermaksud mereviewnya.

Pemenggalan Kalimat

Membaca cepat tentu saja mata tidak melihat kata perkata (apalagi sambal komat-kamit). Mengapa buku tersebut bisa dibaca cepat? Ternyata format tulisannya dua kolom dan ukuran huruf mudah dilihat. Karena dari ujung kiri kalimat ke kanan masih dalam jangkauan mata maka mata saya hampir tidak bergerak dari kiri ke kanan menyusuri kalimat, melainkan hanya naik turun ganti baris. Sepertinya jika ingin diterapkan ke buku dengan single column mau tidak mau harus memenggal kalimat menjadi beberapa “rombongan” kata. Kuat dugaan saya waktu itu cepat selesai membacanya karena secara tidak sengaja memenggal kalimat dengan bantuan dua kolom buku tersebut.

Rileks

Waktu libur, tidak ada tugas atau tuntutan tertentu membuat ketika membaca menjadi rileks. Dengan rileks ternyata bisa cepat memahami, bukan sekedar cepat membaca. Percuma mata cepat mengikuti tulisan tetapi karena gugup, tidak ada yang masuk ke otak, seperti angin lalu saja. Jadi rilekslah ketika membaca dan tentu saja tidak belajar kebut semalam ketika mau ujian saja. Membaca bisa di mana saja, tidak harus di atas meja belajar, bisa diiringi musik dengan secangkir kopi.

Menggambarkan (Picturing)

Selain dua hal di atas, ketika membaca buku tersebut saya berimajinasi terhadap kata-kata kunci suatu kalimat. Kalimat sebelum ini jika dengan menggambarkan saya akan menggambarkan “membaca buku” dalam artian seperti melihat orang membaca buku di depan mata (bukan sekedar dua kata membaca dan buku). Ketika membaca judul buku “Modern System Analysis and Design” pun sudah ada di kepala bayangan analisa dan disain modern dengan teknik-tekniknya pada buku itu. Cepatkah? Ternyata jika terbiasa, bisa juga menggambarkan dengan cepat, apalagi jika bahasa Indonesia. Tetapi untuk bahasa Inggris cukup membantu juga karena ketika menguji membaca cepat dari buku tips-trik karangan asing dengan contoh tulisan asing juga terkadang mata cepat bergerak tetapi lupa memaknai beberapa kata penting, akibatnya cepat tapi ketika diuji (biasanya min skor 80) gagal, jadi terlalu cepat tapi kurang memahami.

Alhasil nilai A mata kuliah tersebut di tangan, nilai yang penting karena syarat GPA 3.5 untuk kandidasi doktoral tercapai apalagi jika ada nilai B mata kuliah lain. Ditambah lagi rekan kuliah mengupdate status facebook di grup yg jika diterjemahkan: dapat “A” .. yes yes yes, dapat “B+” .. cukuplah, dapat “B” .. sialan, dapat “C” .. bye bye PhD. Status yang bikin stress mahasiswa doctoral lainnya yang dapat nilai di bawah B+. Semoga menghibur.

Menyamakan Ukuran Citra

[peng.citra|t.komputer|lab.hardware|pert.10]

Untuk membandingkan dua citra baik dengan JST atau metode yang lain, hal mutlak yang harus dilakukan adalah menyamakan ukuran dari citra. Menyamakan ukuran berarti menyamakan dimensi matriks antara satu gambar dengan gambar yang akan diuji kemiripannya. Gambar GUI di bawah ini adalah contoh ilustrasi proses pembandingan.

Perhatikan gambar di atas dimana gambar 1 yang merupakan master akan diuji dengan gambar 2 yang memiliki ukuran berbeda (kolom atau tinggi segiempatnya) dimana angka tiga 371, sementara angka 2 742. Proses callback “Resize Gbr 2” berisi kode berikut:

  • image=handles.image;
  • b=handles.b;
  • c=handles.c;
  • % ukuran gbr2
  • [b2,c2]=size(image)
  • save testing
  • image=imresize(image,[b c])
  • axes(handles.axes2)
  • imshow(image)
  • set(handles.edit5,’String’,b)
  • set(handles.edit6,’String’,c)

Perhatikan gambar di atas. Ukuran baru gambar dua sudah sama dengan tiga (kolom = 371). Dengan samanya ukuran gambar 1 dan gambar 2 maka proses selanjutnya (Uji Kecocokan) dapat dilakukan. Ada hal-hal tertentu yang didapat pada praktik hari ini:

  • Tidak boleh memberi nama GUI dengan nama yang dimiliki suatu fungsi pada Matlab, misalnya dengan nama “imresize”, karana ketika ada instruksi “imshow” akan menampilkan GUI tersebut bukannya gambar/citra.
  • Ketika GUI dengan Matlab 2013 dijalankan di 2008 ada pesan error dan tidak dapat dijalankan. Tetapi jika GUI dengan Matlab 2008 dapat dijalankan dengan 2013 ke atas. Semoga bermanfaat.

Demonstrasi vs Ketetapan Tuhan

Beberapa hari yang lalu ada demonstrasi yang ditujukan kepada kementerian keuangan dan RISTEK-DIKTI. Isinya tentang beasiswa bagi mahasiswa yang sedang dan akan studi lanjut, khususnya para dosen di perguruan tinggi. Interpretasi mengenai tindakan mereka terserah Anda, postingan ini hanya mencoba berbagi pengalaman saja.

Ada satu ketentuan yang tidak dapat disangkal, yaitu ketetapan Allah. Kita boleh berencana, mengeksekusinya, tetapi ketetapan tuhanlah yang berlaku. Tidak ada orang yang ingin sakit, bencana, dan kesusahan-kesusahan lainnya, tetapi jika Allah berkehendak, siapa pula yang bisa membatalkannya. Bahkan yang sudah pastipun, misalnya mati, tidak ada orang yang menginginkannya. Apalagi hal-hal lain yang tidak ganas-ganas banget, misalnya studi lanjut.

Sebenarnya beasiswa sendiri itu bagian dari studi lanjut. Masalah beasiswa ya berarti masalah studi lanjut. Karena dalam menyelesaikan kuliah S3, sepertinya hanya 20% fokus yang diberikan untuk murni perkuliahan, dan sisanya yang 80% untuk hal-hal lain yang salah satunya adalah beasiswa. Kenapa harus 80% dan 20%? Tidak ada hitungannya sih, hanya angka statistik dari Pareto saja. Jadi jika calon mahasiswa melihat bahwa studi lanjut itu fokus hanya ke 20% saja, alias 100% murni untuk kuliah, sudah dipastikan jika ada masalah-masalah non teknis maka mereka menganggap itulah penyebab dari lama atau bahkan tidak lulus-nya perkuliahan. Padahal itu sejatinya bagian dari proses penyelesaian studinya yang bahkan besarnya jauh melebihi proporsi kuliah.

Apakah kita bisa membantu para karyasiswa (sebutan untuk mahasiswa yang menerima beasiswa)? Tentu saja bisa, khususnya pemerintah yang untuk dosen dipegang oleh kementerian RISTEK-DIKTI dan departemen agama serta untuk non dosen oleh kementerian keuangan dan lain-lain (di tempat saya ada dari departemen pertanian). Mungkin di sini hanya pendapat saya mengenai bagaimana melancarkan proses studi lanjut:

Pantauan Perkuliahan oleh Institusi Asal

Tentu saja para karyasiswa harus melaporkan kemajuan studinya baik ke pemberi beasiswa (misalnya RISTEK-DIKTI) maupun institusi asal (misalnya departemen atau kampus). Namun selama ini kebanyakan institusi asal tidak ambil pusing, mungkin karena tidak tahu menahu apa yang terjadi terhadap karyasiswanya, atau menyerahkan semua kepada pemberi beasiswa. Jika beasiswa mengalir lancar, pasti kemajuannya oke, alias baik-baik saja. Padahal yang terjadi tidak demikian, karena banyaknya penerima beasiswa maka pemberi beasiswa pun tidak cukup mampu mengawasi, padahal laporan-laporan kemajuan belum tentu akurat, bahkan kebanyakan sedikit ada manipulasi. Bahkan untuk laporan kemajuan yang dibuat oleh supervisor pun bisa saja dibuat sebisa mungkin baik, karena supervisor agak meringankan beban si mahasiswa itu agar beasiswa cair.

Hubungan dengan supervisor terkadang sangat menentukan si mahasiswa cepat atau lambat lulusnya. Teringat rekan saya yang walaupun sudah beres semua syarat-syarat tetapi diperlambat dalam proses pengecekan naskah oleh dosen kampus lain (external review). Tapi ternyata masalah beres. Bagaimana caranya? Ternyata sederhana, pimpinan di kampusnya (dekan) beserta rombongan datang main ke universitas tempat siswa tersebut kuliah, bincang-bincang sebentar tentang apa kendala yang membuat mahasiswa tersebut tidak lulus-lulus. Setelah rombongan dekannya pulang, tidak lama kemudian lulus. Itulah salah satu bantuan terhadap aspek 80% terhadap si mahasiswa itu. Tentu saja hanya itu yang bisa dibantu, masalah aspek teknis yg 20% tentu saja karyasiswa harus mikir sendiri mengingat biasanya research question untuk level S3 jarang yang sudah ada jawabannya. Contoh lainnya adalah salah satu kampus IT terkenal di Jakarta, ketua jurusannya selalu berkomunikasi dengan tempat kuliah dosennya di kampus negeri di Jakarta juga. Bahkan di Facebook sering terlihat dia mengikuti sidang-sidang si mahasiswa tersebut (sidang proposal, sidang terbuka, dan acara-acara lainnya). Mungkin cara tersebut, dengan menjaga komunikasi ke dosen pembimbing (atau ke departemen) rekannya yang sedang kuliah, bisa di terapkan untuk dosen yang kuliah di kampus dalam negeri. Mengingat tingkat kegagalannya (lama lulusnya bahkan drop out) yang mengambil S3 di dalam negeri cukup tinggi. Tentu saja untuk yang luar negeri agak sulit karena jarak dan biaya. Untuk yang di dalam negeri toh tidak ada salahnya dicoba.

Support dan Penghargaan

Tidak ada salahnya karyasiswa diberi penghargaan walau belum selesai. Banyak caranya, misalnya tetap memberikan gaji ke dosen tersebut, bisa tetap menerima tunjangan serdos (khusus yang biaya sendiri), atau sekedar menjadi pembicara di institusinya. Ini mirip dengan cara sebelumnya, jika yang sebelumnya melibatkan aspek fisik, support dan penghargaan melibatkan aspek mental dan spritual. Si mahasiswa merasa diperhatikan sehingga berusaha sekuat tenaga menjawab tantangan-tantangannya.

Support dan penghargaan pun saya terima, misalnya ketika acara wisuda di luar dugaan ternyata dubes dan atase kebudayaan ikut hadir. Suatu hal sederhana tetapi merupakan wujud penghargaan yang tak bisa dihargai dengan apapun. Pantas saja ada seseorang yang memperhatikan saya yang duduk di depan (wisudawan doktoral selalu di depan), ternyata dia p dubes yang baru (sampai tidak kenal karena lamanya waktu kuliah hingga dubes dan bahkan raja pun sudah ganti yang baru).

Ketika pertemuan asosiasi APTIKOM, seorang rektor dari kampus besar di semarang mengatakan bahwa jika ada dosennya yang lulus doktor dalam negeri, maka akan diberikan umroh gratis. Jika dari luar negeri akan diberi satu unit kendaraan (xenia/avanza). Di kampus saya lebih keren lagi, ketika lulus kuliah (luar atau dalam) ternyata diberi uang tunai yang besarnya bisa melebihi xenia/avanza … (pesangon). Sekian semoga bermanfaat, atau minimal bisa menghibur di waktu libur.

Ternyata mereka datang ..

Prinsip Pareto 80/20

Ada satu hukum alam yang dicetuskan oleh seorang peneliti Italia bernama Vilvredo Pareto (1848-1923) yakni sejatinya di alam berlaku hukum ketidakseimbangan (imbalance). Hukum ini mengatakan bahwa suatu output tertentu dihasilkan oleh peran sebagian kecil pihak. Atau dengan statistik lebih detil disebutkan bahwa 80% hasil output merupakan sumbangsih dari 20% pihak tertentu bukan fivety-fivety/setara/balance. Uniknya di jaman Pareto hidup, teorinya kurang diminati. Mungkin waktu itu jaman tertutup dimana proteksi merajalela dan juga karena era perang. Ditambah lagi mafia-mafia yang menghalangi kealamian proses bisnis.

Analisa 80/20

Ada dua metode terkenal yang bisa diterapkan untuk menerapkan prinsip ini yaitu Analisa dan Cara berfikir 80/20. Analisa bermaksud merinci aspek-aspek tertentu dari prinsip 80/20. Dibutuhkan data-data yang bersifat kuantitatif untuk memastikan khususnya aspek 20% yang menentukan. Terkadang bisa di bawah nilai tersebut, 15%, 10% atau bahkan 1%. Hitunglah omset yang didapat dan selidiki data-data yang menjadi penyebab terbesar (sekitar 80%) dari omset. Maka akan diperoleh data-data rinci yang perlu diperhatikan, diperbaiki, atau ditingkatkan kinerjanya.

Berfikir 80/20

Jika analisa membutuhkan data-data secara kuantitatif maka cara berfikir hanya melihat gejala-gejala bahkan bersifat fuzzy. Ada hal-hal tertentu yang perlu diperhatikan dalam menerapkan cara berfikir 80/20 agar tidak keliru menerapkannya. Selain meyakini bahwa tidak ada keseimbangan dalam alam (misal ada perusahaan/produk tertentu yang mendominasi) juga harus diingat bahwa di alam tidak mungkin berlaku prinsip yang linear. Hal ini terjadi karena suatu output/outcome tidak dihasilkan hanya dari beberapa parameter yang fix saja. Ada faktor-faktor tertentu terkadang muncul jika dilakukan terhadap suatu aspek. Misalnya di toko buku diketahui buku-buku tertentu yang laris dan menyumbang 80% dari keuntungan toko buku tersebut dan si manajer agar lebih untung memperbanyak buku-buku laris tersebut dan mengurangi buku-buku yang kurang laris secara dramatis, maka berhati-hatilah. Karena output merupakan akumulasi faktor-faktor tertentu yang beragam dan terkadang luput dari pantauan. Suatu faktor terkadang mempengaruhi output secara tiba-tiba jika faktor-faktor lain berinteraksi.

Penggunaan Praktis Sehari-hari

Namun untuk kasus-kasus yang kurang beresiko, sepertinya prinsip 80/20 bisa langsung diterapkan. Misalnya jika suatu omset dari sebuah mall 80% berasal dari 20% produk-produk wanita maka secara gampang kita fokus saja meningkatkan performa 20% produk-produk wanita tertentu misalnya dengan menjaga keterikatan konsumen, memperbaiki servis, dan lain-lain. Bagaimana jika fokus meningkatkan agar para pria tertarik seperti wanita dalam berbelanja khusus produk-produk pria? Tentu bisa saja, tetapi dengan membuka segmen baru membutuhkan effort yang lebih besar dibanding hanya berfokus ke 20% produk-produk wanitanya.

Misalnya produk kita menghasilkan output 80% berasal dari 20% pelanggan tertentu, maka secara praktis fokus saja menjaga pelanggan-pelanggan 20% tersebut dengan memperhatikan aspek-aspek tertentu yang menjaga dia tidak kabur. Sebab jika kabur atau beralih, maka dipastikan output 80% akan goyah. Oiya, menurup prinsip ini, 80% produk tertentu yang beredar di pasaran berasal dari 20% produsen tertentu. Apa sebabnya, ada hal-hal tertentu yang membuat produk itu disukai, silahkan baca kembali buku-buku khusus tentang pemasaran. Misalnya ternyata produk yang disukai oleh konsumen adalah yang memberikan nilai tambah, berharga kompetitif, dan sejenisnya.

Untuk Pelajar

Bagaimana dengan para pelajar dan mahasiswa? Silahkan gunakan prinsip ini. Saya pernah menerapkan prinsip ini karena kepepet sekali, yaitu materi yang banyak tetapi waktu yang dibutuhkan sedikit dan nilai harus A atau setidaknya B+. Jika menggunakan prinsip ini, 80% nilai akhir dihasilkan dari ujian tengah, ujian akhir dan tugas proyek yang semuanya sekitar 20%. Diturunkan lagi, jika ada buku teks wajib maka secara pareto, 80% nilai ujian dihasilkan dari 20% bab-bab tertentu. Jadi ketika membaca jangan menggunakan prinsip seimbang (alias dibaca kayak novel dari a- z) melainkan cari bab-bab penting yang berbasiskan soal ujian. Lebih baik lagi jika soal-soal tahun-tahun sebelumnya kita miliki beserta jawaban dan caranya. Untuk pencari beasiswa atau yg sedang studi lanjut, ada baiknya gunakan prinsip ini, dijamin beres, baik dan cepat, mengingat di institusi saya tingkat kelulusan S3 sementara tidak jauh dari angka 50%. Sekian semoga bermanfaat.

Rahmadhood .. hehe

 

Mengambil File Microsoft Word dan Indexing Pada Matlab

[inf.retrievalt.komputer|lab.software|pert.9]

Salah satu langkah perolehan informasi yang penting adalah pembuatan indeks. Indeks merupakan salah satu kunci untuk pencarian informasi. Untuk menghasilkan pengindeks yang baik perlu menggunakan teknik-teknik yang ada pada pemrosesan teks. Postingan kali ini bermaksud mengetahui cara pembuatan indeks dengan file yang diambil dari microsoft word.

Mengambil File Ms Word

Banyak informasi yang memberikan cara bagaimana mengambil file word agar bisa diproses lebih lanjut pada Matlab. Biasanya file yang langsung bisa digunakan adalah file berekstensi txt, namun karena banyaknya file berformat DOC atau DOCX maka perlu mengetahui cara pengambilan file bertipe itu agar bisa diolah lebih lanjut pada Matlab. Agar lebih nyaman, ada baiknya membuat Graphic User Interface (GUI) agar lebih mudah digunakan atau disimpan agar mudah digunakan nantinya.

Masuk ke callback Ambil File dan isikan kode berikut menggunakan uigetfile yang mengeluarkan form ambil file. Akhiri dengan membuat variabel agar bisa digunakan nantinya lewat mekanisme handles.

  • [a,b]=uigetfile(‘*.docx’)
  • handles.a=a;
  • handles.b=b;
  • guidata(hObject,handles)

Sementara pada callback Pra-Proses diisi dengan kode-kode berikut dimulai dari mengambil data dari word:

  • word = actxserver(‘Word.Application’);
  • file=strcat(handles.b,handles.a)
  • wdoc = word.Documents.Open(file);
  • sometext = wdoc.Content.Text;

Variabel “file” merupakan string yang diambil dari instruksi “uigetfile” pada pushbutton sebelumnya yang kemudian disimpan dalam variabel sometext. (Lihat penjelasannya di buku Text Mining dengan Matlab karya Bachs).

  • temp = sometext
  • temp = lower(temp)
  • temp = regexprep(temp,'</verse>’,’ S ‘)
  • temp = regexprep(temp,'<.*?”‘,”)
  • temp= regexprep(temp,’ ‘,”’,”’)
  • temp = regexprep(temp,’\W’,’ ‘)
  • temp = strtrim(regexprep(temp,’\s*’,’ ‘))
  • temp=regexprep(temp,’ ‘,”’,”’)
  • eval([‘wordsofverses={”’,temp,”’};’]);
  • limits = [0,find(strcmp(wordsofverses,’S’))]
  • for k=1:length(limits)-1
  • verses(k).vocab = unique(wordsofverses(limits(k)+1:limits(k+1)-1));
  • end;

Variabel “temp” berisi hasil pemrosesan yang dimulai dari lower untuk mengecilkan seluruh huruf hingga mengkonversi string word tersebut menjadi cell dalam variabel wordsofverses. Hasilnya kira-kira sebagai berikut. Semoga bermanfaat.

Lex and Yacc via Konsol (DOS Prompt)

[t.kompilasi|t.informatika|s.103|pert.11]

Jika yang lalu telah dibahas membuat kompiler lewat GUI Lex and Yacc, terkadang perlu mencoba lewat mode console karena jika bisa dengan mode ini, akan mudah jika menggunakan versi linux-nya. Coba masuk ke folder Lex and yacc di folder Flex Windows. Untuk memastikan file lex and yacc lengkap coba ketik “yacc –help”. Jika muncul seperti gambar berikut berarti tersedia.

Siapkan dulu file lex dan yacc contoh misalnya calc.l yang tersedia sebagai latihan. Ketik:

yacc –d –y calc2.y

Instruksi di atas akan menghasilkan dua file yaitu y.tab.h dan y.tab.c yang masing-masing adalah berturut-turut file header dan file bahasa c (bukan c++). Untuk yang LINUX (dengan nama aplikasi bison) sepertinya tidak perlu menggunakan –y (langsung yacc –d calc2.y saja). Tekan “dir y.tab*.*” untuk melihat kedua file tersebut.

Jalankan instruksi berikutnya:

lex calc2.l

Pastikan muncul file baru lex.yy.c yang akan digunakan untuk compile dan linking sehingga dihasilkan output calc.exe. Di sini linking antara lex.yy.c dengan y.tab.c hasil yacc sebelumnya.

cc lex.yy.c y.tab.c –ocalc2.exe

Hasilnya adalah file calc2.exe yang jika dijalankan dengan mengetik “calc2.exe” pada command prompt akan dihasilkan kalkulator berikut. Ketik 1+2 dan ketika ditekan enter muncul angka 3.

Oiya, postingan ini sekedar menginformasikan teknik pembuatan kompiler lewat aplikasi lex and yacc mode konsol yang biasanya jika menggunakan linux. Untuk yang dengan GUI lebih mudah lagi. Selamat mencoba.

Menghitung Nilai Diri

Tiap orang kebanyakan menilai lebih diri sendiri. Aksi demonstrasi buruh yang meminta kenaikan gaji merupakan salah satu menilai diri melebihi upah yang diberikan. Wajar tapi ada baiknya melihat pendapat-pendapat dari tokoh ternama ataupun riset-riset tentang manajemen sumber daya manusia.

Jack Ma mengatakan dalam bekerja ada baiknya bukan mengejar uang, tapi uang yang mengejar kita. Dalam artian, uang yang dibayarkan berdasarkan nilai (value) dari diri kita. Intinya adalah dari pada fokus mencari uang ada baiknya kita meningkatkan nilai diri baik dari pengalaman, pelatihan, studi lanjut, setifikasi, dan lain-lainnya. Dengan demikian kualitas yang ada dalam diri akan mempengaruhi kinerja di tempat kerja kita. Kualitas bisa berupa keterampilan atau pengalaman lain yang tentu saja harus dibuktikan dengan sertifikat dan sejenisnya. Kualitas ini juga mengikuti ketersediaannya di sekitar tempat kerja, jika keterampilan tertentu langka maka bayarannya pun berbeda dengan keterampilan yang banyak orang menguasainya. Prinsip “yang pertama” juga ada baiknya diperhatikan. Jack Ma juga mengatakan jika tidak bisa/sulit jadi yang terbaik, cobalah menjadi yang pertama. Tentu saja yang pertama dalam hal-hal unik yang baik.

Pareto dan Prinsip 80/20

Selain dari pengalaman pakar seperti Jack Ma di atas, ada juga dari hasil riset yang dilakukan oleh Pareto dengan prinsip 80/20-nya. Prinsip ini mengatakan 20% mempengaruhi 80% dari hasil. Angka tersebut bisa saja 10/90 atau bahkan 1/99. Namun prinsipnya adalah ketidakseimbangan (unballance). Lihat saja sekitar kita, terkadang 20% orang-orang menguasai 80% dari kekayaan daerah tersebut.

Prinsip berbasis statistik tersebut ada baiknya diterapkan dalam organisasi kita. Fokuslah memperhatikan 20% dari karyawan yang menghasilkan 80% penghasilan organisasi/perusahaan. Mencari 20% karyawan tersebut adalah tugas berat dari divisi SDM yang terkadang kebanyakan organisasi di daerah kita hanya sekedar bertugas menerima/memecat karyawan saja. Ditambah lagi budaya KKN yang melanda kebanyakan organisasi. Silahkan abaikan 20% karyawan top tersebut jika ingin perusahaan tersebut terpuruk karena mereka kecewa dan kabur meninggalkan perusahaan tersebut.

Yuk, evaluasi diri apakah kita termasuk 20% yang menghasilkan 80% output organisasi atau sebaliknya 80% dari yang kurang menghasilkan apa-apa plus datang dan pergi sesuka hati. Khusus para mahasiswa coba terus mengasah skill dan meningkatkan nilai diri di era yang serba cepat dalam medan pertarungan inovasi dan kreativitas, yang bukan sekedar rutinitas belaka, dan jangan lupa nikmati kehidupan yang singkat ini dengan kegiatan-kegiatan sesuai dengan minat dan pasion.

Membuat Relasi Antar Tabel Pada MySQL

[basis.data|akuntansi|lab.software|pert.13]

Pada pertemuan sebelumnya dibuat satu tabel (tabel barang) dengan MySQL yang dihubungkan dengan form berbasis web (php). Tentu saja setiap basis data akan memiliki lebih dari satu tabel, misalnya tabel yang lain seperti detilpenjualan, penjualan, atau juga suplier. Untuk mudahnya kita buat satu tabel baru yakni tabel detilpenjualan yang terhubung dengan tabel barang. Relasinya kira-kira sebagai berikut:

Membuat Tabel Suplier

Ada dua tabel master yaitu tabel barang dan tabel Suplier. Buat tabel suplier dengan script SQL berikut ini:

  • CREATE TABLE SUPLIER (
  • KdSuplier CHAR(10) NOT NULL,
  • NamaSuplier VARCHAR(20) NOT NULL,
  • Alamat VARCHAR(25) NOT NULL,
  • Kontak CHAR(10),
  • PRIMARY KEY (KdSuplier)
  • );

Jalankan dengan mengklik simbol SQL pada phpmyadmin (http://localhost/phpmyadmin/). Atau bisa juga dengan create lewat menu di phpmyadmin. Masukan satu buah record, misalnya:

  • INSERT INTO SUPLIER (KdSuplier, NamaSuplier, Alamat, Kontak) VALUES
  • (‘S001′,’Rahmadya’,’Bekasi’,’3332211′),
  • (‘S002′,’Ujang’,’Jakarta’,’123456′);

Pastikan kode SQL ketika dijalankan berhasil.

Membuat Tabel Penjualan

Tabel penjualan membutuhkan field-field: KdPenjualan, KdSuplier, dan Total. Sehingga memerlukan Foreign Key KdSuplier yang berasal dari tabel Suplier. Berikut kode SQL-nya:

  • CREATE TABLE PENJUALAN (
  • KdPenjualan INT AUTO_INCREMENT NOT NULL,
  • KdSuplier CHAR(10) NOT NULL,
  • total DECIMAL(8,2) NOT NULL,
  • PRIMARY KEY (KdPenjualan),
  • FOREIGN KEY (KdSuplier) REFERENCES suplier(KdSuplier)
  • ON DELETE CASCADE
  • ON UPDATE CASCADE
  • );

Perhatikan frasa on delete cascade dan on update cascade pada foreign key KdSuplier. Di sini artinya jika kode suplier dihapus atau diedit maka tabel penjualan juga berubah. Tapi jika ingin tidak berubah tidak perlu memasukan frasa tersebut.

Membuat Tabel DetilPenjualan

Tabel ini bermaksud mengakomodir relasi many to many dimana transaksi melibatkan jumlah barang yang lebih dari satu. KdPenjualan dan KdBarang menjadi primary key (komposit). Berikut kode SQL untuk tabel barang dan tabel DetilPenjualan.

  • CREATE TABLE BARANG(
  • KdBarang VARCHAR(10),
  • NamaBarang VARCHAR(25),
  • Harga decimal,
  • PRIMARY KEY (KdBarang)
  • );

Dan untuk tabel DetilPenjualan:

  • CREATE TABLE DETILPENJUALAN (
  • KdPenjualan INT AUTO_INCREMENT NOT NULL,
  • KdBarang CHAR(10) NOT NULL,
  • FOREIGN KEY (KdBarang) REFERENCES barang (KdBarang),
  • PRIMARY KEY (KdPenjualan,KdBarang)
  • );

Perhatikan kode di atas dimana PRIMARY KEY ada dua yaitu KdPenjualan dan KdBarang. Silahkan tambahkan ON DELETE CASCADE atau ON UPDATE CASCADE. Selamat mencoba.

Tugas Kelompok itu Menyenangkan .. Lho

Setiap orang yang pernah kuliah pasti pernah merasakan yang namanya tugas kelompok. Tugas yang sangat tidak obyektif. Bagaimana tidak, usaha kerja keras yang dilakukan terkadang tidak berbanding lurus dengan hasil, alias “usaha dibohongi hasil” .. hehe. Salah satu sebab utamanya adalah tidak akur dengan rekan satu tim, apalagi banyak yang nebeng nama dan tidak ikut kerja. Bahkan tiap akhir semester ketika ada dosen yang meminta umpan balik, banyak yang menginginkan tidak ada tugas kelompok dan lebih baik tugas proyek perorangan saja.

My Team

Seperti kata spongebob, “tidak semua makhluk dikaruniai perilaku normal”, begitu juga rekan tim ketika saya kuliah dulu. Waktu itu tugas proyek big data sangat sulit dan tidak mungkin dikerjakan seorang diri tanpa bantuan teman kelompok. Ketika pemilihan anggota kelompok, saya tertarik dan memilih rekan dari pecahan Rusia (Uzbekistan), namanya Saba Bakiev. Tertarik karena dia mengulang mata kuliah tersebut, alias dulu tidak lulus. Manfaatnya adalah saya bisa mengetahui peta pertarungan.

“Jangan pakai software yang diusulkan dosen”, katanya. “Tahun lalu, dari empat tim, hanya satu yang bisa jalan”. Waduh, untung dikasih tahu. Akhirnya kami mencari software lain yang kami kuasai, jatuhlah pada C# dan Matlab. Alhasil, nilai A di tangan. Entah, tak tahu si rekan Rusia itu lulus atau tidak, yang jelas waktu ujian dia hanya mengerjakan beberapa menit lalu keluar duluan. Ternyata ketika saya pulang ujian, dia terlihat tanding sepakbola di lapangan kampus … pantas saja dia keluar duluan.

Tentu saja banyak biang kerok-biang kerok lain yang menjengkelkan. Tetapi jika kita bisa memahami rekan tim, banyak manfaat yang diperoleh. Di kelompok mata kuliah lainnya saya pernah menjadi jembatan penghubung antara rekan saya dari Nepal dan Pakistan, repot sekali.  Nyaris gagal proyeknya karena bagian coding SQL ngambek akibat ribut dengan seorang rekan di bagian perancangan sistem (yang katanya sombong kayak bos).

Itulah manfaat S3 dengan format perkuliahan di awal (tidak langsung riset), jadi ada cerita. Beberapa semester setelah wajib kuliah selesai (diakhiri proses kandidasi), dan masuk fase riset, saya jarang bertemu lagi dengan teman-teman karena asyik sendiri dengan tugas risetnya. Bertemu pun hanya ketika jadwal sidang kemajuan yang biasanya akhir-akhir semester (dengan berwajah kusut, atau sengaja dikusut-kusutin biar dosen kasihan).

Jaadi untuk yang sedang mendapat tugas kelompok, nikmati saja karena banyak kenangan indah yang didapat.