Ini blog buat catatan online aku aja, buat dibuka kalo lagi lupa sesuatu. Kalo lagi ada ide tulis, kalo lupa tinggal buka.

Senin, 30 September 2019

Kisah Bertemunya Ellie dan Jawhead [Mobile Legends Story]



Berbagai organisasi rahasia telah ada di Lawn of Dawn sejak berabad-abad yang lalu. Tidak ada yang tau apa tujuan dari organisasi-organisasi tersebut, namun yang pasti, saat terjadi krisis dan kekacauan di Lawn of Dawn, mereka akan muncul secara misterius dan mengembalikan keadaan seperti sedia kala.

Di suatu tempat, ada seorang profesor teknologi bernama Henry. Ia bersama dengan istrinya bekerja untuk sebuah organisasi intelejen pemerintah bernama Dawn Council. Selain bekerja dengan agen pemerintah, Profesor Henry juga terkenal sebagai pembuat teknologi-teknologi canggih yang nantinya akan dijual ke masyarakat dan berbagai organisasi rahasia yang misterius. Teknologi ciptaannya ditujukan untuk membantu manusia dalam mengerjakan pekerjaan sehari-hari mereka.

Saat-saat paling membanggakan bagi dirinya ialah pada saat ia dan istrinya berhasil membuat prototype teknologi robot terbaru yang mereka namakan SMART-01. Penemuan mereka tersebut merupakan teknologi robot yang paling pintar dan paling kuat daripada robot lain yang pernah dibuat oleh umat manusia. Robot baru ini didesain supaya dapat dikendalikan melalui pikiran penggunanya, dan juga didesain supaya bisa memperbaiki dirinya sendiri saat terjadi kerusakan.

Namun keadaan langsung berubah seketika, pemimpin dari Dawn Council melihat potensi dari teknologi buatan prof Henry dan istrinya sebagai mesin perang terkuat dan berniat untuk memproduksi massal teknologi tersebut. Beberapa hari kemudian Profesor Henry mendapat surat perintah dari pimpinan Dawn Council supaya menyerahkan semua data-data robot tersebut dan ikut membantu dalam pembuatan massal robot tersebut.

Profesor Henry yang tidak setuju temuannya tersebut digunakan sebagai alat perang akhirnya menolak perintah tersebut. Seketika itu juga profesor Henry langsung memerintahkan robot SMART-01 untuk menghapus semua data-data yang ada pada dirinya, supaya tidak ada orang lain yang bisa membuat robot tersebut di kemudian hari. Setelah kejadian itu Profesor Henry, istrinya, dan robot SMART-01 menghilang secara misterius.

Prof Henry mempunyai anak perempuan yang bernama Ellie, namun Ellie selalu disembunyikan dari publik untuk menjaganya dari hal buruk yang mungkin saja terjadi padanya. Ellie adalah anak yang baik dan penurut yang selalu menuruti perkataan kedua orangtuanya. Ellie selalu menjalankan aktivitasnya di kota bawah tanah ciptaan orang tuanya, lokasi kota tersebut berada tepat dibawah gedung penelitan milik orangtuanya.

Beberapa saat setelah menghilangnya profesor Henry, pasukan tempur dari pemerintah datang ke gedung penelitian milik prof Henry untuk mencari sisa-sisa data dari robot SMART-01, namun mereka tidak menemukannya karena data tersebut sudah hilang bersamaan dengan menghilangnya prof Henry. Namun mereka menemukan pintu rahasia yang menghubungkannya ke kota bawah tanah.

Ellie yang saat itu masih kecil dan tidak tau apa-apa tentang semua peristiwa yang terjadi langsung ketakutan dan juga kebingungan saat melihat pasukan tempur pemerintah ada di hadapannya.









(seluruh credit kepada pemilik gambar, kami mendapat gambar ini dari beranda facebook)
Share:

Kamis, 19 September 2019

Tutorial Chang’e Mobile Legends

Pada kesempatan kali ini, kami ingin berbagi tips & trick dalam menggunakan hero Chang’e pada game mobile legends. Menurut kami Chang’e adalah hero bertipe mage support, karena keterbatasan arah pada ultinya yang membuatnya agak kesulitan untuk membunuh musuh, khususnya musuh yang mempunyai skill escape. Namun kekurangannya itu ditutupi oleh damage yang ia miliki. Chang’e adalah salah satu mage dengan damage tertinggi di mobile legend, dengan damage yang begitu besar, ia dapat menghancurkan tower dengan cepat, selain itu ia juga dapat dengan mudahnya membunuh tank lawan dalam hitungan detik. Chang’e juga adalah salah satu yang hero terbaik dalam hal serangan jarak jauh, karena ultinya dapat memberikan damage ke musuh dari jarak yang sangat jauh, bahkan musuhpun tidak bisa melihatnya.

BUILD
Chang’e tidak terbatas pada build, karena build apapun yang digunakan padanya akan membuatnya kuat. Ia adalah salah satu hero dengan fleksibilitas build yang tinggi selain Nana & Chou. Berikut adalah build yang kami sarankan untuk pengguna Chang’e.

Kami merekomendasikan build ini :
Note : Build ini tidak memiliki MP Regen, jadi kalian harus recall ke base untuk mengisi MP kalian.

Item pertama : Boots.
Item ini memberikan +20 movement speed dan bisa langsung dibeli diawal pertandingan. Kami merekomendasikan Boots dan bukan item sepatu yang lebih mahal karena Chang’e sudah memiliki skill 2 yang menambah movement speed. Dan juga skill ulltimate miliknya sangat rentan terhadap kecepatan gerak, jika kecepatan geraknya terlalu tinggi maka skill ulti yang dikeluarkan tidak akan lurus melainkan melengkung. Hal ini tentu membuat skill ultinya sulit untuk mengenai musuh.
Tahukah kalian pada waktu Chang’e pertama kali rilis di mobile legends, ia mempunyai basic movement speed yang sangat tinggi, oleh karenanya ia tidak memperlukan item sepatu untuk bisa bertarung. Namun setelah terkena nerf, movement speed Chang’e diturunkan sedemikian rupa sehingga ia memerlukan item sepatu supaya gerakannya dapat mengimbangi pertempuran.

Item kedua : Glowing Wand.
Glowing Wand adalah item utama dari Chang’e. Konsep dari hero Chang’e adalah memberikan damage ke musuh dengan cara menyerang musuh menggunakan proyektil sebanyak-banyaknya. Dan item glowing wand ini akan memberikan damage tambahan sebanyak 2% sampai 4% dari total HP Lawan dikali banyaknya proyektil yang mengenai lawan. Basic attack Chang’e jika skill 2 nya diaktikan akan memberikan 2 proyektil magical dan 1 proyektil pysical ke arah musuh. Jadi jika menggunakan item ini, basic attack Chang’e lebih kuat 2x lipat dibanding dengan hero lain. Jadi jangan heran kalau pengguna Chang’e berani solo lane dan bahkan berani maju sampai garis depan.

Item ketiga : Ice Queen Wand
Ice Queen Wand adalah item yang dapat memberi efek slow pada musuh jika terkena magical damage dari pengguna item ini, dengan item ini Chang’e dapat membuat musuh menjadi lambat dan tidak bisa kabur. Skill 2 milik Chang’e dapat memanggil crescent moon yang membuat basic attacknya mempunyai magical damage, jika basic attack Chang’e mengenai musuh, maka musuhnya akan menjadi slow. Skill ulti Chang’e juga dapat membunuh musuh dengan cepat jika menggunakan item ini, karena lawan tidak bisa kabur dan hanya bisa pasrah saat Chang’e menghujani mereka dengan skill ultinya.

Item keempat : Holy Crystal
Holy Crystal dapat menambah magic damage sebanyak 35% dari total magic damage. Hal ini sangat menguntungkan karena sebelumnya kita telah memiliki Glowing Wand dan Ice Queen Wand yang mempunyai masing-masing 75 magical damage. Jika kita tambah dengan atribut yang dimiliki Holy Crystal yaitu +100 magical damage dan 35%xTotalMagicalDamage, maka kita akan mendapatkan 75+75+100+(35%*250) = 337,5 magical damage! Itu adalah damage yang tinggi, sekali saja musuh terkena skill Chang'e, besar kemungkinan HP mereka bisa berkurang sebanyak setengahnya dalam waktu singkat! Dan dengan menggunakan item ini, magical damage Chang'e akan terus bertambah sebesar 35% setiap membeli item baru, sehingga pada mid game sampai late game Chang'e memiliki damage yang besar dan terus bertambah seiring berjalannya waktu.

Item kelima : Fleeting Time
Fleeting Time akan memberikan tambahan +70 magic damage dan 15% cooldown reduction, dan memiliki pasif mengurangi cooldown sebesar 35% pada skill ultimate jika mendapatkan kill atau assist. Dengan menggunakan item ini Chang'e bisa dengan bebas melakukan spam skill. Karena skill Chang'e adalah menembakan proyektil dalam jumlah banyak, mengenai lawan dan mendapatkan assist adalah hal yang lumayan mudah, jadi kita manfaatkan saja assist itu untuk mengurangi cooldown skill ultimatenya. Jadi walaupun sewaktu menggunakan skill ultimate kita gagal mengkill musuh dan hanya mendapat assist, jangan khawatir, karena hal tersebut akan membuat kita dapat mengeluarkan skill ultimate lagi setelah 12 detik.

Item keenam : Necklace of Durance
Item ini akan membuat musuh kehilangan kemampuan lifesteal selama 3 detik jika menerima magical damage dari penggunanya. Ketika Chang'e mengaktifkan skill 2 nya, maka basic attacknya akan menghasilkan magic damage, hal ini tentunya sangat menguntungkan. Karena hanya dengan basic attack saja akan membuat musuh kewalahan karena mereka kehilangan kemampuan lifestealnya, dan secara otomatis mereka akan lebih mudah untuk dikalahkan. Bertemu Chang'e yang menggunakan item Necklace of Durance adalah mimpi buruk bagi hero yang bergantung pada lifesteal seperti Alucard, Fanny dan hero-hero marksman.

Build di atas terbukti cocok digunakan untuk membunuh banyak lawan. 


GAMEPLAY
Pertama-tama kalian harus tau skill pasif milik Chang'e, karena selama pertandingan kita harus selalu memanfaatkan skill pasifnya untuk bisa membunuh musuh. Skill pasif milik Chang'e adalah meningkatkan damage sampai 20% jika mengenai musuh yang sama. Jadi kalian harus bisa fokus dalam mengincar musuh supaya skill ultimate kalian tidak sia-sia.
Ketika menggunakan Chang’e kalian harus selalu mengaktifkan skill 2. Karena skill 2 milik Chang’e akan memberikan shield, movement speed tambahan, dan juga damage tambahan. Bisa dibilang Chang’e juga sangat bergantung kepada skill 2 nya, karena jika skill 2 nya tidak aktif Chang’e akan menjadi sangat lemah dan sangat mudah bagi musuh untuk mengalahkannya. Setelah skill 2 aktif, kalian akan dengan mudah memberikan damage yang besar kepada musuh dengan basic attack maupun skill 1 dan skill ultimate.

Skill 1, Skill 2, dan Basic Attack
Gunakan kombinasi basic attack dan skill 1 untuk memberi tekanan pada musuh di early game. Usahakan selalu gunakan basic attack sebanyak yang kalian bisa, karena dengan buff dari skill 2 dapat menambah damage basic attack kalian menjadi 2x lipat. Fokuskan kepada musuh yang tidak mempunyai serangan jarak jauh seperti fighter dan assasin, dengan begitu kalian akan terus menekan mereka dengan basic attack kalian, dan akan membuat mereka mundur dan membuat mereka kalah level.
(Chang'e adalah mage dengan basic attack terkuat, jadi gunakanlah basic attack secara bertubi-tubi untuk menekan lawan, dan jangan lupa untuk selalu menjaga jarak aman)

Skill Ultimate
Kunci utama dari skill ultimate adalah pada saat mengarahkannya ke musuh kalian. Jadi kalian harus bisa menebak arah pergerakan lawan, misalnya kalian melihat musuh akan kabur ke arah kanan, maka kalian harus mengarahkannya lebih maju sedikit dari posisi mereka. Jadi pada saat mereka lari ke arah kanan, mereka akan terkena skill ulti kalian. Jadi intinya, kalian harus bisa menebak arah pergerakan lawan.
(gunakan combo skill 1 kemudian skill ultimate untuk mentrigger efek pasif milik Chang'e)

Saat kalian bertemu dengan banyak musuh, usahakan untuk fokus mengincar 1 musuh terlebih dahulu. Karena skill pasif milik Chang'e adalah menambahkan damage sampai 20% jika mengenai musuh yang sama. Dengan begitu kalian bisa dengan cepat membunuh musuh dari jarak yang sangat jauh sekalipun.
(terlihat 3 orang musuh yang ada dalam jangkauan ultimate, tapi kami mengincar Sun saja karena dia sudah terkena ultimate terlebih dahulu, jadi efek pasif Chang'e akan bekerja padanya)

Selalu pastikan juga tidak ada minion yang menghalangi ulti kalian, karena minion bisa memblock ulti milik Chang'e sehingga tidak bisa mengenai lawan.
(setelah musuh yang kalian incar sudah tewas, kalian bisa memanfaatkan sisa skill ulti kalian untuk membunuh lawan terdekat)

Untuk contoh video gameplay nya bisa dilihat di video ini :

Hal terpenting yang harus dilakukan adalah terus latihan dan jangan menyerah. Karena pada dasarnya semua hero di mobile legends itu kuat, tergantung siapa yang memakai hero tersebut.

Sekian tutorial Chang'e mobile legends dari kami. Semoga dapat membantu kalian dalam menggunakan hero ini.

Terima kasih.
Share:

Selasa, 18 September 2018

Jenis-jenis Senjata di Free Fire

Hai gays, welcome back with me Eftyshia si gemer gak gantengs. Pada kesempatan kali ini gue ingin berbagi info tentang senjata-senjata yang ada di game Free Fire.

Jadi pertama-tama kita bahas tipe-tipe senjatanya, ada beberapa tipe senjata di FF, antara lain adalah SMGARShotgun, SniperCrossbowExplosivePistol, dan Knive.

SMG (Sub Machine Gun)
SMG adalah senjata yang efektif digunakan untuk pertempuran jarak dekat dan jarak menegah karena memiliki fire rate (kecepatan tembak peluru) yang sangat cepat, ciri ciri senjata SMG yaitu senjata dengan laras pendek. Senjata ini menggunakan peluru bertipe SMG Ammo. Senjata jenis ini sangat cocok untuk pemain yang mempunyai role sebagai rusher.
Berikut adalah senjata SMG yang terdapat pada FF :
(dari kiri ke kanan : MP5, MP40, UMP)




AR (Assault Rifle)
AR adalah senjata yang dapat digunakan untuk jarak menegah dan jarak jauh, senjata jenis ini memiliki fire rate yang lambat tetapi memiliki akurasi yang tinggi. Ciri-ciri senjata jenis AR yaitu senjata dengan laras panjang. Senjata ini menggunakan peluru bertipe AR Ammo. Senjata jenis ini sangat cocok untuk pemain yang mempunyai role sebagai damagger & support, karena bisa memberikan damage yang besar dari jarak jauh dan juga bisa menolong teman dari jarak jauh.
Berikut adalah senjata AR yang terdapat pada FF :
(dari kiri ke kanan : M14, M4A1, AK47, SKS, Groza, SCAR-L)



Shotgun
Shotgun adalah senjata khusus jarak dekat. Kelebihan dari senjata jenis ini adalah damage yang sangat besar jika ditembakan ke arah musuh pada jarak dekat, bahkan hanya dengan 1x tembakan saja bisa langsung menumbangkan musuh yang tidak mengenakan armor. Senjata jenis ini menggunakan Shotgun Shell sebagai amunisinya. Senjata jenis ini sangat cocok untuk pemain yang mempunyai role sebagai rusher.
Berikut adalah senjata Shotgun yang terdapat pada FF :

(dari kiri ke kanan : SPAS12, M1014)



Sniper
Sniper adalah senjata jarak jauh dengan tingkat akurasi 100% (pasti tepat sasaran) dan jarak scope yang sangat jauh, dengan begitu pengguna Sniper bisa melihat dan membidik musuh dari jarak yang sangat jauh. Senjata jenis ini menggunakan AWM Ammo sebagai amunusinya. Senjata jenis ini sangat cocok untuk pemain yang mempunyai role sebagai assasin.
Berikut adalah senjata Sniper yang terdapat pada FF :

(dari kiri ke kanan : AWM, Kar98k)



Crossbow
Crossbow adalah salah satu senjata spesial di FF, karena Crossbow tidak menggunakan peluru seperti senjata lainnya, melainkan menggunakan Anak Panah. Oleh karena itu, Crossbow tidak mengeluarkan suara ketika ditembakan. Senjata ini cocok untuk pemain yang mempunyai role sebagai assassin (menghabisi lawan tanpa diketahui).
Gambar Crossbow di FF :
(Crossbow)



Explosive
Di FF, ada beberapa jenis Explosive (Peledak), diantaranya adalah Grenade (geranat), dan M79. 
Cara menggunakan Geranat adalah dengan dilempar ke arah musuh dan mempunyai waktu 3 detik untuk meledak, sedangkan M79 adalah 'pelontar' geranat yang berarti senjata M79 jika ditembakan ke arah musuh akan melemparkan geranat dengan jarak yang lumayan jauh dan langsung meledak saat menyentuh tanah. Senjata ini sangat cocok untuk support tim dan juga bisa untuk memojokan musuh.
Berikut ini gambar Geranat dan M79 di FF :

(dari kiri ke kanan : M79, Grenade)


Pistol
Pistol adalah jenis senjata jarak dekat yang digunakan sebagai secondary weapon (senjata cadangan) jika peluru senjata utama telah habis.
Berikut adalah Pistol yang terdapat di FF :






Knive
Knive atau dalam bahasa Indonesia berarti Pisau, adalah senjata jarak dekat. Selain untuk melawan musuh dalam keadaan darurat, senjata ini juga berfungsi sebagai pelindung tubuh jika ditembak dari belakang oleh lawan.
Berikut adalah Knive yang terdapat di FF :




Share:

Rabu, 22 Agustus 2018

Tugas Besar (Fortran) Revisi 2

 Contoh Program Menggunakan Fortran

        program tugasBesar
        implicit none
        real tanya
10      print *, 'Halo! :)'
        print *, 'Perkenalkan nama saya Ef :)'
        print *, 'Ef bisa menghitung macam-macam hal loh~ hehe :)'
        print *, 'Ayo sekarang kita mulai menghitung!'
20      print *, 'Silahkan pilih fitur'
        print *, '1. Menghitung Pythagoras'
        print *, '2. Menghitung Konversi Suhu'
        print *, '3. Menghitung Jarak & Sudut 4 Titik Koordinat di Peta'
        print *, '4. Menghitung Modulus Young (Elastisitas)'
        print *, '5. Menghitung Persamaan Diferensial Eksak'
        print *, '99. Bersihkan Layar'
        print *, '0. Keluar program :('
        read *, tanya

        if (tanya.EQ.1) then
        call pythagoras()
        else if (tanya.EQ.2) then
        call konversiSuhu()
        else if (tanya.EQ.3) then
        call menghitungJarakKoordinat()
        else if (tanya.EQ.4) then
        call modulusYoung()
        else if (tanya.EQ.5) then
        call diferensialEksak()
        else if (tanya.EQ.99) then
        call system('CLS')
        else if (tanya.EQ.0) then
        print *, ''
        print *, "Bye bye ~ :'D"
        print *, 'Terima kasih sudah menghitung bersama Ef :)'
        print *, 'Semoga harimu menyenangkan :)'
        pause
        stop
        else
        print *, 'Aduh maaf, Ef tidak mengerti perintah kamu :('
        print *, 'Tolong masukan angka 1 sampai 5 saja ya :)'
        print *, 'Atau masukan angka 99 supaya tulisannya dihapus :)'
        print *, ''
        goto 20
        endif

        goto 10

        end program tugasBesar

        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        ! P Y T H A G O R A S
        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        subroutine pythagoras()
        implicit none
        real c,a,b,tanya
20      print *, ''
        print *, 'Pythagoras adalah perhitungan untuk mencari'
        print *, 'panjang sisi miring dari bentuk segitiga :)'
        print *, 'Rumusnya adalah C = akarkuadrat(A^2 + B^2)'
        print *, 'Panjang sisi A kamu berapa? :)'
        read *, a
        print *, 'Terus panjang sisi B kamu berapa ? :)'
        read *, b
        c=sqrt((a*2)+(b*2))
        write (*,'( 1x, "Panjang sisi A = " f10.2)') a
        write (*,'( 1x, "Panjang sisi B = " f10.2)') b
        write (*,'( 1x, "Panjang sisi C = " f10.2)') c
        print *, ''
        print *, 'Perhitungan selesai :)'
        !Pertanyaan terakhir
        print *, 'Perhitungan Selesai, apakah ingin mengulangi lagi? :)'
        print *, '1 = Ya'
        print *, '0 = Tidak'
        read *, tanya
        if (tanya.EQ.1) then
        goto 20
        else
        print *, ''
        endif
        print *, ''

        end subroutine pythagoras


        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        ! K O N V E R S I  S U H U
        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       subroutine konversiSuhu
       implicit none
       real a,b,c,r,k,f,tanya


       print *, ''
       print *, 'Kamu tau gak, setiap suhu itu mempunyai'
       print *, 'satuannya masing-masing loh :)'
       print *, 'Ada Celcius, Reamur, Kelvin, dan Fahrenheit :D'
       print *, 'Sekarang Ef akan membantu kamu menghitung nilai suhu'
       print *, 'menjadi satuan suhu yang berbeda-beda :D'
       print *, 'Ayo kita mulai!'
       print *, ''
30     print *, 'Masukan Nilai yang ingin kamu konversikan :)'
       read *, a
40     print *, ''
       print *, '1 = Celcius'
       print *, '2 = Reamur'
       print *, '3 = Kelvin'
       print *, '4 = Fahrenheit'
       print *, 'Nah sekarang tentukan satuan suhu kamu (1-4)'
       read *, b

       !Celcius
       if(b==1) then
       r=a*4/5
       k=a+273
       f=(a*9/5)+32
       write (*,'(1x, "Celcius    =",f12.2)') a
       write (*,'(1x, "Reamur     =",f12.2)') r
       write (*,'(1x, "Kelvin     =",f12.2)') k
       write (*,'(1x, "Fahrenheit =",f12.2)') f
       print *, 'Hitungannya Selesai :)'
       print *, ''

       !Reamur
       else if (b==2) then
       c=a*5/4
       k=(a*5/4)+273
       f=(a*9/4)+32
       write (*,'(1x, "Reamur     =",f12.2)') a
       write (*,'(1x, "Celcius    =",f12.2)') c
       write (*,'(1x, "Kelvin     =",f12.2)') k
       write (*,'(1x, "Fahrenheit =",f12.2)') f
       print *, 'Hitungannya Selesai :)'
       print *, ''

       !Kelvin
       else if (b==3) then
       c=a-273
       r=(a-273)*4/5
       f=((a-273)*9/5)+32
       write (*,'(1x, "Kelvin     =",f12.2)') a
       write (*,'(1x, "Celcius    =",f12.2)') c
       write (*,'(1x, "Reamur     =",f12.2)') r
       write (*,'(1x, "Fahrenheit =",f12.2)') f
       print *, 'Hitungannya Selesai :)'
       print *, ''

       !Fahrenheit
       else if (b==4) then
       c=(a-32)*5/9
       r=(a-32)*4/9
       k=((a-32)*5/9)+32
       write (*,'(1x, "Fahrenheit =",f12.2)') a
       write (*,'(1x, "Celcius    =",f12.2)') c
       write (*,'(1x, "Reamur     =",f12.2)') r
       write (*,'(1x, "Kelvin     =",f12.2)') k
       print *, 'Hitungannya Selesai :)'
       print *, ''

       !else
       else
       print *, 'Maaf, mohon masukan angka 1 sampai 4 saja ya :)'
       goto 40

       !end if
       endif

        !Pertanyaan terakhir
        print *, 'Perhitungan Selesai, apakah ingin mengulangi lagi? :)'
        print *, '1 = Ya'
        print *, '0 = Tidak'
        read *, tanya
        if (tanya.EQ.1) then
        goto 30
        else
        print *, ''
        endif
        print *, ''

       end subroutine konversiSuhu


        ! J A R A K  K O O R D I N A T
        subroutine menghitungJarakKoordinat
        implicit none
        real value, A,B,C,D            !Nama Titik
        real xa,ya,xb,yb,xc,yc,xd,yd   !Titik Koordinat
        real AC,CD,DB                  !Titik Koordinat
        real ACh, CDh, DBh             !Jarak
        real skala, totalJarak         !Skala dan total jarak
        real tanya                     !Pertanyaan akhir

        print *, ''
        print *, 'Pernah gak kamu lagi ingin tau jarak dari'
        print *, 'Jakarta ke Bandung waktu kamu liat peta,'
        print *, 'Tapi sayangnya kamu lupa gak bawa penggaris :('
        print *, 'Nah disini Ef akan ngebantu kamu menghitung'
        print *, 'jarak antara titik di peta tanpa penggaris! :D'
        print *, 'Caranya adalah dengan menggunakan titik Koordinat! :)'

20      print *, 'Pertama-tama, kita tentukan dulu koordinat titik A :)'
        print *, ''
        print *, 'Koordinat titik A nya berapa ya ? :)'
        read *, xa,ya
        print *, 'Kalau koordinat titik B ?'
        read *, xb,yb
        print *, 'Sekarang masukan koordinat titik C ya :)'
        read *, xc,yc
        print *, 'Nah sekarang masukan koordinat titik D kamu :)'
        read *, xd,yd
        !Print Titik Koordinat yang di input
        print *, ''
        write (*,'(1x,"Titik A ="f10.2,1x,","f10.2)')xa,ya
        write (*,'(1x,"Titik B ="f10.2,1x,","f10.2)')xb,yb
        write (*,'(1x,"Titik C ="f10.2,1x,","f10.2)')xc,yc
        write (*,'(1x,"Titik D ="f10.2,1x,","f10.2)')xd,yd
        print *, ''

        !Rumus Perhitungan Jarak Pada Peta
        print *, 'Nah sekarang Ef akan memberitahu kamu'
        print *, 'Jarak pada peta, satuannya dalam cm ya :)'
        AC=sqrt(((xc-xa)**2)+((yc-ya)**2))
        CD=sqrt(((xd-xc)**2)+((yd-yc)**2))
        DB=sqrt(((xb-xd)**2)+((yb-yd)**2))
        write (*,'(1x,"Jarak titik A ke titik C ="f12.2," cm")') AC
        write (*,'(1x,"Jarak titik C ke titik D ="f12.2," cm")') CD
        write (*,'(1x,"Jarak titik D ke titik B ="f12.2," cm")') DB
        print *, ''

        !Konversi ke satuan lain berdasarkan skala
        print *, 'Untuk bisa mengetahui jarak sebenarnya,'
        print *, 'Kita skala kan sesuai dengan skala pada peta kamu :)'
        print *, 'Skarang masukan skala peta kamu :)'
        read *, skala
        print *, ''
        print *, 'Okay, sekarang kita skala kan'
        ACh=AC*skala/100
        CDh=CD*skala/100
        DBh=DB*skala/100
        write (*,'(1x,"Skala ="f15.2)') skala
        write (*,'(1x,"Jarak titik A ke titik C ="f15.2," m")') ACh
        write (*,'(1x,"Jarak titik C ke titik D ="f15.2," m")') CDh
        write (*,'(1x,"Jarak titik D ke titik B ="f15.2," m")') DBh

        !Disini tanya apakah ingin dikonversikan ke satuan lain
        !Cancel

        !Total Jarak
        totalJarak = ACh+CDh+DBh
        write (*,'(1x,"Total Jarak ="f28.2," m")') totalJarak
        print *, ''
        print *, 'Selesai :D'
        print *, 'Sekarang kita sudah tau berapa jarak'
        print *, 'antara 4 titik tersebut :)'
        print *, ''

        !Pertanyaan terakhir
        print *, 'Perhitungan Selesai, apakah ingin mengulangi lagi? :)'
        print *, '1 = Ya'
        print *, '0 = Tidak'
        read *, tanya
        if (tanya.EQ.1) then
        goto 20
        else
        print *, ''
        endif
        end subroutine menghitungJarakKoordinat


        ! M O D U L U S   Y O U N G
        subroutine modulusYoung
        implicit none
        real x1,x2,deltaX,a,f,e,i,tanya
        real aluminium,baja,besi,karet,kuningan
        real nikel,tembaga,timah,beton,kaca,wolframe

10      print *, ''
        print *, 'Modulus Young atau Modulus Elastisitas adalah'
        print *, 'perhitungan yg menentukan kelenturan dan'
        print *, 'kekakuan suatu material :)'
        print *, 'Disini Ef akan membantu kamu menghitung dan'
        print *, 'menentukan seberapa besar kelenturan dan kekakuan'
        print *, 'suatu material, sehingga nantinya, kamu bisa'
        print *, 'menentukan apakah material tersebut cocok digunakan'
        print *, 'sebagai material konstruksi atau tidak :)'

20      print *, ''
        print *, 'Pertama-tama, tentukan panjang material awal kamu :)'
        print *, '(Kondisi material tanpa melalui pengetesan apapun)'
        print *, 'Satuannya meter :)'
        read *, x1
        print *, 'Lalu, masukan panjang material kamu setelah melalui'
        print *, 'proses pengetesan material :)'
        print *, 'Satuannya meter juga :)'
        read *, deltaX
        print *, 'Setelah itu, masukan Luas Penampang material kamu'
        print *, 'Kalau yg ini satuannya meter persegi :D'
        read *, a
        print *, 'Dan yg terakhir, masukan jumlah gaya (tekan/tarik)'
        print *, 'yang kamu aplikasikan pada proses pengetesan material'
        print *, 'Yg ini satuannya Newton :) jangan salah yaa :D'
        read *, f
        i=(f*x1)/(a*deltaX)

        print *, ''
        write (*,'(1x,"Jadi, modulus young nya adalah "f20.2," N/m2")')i
        print *, ''

        ! TABEL MODULUS YOUNG
        aluminium=70000
        baja=200000
        besi=210000
        karet=500
        kuningan=90000
        nikel=210000
        tembaga=110000
        timah=16000
        beton=23000
        kaca=55000
        wolframe=410000
        e=i/1000000
        if (e.GE.wolframe) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Wolframe! :)'
        else if (e.GE.besi.AND.e.LT.wolframe) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Besi! :)'
        else if (e.GE.aluminium.AND.e.LT.besi) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Aluminium! :)'
        else if (e.GE.baja.AND.e.LT.aluminium) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Baja! :)'
        else if (e.GE.tembaga.AND.e.LT.baja) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Tembaga! :)'
        else if (e.GE.kuningan.AND.e.LT.tembaga) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Kuningan! :)'
        else if (e.GE.kaca.AND.e.LT.kuningan) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Kaca! :)'
        else if (e.GE.beton.AND.e.LT.kaca) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Beton! :)'
        else if (e.GE.timah.AND.e.LT.beton) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Timah! :)'
        else if (e.GE.karet.AND.e.LT.timah) then
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya setara dengan Karet! :)'
        else
        print *, 'Sedikit info mengenai elastisitas material kamu,'
        print *, 'Elastisitasnya lebih lentur daripada Karet! :)'
        endif

        !Pertanyaan terakhir
        print *, ''
        print *, 'Perhitungan Selesai, apakah ingin mengulangi lagi? :)'
        print *, '1 = Ya'
        print *, '0 = Tidak'
        read *, tanya
        if (tanya.EQ.1) then
        goto 20
        else
        print *, ''
        endif
        print *, ''

        end subroutine modulusYoung
     

        subroutine diferensialEksak
        implicit none
        real a,aaa,b,bbb
        character(200) :: aa,aaaa,bb,bbbb
        real aY,aX,bY,bX,My,Mx,MxMy,aXp,aYp,bXp,bYp
        real numA,numB
        real bil1A,bil2Ai,bil3A,bil1fA,bil3fA
        real bil1B,bil2Bi,bil3B,bil1fB,bil3fB
        real qA,rA,sA,qB,rB,sB
        real tandaA,tandaB
        character(200) :: bil2A,bil2B,pA,pB
        print *, 'Model matematika num+(a)dx+num+(b)dy=0'

        ! Test apakah My=Nx ?
        ! Input Nilai My
        print *, 'Masukan NUM,A,x=1/y=2),pangkat,(dx=1/dy=2)'
        read *, numA,a,aa,aaa,aaaa
        if (aa=='x'.AND.aaaa=='dx') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dx"f6.2)')numA,a,aaa
        aX=a*aaa
        aXp=aaa-1
        aY=0
        aYp=0
        print *, 'My = 0'
        My=0
            bil1A=A+0
            bil2A='x'
            bil3A=aaa+0
            bil1fA=bil1A*bil3A
            bil3fA=bil3A-1
            if (bil3fA==0) then
            bil2A=''
            else
            bil2A='x'
            endif
        tandaA=1

        else if (aa=='x'.AND.aaaa=='dy') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dy"f6.2)')numA,a,aaa
        aX=a*aaa
        aXp=aaa-1
        aY=0
        aYp=0
        write (*,'(1x,"Mx ="f6.2,1x,"x^"f6.2)') aX,aXp
        Mx=aX*aXp
            bil1A=A+0
            bil2A='x'
            bil3A=aaa+0
            bil1fA=bil1A*bil3A
            bil3fA=bil3A-1
            if (bil3fA==0) then
            bil2A=''
            else
            bil2A='x'
            endif
        tandaA=2

        else if (aa=='y'.AND.aaaa=='dx') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dx"f6.2)')numA,a,aaa
        aX=a*aaa
        aXp=aaa-1
        aY=a*aaa
        aYp=aaa-1
        write (*,'(1x,"Mx ="f6.2,1x,"y^"f6.2)') aX,aXp
        Mx=aX*aXp
            bil1A=A+0
            bil2A='y'
            bil3A=aaa+0
            bil1fA=bil1A*bil3A
            bil3fA=bil3A-1
            if (bil3fA==0) then
            bil2A=''
            else
            bil2A='y'
            endif
        tandaA=3

        else if (aa=='y'.AND.aaaa=='dy') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dy"f6.2)')numA,a,aaa
        aX=a*aaa
        aXp=aaa-1
        aY=a*aaa
        aYp=aaa-1
        print *, 'Mx = 0'
        Mx=0
            bil1A=A+0
            bil2A='y'
            bil3A=aaa+0
            bil1fA=bil1A*bil3A
            bil3fA=bil3A-1
            if (bil3fA==0) then
            bil2A=''
            else
            bil2A='y'
            endif
        tandaA=4

        endif


        ! Test apakah My=Nx ?
        ! Input Nilai Nx
        print *, 'Masukan num,A,x=1/y=2),pangkat,(dx=1/dy=2)'
        read *, numB,b,bb,bbb,bbbb
        if (bb=='x'.AND.bbbb=='dx') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dx"f6.2)')numB,b,bbb
        bX=b*bbb
        bXp=bbb-1
        bY=0
        bYp=0
        print *, 'My = 0'
        My=0
            bil1B=B+0
            bil2B='x'
            bil3B=bbb+0
            bil1fB=bil1B*bil3B
            bil3fB=bil3B-1
            if (bil3fB==0) then
            bil2B=''
            else
            bil2B='x'
            endif
        tandaB=1

        else if (bb=='x'.AND.bbbb=='dy') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dy"f6.2)')numB,b,bbb
        bX=b*bbb
        bXp=bbb-1
        bY=0
        bYp=0
        write (*,'(1x,"My ="f6.2,1x,"x^"f6.2)') bX,bXp
        Mx=bX*bXp
            bil1B=B+0
            bil2B='x'
            bil3B=bbb+0
            bil1fB=bil1B*bil3B
            bil3fB=bil3B-1
            if (bil3fB==0) then
            bil2B=''
            else
            bil2B='x'
            endif
        tandaB=2

        else if (bb=='y'.AND.bbbb=='dx') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dx"f6.2)')numB,b,bbb
        bX=b*bbb
        bXp=bbb-1
        bY=0
        bYp=0
        write (*,'(1x,"Mx ="f6.2,1x,"y^"f6.2)') bX,bXp
        My=bX*bXp
            bil1B=B+0
            bil2B='x'
            bil3B=bbb+0
            bil1fB=bil1B*bil3B
            bil3fB=bil3B-1
            if (bil3fB==0) then
            bil2B=''
            else
            bil2B='x'
            endif
        tandaB=3

        else if (bb=='y'.AND.bbbb=='dy') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dy"f6.2)')numB,b,bbb
        bX=b*bbb
        bXp=bbb-1
        bY=0
        bYp=0
        print *, 'Mx = 0'
        Mx=0
            bil2B='x'
            bil3B=bbb+0
            bil1fB=bil1B*bil3B
            bil3fB=bil3B-1
            if (bil3fB==0) then
            bil2B=''
            else
            bil2B='x'
            endif
        tandaB=4

        ! if input = xy
        else if (bb=='xy'.AND.bbbb=='dx') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"xy^"f6.2,1x,"dy"f6.2)')numB,b,bbb
        bX=b*bbb
        bXp=bbb-1
        bY=0
        bYp=0
        write (*,'(1x,"Mx ="f6.2,1x,"y^"f6.2)') bX,bXp
        Mx=0
            bil2B='xy'
            bil3B=bbb+0
            bil1fB=bil1B*bil3B
            bil3fB=bil3B-1
            if (bil3fB==0) then
            bil2B=''
            else
            bil2B='xy'
            endif
        tandaB=5

        else if (bb=='xy'.AND.bbbb=='dy') then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"xy^"f6.2,1x,"dy"f6.2)')numB,b,bbb
        bX=b*bbb
        bXp=bbb-1
        bY=0
        bYp=0
        print *, 'Mx = 0'
        Mx=0
            bil2B='xy'
            bil3B=bbb+0
            bil1fB=bil1B*bil3B
            bil3fB=bil3B-1
            if (bil3fB==0) then
            bil2B=''
            else
            bil2B='xy'
            endif
        tandaB=6

        endif


       pA=bil2A
       qA=bil3A+0
       rA=bil1fA+0
       sA=bil3fA+0
       pB=bil2B
       qB=bil3B+0
       rB=bil1fB+0
       sB=bil3fB+0
       if(pA==pB.AND.qA==qB.AND.rA==rB.AND.sA==sB)then
       print *, 'Eksak !'
       else
       print *, 'Tidak Eksak!'
       endif


             if (tandaA==1) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dx"f6.2)')numA,a,aaa
                else if (tandaA==2) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dy"f6.2)')numA,a,aaa
                else if (tandaA==3) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dx"f6.2)')numA,a,aaa
                else if (tandaA==4) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dy"f6.2)')numA,a,aaa
             else
             print *, 'Wrong'
             endif

             if (tandaB==1) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dx"f6.2)')numB,b,bbb
                 else if (tandaB==2) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"x^"f6.2,1x,"dy"f6.2)')numB,b,bbb
                 else if (tandaB==3) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dx"f6.2)')numB,b,bbb
                 else if (tandaB==4) then
      write(*,'(1x,f6.2,1x,"+"f6.2,1x,"y^"f6.2,1x,"dy"f6.2)')numB,b,bbb
             else
             print *, 'Wrong'
             endif
           
        pause
        end subroutine diferensialEksak
Share:

Sabtu, 11 Agustus 2018

Contoh Perhitungan Jarak & Sudut Koordinat Peta (Fortran)

        program menghitungJarakKoordinat
        implicit none
        real value, A,B,C,D            !Nama Titik
        real xa,ya,xb,yb,xc,yc,xd,yd   !Titik Koordinat
        real AC,CD,DB                  !Titik Koordinat
        real ACh, CDh, DBh             !Jarak
        real skala, totalJarak         !skala dan total jarak

        print *, 'PROGRAM MENGHITUNG JARAK BERDASARKAN KOORDINAT PETA'
        print *, 'Ditulis oleh Bintang Bagus Pratama (41117110024)'
        print *, ''

100     print *, '==== Perhitungan Jarak Sebenarnya ===='
        print *, 'Masukan x,y untuk titik A'     !Input Titik Koordinat
        read *, xa,ya
        print *, 'Masukan x,y untuk titik B'
        read *, xb,yb
        print *, 'Masukan x,y untuk titik C'
        read *, xc,yc
        print *, 'Masukan x,y untuk titik D'
        read *, xd,yd
        !Print Titik Koordinat yang di input
        write (*,'(1x,"Titik A ="f5.2,1x,","f5.2)')xa,ya
        write (*,'(1x,"Titik B ="f5.2,1x,","f5.2)')xb,yb
        write (*,'(1x,"Titik C ="f5.2,1x,","f5.2)')xc,yc
        write (*,'(1x,"Titik D ="f5.2,1x,","f5.2)')xd,yd
        print *, ''

        !Rumus Perhitungan Jarak Pada Peta
        print *, 'Jarak pada peta (cm)'
        AC=sqrt(((xc-xa)**2)+((yc-ya)**2))
        CD=sqrt(((xd-xc)**2)+((yd-yc)**2))
        DB=sqrt(((xb-xd)**2)+((yb-yd)**2))
        write (*,'(1x,"AC ="f12.2)') AC
        write (*,'(1x,"CD ="f12.2)') CD
        write (*,'(1x,"DB ="f12.2)') DB
        print *, ''

        !Konversi ke satuan lain berdasarkan skala
        print *, 'Masukan skala'
        read *, skala
        print *, ''
        print *, 'Dikonversikan ke satuan meter (m) berdasarkan skala'
        ACh=AC*skala/100
        CDh=CD*skala/100
        DBh=DB*skala/100
        write (*,'(1x,"Skala ="f15.2)') skala
        write (*,'(1x,"AC ="f18.2)') ACh
        write (*,'(1x,"CD ="f18.2)') CDh
        write (*,'(1x,"DB ="f18.2)') DBh

        !Disini tanya apakah ingin dikonversikan ke satuan lain

        !Total Jarak
        totalJarak = ACh+CDh+DBh
        write (*,'(1x,"Total Jarak ="f9.2)') totalJarak
        print *, ''

        !Perhitungan Sudut
        print *, '==== Perhitungan Sudut ===='
        print *, "Maaf fiturnya belum ada :'v"
        print *, "Panik aku ini suruh buat judul baru :'v"




        print *, ''
        goto 100
        end
Share:

BTemplates.com

Cari Blog Ini

Diberdayakan oleh Blogger.

Kontributor