Sabtu, 24 September 2016

Diagram SI PT Wings Group

DIAGRAM SISTEM INFORMASI PT WINGS GROUP




1. Direktur Utama
Mengarahkan kebijakan perusahaan sehingga , perusahaan tetap berada pada tujuan utama perusahaan tersebut dibentuk.

2. Asisten Direktur
Membantu tugas Dirut , untuk mengarahkan dan mengkoordinir perusahaan.

3. Direktur Bag. Non Food
Membantu tugas Dirut, terutama pada bidang non Food seperti : Bagian Sabun ,dll. 

4. Direktur Bag. Food
Membantu tugas Dirut, pada bidang makanan dan minuman seperti : Mie , Minuman , dll.

5. Manajer Produksi
Bertugas untuk mengkondisikan bagian produksi agar dapat memproduksi barang dengan cost (biaya) yang sekecil mungkin dengan kualitas yang tinggi. Sekaligus mengatur bagian produksi agar dapat tercipta efisiensi dalam tahap produksi.

6. Manajer Marketing
Bertugas untuk mengkondisikan bagian distribusi agar barang hasil produksi dapat tersebar ke berbagai daerah melalui distributor-distributor.

7. Staf Produksi
Bertugas untuk menangani produksi barang secara langsung agar hasilnya dapat sesuai dengan keinginan manajer produksi.

8. Staf Bag. Pegawai
Bertugas untuk mengawasi dan memberi apresiasi kepada pegawai yang memiliki semangat tinggi dan memberi hukuman kepada pegawai yang melakukan pelanggaran.

9. Staf Penjualan
Bertugas untuk merencanakan sistem yang efisien untuk menjual barang hasil produksi.

10. Staf Promosi 
Bertugas untuk menggunakan budget promosi perusahaan agar produk dapat dikenal oleh masyarakat luas.

11. Staf Pemasaran
Bertugas untuk merencanakan produk baru yang sesuai dengan prediksi kebutuhan konsumen
di masa depan.

12. Customer
        Merupakan target dari akhir dari produsen . Dimana produk hasil produksi dan distribusi pada akhirnya akan dibeli oleh konsumen.

Referensi
http://ayuntriyulanita.mhs.narotama.ac.id/2015/11/24/manajemen-pemasaran-tugas-struktur-organisasi-produksi/


Use Case Diagram for ATM

Use Case Diagram ATM

              Use Case Diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantaranya yang memperkenalkan suatu sistem. Use case diagram tidak menjelaskan secara detil tentang penggunaan use case, tetapi hanya memberi gambaran singkat hubungan antara usecase, aktor, dan sistem.Didalam use case ini akan diketahui fungsi - fungsi apa saja yang berada pada sistem yang dibuat.

            Pada contoh kali ini, saya mengambil Sistem ATM dikarenakan penggunaan ATM pada era modern ini sudah menjadi hal yang sangat umum dan banyak digunakan karena kepraktisannya.

            Berikut adalah Use Case Diagram ATM secara lengkap




Pada Use Case diatas terdapat 3 aktor yang berperan penting, yakni :
1. Customer (User/Pengguna ATM)
2. Technician (Teknisi/Admin)
3. Bank (Client)

Untuk proses yang terjadi pada sistem diatas, terbagi menjadi 2 yakni:
1. Proses Customer



Dalam proses ini , customer dapat mengecek saldo , mendeposito uang mereka , mengambil uang mereka , dan juga mentransfer sebagian dana yang mereka miliki kepada pihak tertentu. Dan setiap kali user melakukan proses transaksi apapun , customer akan ditanyakan password mereka untuk autentikasi identitas sehingga dana yang mereka miliki aman. Adapula sebuah fitur lain , yaitu menu “bantuan” apabila tombol “help” ditekan , maka akan keluar menu tambahan yaitu menu “bantuan” .

2. Proses Technician



            Dalam proses ini, Technician terbagi menjadi 2 tugas. Untuk “maintenance” itu meliputi 3 hal , yang pertama adalah “replenishing” yaitu memasukkan kembali ke ATM berupa uang , tinta , ataupun kertas. Yang kedua adalah “Upgrades” yaitu meningkatkan kualitas antara software ataupun hardware. Yang ketiga “Diagnostics” yaitu mengecheck apakah ada suatu kesalahan baik itu teknis ataupun lainnya . Untuk tugas berikutnya adalah repair , repair hanya meliputi “diagnostics”.

Reference :



Sabtu, 07 November 2015

THREAD TUTORIAL

Kali ini kita akan mempelajari tentang thread . Apa itu thread ? Baca Penjelasan ringkasnya dibawah ini .

Thread
Thread merupakan sebuah unit dasar dari utilisasi CPU . Di dalam sebuah thread terdapat Id thread ( Id thread berbeda dari PID ) , PC , Register , dan Stack . Dalam proses yang sama  thread akan saling berbagi antar thread yang satu dengan yang lain. Apabila sebuah proses memiliki eksekusi multithreads , maka proses tersebut memungkinkan untuk menjalankan lebih dari satu tugas dalam waktu yang bersamaan.

Penerapan Thread dalam Kodingan


=> PENJELASAN
--------------------------------------------------------------------------------------------------------------------------

                        pthread_t tid[2];

--------------------------------------------------------------------------------------------------------------------------

Digunakan untuk menginisialisasi array yang digunakan untuk menampung thread . Dari contoh diatas , akan dibuat 2 thread .

--------------------------------------------------------------------------------------------------------------------------

                        void* playAndCount(void *arg)

--------------------------------------------------------------------------------------------------------------------------

Membuat fungsi yang akan digunakan untuk menjalankan thread.

--------------------------------------------------------------------------------------------------------------------------

                        if(pthread_equal(id,tid[0]))
                        {
                                    system("clear");                      
                                    for(iter=length;iter>0;iter--)
                                    {
                                                  printf("%d",iter);
                                                  fflush(stdout);
                                                  sleep(1);
                                                  system("clear");
                                    }
                        }

--------------------------------------------------------------------------------------------------------------------------

Membuat thread pertama , yang dalam hal ini digunakan untuk menghitung mundur tiap detik dari angka 5~1

--------------------------------------------------------------------------------------------------------------------------

                        else if(pthread_equal(id,tid[1]))
                        {
                                    system("cvlc Firstlove.mp3");
                        }

--------------------------------------------------------------------------------------------------------------------------

Membuat thread kedua , proses yang dijalankan adalah menjalankan sebuah lagu yang berjudul First love dengan ekstensi (.mp3) menggunakan vlc ( dengan syarat PC harus sudah diinstall vlc ).

--------------------------------------------------------------------------------------------------------------------------

                        int main(void)
                        {
                         int i = 0;
                        int err;                    
                         while(i<2)
                       {
                           err = pthread_create(&(tid[i]), NULL, &playAndCount, NULL);
                                   if(err!=0)
                           printf("\n can't create thread : [%s]", strerror(err));
                           else
                           printf("\n Thread created succesfully\n");
                           i++;
                       }
                         pthread_join(tid[0],NULL);
                        pthread_join(tid[1],NULL);
                        return 0;
                        }

--------------------------------------------------------------------------------------------------------------------------

Dan yang terakhir adalah membuat fungsi main ,
looping while yang pertama digunakan untuk menjalankan thread dan mengecek apakah thread terbuat atau tidak , dan menampilkan keterangan . Perulangan ini akan dilakukan 2x mengingat kita membuat 2 thread .

pthread_join ialah perintah agar thread dijalankan sampai selesai .
Jika pthread_join yang dibuat hanya "pthread_join(tid[0],NULL);" maka thread kedua yang menjalankan lagu akan dipaksa berhenti setelah countdown 5 detik dari thread pertama selesai.

Sekian Tutorial saya kali ini. Terima kasih sudah membaca , semoga bermanfaat .

Sabtu, 17 Oktober 2015

DAEMON TUTORIAL

Dalam kesempatan kali ini , kita akan membuat sebuah daemon dan menjalankannya pada terminal Linux.

Pertama-tama mari kita mengenal terlebih dahulu daemon dan macam-macam proses yang terlibat.

Apa itu Daemon ??
Daemon merupakan sebuah program yang berjalan sendiri , dibalik layar dan tidak memiliki interface untuk dikontrol , daemon juga tidak dapat berinteraksi langsung dengan user.

Bagaimana cara membuat sebuah Daemon ??
Terdapat 6 tahapan dalam membuat Daemon

1. Fork Parent Processs dan penghentian Parent Process
                 Langkah awal dalam pembuatan daemon adalah dengan membuat proses baru yang dilakukan dengan forking . Setelah proses terbentuk , matikan proses induk . Proses induk yang mati akan menyebabkan OS mengira proses telah selesai dan kembali ke terminal . Dari rangkaian proses diatas , kita akan mendapatkan hasil yang berupa proses anak yang meneruskan program setelah proses induknya mati . Hal ini dilakukan untuk mendapatkan proses yang bekerja pada background.

-------------------------------------------------------------------------------------------------------------------------
pid_t pid, sid;
        pid = fork();
        if (pid < 0)
        {
                exit(EXIT_FAILURE);
        }
        if (pid > 0)
        {
                exit(EXIT_SUCCESS);
        }
--------------------------------------------------------------------------------------------------------------------------

2. Mengubah mode file menggunakan UMASK(0);
                 umask merupakan sebuah command yang digunakan untuk menset hak akses dari file yang dibuat oleh proses yang berjalan saat itu . Jadi mengeset umask(0) akan membuat proses yang tidak memiliki batasan akses , dalam arti lain mempunyai akses penuh .

-------------------------------------------------------------------------------------------------------------------------

          umask(0);

--------------------------------------------------------------------------------------------------------------------------
             
3. Membuat Unique Session ID (SID)
                 Dalam langkah kali ini , akan dilakukan pemanggilan fungsi setsid() yang digunakan agar proses anak memiliki sebuah SID baru . Hal ini dilakukan dikarenakan Daemon harus bekerja secara independen , termasuk proses yang menjalankannya .

-------------------------------------------------------------------------------------------------------------------------

            sid = setsid();
            if (sid < 0)
            {
                exit(EXIT_FAILURE);
             }

--------------------------------------------------------------------------------------------------------------------------

4. Mengubah Directory Kerja
                 Direktory kerja yang aktid pada daemon diharuskan direktori yang selalu hidup. Hal ini dilakukan dengan fungsi chdir().

-------------------------------------------------------------------------------------------------------------------------
if ((chdir("/")) < 0)
        {
                exit(EXIT_FAILURE);
        }
--------------------------------------------------------------------------------------------------------------------------

5. Menutup File Descriptor Standar
                 Agar tidak ada gangguan dari user , maka standar I/o harus ditutup. Hal ini dilakukan dikarenakan daemon tidaklah bergantung pada terminal maupun user . Terdapat 3 jenis standar I/O yaitu : STDIN ( Standar Input ) , STDOUT ( Standar Output ) , STDERR ( Standar Error ).

-------------------------------------------------------------------------------------------------------------------------
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
--------------------------------------------------------------------------------------------------------------------------

6. Membuat Loop utama (inti kerja dari daemon)
                 Dan yang terakhir dalam pembuatan daemon adalah dengan membuat looping yang akan selalu berjalan selama jangka waktu yang ditentukan.

-------------------------------------------------------------------------------------------------------------------------
        while(1)
        {
sleep(23);
        }
        exit(EXIT_SUCCESS);
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------

Contoh Daemon Sederhana




PENJELASAN
Daemon diatas akan menampilkan sebuah notif yang bertuliskan Love_Your_Life setiap 23 detik sekali.


Cara Menjankan Program Daemon


PENJELASAN
Pertama kita diharuskan untuk mengcompile daemon (.c) yang kita buat , caranya dengan menuliskan "gcc (nama_daemon).c -o (nama_program)" pada terminal.
Misal daemon yang kita punya adalah lapres.c dan akan dicompile menjadi program yang bernama lapres.
Contoh :

-------------------------------------------------------------------------------------------------------------------------

          -gcc lapre.c -o lapres

--------------------------------------------------------------------------------------------------------------------------

Setelah itu jalankan program lapres dengan cara ./(nama_program)
Contoh :

-------------------------------------------------------------------------------------------------------------------------
./lapres
--------------------------------------------------------------------------------------------------------------------------




Sekian Tutorial saya kali ini . Terima Kasih sudah membaca , semoga bermanfaat .

Jumat, 25 September 2015

BASH Scripting Tutorial

Dalam tutorial kali ini , kita akan membuat sebuah program sederhana di Linux dengan menggunakan bash script


Apa itu Bash Script ??
Bash script merupakan sebuah bahasa pemrograman yang terdapat pada sistem operasi ( OS ) Linux.



Bagaimana cara memulai pemrograman dengan Bash Script ??
Pertama buka terminal dan ketik "touch <nama_file>.sh"  Hal ini digunakan untuk membuat file dengan format shell script.

Misalkan kita akan membuat file dengan nama "test" berformat shell script , cukup ketik
--------------------------------------------------------------------------------------------------------------------------
touch test.sh
--------------------------------------------------------------------------------------------------------------------------


Adapula perintah lain dalam bash sbb :
  • ls = untuk melihat list file dan direktori
  • pwd = menunjukkan direktori yang sedang aktif
  • mkdir = untuk membuat direktori baru
  • cd = untuk berganti direktori 
  • rm = untuk menghapus file
  • mv = untuk memindahkan atau merename suatu file atau direktori
  • date = menunjukkan tanggal dan waktu

Setelah itu ketik nano <nama file> semisal

-------------------------------------------------------------------------------------------------------------------------
nano test.sh 
-------------------------------------------------------------------------------------------------------------------------
Kamu akan dibawa masuk ke dalam sebuah jendela file test.sh




Membuat Program Sederhana dengan Bash
Untuk contoh kali ini , kita akan membuat sebuah program sederhana untuk menampilkan bilangan prima. Pertama ketik dahulu seperti contoh dibawah ini.



PENJELASAN :
  • echo "Masukkan bilangan : " berfungsi untuk menampilkan output "Masukkan bilangan:" jika program dijalankan.
  • read bilangan berfungsi untuk meminta user untuk memasukkan sebuah nilai dan disimpan ke variabel bilangan.
  • n=1 digunakan untuk mendeklarasikan nilai n yang berawal pada angka 1.
  • while [ $n -le $bilangan ]; do berfungsi untuk melakukan perulangan dengan syarat selama ( n <= bilangan ) maka perintah selanjutnya akan dilaksanakan . 
  • if [ $(($n % $pembagi)) -eq 0 ]; then berfungsi untuk melakukan permisalan , jika nilai n % pembagi = 0 maka perintah selanjutnya akan dilaksanakan.
  • break digunakan untuk menghentikan proses perulangan
  • else let pembagi+=1 digunakan jika fungsi permisalan tidak sesuai maka akan menjalankan perintah ini , dimana perintahnya adalah nilai pembagi ditambah 1
  • fi merupakan sebuah penutup , setiap ada if harus ditutup dengan fi.
  • echo -n "$n " digunakan untuk menampikan hasil dari nilai n tanpa ditutup dengan enter
  • done berfungsi untuk menutup sebuah while.

--------------------------------------------------------------------------------------------------------------------------
* % ( dibaca mod ) diguankan untuk mencari nilai sisa , contoh : 10 % 2 = 0 , 10 % 3 = 1
   -le ( less equal ) merupakan tanda <=
   -eq ( equal ) merupakan tanda =
--------------------------------------------------------------------------------------------------------------------------

Setelah selesai , tekan "Ctrl + X" pada keyboard , lalu tekan "Y" dan "Enter" untuk mensave file yang telah dibuat.
Setelah itu layar akan menampilkan terminal kembali , untuk menjalankan program yang telah dibuat, pertama-tama kamu diharuskan untuk mengubah permission untuk menjadikannya executable .
Caranya dengan mengetik chmod +<option> <nama_file> , kali ini option yang kita tambahkan adalah x(executable) , berikut contoh penulisannya

--------------------------------------------------------------------------------------------------------------------------
chmod +x test.sh
-------------------------------------------------------------------------------------------------------------------------

hal ini akan memberi akses ke file test.sh agar dapat dieksekusi.
Untuk menjalankan filenya ketik ./test.sh , setelah itu masukkan input dan tekan Enter.


Sekian Tutorial saya kali ini . Terima Kasih sudah membaca , semoga bermanfaat .