Rabu, 19 Oktober 2016

Analisis SWOT OSIS

Strengths:
  • Sumber daya keuangan yang memadai.
  • Sumber daya manusia dengan keahlian yang tinggi.
  • Infrastruktur OSIS yang cukup lengkap.
  • Jumlah keanggotaan yang besar


Weaknesses:
  • Tidak memiliki arah perencanaan strategi yang jelas
  • Penggunaan fasilitas administrasi yang kurang memadai
  • Tidak mempunyai kompetensi manajerial yang baik
  • Terbelakang dalam penelitian dan pengembangan
  • Pelayanan kepada siswa masih kurang


Opportunities:
  • Mengembangkan program-program penguatan sumber daya manusia
  • Banyak lembaga-lembaga yang siap untuk bekerja sama
  • Melakukan diversifikasi program kegiatan (mengembangkan program yang berbeda dari yang sudah ada)


Threats:
  • Pertumbuhan organisasi yang lamban
  • Intervensi negatif terhadap organisasi
  • Turunnya dukungan anggota terhadap organisasi


Strategi SO
  • Memperkuat keterampilan akademik dan non-akademik dengan lembaga lembaga yang bekerja sama
  • Lebih banyak mengembangkan program kerja dengan SDM yang jumlahnya besar dan unggul

Strategi WO
  • Memiliki garis besar program kerja OSIS agar memiliki visi dan misi yang jelas dari tiap program kerja OSIS
  • Memperkuat keterampilan non-akademik seperti manajerial, jalur koordinasi, dll
  • Program kerja lebih mengarah ke sisi internal sekolah , lebih banyak program untuk pengabdian kepada sekolah

Strategi ST
  • Membuat program yang membutuhkan kekompakan tim (character building, dll) sehingga dapat menambah kualitas koordinasi dalam organisasi
  • Memberikan apresiasi dan motivasi agar setiap anggota selalu berusaha memberi performa terbaiknya kepada organisasi

Strategi WT
  • Membuat organisasi dekat dengan elemen sekolah
  • Membuat garis besar dan target yang akan dicapai organisasi


Minggu, 25 September 2016

Diagram Struktur Organisasi OSIS




Deskripsi Tugas:

1. EIS
Pembina OSIS: Membuat kebijakan dan menyetujui kegiatan OSIS

2. DSS
Ketua OSIS: Menjalankan kebijakan dan kegiatan di dalam sekolah

3. MIS
Berhubungan dengan data-data penting, mengorganisasi struktur, komunikasi dengan tiap seksi

4. TPS
Seksi Olahraga: Mengurusi bidang olahraga
Seksi Kerohanian: Mengurusi bidang keagamaan
Seksi Kesenian: Mengurusi bidang kesenian dan keterampilan
Seksi Bela Negara: Mengurusi kegiatan bela negara, wawasan kebangsaan
Seksi Keilmuan: Mengurusi bidang keilmuan dan prestasi akademik

Jumat, 15 April 2016

Code Igniter

1. Hello World

LOC: 8
Status: Pass



1:  <?php  
2:  class HW extends CI_Controller {  
3:   public function index()  
4:   {  
5:    echo 'Hello World!';  
6:   }  
7:  }  
8:  ?>  


2. Phonebook

phonebook_view.php

LOC: 27
Status: Pass

1:  <!DOCTYPE html>   
2:  <html>   
3:  <head>   
4:   <title>My Contacts</title>   
5:  </head>   
6:  <body>   
7:   <h2>Contacts</h2>   
8:   <table>   
9:    <tr>   
10:    <th>Nama</th>   
11:    <th>Alamat</th>   
12:    <th>Nomor Telepon</th>   
13:    <th>Email</th>   
14:    <th>Kelas</th>   
15:    </tr>        
16:    <?php foreach($number as $view) { ?>   
17:    <tr>   
18:    <td><?php echo $view->Nama; ?></td>   
19:    <td><?php echo $view->Alamat; ?></td>   
20:    <td><?php echo $view->HP; ?></td>   
21:    <td><?php echo $view->Email; ?></td>   
22:    <td><?php echo $view->Kelas; ?></td>   
23:    </tr>   
24:    <?php } ?>   
25:   </table>   
26:  </body>   
27:  </html>   


phonebook_model.php

LOC: 11
Status: Pass


1:  <?php   
2:  class Phonebook_model extends CI_Model{   
3:   function __construct(){   
4:    parent::__construct();   
5:    $this->load->database();   
6:   }   
7:   function index(){   
8:    $view = $this->db->get('phonebook');   
9:    return $view->result();   
10:   }   
11:  }   

phonebook.php

LOC: 12
Status: Pass


1:   <?php    
2:  class Phonebook extends CI_Controller {   
3:  function __construct() {   
4:  parent::__construct();   
5:  $this->load->model('phonebook_model');   
6:  }   
7:  function phone_book() {   
8:  $record['number'] = $this->phonebook_model->index();   
9:  $this->load->view('phonebook_view',$record);   
10:  }    
11:  }   
12:  ?>   









Jumat, 01 April 2016

ETS

1.

  1. Copy file assets drupal ke cpanel
  2. Install drupal melalui cpanel
  3. Customize dan test untuk mengisi post
2.

  • sql_connect.php
  • LOC: 9
  • Status: Pass



1:  <?php  
2:  $conn = mysql_connect("localhost", "ets", "ets");  
3:  mysql_select_db("ets");  
4:  if($conn){  
5:  }  
6:  else{  
7:   echo "gagal";  
8:  }  
9:  ?>  

  • index.php (login page)
  • LOC: 21
  • Status: Pass



1:  <!doctype html>  
2:  <html>  
3:  <body>  
4:  <form method="POST" action="login.php">  
5:      <div class="form-group">  
6:       <label class="control-label"></label>  
7:       <div class="controls">  
8:         <input class="form-control" type="text" name="username" placeholder="Username">  
9:       </div>  
10:      <div class="form-group">  
11:       <label class="control-label"></label>  
12:       <div class="controls">  
13:         <input class="form-control" type="password" name="password" placeholder="Password">  
14:       </div>      
15:      </div>  
16:      <div class="pull-right">  
17:       <input class="btn btn-success" type="submit" value="Login" name="submit"/>  
18:      </div>  
19:  </form>  
20:   </body>  
21:   </html>  


  • login.php
  • LOC: 33
  • Status: Pass

1:  <?php  
2:  require ('sql_connect.php');  
3:  if (isset($_POST['submit'])){  
4:  $username=mysql_escape_string($_POST['username']);  
5:  $password=mysql_escape_string($_POST['password']);  
6:  if (!$_POST['username'] | !$_POST['password'])  
7:   {  
8:  echo ("<SCRIPT LANGUAGE='JavaScript'>  
9:      window.alert('You did not complete all of the required fields')  
10:      window.location.href='/ets'  
11:      </SCRIPT>");  
12:  exit();  
13:     }  
14:  $sql= mysql_query("SELECT * FROM `user` WHERE `nama_user` = '$username' AND `password_user` = '$password'");  
15:  if(mysql_num_rows($sql) > 0)  
16:  {  
17:  echo ("<SCRIPT LANGUAGE='JavaScript'>  
18:      window.alert('Login Succesfully!.')  
19:      window.location.href='/ets/tampilkandata.php'  
20:      </SCRIPT>");  
21:  exit();  
22:  }  
23:  else{  
24:  echo ("<SCRIPT LANGUAGE='JavaScript'>  
25:      window.alert('Wrong username password combination.Please re-enter.')  
26:      window.location.href='/ets'  
27:      </SCRIPT>");  
28:  exit();  
29:  }  
30:  }  
31:  else{  
32:  }  
33:  ?>  


  • tampilkandata.php
  • LOC: 30
  • Status: Pass








1:  <!doctype html>  
2:  <html>  
3:  <body>  
4:          <?php  
5:           $no = 1;  
6:           include "sql_connect.php";  
7:           mysql_select_db("ets");  
8:           $result = mysql_query("SELECT * FROM praktikum");  
9:           echo "<table border='1'>  
10:           <tr>  
11:           <th>No</th>  
12:           <th>Kode</th>  
13:           <th>Mata Praktikum</th>  
14:           <th>Jumlah Praktikan</th>  
15:           </tr>";  
16:           while($row = mysql_fetch_array($result))  
17:           {  
18:            echo "<tr>";  
19:            echo "<td>" . $no . "</td>";  
20:            echo "<td>" . $row['kode_mk'] . "</td>";  
21:            echo "<td>" . $row['nama_mk'] . "</td>";  
22:            echo "<td>" . $row['jumlah_praktikan'] . "</td>";  
23:            echo "</tr>";  
24:            $no = $no + 1;  
25:           }  
26:           echo "</table>";  
27:           mysql_close($conn)  
28:          ?>  
29:   </body>  
30:   </html>  

Sabtu, 28 November 2015

FUSE (Filesystem in Userspace

Filesystem in Userspace (FUSE) merupakan mekanisme sistem operasi untuk sistem operasi Unix-like yang memungkinkan pengguna tidak ber-hak istimewa menciptakan file system mereka sendiri tanpa mengubah kode kernel. Hal ini dicapai dengan menjalankan kode file system di userspace, sedangkan modul FUSE hanya menyediakan "jembatan" untuk antarmuka kernel yang sebenarnya.

Diagram cara kerja fuse
Module kernel FUSE dan FUSE library berhubungan melalui sebuah special file descriptor yang didapatkan dengan membuka /dev/fuse. FUSE kernal module meneruskan request ke aplikasi fuse anda. aplikasi anda memerintahkan fuse cara menjawab request. FUSE kernal module dan FUSE library berkomunikasi lewat file deskriptor spesial yang diperoleh dengan membuka /dev/fuse. file ini dapat terbuka berkali-kali dan file deskriptor yang diperoleh diteruskan ke mount syscall, untuk menyesuaikan deskriptor dengan filesystem mount.

Installasi FUSE:


1. Download FUSE dari http://fuse.sourceforge.net/ pada bagian Download stable release

2. Extract file tar.gz dan masuk ke direktori FUSE. (tar –xvzf fuse-2.9.4.tar.gz)

3. Lakukan installasi FUSE dengan cara :
  • Gunakan hak akses super user (sudo su)

  • Ketikkan perintah ./configure

  • Ketikkan perintah make

  • Ketikkan perintah make install

4. FUSE siap digunakan 


Membuat filesystem sendiri menggunakan FUSE


#include <fuse.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <dirent.h>
#include <errno.h>
#include <sys/statfs.h>

static const char *dirpath = "/home/ncc/Documents";

static int xmp_getattr(const char *path, struct stat *stbuf)
{
 int res;
 char fpath[1000];
 sprintf(fpath,"%s%s",dirpath,path);
 res = lstat(fpath, stbuf);

 if(res == -1)
 {
  return -errno;
 }

 return 0;
}

static int xmp_getdir(const char *path, fuse_dirh_t h, fuse_dirfil_t filler)
{
 char fpath[1000];
 if(strcmp(path,"/") == 0)
 {
  path=dirpath;
  sprintf(fpath,"%s",path);
 }
 else sprintf(fpath, "%s%s",dirpath,path);
 int res = 0;
 DIR *dp;
 struct dirent *de;
 dp = opendir(fpath);
 if(dp==NULL)
 {
  return -errno;
 }
 while((de = readdir(dp))!=NULL)
 {
  res = filler(h, de->d_name, de->d_type);
  if(res!=0) break;
 }
 closedir(dp);
 return res;
}

static struct fuse_operations xmp_oper =
{
 .getattr = xmp_getattr,
 //.readlink = xmp_readlink,
 .getdir = xmp_getdir,
 //.mknod = xmp_mknod,
 //.mkdir = xmp_mkdir,
 //.symlink = xmp_symlink,
 //.unlink = xmp_unlink,
 //.rmdir = xmp_rmdir,
 //.rename = xmp_rename,
 //.link = xmp_link,
 //.chmod = xmp_chmod,
 //.chown = xmp_chown,
 //.truncate = xmp_truncate,
 //.utime = xmp_utime,
 //.open = xmp_open,
 //.read = xmp_read,
 //.write = xmp_write,
 //.release = xmp_release,
 //.fsync = xmp_fsync,
 //.readdir = hello_readdir
};

int main(int argc, char *argv[])
{
 return fuse_main(argc, argv, &xmp_oper);
}



Fungsi yang lain dapat ditambah sesuai dengan kebutuhannya.

Silakan dicoba. Semoga bermanfaat....