Jumat, 16 Juni 2017

TM Organisasi Komputer 1

TUGAS MANDIRI ORGANISASI KOMPUTER DAN SISTEM OPERASI

PROGRAM TURBO ASSEMBLER (TASM)

DISUSUN OLEH :

HAFIZ ADI WIJAYA
065001600009
REYMARTIN REZA PRATAMA
064001600002
KEVIN MANDALA YUDHA
064001600007
ELFIN RIZALDY
065001600003


FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
                        UNIVERSITAS TRISAKTI              
2017

Tujuan Percobaan

     Adapun tujuan dari tugas mandiri ini adalah :

1. Dapat mengetahui penjelasan tentang Turbo Assembler (TASM), dan TLINK
2. Dapat mengetahui tahapan-tahapan dalam pembuatan program assembly yang nantinya dijalankan pada command prompt dengan menggunakan socket TASM
3. Dapat mengimplementasikan proses percobaan dalam menjalankan program Turbo Assembler
4. Dapat melihat langsung output dari program yang dijalankan pada command prompt


Teori Percobaan

     Turbo Assembler (TASM) merupakan perangkat lunak bahasa pemrograman Assembly yang dikembangkan Borland untuk komputer personal yang kompatibel dengan IBM, umumnya berbasis prosesor x86. Perangkat lunak ini diperdagangkan oleh Borland sebagai sebuah produk mandiri, atau dipaketkan bersama produk perangkat lunak bahasa pemrograman tingkat tinggi yang juga dikembangkan Borland, biasanya produk untuk tingkat mahir seperti (Borland Pascal, atau Borland C++), dan memiliki integrasi yang sangat baik dengan bahasa-bahasa pemrograman tingkat tinggi tersebut. Dengan berakhirnya era kejayaan keluarga Turbo, Turbo Assembler saat ini sudah tidak lagi dikembangkan oleh Borland.

     Perangkat lunak Turbo Assembler dipaketkan bersama linker (disebut Turbo Linker atau TLINK), dan dilengkapi pula dengan Turbo Debugger, perangkat lunak untuk kebutuhan debugging. Untuk mendukung kompatibilitas dengan bahasa assembly yang umum digunakan saat itu, Microsoft Macro Assembler (MASM), TASM mendukung modus MASM (MASM mode) yang memungkinkan pemrogram merakit berkas kode sumber yang sebelumnya ditujukan untuk MASM. TASM juga mendukung modus tambahan yang disebut dengan mode ideal yang memiliki beberapa fitur tambahan.

     TASM 3.0 mendukung fitur-fitur yang sebelumnya hanya terdapat pada bahasa pemrograman tingkat tinggi seperti objek sehingga memungkinkan pemrogram untuk memanfaatkan teknik pemrograman berorientasi objek (PBO).








Cara Percobaan

1. Bukalah vmware workstation yang sudah di instal dengan windows 7 32 bit. Direkomendasikan windows 32 bit, karna dapat berjalan lancar dalam menjalankan progrm TASM



2. Buka software emulator 8086, yang terlebih dahulu program bahasa assembly di buat, di compile, dan dijalankan pada emulator. Tahapan ini berfungsi untuk memeriksa apakah source code program memiliki bug atau tidak.






3. Ketiklah source code seperti di bawah ini

.MODEL SMALL
    .CODE
    ORG 100H

TULIS    MACRO KALIMAT
    MOV AH,09H
    LEA DX, KALIMAT
    INT 21H
    ENDM

CETAK    MACRO KARAKTER
    MOV AH,02H
    MOV DL,KARAKTER
    INT 21H
    ENDM

START:    JMP PROSES
    KAL0 DB 13,10,'Konversi Desimal ke Heksadesimal$'
    KAL1 DB 13,10,'Tekan ESC Untuk Keluar$'
    INPUT DB 13,10,'Maskukkan Angka Desimal: $'
    OUTPUT DB 13,10,'Hasil Konversi Dalam Heksadesimal: $'
    BIL1 DW 0
    DIGIT3 DB 0
    DIGIT2 DB 0
    DIGIT1 DB 0
    DIGIT0 DB 0

PROSES:    TULIS KAL0
    TULIS KAL1
    TULIS INPUT
    JMP VAR1

KELUAR:    INT 20H

VAR1:    LEA BX,DIGIT3
    MOV CX,4

ULANG1:    MOV AH,07H
    INT 21H
    CMP AL,27
    JE KELUAR
    CMP AL,30H
    JB ULANG1
    CMP AL,39H
    JA ULANG1
    CETAK AL
    SUB AL,30H
    MOV [BX],AL
    INC BX
    LOOP ULANG1
    LEA BX,DIGIT3
    MOV AX,1000
    MOV CH,0
    MUL CX
    PUSH AX
    INC BX
    MOV AX,100
    MOV CX,[BX]
    MOV CH,0
    MUL CX
    MOV DX,AX
    POP AX
    ADD AX,DX
    PUSH AX
    INC BX
    MOV AX,10
    MOV CX,[BX]
    MOV CH,0
    MUL CX
    MOV DX,AX
    POP AX
    ADD AX,DX
    PUSH AX
    INC BX
    MOV AX,1
    MOV CX,[BX]
    MOV CH,0
    MUL CX
    MOV DX,AX
    POP AX
    ADD AX,DX
    LEA BX,BIL1
    MOV [BX],AX

DGT3:    MOV DX,0
    MOV CX,16
    DIV CX
    ADD DL,30H
    MOV DIGIT3,DL
    CMP DIGIT3,39H
    JA ATAS3

DGT2:    MOV DX,0
    DIV CX
    ADD DL,30H
    MOV DIGIT2,DL
    CMP DIGIT2,39H
    JA ATAS2

DGT1:    MOV DX,0
    DIV CX
    ADD DL,30H
    MOV DIGIT1,DL
    CMP DIGIT1,39H
    JA ATAS1

DGT0:    MOV DX,0
    DIV CX
    ADD DL,30H
    MOV DIGIT0,DL
    CMP DIGIT0,39H
    JA ATAS0
    JMP HASIL

ATAS3:    ADD DIGIT3,7
    JMP DGT2

ATAS2:    ADD DIGIT2,7
    JMP DGT1

ATAS1:    ADD DIGIT1,7
    JMP DGT0

ATAS0:    ADD DIGIT0,7

HASIL:    TULIS OUTPUT
    CETAK DIGIT0
    CETAK DIGIT1
    CETAK DIGIT2
    CETAK DIGIT3
    JMP PROSES
END START

4. Jika sudah simpan, dan compile program dengan mengklik emulate





5. Jika tidak terdapat bug atau error pada hasil compile, klik run untuk menjalankan program.



6. Program Berhasil dijalankan. Masukkan input bilangan yang nantinya akan dikonversikan ke heksadesimal, jika sudah tekan enter, maka output hasil konversi dari desimal ke heksa desimal akan keluar.


7. Selanjutnya, jalankan program konversi heksadesimal tersebut pada command prompt. Masuklah ke tampilan Command Promt, lalu ketik Cd Tasm, yang fungsinya masuk ke dalam folder directory TASM yang ada di directory User.



Perlu diperhatikan, untuk menjalankan program assembly dalam format TASM & TLINK pada command Prompt haruslah dibutuhkan sokcet Tasm yang berisi konten-konten yang mendukun program dapat berjalan pada Command Prompt. Pada tugas mandiri ini, saya sudah menyiapkan socket tasm tersebut, nantinya file program assembly harus disimpan dala folder TASM agar dapat di jalankan.



8. Selanjutnya, setelah masuk ke folder directory TASM melalui perintah Cd Tasm tadi, ketik pada command prompt notepad konversi.asm . Perintah ini fungsinya untuk membuka notepad editor yang nantinya akan di buat file dengan nama konversi. asm yang file tersebut disimpan di folder TASM.



Seketika tampilan notepad akan muncul, ketiklah source code seperti yang tadi kita ketik di emulator 8086 tadi.



Jika sudah, klik save untuk menyimpan file. Lalu close tampilan notepad editor.



Otomatis file konversi.asm yang dibuat pada notepad akan tersimpan pada folder TASM.


9. Compile file konversi tersebut dengan cara ketik tasm konversi (nama file), lalu enter.


Terlihat dari hasil compile, tidak ditemukan Error Message ataupun Warning Message. Ini menandakan program tidak memiliki bug/error dan berhasil decompile.

10. Compile program dengan format TLINK, ketik pada command prompt tlink/t konversi (nama file) lalu enter.


 Dari gambar di atas terlihat tidak ditemukannya error ataupun warning.

11. Jalankan program dengan mengetik nama file, ketik pada command prompt konversi, maka program akan di jalankan


12. Program membutuhkan input untuk mengkonversikan bilangan desimal ke heksadesimal, masukan bilangan desimal, maka program otomatis akan mengkonversikannya ke heksadesimal sebagai output dari program


13. Tekan tombol ESC untuk menghentikan program, maka program otomatis akan dihentikan



Data Percobaan/Dokumentasi







Kesimpulan

     Program TASM atau TLINK sangatlah efisien jika ingin menjalankan program assembly pada command prompt windows tanpa memerlukan aplikasi software lain. Berbeda dengan emulator, proses pengerjaan compile pada command promt dengan format TASM dan TLINK terbilang sangat cepat, seketika file tercompile dan dijalankan dengan cepat. Hanya saja untuk mengcompile dan menjalankan program assembly dalam format TASM/TLINK pada command Prompt, diperlukan socket TASM terlebih dahulu. Socket Tasm yang berisi konten-konten yang mendukung agar program dapat berjalan pada command prompt haruslah disatukan letaknya dengan file program yang ingin dijalankan, sehingga program tasm dapat berjalan dengan baik.

TM Organisasi Komputer 2

PRAKTIKUM ORGANISASI KOMPUTER DAN SISTEM OPERASI

THREAD

DISUSUN OLEH :

HAFIZ ADI WIJAYA
065001600009
REYMARTIN REZA PRATAMA
064001600002
KEVIN MANDALA YUDHA
064001600007
ELFIN RIZALDY
065001600003


FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
                       UNIVERSITAS TRISAKTI              
2017





I.              JUDUL PRAKTIKUM  THREAD
II.            TUJUAN PRAKTIKUM  Dapat mengerti dan mengontrol sistem Thread

III.          ELEMEN KOMPETENSI :
Deskripsi : Dapat membuat sistem Thread pada OS Linux


TEORI SINGKAT
·        Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
·        Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
·        Kadang disebut sebagai proses ringan (lightweight).
·        Unit dasar dari dari sistem utilisasi pada processor (CPU).
·        Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
·        Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.
Thread dalam Sistem Operasi
·        Sistem operasi telah mendukung proses multithreading.
·        Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
·        Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.

LAB SETUP

Adapun yang diperlukan dalam melakukan praktikum ini adalah :
- Komputer/ Laptop dengan OS Linux
- Program Terminal





















Cara percobaan/langkah langkah percobaan
1.    Buatlah source code program thread dengan nama file dotprod_mutex.c pada notepad. Program dotprod_mutex.c merupakan program berbasis thread untuk mengecheck beberapa sum thread pada terminal.

Dari gambar di atas, isilah file dotprod_mutex.c dengan source code seperti gambar di atas

2. Kompilasi thrdcreat.c dengan $gcc dotprod_mutex.c -o dotprod_mutextestprak.c –lpthread



3. Lalu dieksekusi dengan perintah $./dotprod_mutextestprak.c


Akan muncul output berupa sum dari program thread sebagai berikut


4. Selanjutnya, kita akan mengcompile program cond1.c dengan cara $ gcc cond1.c –o cond1test.c –lpthread. Program cond1 meru[akan program berbasis thread untuk mengecheck Counter Value Function Count.


5. Jalankan program dengan mengetik ./cond1test.c akan muncul output seperti gambar di bawah ini


6. Compile program thread dengan cara $ gcc thread.c –o threadtest.c –lpthread


7. Jalankan program thread dengan cara $ ./threadtest.c


DATA PERCOBAAN




KESIMPULAN

Dengan menggunakan Thread dari proses, kita mendapat beberapa keuntungan :
1.            Membuat thread baru lebih cepat daripada membuat proses baru
2.            Menghentikan thread lebih cepat daripada menghentikan proses
3.            Waktu untuk pergantian thread lebih cepat dibandingkan pergantian proses
4.            Komunikasi antara thread lebih cepat karena berada dalam satu proses sehingga tidak memerlukan intervensi dari kernel.
Hal ini berguna bagi sistem operasi karena dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.