Me-reset Password Super Administrator Joomla! 1.5

Lupa password adalah hal yang lumrah. Anda mungkin pernah mengalaminya. Kali ini saya akan membahas bagaimana cara untuk me-reset account Super Administrator pada Content Management System (CMS) Joomla! 1.5

Hal yang Anda perlukan adalah akses penuh untuk mengubah database dan aplikasi PHP My Admin.

Langkah 1 – Buka Database Joomla! Anda

Silakan buka database CMS Joomla! Anda. Dalam hal ini, saya menyimpannya di database joomladb.

Anda akan melihat begitu banyak tabel-tabel. Saat instalasi, biasanya Joomla! secara otomatis meletakkan prefix (awalan) jos_ untuk setiap tabel yang terlibat dengan Joomla!. Tabel yang akan kita ubah adalah tabel jos_users (lihat gambar). Klik untuk melakukan browse ke isi tabel tersebut.

Tabel ini menyimpan seluruh data user yang tersimpan di Joomla!. Pada Joomla!, account Super Administrator memiliki username admin. Anda bisa lihat ada user dengan username admin pada data di atas. Mari ubah data tersebut, klik edit (icon bergambar pena di sebelah kiri).

Langkah 2 – Ubah Data Password Super Administrator

Anda tidak bisa melihat password yang tersimpan untuk user tersebut dengan melihat data tabel tersebut karena password-nya tidak bisa begitu saja bisa dibaca oleh kita. Password tersebut telah melewati proses enkripsi dengan algoritma MD5.

Daripada bingung, kita ubah saja password-nya. Pada kolom field dengan nama password, pada kolom function pilih fungsi MD5 dari pilihan yang ada, kemudian ganti value-nya dengan password yang akan Anda gunakan untuk melakukan reset. Dalam hal ini, password akan saya reset menjadi ‘test’ (tanpa tanda kutip). Jangan lupa untuk mengklik Go untuk menjalankan query pengubahan data.

Saya sarankan Anda untuk memilih password dengan kata yang sederhana saja untuk me-reset ini, dan ubah password sesuai dengan keinginan Anda nanti di dalam Joomla!

Langkah 3 – Login dan Ubah Password Anda

Silakan login kembali ke Joomla! Anda, dengan username admin dan password test. Kemudian, ubah password Anda dengan mengklik User Manager > Administrator.

Semoga bermanfaat.

Implementasi Deterministic Finite State Automata Dengan C++

Dalam Teori Bahasa dan Automata, terdapat cara untuk mengenali apakah suatu string diterima atau tidak oleh suatu mesin yang disebut Finite State Automata (FSA).

Artikel ini akan membahas, bagaimana mengubah suatu FSA secara konseptual menjadi nyata dalam suatu program komputer dengan bahasa pemrograman C++.

Saya akan memberi contoh, sebuah mesin FSA untuk mengenali suatu bilangan desimal. Perhatikan gambar berikut.

FSA untuk mengenali bilangan desimal

Ada 5 state pada FSA di atas. State awal adalah q0, dan final state adalah q1 dan q3. Pada FSA di atas, string yang diterima adalah bilangan tanpa koma, atau bilangan berkoma.

Pada mesin FSA, suatu string diterima jika setelah string masukan habis, mesin sedang berada di final state (dalam hal ini q1 atau q3).

Mari menuangkannya ke dalam kode program. Hal pertama yang harus dipikirkan adalah, bagaimana memodelkan state tersebut ke dalam kode program. Struktur data yang bisa digunakan adalah enumeration.

#include <iostream>
#include <string.h>

using namespace std;

typedef enum {
    q0,
    q1,
    q2,
    q3,
    INVALID = -1
}
STATE;

Selanjutnya, mesin FSA memiliki suatu fungsi transisi yang dilambangkan dengan delta. Dalam tulisan ini, saya mengimplementasikan tabel transisi dengan fungsi, yang mengembalikan nilai state.

STATE delta(STATE currentState, char readHead) {
    if (isdigit(readHead)) {
        switch (currentState) {
            case q0:
                return q1;
            case q1:
                return q1;
            case q2:
                return q3;
            case q3:
                return q3;
        }
    }
    else if (readHead == '.') {
        switch (currentState) {
            case q1:
                return q2;
            default:
                INVALID;
        }
    }
    else
        return INVALID;
}

Fungsi di atas akan menjadi fungsi transisi yang akan digunakan untuk membaca input per karakter. Hal selanjutnya yang kita lakukan adalah membuat sebuah fungsi yang akan mengecek apakah suatu input diterima atau tidak.

Perlu untuk diketahui bahwa masukan yang diterima oleh program ini adalah sebuah string. Fungsi yang dimaksud adalah sebagai berikut.

bool isStringAccepted(char input[50]) {
    int i = 0;
    STATE state = q0; //mengeset state mesin ke state awal.
    while (i < strlen(input) && state != INVALID) {
        state = delta(state, input[i++]);
    }
    if (state == q1 || state == q3)
        return true;
    else
        return false;
}

Mari kita gunakan fungsi di atas dalam fungsi main.

int main() {
    char input[50];
    cin >> input;
    if (isStringAccepted(input))
        cout << "Accepted!" << endl;
    else
        cout << "Rejected!" << endl;
    return 0;
}

Silakan coba di-compile. Saya menggunakan Visual Studio 2010 Express dan berhasil. Selamat mencoba 😀

Jika terdapat kesalahan (atau pertanyaan), silakan komentar di sini.

Semoga bermanfaat.

Input/Output Dengan Java – Bagian 1, Standard Input/Output

Bahasa Java memiliki pendekatan yang berbeda dibandingkan dengan bahasa pemrograman seperti Pascal, dan C++. Untuk urusan Input/Output, saya rasa Java agak complicated.

Tapi, tenang, ini bukan masalah. Ini hanya karena Java dirancang benar-benar Object Oriented Programming (OOP) murni, sehingga kita harus tahu, apa yang kita deklarasikan dan apa yang kita pakai.

Artikel ini akan membahas cara untuk mencetak dan membaca dari Standard Input/Output, yaitu mouse dan keyboard (input) serta layar (output).

Pada kode ini, saya mengasumsikan bahwa Anda telah punya source Java sendiri yang kira-kira struktur umumnya adalah sebagai berikut:

package PackageName;

// import statement here

public class MainClassName {
    public static void main(String[] args) {
        // Your code here
    }
}

Kode-kode yang ada di artikel ini bisa langsung digunakan di dalam method main.

Mencetak Keluaran dari Standard Output

Untuk mencetak keluaran, bisa menggunakan:

System.out.println("Hai!");

Untuk menggabungkan keluaran biasa dengan suatu variabel, Anda dapat menggunakan operator ‘+’

int i = 0;
System.out.println("Isi variabel i adalah " + i + ".");

Untuk yang membutuhkan keluaran dengan format, Java juga memilikinya:

int i = 0;
System.out.printf("Isi variabel i adalah %i.\n", i);

Membaca Masukan dari Standard Input

Ini adalah cara yang cukup mudah untuk digunakan. Pada bagian import, jangan lupa definisikan:

import java.util.Scanner;

Penggunaan Scanner adalah sebagai berikut:

Scanner inputScanner = new Scanner(System.in);
String masukan = inputScanner.next();
System.out.println(masukan);

Untuk tipe data lain, ada juga caranya. Misal untuk membaca sebuah bilangan bulat:

Scanner inputScanner = new Scanner(System.in);
int angka = inputScanner.nextInt();
System.out.println(angka);

Jika Anda menggunakan Integrated Development Environment (IDE) seperti NetBeans, maka Anda bisa mengeksplorasi sendiri methods yang ada dengan mengetik “inputScanner” dan diakhiri dengan tanda titik. Anda akan dibantu dengan fitur Code Completion dari IDE ini. Coba saja, ada banyak method yang dapat Anda gunakan.

Hal yang sama juga bisa Anda lakukan, misalnya dengan mengetik “System.out” diakhiri dengan tanda titik. Anda akan melihat method yang begitu banyak.

Ini adalah cara yang mudah untuk mencoba belajar sendiri, tanpa harus capek-capek browsing.

Fitur Code Completion pada NetBeans ketika Anda mengetik "inputScanner" diakhiri dengan tanda titik.

Pada artikel selanjutnya, akan dibahas tentang Input/Output lewat File dan stream.

Selamat ber-programming. 😀