Info Informatika

Mari Berbagi Pengetahuan Informatika. Belajar dan Belajar Dunia IT

Jasa Pembuatan Aplikasi

Menerima Pesanan Aplikasi Website, Aplikasi Desktop VB.net, Mobile Android - Blackberry

Terima Kasih Telah Berkunjung

Jaya Terus Dunia Informatika...

Jumat, 05 Oktober 2012

Program Nuklir Iran Diserang Virus Worm dan Memainkan Musik “Thunderstruck” dari AC/DC di Tengah Malam

Kami mendapat informasi yang diperoleh dari F-Secure sebuah perusahaan keamanan dan anti virus dunia dari blog mereka. Mereka mendapati email dari ilmuwan Iran yang bekerja di Organisasi Energi Atom Iran/Atomic Energy Organization of Iran (AEOI).

Menurutnya program nuklir Iran telah diterobos oleh virus worm yang dengan eksploit yang dapat mematikan network automation Iran di Natanz dan pada fasilitas Fordo dekat Qom. Selain itu hardware jaringan automasi dan hardware Siemens juga ikut diserang dan dimatikan.

Menurut pakar cyber mereka, kemungkinan tool hacker bernama Metasploit lah yang digunakan di mana hacker mendapat akses ke VPN mereka. Bahkan yang lucu, pada beberapa komputer di tempat mereka bisa memainkan musik sendiri pada tengah malam dengan volume suara paling maksimal dan memainkan lagu “Thunderstruck” dari AC/DC. Memang perang antara Iran dan Israel sudah dimulai di dunia Cyber di mana virus Stuxnet sebelumnya telah menyerang program nuklir Iran dan juga sebaliknya Iran meluncurkan virus Mahdi untuk menyerang balik.

sumber berita http://www.beritateknologi.com/program-nuklir-iran-diserang-virus-worm-dan-memainkan-musik-thunderstruck-dari-acdc-di-tengah-malam/



Buat Pagging di PHP menggunakan class

Bagi Sahabat informatika yg sedang mencari pagging untuk pemrograman web.
sedikit sharring aja gan, ane punya source code nya, silahkan download disini 

pagging disini menggunakan class, sehingga mempermudah kinerja dalam pembuatan pagging. silahkan lihat gambar di bawah ini


untuk penggunaan class pagging Nya sedikit bocoran nih scriptnya bisa dilihat dibawah ini...
_navTable = $table;

        $this->_navStrFieldSelect = $strFieldSelect;

        if (empty($tableId) ) {

            $this->_navTableId = $table ."_id";

        } else {

            $this->_navTableId = $tableId;

        }

        $this->_navStrOffset = $strOffset;

        

        $this->_navMaxRows = $maxRows;

        if (!isset($_GET[$this->_navStrOffset])) {

            $this->_navOffset = 0;

        } else {

            $this->_navOffset = $_GET[$this->_navStrOffset];

        }

        $queryTotalRows = "SELECT COUNT(`". $this->_navTableId ."`) FROM ". $table;

        $resultTotalRows = mysql_query($queryTotalRows) or die ("Class CnnNav Error on constructor method: Failed to execute query to fetch total rows.".  mysql_error());

        list($this->_navTotalRows) = mysql_fetch_row($resultTotalRows);

        $this->_navTotalPages = ceil($this->_navTotalRows / $maxRows);

        $this->_navNumShow = $numShow;

        $this->_navInterval = $interval;

        $this->_navIntervalShow = $intervalShow;

        

        $this->_navStrPrev = $prev;

        $this->_navStrNext = $next;

        $this->_navStrSeparator = $separator;

        $this->_navCss = $css;

        $this->_navStrFirst = $first;

        $this->_navStrLast = $last;

                

        if (empty($_SERVER['QUERY_STRING']) ) {

            $current_page = $_SERVER['PHP_SELF'] ."?";

        } else {

               $current_page = $_SERVER['PHP_SELF'] ."?". $_SERVER['QUERY_STRING'] ."&";

        }

        $this->_navCurrentUri = preg_replace("/&{0,1}". $this->_navStrOffset ."=\d+/", "", $current_page);

        if ($this->_navOffset > ($this->_navTotalPages - 1) && ($this->_navOffset > 0) ) {

            $this->_navOffset = $this->_navTotalPages - 1;

        }

    }



 function getCount(){

        return $this->_totalRows;

    }

function getPages(){

        return $this->_navTotalPages;

    }    

    /**

     * CnnNav::setNumShow()

     * Set decimal navigation properties.

     * 

     * @param string $numShow number of decimal to show for navigating.

     * @param string $interval interval for the interval navigation.

     * @param string $numIntervalShow number of decimal to show for interval navigating.

     * @access public.

     **/

    function setNumShow($numShow = "", $interval = "", $numIntervalShow = "") {

        if (!empty($numShow) ) {

            $this->_navNumShow = $numShow;

        }

        if (!empty($interval) ) {

            $this->_navInterval = $interval;

        }

        if (!empty($numIntervalShow) ) {

            $this->_navIntervalShow = $numIntervalShow;

        }

    }

    

    /**

     * CnnNav::setNavText()

     * Set text navigation properties.

     * 

     * @param string $prev previous navigation text.

     * @param string $next next navigation text.

     * @param string $separator separator.

     * @param string $css html css style for the navigation.

      * @param string $first first navigation text.

     * @param string $last last navigation text.

     * @access public.

     **/

    function setNavText($prev = "", $next = "", $separator = "", $css = "", $first = "", $last = "") {

        if (!empty($prev) ) {

            $this->_navStrPrev = $prev;

        }

        if (!empty($next) ) {

            $this->_navStrNext = $next;

        }

        if (!empty($separator) ) {

            $this->_navStrSeparator = $separator;

        }

        if (!empty($css) ) {

            $this->_navCss = $css;

        }

        if (!empty($first) ) {

            $this->_navStrFirst = $first;

        }

        if ((!empty($last)) ) {

            $this->_navStrLast = $last;

        }

    }

    

    /**

     * CnnNav::_retSpanTag()

     * 

     * @param string $text input.

     * @return $text with span html tag with css style.

     * @access private.

     **/

    function _retSpanTag($text) {

        if (!empty($this->_navCss) ) {

            return "_navCss ."\">". $text ."";

        } else {

            return $text;

        }

    }



    /**

     * CnnNav::getFirst()

     * 

     * @return html tag for first navigation text.

     * @access public.

     **/

    function getFirst() {

        return "_navCurrentUri . $this->_navStrOffset . "=0\">". $this->_retSpanTag($this->_navStrFirst) ."\n";    

    }

    

    /**

     * CnnNav::getPrev()

     * 

     * @return html tag for previous navigation text.

     * @access public.

     **/

    function getPrev() {

        if ($this->_navOffset > 0) {

            return "_navCurrentUri . $this->_navStrOffset ."=". ($this->_navOffset - 1) ."\">". $this->_retSpanTag($this->_navStrPrev) ."\n"; 

        }

    }



    /**

     * CnnNav::getNum()

     * 

     * @return html tag for number navigation text.

     * @access public.

     **/

    function getNum() {

        if ($this->_navTotalPages > 1) {

            if ($this->_navOffset < ceil($this->_navNumShow / 2) ) {

                $numPos = ($this->_navOffset + 1);

            } else {

                $numPos = ceil($this->_navNumShow / 2);

                if (($this->_navTotalPages -  $this->_navOffset) <= ceil($this->_navNumShow / 2) ) {

                    $numPos = $this->_navNumShow - ($this->_navTotalPages - $this->_navOffset) + 1;

                }

            }



            $strNumBefore = "";

            $numBeforePos = $this->_navOffset - $numPos + 2;

            for($i = $numBeforePos; $i <= $this->_navOffset; $i++) {

                if ($i > 0) {

                    $strNumBefore .= "_navCurrentUri . $this->_navStrOffset . "=". ($i - 1) ."\">". $this->_retSpanTag($i) ."\n";

                    $strNumBefore .= $this->_retSpanTag($this->_navStrSeparator);                

                }

            }

            

            $strNumAfter = "";

            $numAfterPos = $this->_navOffset + 1 + $this->_navNumShow - $numPos;

            for($i = ($this->_navOffset + 2); $i <= $numAfterPos; $i++) {

                if ($i <= $this->_navTotalPages) {

                    $strNumAfter .= $this->_retSpanTag($this->_navStrSeparator);

                    $strNumAfter .= "_navCurrentUri . $this->_navStrOffset . "=". ($i - 1) ."\">". $this->_retSpanTag($i) ."\n";                

                }

            }

            

            $strIntBefore = "";

            for($i = ($numBeforePos - ($this->_navInterval * $this->_navIntervalShow)); $i < $numBeforePos; $i++) {

                if ((($i % $this->_navInterval) == 0) && ($i > 0)) {

                    $strIntBefore .= " _navCurrentUri . $this->_navStrOffset ."=". ($i - 1) ."\">". $this->_retSpanTag($i) ." \n";
                    $strIntBefore .= $this->_retSpanTag($this->_navStrSeparator);
                }
            }
            $strIntAfter = "";
            for ($i = ($numAfterPos + 1); $i < (($numAfterPos + 1) + ($this->_navInterval * $this->_navIntervalShow)); $i++) {
                if ((($i % $this->_navInterval) == 0) && ($i <= $this->_navTotalPages)) {
                    $strIntAfter .= $this->_retSpanTag($this->_navStrSeparator);
                    $strIntAfter .= " _navCurrentUri . $this->_navStrOffset . "=". ($i - 1) ."\">". $this->_retSpanTag($i) ." \n";
                }
            }
            return $strIntBefore . $strNumBefore . $this->_retSpanTag($this->_navOffset + 1) . $strNumAfter . $strIntAfter;
        } else return "";
    }
    /**
     * CnnNav::getNext()
     * 
     * @return html tag for next navigation text.
     * @access public. 
     **/
    function getNext() {
        if ($this->_navOffset < ($this->_navTotalPages - 1) ) {
            return "_navCurrentUri . $this->_navStrOffset . "=". ($this->_navOffset + 1) ."\">". $this->_retSpanTag($this->_navStrNext) ."";
        }
    }
    /**
     * CnnNav::getLast()
     *
     * @return html tag for last navigation text.
     * @access public. 
     **/
    function getLast() {
        return "_navCurrentUri . $this->_navStrOffset . "=". $this->_navTotalPages ."\">". $this->_retSpanTag($this->_navStrLast) ."";    
    }
    /**
     * CnnNav::getNav()
     * 
     * @param boolean $showPrevNext. 
     * @param boolean $showNum.
     * @param boolean $showFirstLast.
     * @return html tag for all navigation text. 
     **/
    function getNav($showPrevNext = true, $showNum = true, $showFirstLast = false) {
        $strNav = "";
        if ($showFirstLast) {
            $strNav .= $this->getFirst();
        }
        if ($showPrevNext) {
            $strNav .= $this->getPrev();
        }
        if ($showNum) {
            $strNav .= $this->getNum();
        }
        if ($showPrevNext) {
            $strNav .= $this->getNext();
        }
        if ($showFirstLast) {
            $strNav .= $this->getLast();
        }
        return $strNav;        
    }
    /**
     * CnnNav::printNav()
     * Print or show the page navigation.
     * 
     * @param string $showPrevNext.
     * @param string $showNum.
     * @param string $showFirstLast.
     * @access public.
     * @see CnnNav::getNav().
     **/
    function printNav($showPrevNext = "1", $showNum = "1", $showFirstLast = "0") {
        echo $this->getNav($showPrevNext, $showNum, $showFirstLast);
    }
    /**
     * CnnNav::getResult()
     * Get the SQL result after pagination. Needs when we want to fetch data from database.
     * 
     * @return SQL result. 

     **/
    function getResult(){
        $queryData = "SELECT ". $this->_navStrFieldSelect ." FROM ". $this->_navTable ." LIMIT ". ($this->_navOffset * $this->_navMaxRows) .", ". $this->_navMaxRows;
        $resultData = mysql_query($queryData) or die ("Class CnnNav Error on getResult method: Failed to execute query to fetch data.");
        return $resultData;
    } 
}
?>