Evan's Blog

???????

Jumat, 06 November 2015

Thread? Thread. THREAD! (FIXED)

Ya karena terjadi kesalahan teknis jadi saya salah membaca situasi dan mengira bahwa saya harus menjelaskan penggunaan tanda baca. Ternyata setelah memahami judul lebih dalam lagi saya mendapat kesimpulan bahwa yang seharusnya saya jelaskan itu tentang Thread nya, bukan tanda bacanya. Ok karena waktu saya sudah cukup banyak habis menulis blog tentang tanda baca (kalo mau baca di sini ni) jadi saya langsung masuk ke inti aja ya. Apa itu Thread ?
Thread, atau bisa juga disebut lightweight process, adalah unit dasar dari utilitas CPU yang di dalamnya terdapat ID thread, program counter, register, dan stack dan saling berbagi dengan thread lain dalam proses yang sama. Perbedaan nya apa sama process ? Thread dari suatu process yang sama akan berjalan di memory space yang sama (berbagi memory space), sedangkan process berjalan di memory space yang terpisah.
Nah yang mau saya bahas kali ini bukan tentang thread dan sejarahnya, tapi tentang Multithreading. Sesuai namanya, multithreading adalah kumpulan instruksi yang dijalankan secara bersamaan dalam sebuah program. Nah yang terpenting dari yang terpenting sekarang adalah..... CONTOH KODINGANNYAAAAA. ya seperti biasa saya kasi dulu nih kodingan fullnya baru kita kupas satu per satu.

Noh ngerti ? Ngerti. Ngerti! kalo udah ya close ae blog nya. nah bagi yang blom kita bahas 1 1 kodingannya. Keliatan rumit mungkin tapi lumayan simpel kok (kalo kalian sepintar saya). #BOOM #BURN
Yah untuk bagian atas nya ga perlu di kasi tau kali ya ? pasti uda tau semua kan ? itu library library yang perlu di buka agar command command nya bisa di baca komputer.
Sekarang kita mulai dari fungsi utama.
Untuk pengenalan variable kayaknya ga perlu diajarin lagi ya ? langsung masuk ke perulangan while. Kenapa "i < 2" ? karena kebetulan di contoh yang saya buat ini saya cuma mau buat 2 thread berjalan bersama. kalo pengen lebih ya tinggal naikin aja angkanya.
err=pthread_create(&(tid[i]), NULL, &THREADS, NULL);
Variable "err" ini nyatet hasil dari pengerjaan fungsi phread_create, kalo berhasil fungsi bakal me-return angka 0 (nol). Kalo dia ga nge-return 0 bakal ngeprint "can't create thread bla bla bla". strerror itu buat nyatet dia error nya apa.
Itu yang di dalam pthread_create apaan ? itu parameter parameternya. &tid[i] itu buat nunjukin lokasi dimana ID dari thread yang barusan dibuat akan di simpan. parameter kedua itu diisi attribute dari thread yang sedang dibuat, NULL disitu maksudnya thread dibuat dengan attribute default nya. &THREADS itu nunjukin fungsi yang berisi thread, artinya codingan thread yang mau dijalanin itu di tulis di fungsi sini. Parameter terakhir itu argument untuk mentrigger jalannya thread, dan kenapa NULL ? karena thread nya langsung di jalanin tanpa perlu ada kondisi khusus atau pengiriman argument.
Lanjut ke bagian ke fungsi threadnya nih
Baris paling atas itu variable untuk menyimpan ID dari thread yang dibuat, kenapa 2 ? seperti yang saya bilang di atas tadi, Karena di contoh ini saya cuma mau buat 2 threading.
Di dalam fungsi THREADS dikenalin lagi 1 variable baru namanya id yang gunanya untuk nyatet ID dari thread yang memanggil fungsi. Jika id nya sama denga tid yang pertama (tid[0]) maka dia akan jalanin Thread 1 dan kalo sama dengan tid yang kedua (tdi[1]) dia akan jalanin Thread 2. Thread 1 dan Thread 2 itu di isi kodingan dari program yang ingin kalian jalanin secara bersamaan.
Selesai ? Blom. Balik lagi ke fungsi utama 2 baris pthread_join.
pthread_join(tid[0],NULL);
pthread_join(tid[1],NULL);
 Apa gunanya ? gunanya adalah agar pthread_join yang memiliki thread id yang disebutkan menunggu sampai thread tersebut selesai sebelum mereturn nilai. kenapa kedua id dimasukkan ke fungsi pthread_join ? kedua thread tersebut di masukkan ke dalam fungsi pthread_join agar masing masing thread melakukan tugasnya sampai akhir sebelum mereturn nilai. Jika hanya salah 1 saja yang di masukkan ke fungsi pthread_join maka thread yang satu lagi akan ikut berhenti walaupun belum selesai melakukan tugasnya.
Nah gimana ? gimana ? udah mulai mengerti ? kalo belum silahkan coba coba sendiri dan lanjutkan mencari di blog lain (misalnya di blog ini).

Thread? Thread. THREAD!


Ya kembali bersama saya di pelajaran berikutnya. Dari judul nya kalian pasti tahu kita mau belajar apa kan ? ya tepat sekali, kita akan mempelajari cara penggunaan tanda baca yang baik dan benar. Dan dalam sesi ini saya akan membahas 3 tanda baca yang cukup sering di gunakan yaitu titik (.) , Seru (!), dan Tanya (?).
Kita mulai dari titik. Agar lebih mudah dibaca saya buat dalam bentuk poin poin saja ya :
1. Tanda titik dipakai pada akhir kalimat yang bukan pertanyaan atau seruan.
Apabila dilanjutkan dengan kalimat baru, harus diberi jarak satu ketukan.
2. Tanda titik dipakai pada akhir singkatan nama orang.
Apabila nama itu ditulis lengkap, tanda titik tidak dipergunakan.
Contoh: Dwiki Halla
3. Tanda titik dipakai pada akhir singkatan gelar, jabatan, pangkat, dan sapaan.
4. Tanda titik dipakai pada singkatan kata atau ungkapan yang sudah sangat umum. Pada singkatan yang terdiri atas tiga huruf atau lebih hanya dipakai satu tanda titik.
5. Tanda titik dipakai untuk memisahkan angka jam, menit, dan detik yang menunjukkan waktu atau jangka waktu.
6. Tanda titik dipakai untuk memisahkan bilangan ribuan atau kelipatannya.
7. Tanda titik tidak dipakai untuk memisahkan bilangan ribuan atau kelipatannya yang tidak menunjukkan jumlah.
8. Tanda titik tidak dipakai dalam singkatan nama resmi lembaga pemerintah dan ketatanegaraan, badan atau organisasi, serta nama dokumen resmi maupun di dalam akronim yang sudah diterima oleh masyarakat.
9. Tanda titik tidak dipakai dalam singkatan lambang kimia, satuan ukuran, takaran, timbangan, dan mata uang.
10. Tanda titik tidak dipakai pada akhir judul yang merupakan kepala karangan, atau kepala ilustrasi, tabel, dan sebagainya.
Lanjut tanda Seru !!!!! Ya saya mau menjelaskan pemakaian tanda seru tapi saya sendiri salah menggunakannya. Tanda seru dipakai sesudah ungkapan atau pernyataan yang berupa seruan atau perintah yang menggambarkan kesungguhan, ketidakpercayaan, ataupun rasa emosi yang kuat. Oleh karena itu, penggunaan tanda seru umumnya tidak digunakan di dalam tulisan ilmiah atau ensiklopedia. Hindari penggunaannya kecuali dalam kutipan atau transkripsi drama.
Dan yang terakhir tanda tanya. kembali saya jelaskan dalam bentuk poin poin.
1. Tanda tanya dipakai pada akhir tanya.
Penggunaan kalimat tanya tidak lazim dalam tulisan ilmiah.
2. Tanda tanya dipakai di dalam tanda kurung untuk menyatakan bagian kalimat yang disangsikan atau yang kurang dapat dibuktikan kebenarannya.
Nah sekian untuk sesi kali ini. jika kalian meng-copy tulisan ini dan mencari nya di google kalian pasti tahu bahwa ini saya dapat dari wikipedia.