Sabtu, 17 Oktober 2015

[Pengetahuan Baru!] Pemutar Musik!! + Data Penjual dan Pembeli


Hai!! Kali ini aku mau mengajarkan sesuatu yang berbeda dan sekarang kita bisa memutar lagu, pause, continue dan men stop lagu. Oh iya, langsung dari terminal!!
Jadi nanti kita bisa meng-inputkan angka dan akan keluar perintah sesuai, ini nih :
        1. Help, menampilkan daftar perintah
        2. Menampilkan semua lagu
        3. Memutar lagu
        4. Pause setelah t detik
        5. Continue setelah t detik
        6. stop setelah t detik

oh iya sebelum lanjut ke programnya aku mau ngejelasin sedikit tentang IPC atau yang biasa dikenal dengan Interprocess Communication. jadi, Interprocess Communication adalah cara atau mekanisme pertukaran data antara satu proses dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan
Contohnya
  • Pipes : Pipe merupakan komunikasi sequensial antar proses yang saling terelasi, namun pipe memiliki kelemahan yaitu hanya bisa digunakan untuk komunikasi antar proses yang saling berhubungan, dan komunikasinya yang dilakukan adalah secara sequensial. 
  • Message Queue : Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. 
  • Shared Memory : cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program.
  • Socket : Sebuah aliran data yang dikirim melalui interface jaringan, baik untuk proses yang berbeda pada komputer yang sama atau komputer lain.
ak menggunakan thread untuk pemutar musiknya, ini fungsi mainnya

seperti yang ada di ketentuan angka inputan yang tadi ak bilang diatas inputan 1-6 tadi, kan untuk inputan 4,5,6 kita memasukan "t" juga, atau waktu yang diinginkan untuk meng pause, continue atau stop lagu setelah t detik itu. makanya ada if untuk inputan 4,5,6 dan diminta untuk memasukan detik. untuk inputan 3 atau memutar lagu, makanya ada scan %s untuk menginput judul lagunya.
Lalu untuk fungsinya

fungsi diatas adalah ketika kita memasukan angka 1, maka akan mucul help atau list isi perintah.

naah ini adalah kodingan untuk inputan 2-6.. ada fungsi clear, untuk membersihkan terminalnya.. ls grep .mp3 itu untuk mengambil file yang .mp3 Oh iya aku menggunalan VLC sebagai pemutar di laptopku.
Selamat mencoba!!

Oh iya sebenernya ada soal lainnya~ ak gak cuma bisa membuat pemutar lagu saja skrg. aku juga memiliki sebuah program yang bisa dilakukan untuk penjual dan pembeli. jadi kita membuka 2 terminal, dimana terminal pertama membuka program penjual dan terminal kedua untuk pembeli. program itu bisa mengupdate jumlah barang yang ada, menampilkan stok barang. dari sisi pembeli juga bisa membeli barang + langsung mengupdatenya dan bisa melihat stok yang ada.
Untuk program penjual-pembeli ini, aku menggunakan shared memory!!!
hmmm apa aku kasih spoiler kodingannya aja ya?
mendingan ak tunjukin jalan programnya aja deh~ ehehehe
niiih
Melihat Stok dari penjual
Tampilan Pada terminal penjual
perintah penjual menambahkan stok
Penjual Memasukan Item yang ingin ditambah
Memasukan Jumlah item
 Penjual melihat stok update dan pembeli memasukan input

 Tampilan Stok yang dilihat pembeli

 Pembeli membeli sejumlah barang
update jumlah barang pada penjual






 Yeheeey semoga bisa membantuu!!! :)








[Pengetahuan Baru!] Apasih Daemon?

Daemon adalah proses yang berjalan di balik layar (background) dan tidak berinteraksi langsung dengan user melalui standard input/output

Ini step cara pembuatan Daemon
  • Fork Parent Processs dan penghentian Parent Process
            pid_t pid;
            pid=fork();
            if(pid<0)
            {
                exit(EXIT_FAILURE);
            }
            if(pid>0)
            {
                exit(EXIT_SUCCESS);
            }
  • Mengubah mode file menggunakan UMASK(0);
             umask(0);
  • Membuat Unique Session ID (SID)
            sid=setsid();
            id(sid<0)
            {
                exit(EXIT_FAILURE);
            }
  • Mengubah Directory Kerja
             if((chdir("/"))<0
            {
                exit(EXIT_FAILURE);
            }
  • Menutup File Descriptor Standar
            close(STDIN_FILENO);
            close(STDOUT_FILENO);
            close(STDERR_FILENO);
  • Membuat Loop utama (inti kerja dari daemon)
             while(1)
            {
                sleep(30);
            }
            exit(EXIT_SUCCESS);
Naah, seperti penjelasan daemon diatas jadi Daemon itu bekerjanya dibalik layar dan dia juga  memiliki fungsi yang berjalannya terjadwal. Jika contoh step pembuatan Daemon diatas kalian coba jalankan, maka kalian akan memiliki sebuah program yang bisa mengeluarkan sesuatu setiap 30 detik. Tapi di kodingan atas itu aku ga masukin apa-apa hehehe.. bisa kalian tambain "cout" sesuatu biar terlihat.

Oh iya, selanjutnya aku bakalan ngejelasin soal yang kemarin aku dapet. Jadi kita diminta buat sebuah program untuk mengubah foto menjadi grayscale. jadi stepnya
   @ Membuat sebuah program
   @ Membuka gambar menggunakan ImageViewer
   @ gambar akan dibuat duplikatnya dengan efek grayscale
   @ nama gambar barunya adalah FileLama_copy.jpg
itu yang harus aku buat.

mau liat kodingannya??



Naaah aku mau jelasin singkat aja yaa ehehehe..
    • line 42, jadi kita melihat dari proses yang kita jalankan untuk mencari proses mana yang membuka foto atau .jpg
    • line 44 kita mendeklarasikan dia menjadi tipe_file *untuk di programku hehe*
    • line 53 itu digunakan untuk mengganti karakter ke-5 dari belakang dengan '\0' atau null
    • mulai dari line 55 itu untuk menjadikan namanya FileLama_copy.jpg
    • naah command yang digunakan untuk merubahnya menjadi grayscale adalah yang terdapat di line 61
itu penjalan singkat aja ehehehe.. OhIya!! mau ngingetin ajaa untuk merubah foto menjadi Grayscale, kalian harus punya program mendukung contohnya ImageMagick.. selamat mencoba dan mendownload.
ImageMagick bisa download di 


[Pengetahuan Baru!] Apasih Daemon?

Daemon adalah proses yang berjalan di balik layar (background) dan tidak berinteraksi langsung dengan user melalui standard input/output

Ini step cara pembuatan Daemon
  • Fork Parent Processs dan penghentian Parent Process
            pid_t pid;
            pid=fork();
            if(pid<0)
            {
                exit(EXIT_FAILURE);
            }
            if(pid>0)
            {
                exit(EXIT_SUCCESS);
            }
  • Mengubah mode file menggunakan UMASK(0);
             umask(0);
  • Membuat Unique Session ID (SID)
            sid=setsid();
            id(sid<0)
            {
                exit(EXIT_FAILURE);
            }
  • Mengubah Directory Kerja
             if((chdir("/"))<0
            {
                exit(EXIT_FAILURE);
            }
  • Menutup File Descriptor Standar
            close(STDIN_FILENO);
            close(STDOUT_FILENO);
            close(STDERR_FILENO);
  • Membuat Loop utama (inti kerja dari daemon)
             while(1)
            {
                sleep(30);
            }
            exit(EXIT_SUCCESS);
Naah, seperti penjelasan daemon diatas jadi Daemon itu bekerjanya dibalik layar dan dia juga  memiliki fungsi yang berjalannya terjadwal. Jika contoh step pembuatan Daemon diatas kalian coba jalankan, maka kalian akan memiliki sebuah program yang bisa mengeluarkan sesuatu setiap 30 detik. Tapi di kodingan atas itu aku ga masukin apa-apa hehehe.. bisa kalian tambain "cout" sesuatu biar terlihat.

Oh iya, selanjutnya aku bakalan ngejelasin soal yang kemarin aku dapet. Jadi kita diminta buat sebuah program untuk mengubah foto menjadi grayscale. jadi stepnya
   @ Membuat sebuah program
   @ Membuka gambar menggunakan ImageViewer
   @ gambar akan dibuat duplikatnya dengan efek grayscale
   @ nama gambar barunya adalah FileLama_copy.jpg
itu yang harus aku buat.

mau liat kodingannya??



Naaah aku mau jelasin singkat aja yaa ehehehe..
    • line 42, jadi kita melihat dari proses yang kita jalankan untuk mencari proses mana yang membuka foto atau .jpg
    • line 44 kita mendeklarasikan dia menjadi tipe_file *untuk di programku hehe*
    • line 53 itu digunakan untuk mengganti karakter ke-5 dari belakang dengan '\0' atau null
    • mulai dari line 55 itu untuk menjadikan namanya FileLama_copy.jpg
    • naah command yang digunakan untuk merubahnya menjadi grayscale adalah yang terdapat di line 61
itu penjalan singkat aja ehehehe.. OhIya!! mau ngingetin ajaa untuk merubah foto menjadi Grayscale, kalian harus punya program mendukung contohnya ImageMagick.. selamat mencoba dan mendownload.
ImageMagick bisa download di