Well, first you have to learn how to control your outbursts during disciplining. You're teaching him that outbursts are acceptable, that losing control is acceptable, and in turn he's going to portray the same thing back to you.
A five year old is plenty old enough to know the proper way to act, and also to accept discipline when it's deserved. I would say the first thing to do is to de-escalate yourself. When he acts up, send him to his room, even if you have to drag him there the first few times, and tell him that he is to sit on his bed without playing with toys for 5 minutes. Shut the door behind you and let him scream, hit, kick the door, whatever he wants to, just don't go back in. If he opens the door, go over and close it without looking at him or talking to him. If he gets up and comes out, grab him and place him back in bed without talking or looking at him. You may have to return him to bed 10 times the first time you place him in there, maybe 10 times the second, but through consistency, you will break him down, and he'll stay. Just make sure you do it in his room and not in a corner or "naughty chair". The reason being that since you said you end up yelling and screaming, he'll be a little less noisy and you'll be able to work on not getting to the point of yelling, because while he's back there screaming, you can go in the livingroom or kitchen and pace, cuss, whatever you need to, but the thing is, that he's NOT SEEING IT. Once he's quiet for 5 minutes, then go to his room, sit on his bed with him, and explain to him that you have rules in your house, just like he has rules at school. Bring up the action that brought on the consequence, explain to him that that's not allowed in your house, and make him apologize. After he gets used to it, he'll walk to his room himself and you will get to the point where you'll have to set a timer because he'll do it quietly and you'll forget about him! I've done that quite a few times and felt horrible about it!
Before you just jump right in and change up the discipline on him, sit him down and establish some ground rules on behavior he portrays often. Make him aware that from now on, there will be consequences. Tell him what they will be and what is expected of him. "When you are sent to your room, once you're quiet the timer will start and you will sit there quietly for five minutes until I come and get you." Make him repeat it back to you so you're sure he understands. Maybe even sit him down and create a "Discipline Chart". Have him write it, so that he can actively take part in choosing what his discipline will be for certain actions. I used to have one when my daughter was 3, and it included things like "When I hit, I get a spanking". When I talk back to mom or dad, I have to go to the corner". Stuff like that. It really helped me to de-escalate myself, which is the whole reason why I started it in the first place. I felt like I was constantly at her for doing things and it was so frustrating that I'd find myself yelling just because I didn't know what else to do. Well, once we put up the chart, all I did was have her go over and read what her discipline was, and she'd accept it quite gracefully to be honest.
Also, there's no way I'd put my kids on medication. If it's just a discipline issue, it's likely that it's not something that needs to be addressed. Remember, WE teach our children how to treat us. If you're child isn't listening to you, it's not because he's being bad (well, in reality he is), but it's actually you ALLOWING him to get away with not listening to you. If he's throwing a tantrum, it's because you're ALLOWING him to get away with throwing them. My kids have each thrown ONE tantrum....no joke. The one with my son was because he wanted to continue playing with a toy in Meijer, but I was ready to continue shopping, so I told him to put it back on the shelf. He laid down on the ground and started crying hysterically, he was 2 years old. I knelt down and said "sssh", I didn't try to pick him up, I didn't yell over him to get his attention, I just kept saying "ssssh" very calmly until he stopped (he probably only stopped because he thought I may say that he could play longer). I said "mommy's going to finish her shopping. We do NOT cry in stores. When you're done, you can come with me", and I walked away. I went very slowly, stopping every five feet or so and picking up an item and pretending I was reading the label. Well, after about 2 or 3 minutes of crying, he stopped, stood up, walked over to me, and reached out to me. I swooped him up, gave him a hug and placed him in the cart. That was the first and only tantrum he ever had. You have to look at things from there point of view. He was thinking "how can I make my mom let me play more?" They have limited resources, so if something works, they use it again and again. Stop letting things work for your son, and things will change.