Yii Tutorial : Download Contoh Aplikasi Sistem Kependudukan / Bappeda

yii

Hello bro sis, yang masih setia berkunjung ke blog saya ini. Ahh, tak terasa bulan depan sudah masuk tahun baru lagi. Genap sudah setahun saya bekerja di sebuah perusahaan start-up yang banyak memberikan saya ilmu baru. Genap pula setahun umur Macbook Pro yang saya beli tepat setahun yang lalu. Selalu menemani saya bertualang dengan berbagai hal baru. Makin banyak yang kita tau, semakin kita merasa bodoh. Yupzz, seperti kata orang kebanyakan :)). Dan banyak yang saya belum tau, semoga saya masih diberikan kesempatan, kesehatan, dan umur yang panjang untuk menikmati setiap titik ilmu baru di kehidupan ini. :))

Sedikit belajar dari pengalaman hidup dan kerasnya hidup. Lahir, hidup, mati, itu memang siklus kehidupan. Semua orang akan mati. Yang akan kita bawa mati adalah amal kita selama hidup. Selama hidup, mungkin memang sudah kewajiban kita untuk menabung amal, entah bagaimanapun caranya, sesuai kemampuan dan kepercayaan masing-masing. Hidup tidak melulu hanya sekedar uang dan materi saja kawan. Hidup itu bagaimana kita ikhlas ketika usaha kita gagal. Hidup itu bagaimana kita berkontribusi untuk sesama. Hidup itu bagaimana kita teguh memegang prinsip dan bagaimana kita teguh memegang janji yang sudah kita ucapkan. Prinsip hidup dan janji, itulah pilar penting dalam sebuah kepercayaan. Jika kedua hal itu rapuh maka ambruk sudahlah kepercayaan yang tidak akan bisa dibangun lagi. Semoga kita di tahun depan bisa menjadi pribadi yang lebih baik lagi. Shava.

Di tulisan kali ini, saya kembali mau berbagi contoh aplikasi. Setelah sekian lama vakum gak bagi-bagi aplikasi, haha. Sebuah aplikasi sistem kependudukan sederhana, masih sangat sederhana bin cupu. Yang paham dunia per-hacking‘an tau lah ada lobang yang siap buat di-tusbol :)). Tapi masih OK lah dipake untuk bahan belajar, kalo mau dijual lagi ya monggo. Tinggal korek-korek dikit, lumayan bisa dipake beli server :p.

OK lah, monggo di-clone atau mau di-fork juga bisa, https://github.com/gedelumbung/sim-kependudukan.

“Stay Foolish, Stay Hungry”

Happy Blogging and Keep Coding

Cheerrrss….!!!!

50 comments

  1. Fauzi Nugraha Reply

    konfigurasinya gini gan

    ‘urlManager’=>array(
    ‘urlFormat’=>’path’,
    ‘showScriptName’=>false,
    ‘baseUrl’ => ‘http://localhost/sim-kependudukan’,
    ‘rules’=>array(
    ‘/’=>’/view’,
    ‘//’=>’/’,
    ‘/’=>’/’,
    //”=>’site/’,

    ),
    ),

    ‘db’=>array(
    ‘connectionString’=>’mysql:host=localhost;dbname=bappeda’,
    ’emulatePrepare’=>true,
    ‘username’ => ‘root’,
    ‘password’ => ”,
    ‘charset’ => ‘utf8’,
    ),
    ‘errorHandler’=>array(
    // use ‘site/error’ action to display errors
    ‘errorAction’=>’site/error’,
    ),

    tp muncul pesan error muncul begini

    CAssetManager.basePath “C:\xampp\htdocs\sim-kependudukan\assets” tidak valid. Pastikan direktori tersebut sudah ada dan dapat ditulis oleh proses server Web.

    ada folder assets nya gan mohon minta linknya

  2. rwcmediaku Reply

    Fauzi Nugraha@ errornya kayak gini gan,http://localhost/sim/kanal_kab/1

    CDbException

    CDbConnection failed to open the DB connection: SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES)

    C:\xampp\htdocs\sim\yii-core\framework\db\CDbConnection.php(382)

    370 throw new CDbException(‘CDbConnection.connectionString cannot be empty.’);
    371 try
    372 {
    373 Yii::trace(‘Opening DB connection’,’system.db.CDbConnection’);
    374 $this->_pdo=$this->createPdoInstance();
    375 $this->initConnection($this->_pdo);
    376 $this->_active=true;
    377 }
    378 catch(PDOException $e)
    379 {
    380 if(YII_DEBUG)
    381 {
    382 throw new CDbException(‘CDbConnection failed to open the DB connection: ‘.
    383 $e->getMessage(),(int)$e->getCode(),$e->errorInfo);
    384 }
    385 else
    386 {
    387 Yii::log($e->getMessage(),CLogger::LEVEL_ERROR,’exception.CDbException’);
    388 throw new CDbException(‘CDbConnection failed to open the DB connection.’,(int)$e->getCode(),$e->errorInfo);
    389 }
    390 }
    391 }
    392 }
    393
    394 /**

  3. adeputra Reply

    gan .. siaapun blii..
    nehhh ngatur config nyah dimana gan
    baru nyoba yii nehh

  4. adeputra Reply

    throw new CDbException(‘CDbConnection.connectionString cannot be empty.’);
    371 try
    372 {
    373 Yii::trace(‘Opening DB connection’,’system.db.CDbConnection’);
    374 $this->_pdo=$this->createPdoInstance();
    375 $this->initConnection($this->_pdo);
    376 $this->_active=true;
    377 }
    378 catch(PDOException $e)
    379 {
    380 if(YII_DEBUG)
    381 {
    382 throw new CDbException(‘CDbConnection failed to open the DB connection: ‘.
    383 $e->getMessage(),(int)$e->getCode(),$e->errorInfo);
    384 }
    385 else
    386 {
    387 Yii::log($e->getMessage(),CLogger::LEVEL_ERROR,’exception.CDbException’);
    388 throw new CDbException(‘CDbConnection failed to open the DB connection.’,(int)$e->getCode(),$e->errorInfo);
    389 }
    390 }
    391 }
    392 }
    393
    394 /**

    kaloo kayak gini eror nyahhh harus config dimana nehhh ,, terus nama file nyah apahhh gituuuu kemana config database nyahh …
    mohon pencerahannya

  5. arifin Reply

    moga bisa membantu
    setelah di download… copy ke folder
    c:/xampp/htdocs/sim-kependudukan-develov
    buat databasenya dulu di phpmyadmin dan import misalnya bappeda_db
    ubah configurasinya di
    c:/xampp/htdocs/sim-kependudukan-develov/protected/config/main.php di bagian ini

    ‘db’=>array(
    ‘connectionString’ => ‘mysql:host=localhost;dbname=bappeda_db’,
    ’emulatePrepare’ => true,
    ‘username’ => ‘root’,
    ‘password’ => ”,
    ‘charset’ => ‘utf8’,

    setelah itu jalankan aja http://localhost/sim-kependudukan-develop

    jadi deh… trims ya to blie gedelumbung…

    • arifin Reply

      lupa.. buat juga folder assets di c:/xampp/htdocs/sim-kependudukan-develov/
      isinya kosongin aja…

  6. www.kursuskomputer.web.id Reply

    Mantep bli,wah sudah di pasangi iklan ya, oklah bli

  7. suriadin Reply

    Bang…udah dua hari saya coba download tutorialnya gan tapi nda ku tau caranya bagaimana cara mendownloadnya,,,,
    bisa sharekan caranya bang…….

    “butuh sekali kah ini…..
    terima kasih sebelumnya…

  8. denbagoes Reply

    Master,,, bisa minta di share juga desain HTML untuk desain tampilan ini master?
    yang ini udah ane oprek-oprek juga kagak berhasil untuk nampilinnya.. 🙁
    Mohon bantuannya master..
    hehehee……..

  9. udin Reply

    Selamat malam mas, bukunya ada jual ngk mas ttg website Aplikasi Sistem Kependudukan / Bappeda atau website dinas pendidikan lengkap tutorial n video web hostingnya? kalau ada saya mau pesan

  10. udin Reply

    mas bli boleh minta nomor kontaknya saya mau shering n bertanya dan belajar sama bli???

  11. Dziks Reply

    CDbCommand gagal menjalankan statementSQL: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘id_rt’ cannot be null. The SQL statement executed was: SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.bekerja=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62) group by a.tahun

    Kalo seperti ini apa yang harus diperbaiki Bli….thanks

  12. ryu Reply

    tabel di diatabasenya ga lengkap gan, bisa tolong dikirimkan databasenya yang lengkap gan ke email saya.

    Terima kasih sebelumnya.

    • ryu Reply

      oke sudah bisa gan, tapi untuk data kelurahan/desa yang menu sebelah kiri kok error ya Gan?

      Error 404
      Tidak bisa mengurai request “kelurahan_desa”

  13. Joni Reply

    Proyek 2M ya mas?? wakakaka
    Terimakasih mas udah share, membantu banget nih..

    Makasih Mas!! Hahah

  14. dhany Reply

    databasenya minta dunk mas yg lengkap ke email danyenginer@gmail.com

    soalnya waktu di akses begini nih om tulisannya

    CDbCommand gagal menjalankan statementSQL: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘id_rt’ cannot be null. The SQL statement executed was: SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.bekerja=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62) group by a.tahun

    C:\xampp\htdocs\sim-kependudukan-develop\yii-core\framework\db\CDbCommand.php(543)

    531 {
    532 if($this->_connection->enableProfiling)
    533 Yii::endProfile(‘system.db.CDbCommand.query(‘.$this->getText().$par.’)’,’system.db.CDbCommand.query’);
    534
    535 $errorInfo=$e instanceof PDOException ? $e->errorInfo : null;
    536 $message=$e->getMessage();
    537 Yii::log(Yii::t(‘yii’,’CDbCommand::{method}() failed: {error}. The SQL statement executed was: {sql}.’,
    538 array(‘{method}’=>$method, ‘{error}’=>$message, ‘{sql}’=>$this->getText().$par)),CLogger::LEVEL_ERROR,’system.db.CDbCommand’);
    539
    540 if(YII_DEBUG)
    541 $message.=’. The SQL statement executed was: ‘.$this->getText().$par;
    542
    543 throw new CDbException(Yii::t(‘yii’,’CDbCommand failed to execute the SQL statement: {error}’,
    544 array(‘{error}’=>$message)),(int)$e->getCode(),$errorInfo);
    545 }
    546 }

  15. heri Reply

    Gan saya juga mau minta tolong dikirim databasenya yang lengkap, errosnya sama juga :

    CDbCommand gagal menjalankan statementSQL: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘id_rt’ cannot be null. The SQL statement executed was: SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.bekerja=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62) group by a.tahun

    terimakasih Informasi dan pencerahanya. haturnuhun….

  16. bent Reply

    DbConnection failed to open the DB connection: could not find driver

    C:\Apache24\htdocs\sim-kependudukan-develop\yii-core\framework\db\CDbConnection.php(382)

    370 throw new CDbException(‘CDbConnection.connectionString cannot be empty.’);
    371 try
    372 {
    373 Yii::trace(‘Opening DB connection’,’system.db.CDbConnection’);
    374 $this->_pdo=$this->createPdoInstance();
    375 $this->initConnection($this->_pdo);
    376 $this->_active=true;
    377 }
    378 catch(PDOException $e)
    379 {
    380 if(YII_DEBUG)
    381 {
    382 throw new CDbException(‘CDbConnection failed to open the DB connection: ‘.
    383 $e->getMessage(),(int)$e->getCode(),$e->errorInfo);
    384 }
    385 else
    386 {
    387 Yii::log($e->getMessage(),CLogger::LEVEL_ERROR,’exception.CDbException’);
    388 throw new CDbException(‘CDbConnection failed to open the DB connection.’,(int)$e->getCode(),$e->errorInfo);
    389 }
    390 }
    391 }
    392 }
    393
    394 /**

    error bli….apa yang salah kah

  17. adi Reply

    Kalau Errornya seperti ini gimana ya gan caranya?

    CDbException

    CDbCommand gagal menjalankan statementSQL: SQLSTATE[HY000]: General error: 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT(),…) with no GROUP columns is illegal if there is no GROUP BY clause. The SQL statement executed was: SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.kurang_gizi=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62) group by a.tahun

    E:\xampp\htdocs\sim kependudukan\yii-core\framework\db\CDbCommand.php(543)

    531 {
    532 if($this->_connection->enableProfiling)
    533 Yii::endProfile(‘system.db.CDbCommand.query(‘.$this->getText().$par.’)’,’system.db.CDbCommand.query’);
    534
    535 $errorInfo=$e instanceof PDOException ? $e->errorInfo : null;
    536 $message=$e->getMessage();
    537 Yii::log(Yii::t(‘yii’,’CDbCommand::{method}() failed: {error}. The SQL statement executed was: {sql}.’,
    538 array(‘{method}’=>$method, ‘{error}’=>$message, ‘{sql}’=>$this->getText().$par)),CLogger::LEVEL_ERROR,’system.db.CDbCommand’);
    539
    540 if(YII_DEBUG)
    541 $message.=’. The SQL statement executed was: ‘.$this->getText().$par;
    542
    543 throw new CDbException(Yii::t(‘yii’,’CDbCommand failed to execute the SQL statement: {error}’,
    544 array(‘{error}’=>$message)),(int)$e->getCode(),$errorInfo);
    545 }
    546 }
    547
    548 /**
    549 * Builds a SQL SELECT statement from the given query specification.
    550 * @param array $query the query specification in name-value pairs. The following
    551 * query options are supported: {@link select}, {@link distinct}, {@link from},
    552 * {@link where}, {@link join}, {@link group}, {@link having}, {@link order},
    553 * {@link limit}, {@link offset} and {@link union}.
    554 * @throws CDbException if “from” key is not present in given query parameter
    555 * @return string the SQL statement

    Stack Trace
    #0
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\db\CDbCommand.php(396): CDbCommand->queryInternal(“fetchAll”, array(2), array())
    #1

    E:\xampp\htdocs\sim kependudukan\protected\controllers\Kanal_kabController.php(83): CDbCommand->queryAll()

    78
    79 $model[‘penduduk_miskin’] = Yii::app()->db->createCommand(“SELECT count(a.id_rt) as jumlah, a.tahun FROM tbl_rt a join tbl_sosial_ekonomi b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (“.$merge_id.”) and b.kategori_miskin=’Ya’ group by a.tahun “)->queryAll();
    80
    81 //data kesehatan
    82
    83 $model[‘penduduk_kurang_gizi’] = Yii::app()->db->createCommand(“SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.kurang_gizi=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (“.$merge_id.”) group by a.tahun “)->queryAll();
    84
    85 $model[‘penduduk_kb’] = Yii::app()->db->createCommand(“SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.memakai_alat_kb=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (“.$merge_id.”) group by a.tahun “)->queryAll();
    86
    87 //data ketenagakerjaan
    88

    #2

    E:\xampp\htdocs\sim kependudukan\protected\controllers\Kanal_kabController.php(7): Kanal_kabController->query(“1”)

    02
    03 class Kanal_kabController extends Controller
    04 {
    05 public function actionView($id)
    06 {
    07 $model = $this->query($id);
    08 $this->render(‘index’, array(
    09 ‘model’ => $model,
    10 ‘id’ => $id
    11 ));
    12

    #3
    unknown(0): Kanal_kabController->actionView(“1”)
    #4
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\actions\CAction.php(108): ReflectionMethod->invokeArgs(Kanal_kabController, array(“1”))
    #5
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\actions\CInlineAction.php(47): CAction->runWithParamsInternal(Kanal_kabController, ReflectionMethod, array(“id” => “1”))
    #6
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\CController.php(308): CInlineAction->runWithParams(array(“id” => “1”))
    #7
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\CController.php(286): CController->runAction(CInlineAction)
    #8
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\CController.php(265): CController->runActionWithFilters(CInlineAction, array())
    #9
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\CWebApplication.php(282): CController->run(“view”)
    #10
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\web\CWebApplication.php(141): CWebApplication->runController(“kanal_kab/view”)
    #11
    +
    E:\xampp\htdocs\sim kependudukan\yii-core\framework\base\CApplication.php(180): CWebApplication->processRequest()
    #12

    E:\xampp\htdocs\sim kependudukan\index.php(13): CApplication->run()

    08 defined(‘YII_DEBUG’) or define(‘YII_DEBUG’,true);
    09 // specify how many levels of call stack should be shown in each log message
    10 defined(‘YII_TRACE_LEVEL’) or define(‘YII_TRACE_LEVEL’,3);
    11
    12 require_once($yii);
    13 Yii::createWebApplication($config)->run();

  18. irama Reply

    gan.. makasih udah berbagi, sangat bermanfaat pasti.. Udah saya coba tapi muncul error

    Server Error, Error 500

  19. Agan Reply

    Kalo masih ada error seperti ini apanya ya:
    mohon pencerahannya… makasih banyak

    Object not found!

    The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

    If you think this is a server error, please contact the webmaster.
    Error 404

  20. Agan Reply

    Masih error Bang…
    apanya ya??

    CDbCommand gagal menjalankan statementSQL: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘id_rt’ cannot be null. The SQL statement executed was: SELECT b.jumlah, a.tahun FROM tbl_rt a join (select count(x.id_art) as jumlah, x.id_rt from tbl_art x join tbl_art_perorangan y on x.id_art=y.id_art where y.bekerja=’Ya’) b on a.id_rt=b.id_rt where a.id_desa_kelurahan in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62) group by a.tahun

  21. Reza Abdillah Reply

    Gan kalo error seperti ini gmn ya gan? mohon pencerahannya gan,,

    Table “tbl_kabupaten” untuk kelas active record “Kabupaten” tidak ditemukan dalam database.

    C:\xampp\htdocs\kependudukan\yii-core\framework\db\ar\CActiveRecord.php(2362)

    2350
    2351 /**
    2352 * Constructor.
    2353 * @param CActiveRecord $model the model instance
    2354 * @throws CDbException if specified table for active record class cannot be found in the database
    2355 */
    2356 public function __construct($model)
    2357 {
    2358 $this->_modelClassName=get_class($model);
    2359
    2360 $tableName=$model->tableName();
    2361 if(($table=$model->getDbConnection()->getSchema()->getTable($tableName))===null)
    2362 throw new CDbException(Yii::t(‘yii’,’The table “{table}” for active record class “{class}” cannot be found in the database.’,
    2363 array(‘{class}’=>$this->_modelClassName,'{table}’=>$tableName)));
    2364 if($table->primaryKey===null)
    2365 {
    2366 $table->primaryKey=$model->primaryKey();
    2367 if(is_string($table->primaryKey) && isset($table->columns[$table->primaryKey]))
    2368 $table->columns[$table->primaryKey]->isPrimaryKey=true;
    2369 elseif(is_array($table->primaryKey))
    2370 {
    2371 foreach($table->primaryKey as $name)
    2372 {
    2373 if(isset($table->columns[$name]))
    2374 $table->columns[$name]->isPrimaryKey=true;

  22. Ryan Akbar Reply

    Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in C:\xampp\htdocs\sim-kependudukan-develop\protected\config\main.php on line 97

  23. Ryan Akbar Reply

    Kalo kaya gini solved nya gimana gan? ..Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in C:\xampp\htdocs\sim-kependudukan-develop\protected\config\main.php on line 97