WHAT'S NEW?
Loading...


Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan table, view, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah event.Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel.

Nah, kali ini gua akan membagikan sebuah query trigger, yang mana jika terdapat suatu table, dan value dari table tersebut diubah maka value sebelumnya dari table tersebut akan tersimpan ke dalam table histori/riwayat.


Buatlah 2 buah table


1. Table utama




CREATE TABLE IF NOT EXISTS asisten
(
    kd_ass CHAR(10) NOT NULL,
    PRIMARY KEY(kd_ass),
    honor FLOAT
);



2. Table histori




CREATE TABLE IF NOT EXISTS h_assiten_XXX
(
    kd_ass CHAR(10) NOT NULL,
    honor FLOAT,
    tgl_update DATETIME
);


3. Triggernya



CREATE OR REPLACE TRIGGER histori
  AFTER UPDATE ON asisten
  FOR EACH ROW
BEGIN
INSERT INTO h_asisten_XXX SET honor = OLD.honor,
kd_ass = OLD.kd_ass,
tgl_update = CURRENT_TIMESTAMP;
END


Kalau gak bisa pake cara di atas, entah kenapa ga bisanya juga, silahkan menuju ke menu Trigger pada navbar di phpmyadmin (disitu nanti ada Trigger), lalu disitu nanti ada link "Add Trigger", di klik saja, lalu ikuti seperti gambar berikut :





Sedikit penjelasan

- Trigger name itu adalah nama trigger yang akan kita buat
- Table itu table sumber dari trigger yang akan kita buat
- Time sama Event, anggep aja itu sebagai action

Jadi, Setelah mengUpdate table Asisten, maka lakukan perintah yang terdapat di Event


Yak, segitu aja, semoga bermanfaat :)


note: penulisannya agak absurd, maklum ga jago nyusun kata wkwkw.

Singkat cerita, Saya adalah siswa RPL di salah satu sekolah kejuruan di Depok, waktu tak berasa hingga Saya pun menginjak kelas 3 dan mau menghadapi Ujian, di tahun-tahun itu Saya bersama teman seperjuangan yang bernama Rizal, Kevin dan Ratno merencanakan membuat Startup yang berjalan di pengembangan Software, dan setelah melewati perundingan nama company yang akan kita buat adalah "Idealcom" yang berarti software-software yang kita buat itu ideal, selain itu kami juga memilih-milih hosting yang akan kita beli, yang murah tapi berkualitas karena isi dompet kami masih ukuran kantung dompet anak sekolahan.

Hari-hari berlalu dan Saya pun mendapatkan rezeki untuk mengupgrade Laptop Saya, yang dari spek ecek-ecek menjadi spek lumayan, dan disitulah Saya pun ditawari teman Saya untuk bermain game MMORPG bernama PSO2 dan Mabinogi:Heroes (Vindictus), bulan-bulan berlalu Saya kecanduan bermain game tersebut hingga pada akhirnya Saya pun berhenti bermain MMO dikarenakan update yang menguras kuota dan juga dibloknya server selain China, karena Saya malas memakai VPN jadi Saya memutuskan untuk berhenti. Karena Saya sudah kecanduan sekali dengan game, Saya pun kembali bermain game yaitu Osu!, game rythme. Pagi, siang, sore, malam Saya giat bermain game tersebut sampai-sampai lupa waktu dan tidak mengasah kemampuan Saya.

Ya, dan akhirnya kami pun lulus, dan batal membuat company tersebut (entah mau dibilang batal atau tidak yang jelas kami sudah jarang kontak-kontakan dan tidak lagi mendiskusikan hal tersebut), mereka pun diterima kerja di salah satu perusahaan yang berada di daerah Jakarta Selatan. Dan kondisi Saya ya mau tidak mau, Saya tidak memiliki kemampuan yang mumpuni, Saya pun akhirnya memutuskan untuk kuliah, di semester 1 kuliah Saya masih malas-malasan, sering bermain game dan tidak mementingkan masa depan, hingga pada akhirnya Saya merenung, melihat teman-teman Saya sudah sukses, dan gue kok begini-gini aja.

"Hadeh, gak punya kemampuan apa-apa, gimana nanti ya kalau udah lulus? diterima kerja atau nggak ya, si anu udah sukses gua gini-gini aja haduhhh"

"Mau jadi apa gw ini nantinya kalau begini terus-terusan, hidup buat kerja, kerja buat cari makan, selama ada makanan jadi santai aja, tapi kalau begini-gini terus ga bakal bisa mencukupi kehidupan sehari-hari."

Disitu pun Saya mulai serius menjalani hidup, Saya mulai meninggalkan game-game dengan cara menghapusnya, dan mulai meninggalkan OS Windows yang mana Windows membuat Saya ingin terus bermain game, dan Saya pun menginstall OS Linux sebagai gantinya untuk kebutuhan sehari-hari.

Saya pun mulai membaur dengan komunitas-komunitas pemrograman di Indonesia, mencari-cari tutorial sana sini, mulai mengikuti suatu event-event tertentu. Hingga pada saat ini, alhamdulillah Saya mampu mengejar kekurangan kemampuan-kemampuan Saya yang terdahulu, dari yang tidak tahu sama sekali menjadi sedikit lebih tahu.

Pesan Saya buat adik-adik yang masih menjalani sekolah atau pun kuliah.

"Gunakanlah waktu sebaik-baik mungkin, kalau tidak kalian akan menyesal nantinya dan juga carilah ilmu selain yang dipelajari di sekolah atau kampus, karena itu akan membuat kalian selangkah lebih maju dibandingkan yang diperlajari di sekolah. 
Kalau ada yang kecanduan bermain game, cepet-cepet deh kalian berhenti. Sebenernya game itu ga bermanfaat, yang ada cuma bikin goblog. Mungkin salah satu dari kalian berpikir, 'Ah nggak juga, liat tuh Pewdiepie hidupnya sukses karena game', ya itu kan Pewdiepie beda sama kalian-kalian, takdir dia emang begitu, dan juga kalau mau seperti Pewdiepie harus bisa ngomong, harus punya ide, kreatifitas, dll. Kalau di Indonesia sendiri kayanya sih susah jadi seperti Pewdiepie atau youtuber-youtuber lainnya, bayangkan apabila ada saingan web video yang menyaingi youtube, dan youtube pun ditutup, youtube ditutup? gamungkin! Ga ada yang ga mungkin di dunia ini dek!"

Ada kisah seorang gelandangan yang baru saja dipecat dari pekerjaannya dan rumahnya dijual kalau ga salah, dia bertemu dengan seorang programmer, dan ditawari uang atau Laptop dengan buku-buku Pemrograman, gelandangan tersebut memilih Laptop dengan buku-buku pemrograman, dan ia pun sukses dan kini menjadi developer iOS, namanya adalah Leo Grand.

Kesimpulannya:
Orang gagal gak akan gagal selamanya kalau orang tersebut mau merubah dirinya untuk lebih maju.
Mau sebobrok apapun, seseorang kalau ada kemauan pasti ada jalan.


Dan sebagai penutup, Apabila masih ada kesempatan dalam membangun Startup tersebut, mohon doanya agar Startup kami lancar dan sukses, dan kalau bisa menyaingi Microsoft, hahaha.. :D

Tamat ;)


Cara setting brightness secara manual pada Ubuntu, sebagai berikut.

1. Buka Terminal
2. Pindahlah ke direktori /sys/class/backlight dengan command berikut

cd /sys/class/backlight/

3. Lalu menuju ke direktori acpi_video0, jika tidak ada silahkan ls dan masuklah ke direktori tersebut

cd acpi_video0


Jika direktori tidak ditemukan, cobalah untuk mengetahui isi dari direktori backlight, sebagai contoh :



Contoh diatas terdapat direktori intel_backlight

4. Jika sudah masuk, ketikkan command berikut

sudo nano brightness


dan ubah value yang terdapat di dalamnya, jika sudah dan ingin menyimpannya ketikkan

Ctrl + X -> Y -> Enter



Kalau Anda bingung menyetting melalui Terminal, Anda bisa langsung ke direktori tersebut melalui Nautilus atau File Manager lainnya, dan pastikan membuka file "brightness" dalam status sebagai super user. Semoga membantu :)



Yak, langsung saja
Disini saya asumsikan pembaca sudah paham basic dari CodeIgniter terutama konsep OOP


1. Buat tablenya

CREATE TABLE IF NOT EXISTS tbl_user
(
    id_user INT(11) NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(id_user),
    email VARCHAR (30),
    username VARCHAR(12),
    password VARCHAR(32),
    status ENUM ('Aktif','Tidak Aktif') DEFAULT 'Tidak Aktif'
);


2. Load library email
$autoload['libraries'] = array('email');
atau bisa langsung di controller atau modelnya dengan "$this->load->library('email');"


3. Controller

public function simpanUser() {
    $data = array(
      'email'  => $this->input->post('email'),
      'username'  => $this->input->post('username'),
      'password'  => md5($this->input->post('password'))
    );

    if ($this->nuroaki->_simpanUser($data)) {
      if ($this->nuroaki->send($this->input->post('email'),$this->input->post('username'))) {
        $this->session->set_flashdata(md5('sukses'), "Anda berhasil melakukan registrasi, silahkan periksa pesan masuk email Anda untuk mengaktifkan akun yang baru Anda buat");
        // redirect ke halaman login
        redirect('/url/login'); 
      } else {
        $this->session->set_flashdata(md5('gagal'), "Terjadi kesalahan dalam melakukan registrasi, silahkan coba lagi!");
        // redirect ke halaman register, untuk melakukan register ulang
        redirect('/url/register');
      }
    }
  }

public function verify($hash=NULL) {
    if ($this->nuroaki->verifyEmail($hash)) {
      $this->session->set_flashdata(md5('sukses'), "Email sukses diverifikasi!");
      redirect('/url/login');
    } else {
      $this->session->set_flashdata(md5('notification'), "Email gagal terverifikasi");
      redirect('/url/register');
    }
  }


4. Model

public function _simpanUser($data) {
    // gunakan return untuk mengembalikan nilai ke controller yang nantinya akan dioper lagi ke proses email
    return $this->db->insert('tbl_user', $data);
  } 

public function sendMail($email,$username) {
    
    $from_email = 'ahmad.uji1902@gmail.com'; // ganti dengan email kalian
    $subject = 'Verify Your Email Address';
    $message = 'Dear '. $username .',<br /><br />
                Please click on the below activation link to verify your email address.<br /><br />
                http://urlwebsitenya/action/verify/' . md5($email) . '<br /><br /><br />
                Thanks<br />
                Nuroaki';

    $config['protocol'] = 'smtp';
    $config['smtp_host'] = 'ssl://smtp.gmail.com'; // sesuaikan dengan host email
    $config['smtp_timeout'] = '7';
    $config['smtp_port'] = '465'; // sesuaikan
    $config['smtp_user'] = $from_email;
    $config['smtp_pass'] = 'password'; // ganti dengan password email
    $config['mailtype'] = 'html';
    $config['charset'] = 'iso-8859-1';
    $config['wordwrap'] = TRUE;
    $config['newline'] = "\r\n";
    $config['crlf'] = "\r\n";
    $this->email->initialize($config);

    $this->email->from($from_email, 'Nuroaki');
    $this->email->to($email);
    $this->email->subject($subject);
    $this->email->message($message);
    // gunakan return untuk mengembalikan nilai yang akan selanjutnya diproses ke verifikasi email
    return $this->email->send();
  }

  public function verify($key) {
    // nilai dari status yang berawal dari Tidak Aktif akan diubah menjadi Aktif disini
    $data = array('status' => "Aktif");
    $this->db->where('md5(email)', $key);
    return $this->db->update('tbl_user', $data);
  }


5. Routes

Link untuk ke verifikasi, action adalah nama controller, dan verify methodnya

$route['verify/(:any)'] = "/action/verify/$1";


Semoga membantu :)



Untuk mengatasi error tersebut yang lebih jelasnya seperti berikut "Your requirements could not be resolved to an installable set of packages. PHP extension dom is missing from your system." berikut langkah-langkahnya.


1. Cek PHP module yang sudah terinstall, dengan cara mengetikkan "php -m" pada Terminal
Lalu cek apakah terdapat module dom atau tidak, bisa dilakukan dengan grep pada terminal jika mencari satu-satu itu ribet.


2. Jika tidak tersedia
Ketikkan perintah berikut "sudo apt-get install libapache2-mod-php7.0" pada Terminal


3. Install module mbstring
Ketikkan perintah berikut "sudo apt-get install php7.0-dom" pada Terminal


4. Cek kembali module-module dengan perintah "php-m"


Sekian tutorial cara mengatasi permasalahan tersebut. Semoga membantu :)




Untuk mengatasi error tersebut yang lebih jelasnya seperti berikut "Your requirements could not be resolved to an installable set of packages. PHP extension mbstring is missing from your system." berikut langkah-langkahnya.


1. Cek PHP module yang sudah terinstall, dengan cara mengetikkan "php -m" pada Terminal
Lalu cek apakah terdapat module mbstring atau tidak, bisa dilakukan dengan grep pada terminal jika mencari satu-satu itu ribet.


2. Jika tidak tersedia
Ketikkan perintah berikut "sudo apt-get install libapache2-mod-php7.0" pada Terminal


3. Install module mbstring
Ketikkan perintah berikut "sudo apt-get install php7.0-mbstring" pada Terminal


4. Cek kembali module-module dengan perintah "php-m"

Sekian tutorial cara mengatasi permasalahan tersebut. Semoga membantu :)


Orang indonesia males baca, jadi langsung aja.

Beberapa screenshoot

Dashboard Page



Detail Page 



Edit Page




Download di : https://github.com/UjiAhmadFauzi/ap-mhs

Tutorial instalasi sudah ada di readme repositorynya. Semangat Belajar! :)